2023年软件评测师教程笔记.doc
《2023年软件评测师教程笔记.doc》由会员分享,可在线阅读,更多相关《2023年软件评测师教程笔记.doc(134页珍藏版)》请在咨信网上搜索。
1、软件评测师教程(第一版)笔记第一篇 理论篇第1章软件测试概论1.1概述初期的测试等同于“调试”。测试是为发现错误而执行的一个程序或者系统的过程。测试是以评价一个程序或者系统属性为目的的任何一种活动,测试是对软件质量的度量。1.3软件测试与软件项目的关系软件测试的目的是为了发现软件中存在的错误,但是,其主线目的是为了提高软件质量,减少软件项目的风险。软件的质量风险表现在两个方面,一种是内部风险,一种是外部风险。内部风险是在即将销售的时候发现有重大的错误,从而延迟发布日期,失去市场机会;外部风险是用户发现了不能容忍的错误,引起索赔,法律纠纷,以及用于客户支持的费用甚至失去客户的风险。软件测试只能证
2、明软件存在错误,而不能证明软件没有错误。软件公司对软件项目的盼望是在预计的时间、合理的预算下,提交一个可以交付的产品,测试的目的就是把软件的错误控制在一个可以进行产品交付/发布的限度上,可以交付/发布的产品并不是没有错误的产品,因此软件测试不也许无休止地进行下去,而是要把错误控制在一个合理的范围之内,由于软件测试也是需要花费巨大成本的。1.5第三方测试 第三方测试是指独立于软件公司自身测试的测试。第三方测试机构的测试除了发现软件问题之外,尚有对软件进行科学、公正的评价的职能,这就规定第三方测试机构要保持公正、廉洁、客观、科学、独立的态度。第2章软件测试基础1、什么是软件测试测试(test)被当
3、作一个常规的检查产品质量的生产活动。测试的含义为“为检查产品是否满足需求为目的”。“软件测试”的经典定义是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。软件是由文档、数据以及程序组成的,那么软件测试就应当是对软件形成过程的文档、数据以及程序进行的测试,而不仅仅是对程序进行的测试。2、什么是软件质量ISO9126中定义的“软件质量”是:软件满足规定或潜在用户需求特性的总和。ISO14598中“软件质量”定义是:软件特性的总和,软件满足规定或潜在用户需求的能力。ISO9126定义的软件质量涉及“内部质量”、“外部质量”、“使用质量”三部分。也就是说,“软件满足规定或潜在用户需求的能力
4、”要从软件在内部、外部和使用中的表现来衡量。3、软件测试是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。4、软件质量定义是:软件特性的总和,软件满足规定或潜在用户需求的能力。软件质量涉及:内部质量、外部质量、使用质量三个部分。5、软件测试与质量保证的区别:质量保证(QA)质量保证的重要工作通过防止、检查与改善来保证软件质量。QA采用“全面质量管理”和“过程改善”的原理开展质量保证工作。关注软件质量的检查与测量。软件测试也与软件开发过程紧密相关,关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试员要“执行”软件,对过程中的产物开发文档和源代码进行走查,运营软件,以
5、找出问题,报告质量。对测试中发现的问题的分析、追踪和回归测试。软件测试是保证软件质量的一个重要环节。6、软件测试目的测试目的三个观点:测试是程序的执行过程,目的在于发现错误;一个好的测试用例在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试;测试的目的,是想以最少的人力、物力和时间找出软件潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造居的隐患所带来的商业风险。测试是对软件质量的度量与评价,以验证软件的质量满足用户的需求的限度,为用户选择与接受软件提供有力的依据。7、软件测试原则所有的软件测试都应追溯到用户需求。应当把“尽
6、早地和不断地进行软件测试”作为软件测试者的座左铭。完全测试是不也许的,测试需要终止。 在有限的时间和资源条件下,软件趋于完美,是不也许的。重要有三个因素: 软件入量太大; 输出结果太多; 途径组合太多。测试无法显示软件潜在的缺陷充足注意测试中的群集现象。程序员应避免检查自己的程序。尽量避免测试的随意性。(应当从工程的角度去理解软件测试,它是有组织、有计划、环节的活动。)8、软件测试对象根据软件定义,软件涉及程序、数据和文档,所以软件测试并不仅仅是程序测试。在软件编码结束后,对编写的每一个程序模块进行测试,称为模块测试或单元测试。在模块集成后,对集成在一起模块组件,有时称为部件,进行测试,称为集
7、成测试。在集成测试后,需要检测与证实软件是否满足软件需求说明书中规定的规定,称为确认测试。将整个程序模块集成为软件系统,安装在运营环境下,对硬件、网络、操作系统及支撑平台构成的整体系统进行测试,称为系统测试。软件错误中,属于需求分析和软件设计的错误约为64%,属于程序编写的错误仅占36%。验证(verification)是保证软件正的确现特定功能的一系列活动和过程,目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段所设定的目的。确认(validation)是保证软件满足用户需求的一系列的活动和过程,目的是在软件开发完毕后保证软件与用户需求相符合。验证与确认都属于软件测试,它涉及对软件分析
8、、设计以及程序的验证和确认。需求分析、概要设计、具体设计以及程序编码等各阶段所得到的文档,涉及需求规格说明、概要设计规格说明、具体设计规格说明以及源程序,都应成为“软件测试”的对象。在软件编码结束后,对编写的每一个程序模块进行测试,称为“模块测试”或“单元测试”;在模块集成后,对集成在一起的模块组件,有时也可称为“部件”,进行测试,称为“集成测试”;在集成测试后,需要检测与证实软件是否满足软件需求说明书中规定的规定,称为“确认测试”。将整个程序模块集成为软件系统,安装在运营环境下,对硬件、网络、操作系统及支撑平台构成的整体系统进行测试,称为“系统测试”。测试过程按4个环节进行,即单元测试、集成
9、(组装)测试、确认测试和系统测试。9、软件测试分类按照开发阶段划分软件测试可分为:单元测试、集成测试、系统测试、确认测试和验收测试。单元测试:单元测试又称模块测试,是针对软件设计的最小单位程序模块进行对的性检查的测试工作。其目的在于检查每个程序单元能否正的确现具体设计说明中的模块功能、性能、接口和设计约束等规定,发现各模块内部也许存在的各种错误。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。集成测试:也叫组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检查程序单元或部件的接口关系,逐步集成为符合概要设计规定的程序部件或整个
10、系统。确认测试:就是通过检查和提供客观证据,证实软件是否满足特定预期用途的规定。确认测试是检测与证实软件是否满足软件需求说明书中规定的规定。系统测试:它是为验证和确认系统是否达成其原始目的,而对集成的硬件和软件系统进行的测试。系统测试是在真实或模拟系统运营的环境下,检查完整的程序系统能否(涉及硬件、外设、网络和系统软件、支持平台等)对的配置、连接,并满足用户需求。验收测试:按照项目任务书或协议、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接受或拒收系统。l 按照开发阶段划分 单元测试。单元测试又称模块测试,是针对程序模块进行对的性检查的测试工作。 集成测试集成测试也叫组装测
11、试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检查程序或部件的接口关系,逐步集成为符合概要设计规定的程序部件或整个系统。冒烟测试也叫验证测试、提交测试。 确认测试确认测试是通过检查和提供客观证据,证实软件是否满足特定预期用途的需求。确认测试是检测与证实软件是否满足软件需求说明书中规定的规定。 系统测试系统测试是为验证和确认系统是否达成其原始目的,而对集成的硬件和软件系统进行的测试。系统测试是在真实或模拟系统运营的环境下,检查完整的程序系统能否和系统(涉及硬件、外设、网络和系统软件、支持平台等)对的配置、连接、并满足用户需求。 验收测试按照项目任务书或协议、供需双
12、方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接受或拒收系统。l 按照测试实行组织划分按照测试实行组织划分,软件测试可分为开发方测试、用户测试(Beta测试)、第三方测试。(1)开发方测试通常也叫“验证测试”或“测试”。验证测试是在软件开发环境下,由开发者检测与证实软件的实现是否满足软件设计说明或软件需求说明的规定。重要是指在软件开发完毕以后,开发方对要提交的软件进行全面的自我检查与验证,可以和软件的“系统测试”一并进行。(2)用户测试在用户的应用环境下,用户通过运营和使用软件,检测与核算软件实现是否符合自己预期的规定。用户测试不是指用户的“验收测试”,而是指用户的使用性测试,由用
13、户找出软件的应用过程中发现的软件的缺陷与问题,并对使用质量进行评价。(3)第三方测试介于软件开发方和用户方之间的测试组织的测试。一般情况下是在模拟用户真实应用环境下,进行软件确认测试。l 按照测试技术划分按照测试技术划分:白盒测试、黑盒测试、灰盒测试。也可划分为静态测试和动态测试。静态测试是指不运营程序,通过人工对程序和文档进行分析与检查:静态测试技术又称静态分析技术,静态测试事实上是对软件中的需求说明书、设计说明书、程序源代码等进行非运营的检查,静态测试涉及:走查、符号执行、需求确认等。动态测试是指通过人工或使用工具运营程序进行检查、分析程序的执行状态和程序的外部表现。 (1)白盒测试通过对
14、程序内部结构的分析、检测来寻找问题。了解程序结构和解决过程,检查是否所有的结构及途径都是对的的,检查软件内部动作是否按照设计说明的规定正常进行。(2)黑盒测试通过软件的外部表现来发现其缺陷和错误。黑盒测试法把测试对象当作一个黑盒子,完全不考虑程序内部结构和解决过程。黑盒测试是在程序界面处进行测试,它只是检查程序是否按照需求规格说明书的规定正常实现。(3)灰盒测试灰盒测试关注输出对于输入的对的性 静态测试它是指不运营程序,通过人工对程序和文档进行分析与检查; 静态测试技术又称静态分析技术,静态测试事实上是对软件中的需求说明书、设计说明书、程序源代码等进行非运营检查,静态测试涉及:走查、符号执行、
15、需求确认等。 动态测试它是指通过人工或使用工具运营程序进行检查、分析程序的执行状态和程序的外部表现。 白盒测试又称结构测试。通过对程序内部结构的分析、检测来寻找问题。 黑盒测试通过软件的外部表现来发现其缺陷和错误。它是在程序界面处进行测试,它只是检查样序是否按照需求规格说明书的规定正常实现。10、软件测试过程模型 V模型它反映了测试活动与分析和设计的关系,从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的相应关系,如图所示,图中的箭头代表了时间方向,左边下降的是开发过程各阶段,与此相相应的是右边上升的部分,即各
16、测试过程的各个阶段。V模型指出,单元和集成测试是验证的程序设计,检测程序的执行是否满足软件设计的规定;系统测试应当验证系统设计,检测系统功能、性能的质量特性是否达成系统设计的指标; 测试员和用户进行软件的确认测试和验收测试,追溯软件需求说明书进行测试,以拟定软件的实现是否满足用户需求或协议的规定。V模型存在一定的局限性,它仅仅是测试过程作为在需求分析、概要设计、具体设计及编码后的一个阶段。需求分析阶段隐藏的问题一直到后期的验收测试才被发现。V模型的软件测试策略既涉及低层测试又涉及了高层测试,低层测试是为了源代码的对的性,高层测试为了使整个系统满足用户的需求。 W模型1、W模型建立V模型的局限性
17、在于没有明确地说明初期的测试,不能体现“尽早地和不断地进行软件测试”的原则。在V模型中增长软件各开发阶段应同步进行的测试,被演化为一种W模型,由于事实上开发是“V”,测试也是与此相并行的“V”。基于“尽早地和不断地进行软件测试”的原则,优点:测试随着着整个软件开发周期,并且测试的对象不仅仅是程序,需求、功能和设计同样要测试。体现“尽早地和不断地进行软件测试”的原则。在V模型中增长软件和开发阶段应同步进行的测试。局限性:软件开发和测试保持一种线性的前后关系,需要有严格的指令表达上一阶段完全结束,才可正式开始下一个阶段。这就无法支持迭代、自发性以及变更调整。2、W模型应用它强调:测试随着着整个软件
18、开发周期,并且测试的对象不仅仅是程序,需求、功能和设计同样要测试。只要相应的开发活动完毕,我们就可以开始执行测试,可以说,测试与开发是同步进行的,有助于尽早地发现问题。以需求为例,需求分析一完毕,我们就可以对需求进行测试,而不是等到最后才进行针对需求的验收测试。参与前期工作的测试者可以预先估计问题和难度,这将可以显著地减少总体测试时间,加快项目进度。根据W模型的规定,一旦有文档提供,就要及时拟定测试条件,以及编写测试用例。W模型也是有局限性。W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动。同样的,软件开发和测试保持一种线性的前后关系,需要有严格的指令表达上一阶段完全结束,才
19、可正式开始下一个阶段。这样就无法支持迭代、自发性以及变更调整。 H模型1、H模型建立它将测试活动独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清楚地体现出来。2、H模型应用软件测试不仅仅指测试的执行,还涉及很多其他的活动。软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。软件测试要尽早准备,尽早执行。软件测试是根据被测物的不同而分层次进行的。不同层次的测试活动可以是按照某个顺序先后进行的,但也也许是反复的。在H模型中,软件测试模型是一个独立的流程,贯穿于整个产品周期,与其他流程并发地进行。 其他模型1、 X模型该模型定位了探索性测试。Marick对V模型最重
20、要批评是V模型无法引导项目所有过程。他认为一个模型必须能解决开发的所有方面,涉及交接、频繁反复的集成以及需求文档的缺少等。2、前置测试模型它是一个将测试和开发紧密结合的模型,该模型提供了轻松的方式,可使你的项目加快速度。前置测试模型体现了以下的要点:(1)开发和测试相结合;前置测试模型将开发和测试的生命周期整合在一起,标记了项目生命周期从开始到结束之间的关键行为。(2)对每一个交付内容进行测试;每一个交付的开发结果都必须通过一定的方式进行测试。(3)在设计阶段进行测试计划和测试设计;设计阶段是作测试计划和测试设计的最佳时机。(4)测试和开发结合在一起;前置测试将测试执行和开发结合在一起,并在开
21、发阶段以编码测试编码测试的方式来体现。(5)让验收测试和技术测试保持互相独立。验收测试应当独立于技术测试,这样可以提供双重的保险,以保证设计及程序编码可以符合最终用户的需求。10、软件生命周期测试策略 软件开发与软件测试软件开发的过程是一个自顶向下,逐步细化的过程。测试过程则是依照相反的顺序安排自底向上,逐步集成的过程。 软件测试策略测试过程按4个环节进行,即单元测试、集成(组装)测试、确认测试和系统测试。1、测试信息流测试过程需要以下三类输入:软件配置:涉及软件需求规格说明、软件设计规格说明、源代码等。测试配置:涉及测试计划、测试用例、测试驱动程序等。测试配置只是软件配置的一个子集。测试工具
22、:2、分析设计阶段分析设计阶段的测试工作是评审与测试相结合的过程,重要涉及需求说明书评测、概要设计说明书、具体设计说明书评测以及软件编码规范评测等。编制良好的需求说明书8条原则:功能与实现分离;规定使用面向解决的规格说明语言;描述该目的软件与系统的其他系统元素交互的方式;规格说明必须涉及系统运营的环境;系统规格说明必须是一个结识的模型;规格说明必须是可操作的;规格说明必须允许不完备性并允许扩充;规格说明必须局部化和松散的耦合。(1)需求说明书评测 需求说明书是分析任务的最终产物,通过建立完整的信息描述、具体的功能和行为描述、性能需求和设计约束的说明、性能需求和设计约束的说明、合适的验收标准,给
23、出对目的软件的各种需求。需求说明书评测内容:系统定义的目的是否与用户的规定一致。系统需求分析阶段提供的文档资料是否齐全。文档中的所有描述是否完整、清楚、准确地反映用户规定; 与所有其他系统成份的重要接口是否都已经描述; 被开发项目的数据流与数据结构是否足够、拟定; 所有图表是否清楚,在不补充说明时能否理解;重要功能是否已涉及在规定的软件范围之内,是否都已充足说明; 软件的行为和它必须解决的信息、必须完毕的功能是否一致; 设计的约束条件或限制条件是否符合实际; 是否考虑了开发的技术风险; 是否考虑过软件需求的其他方案; 是否考虑过将来也许会提出的软件需求; 是否具体制定了检查标准,它们能否对系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 软件 评测 教程 笔记
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。