软件测试策略与过程精品文稿.ppt

上传人:石*** 文档编号:53146235 上传时间:2022-10-25 格式:PPT 页数:152 大小:4.17MB
返回 下载 相关 举报
软件测试策略与过程精品文稿.ppt_第1页
第1页 / 共152页
软件测试策略与过程精品文稿.ppt_第2页
第2页 / 共152页
点击查看更多>>
资源描述

《软件测试策略与过程精品文稿.ppt》由会员分享,可在线阅读,更多相关《软件测试策略与过程精品文稿.ppt(152页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件测试策略与过程第1页,本讲稿共152页本章教学目标本章教学目标理解软件测试的复杂性理解软件测试的方法与策略明确单元测试的主要任务和过程明确集成测试的方法和确认测试的准则明确系统测试的八个领域测试要点明确验收测试的主要内容和相关配置第2页,本讲稿共152页概况概况定定义义:为为了了发现发现程序的程序的错误错误而而执执行程序的行程序的过过程程软软件件测试测试是是SQA的重要手段,属于的重要手段,属于软软件工程件工程领领域域目前状况目前状况软软件件测试测试的的实实践性大于理践性大于理论论性性软软件件测试测试理理论论体系尚不成熟体系尚不成熟软软件件测试测试工具尚不成熟工具尚不成熟软软件件测试测试效

2、果效果对对于个人的依于个人的依赖赖性比性比较较大大第3页,本讲稿共152页目的目的为为了了寻寻找找错误错误,并尽可能地,并尽可能地为为修正修正错误错误提供更提供更多的信息多的信息为为了了证证明明软软件有件有错误错误,而不,而不证证明明软软件没有件没有错误错误作用作用发现发现并管理缺陷并管理缺陷度量度量质质量量评评价工作效率和效果价工作效率和效果预预期期项项目目风险风险第4页,本讲稿共152页衡量衡量标标准准多多能能够够找到尽可能多的、以至于所有的找到尽可能多的、以至于所有的BUG快快能能够够尽可能早地尽可能早地发现发现最最严严重的重的BUG好好找到的找到的BUG是关是关键键的、用的、用户户最关

3、心的最关心的找到找到BUG后能后能够够重重现现找到的找到的BUG,并,并为为修正修正BUG提供提供尽可能多的信息尽可能多的信息省省能能够够用最少的用最少的时间时间、人力和、人力和资资源源发现发现BUG测试测试的的过过程和数据可以重用程和数据可以重用第5页,本讲稿共152页4.1 软件测试的复杂性分析软件测试的复杂性分析 1、无法对程序进行完全测试、无法对程序进行完全测试 (1)测试所需要的输入量太大)测试所需要的输入量太大 (2)测试的输出结果太多)测试的输出结果太多 (3)软件实现的途径太多)软件实现的途径太多 (4)软件规格说明没有一个客观标准)软件规格说明没有一个客观标准 2、测试无法显

4、示潜在的软件缺陷和故障、测试无法显示潜在的软件缺陷和故障 通过软件测试只能报告软件已被发现的缺陷和故障,无通过软件测试只能报告软件已被发现的缺陷和故障,无法报告隐藏的软件故障。法报告隐藏的软件故障。3、存在的故障现象与发现的故障数量成正比、存在的故障现象与发现的故障数量成正比 结论:应当对故障集中的程序段进行重点测试结论:应当对故障集中的程序段进行重点测试第6页,本讲稿共152页软件测试的复杂性分析软件测试的复杂性分析(续)(续)4、不能修复所有的软件故障、不能修复所有的软件故障 原因:没有足够的时间进行修复;修复的风险较大;原因:没有足够的时间进行修复;修复的风险较大;不值得修复;可不算做故

5、障的一些缺陷;不值得修复;可不算做故障的一些缺陷;“杀虫剂现杀虫剂现象象”。结论:关键是要进行正确的判断、合理的取舍,根据结论:关键是要进行正确的判断、合理的取舍,根据风险分析决定哪些故障必须修复,哪些故障可以不修复。风险分析决定哪些故障必须修复,哪些故障可以不修复。5、软件测试的代价、软件测试的代价 工作原则:就是如何将无边无际的可能性减小到工作原则:就是如何将无边无际的可能性减小到一个可以控制的范围,以及如何针对软件风险做出恰一个可以控制的范围,以及如何针对软件风险做出恰当选择,去粗存精,找到最佳的测试量,使得测试工当选择,去粗存精,找到最佳的测试量,使得测试工作量不多也不少,既能达到测试

6、的目的,又能较为经作量不多也不少,既能达到测试的目的,又能较为经济。济。第7页,本讲稿共152页4.2 软件测试方法与策略软件测试方法与策略4.2.1 静态测试与动态测试4.2.2 黑盒测试与白盒测试4.2.3 软件测试过程第9页,本讲稿共152页软件测试策略软件测试策略什么是软件测试策略?什么是软件测试策略?是为软件工程过程定义的一个软件测试的模板,也就是把是为软件工程过程定义的一个软件测试的模板,也就是把特定的测试用例方法放置进去的一系列步骤。特定的测试用例方法放置进去的一系列步骤。软件测试策略包含的特征:软件测试策略包含的特征:(1)测试从模块层开始,然后扩大延伸到整个基于计算机)测试从

7、模块层开始,然后扩大延伸到整个基于计算机的系统集合中。的系统集合中。(2)不同的测试技术适用于不同的时间点。)不同的测试技术适用于不同的时间点。(3)测试是由软件的开发人员和(对于大型系统而言)独立的测)测试是由软件的开发人员和(对于大型系统而言)独立的测试组来管理的。试组来管理的。(4)测试和调试是不同的活动,但是调试必须能够适应任何的测)测试和调试是不同的活动,但是调试必须能够适应任何的测试策略。试策略。第10页,本讲稿共152页软件测试充分性准则软件测试充分性准则对任何软件都存在有限的充分测试集合。对任何软件都存在有限的充分测试集合。如果一个软件系统在一个测试数据集合上的测试是充分的,如

8、果一个软件系统在一个测试数据集合上的测试是充分的,那么再多测试一些数据也应该是充分的。这一特性称为那么再多测试一些数据也应该是充分的。这一特性称为单调单调性性。即使对软件所有成分都进行了充分的测试,也并不表明整即使对软件所有成分都进行了充分的测试,也并不表明整个软件的测试已经充分了。这一特性称为个软件的测试已经充分了。这一特性称为非复合性非复合性。即使对软件系统整体的测试是充分的,也并不意味软件系统中各即使对软件系统整体的测试是充分的,也并不意味软件系统中各个成分都已经充分地得到了测试。这个特性称为个成分都已经充分地得到了测试。这个特性称为非分解性非分解性。软件测试的充分性应该与软件的需求和软

9、件的实现都相关。软件测试的充分性应该与软件的需求和软件的实现都相关。软件越复杂,需要的测试数据就越多。这一特性称为软件越复杂,需要的测试数据就越多。这一特性称为复杂性复杂性。测试得越多,进一步测试所能得到的充分性增长就越少。测试得越多,进一步测试所能得到的充分性增长就越少。这一特性称为这一特性称为回报递减率回报递减率。第11页,本讲稿共152页测试技术测试技术不实际运行程序,而是通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术。也称为静态分析技术。实际运行程序,并通过观察程序运行的实际结果来发现错误的软件测试技术。在不知道程序内部结构,只知道程序规格的情况下采用的测试技术或策略。在知

10、道程序内部结构的情况下采用的测试技术或策略。开发组内部进行的,采用讲解、讨论和模拟运行的方式进行的查找错误的活动。开发组内部进行的,采用讲解、提问并使用Checklist方式进行的查找错误的活动。一般有正式的计划、流程和结果报告。开发组、测试组和相关人员(QA、产品经理等)联合进行的,采用讲解、提问并使用Checklist方式进行的查找错误的活动。一般有正式的计划、流程和结果报告。针对要求的程序功能,按照规范的流程进行的测试。针对要求的程序功能以外的其他要求,包括性能、安全、配置、负载等指标,按照规范的流程进行的测试。针对要求的程序功能、性能、安全、配置、负载等指标,基于破坏目的、按照经验进行

11、的随机测试。程序修改或者版本更新以后,为了确保以前正确的功能和其他指标仍旧正确,而重新进行的测试。在测试过程中,选择足够的测试用例,使得每一个可执行语句至少被执行一次。在测试过程中,选择足够的测试用例,使得程序中的每一个分支判断的每一种可能结果都至少被执行一次。在测试过程中,选择足够的测试用例,使得程序中的每一条可能执行的路径都至少执行一次。第12页,本讲稿共152页测试过程测试过程规格定义设计编码系统测试集成测试单元测试用户需求验收测试回归测试配置管理缺陷跟踪 第13页,本讲稿共152页4.2.1 静态测试与动态测试静态测试与动态测试1、静态测试静态测试静态测试不实际运行软件,主要是对软件的

12、编程格式、结构等方静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。面进行评估。静态测试包括代码检查静态测试包括代码检查 、静态结构分析、静态结构分析 、代、代码质量度量码质量度量 等。它可以由人工进行,也可以借助软等。它可以由人工进行,也可以借助软件工具自动进行。件工具自动进行。静态测试方法也可利用计算机作为对被测程序进行特性分静态测试方法也可利用计算机作为对被测程序进行特性分析的工具,但与人工测试方式有着根本区别。另一方面,析的工具,但与人工测试方式有着根本区别。另一方面,因它并不真正运行被测程序,只进行特性分析,这又与动因它并不真正运行被测程序,只进行特性分析,这又与动

13、态方法不同。所以,静态方法常常称为态方法不同。所以,静态方法常常称为“分析分析”,静态测,静态测试是对被测程序进行特性分析方法的总称。试是对被测程序进行特性分析方法的总称。第14页,本讲稿共152页静态测试与动态测试静态测试与动态测试(续)(续)静态测试阶段的任务:静态测试阶段的任务:(1)检查算法的逻辑正确性。)检查算法的逻辑正确性。(2)检查模块接口的正确性。)检查模块接口的正确性。(3)检查输入参数是否有合法性检查。)检查输入参数是否有合法性检查。(4)检查调用其他模块的接口是否正确。)检查调用其他模块的接口是否正确。(5)检查是否设置了适当的出错处理。)检查是否设置了适当的出错处理。(

14、6)检查表达式、语句是否正确,是否含有二义性。)检查表达式、语句是否正确,是否含有二义性。(7)检查常量或全局变量使用是否正确。)检查常量或全局变量使用是否正确。(8)检查标识符的使用是否规范、一致。)检查标识符的使用是否规范、一致。(9)检查程序风格的一致性、规范性。)检查程序风格的一致性、规范性。(10)检查代码是否可以优化,算法效率是否最高。)检查代码是否可以优化,算法效率是否最高。(11)检查代码注释是否完整,是否正确反映了代码的功能。)检查代码注释是否完整,是否正确反映了代码的功能。第18页,本讲稿共152页静态测试与动态测试静态测试与动态测试(续)(续)静态测试可以完成以下工作:静

15、态测试可以完成以下工作:(1)发发现现下下列列程程序序的的错错误误:错错用用局局部部变变量量和和全全局局变变量量;未未定定义义的的变变量量、不不匹匹配配的的参参数数;不不适适当当的的循循环环嵌嵌套套或或分分支支嵌嵌套套、死死循循环环、不不允允许许的的递递归归;调调用用不不存存在在的的子子程程序序,遗遗漏漏标标号号或或代码。代码。(2)找找出出以以下下问问题题的的根根源源:从从未未使使用用过过的的变变量量;不不会会执执行行到到的的代码、从未使用过的标号;潜在的死循环。代码、从未使用过的标号;潜在的死循环。(3)提提供供程程序序缺缺陷陷的的间间接接信信息息:所所用用变变量量和和常常量量的的交交叉叉

16、应应用用表表;是否违背编码规则;标识符的使用方法和过程的调用层次。是否违背编码规则;标识符的使用方法和过程的调用层次。(4)为进一步查找做好准备。)为进一步查找做好准备。(5)选择测试用例。)选择测试用例。(6)进行符号测试。)进行符号测试。第19页,本讲稿共152页静态测试与动态测试静态测试与动态测试(续)(续)2、动态测试、动态测试动态方法的主要特征是:动态方法的主要特征是:计算机必须真正运行被测试的程序,通过输入测试用计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的。达到检测的

17、目的。动态测试包括:动态测试包括:(1)功能确认与接口测试)功能确认与接口测试 (2)覆盖率分析)覆盖率分析 (3)性能分析)性能分析 (4)内存分析)内存分析第20页,本讲稿共152页4.2.2 黑盒测试和白盒测试黑盒测试和白盒测试若测试规划是基于产品的功能,目的是检查程序各个功能是若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试黑盒测试(Black-box Testing)方法。方法。黑盒测试又称为功能测试、数据驱动测试和基于规格说明黑盒测试又称为功能测试、数据驱动测试和基于

18、规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。功能的正确性和可操作性。若若测测试试规规划划基基于于产产品品的的内内部部结结构构进进行行测测试试,检检查查内内部部操操作作是是否否按按规规定定执执行行,软软件件各各个个部部分分功功能能是是否否得得到到充充分分使使用用,则这种测试方法称为则这种测试方法称为白盒测试白盒测试(White-box Testing)方法。方法。白白盒盒测测试试又又称称为为结结构构测测试试、逻逻辑辑驱驱动动测测试试或或基基于于程程序序的的测测试,一般用来分析程序的内部结构。试,一

19、般用来分析程序的内部结构。第21页,本讲稿共152页黑盒测试和白盒测试黑盒测试和白盒测试(续)(续)白盒测试白盒测试黑盒测试黑盒测试两种测试方法从完全不同的角度出发,两种测试方法从完全不同的角度出发,反映了测试思路的两方面情况,适用于反映了测试思路的两方面情况,适用于不同的测试阶段。不同的测试阶段。第22页,本讲稿共152页黑盒测试和白盒测试黑盒测试和白盒测试(续)(续)1、黑盒测试、黑盒测试黑盒测试的基本观点是:任何程序都可以看作是从输入定义域映黑盒测试的基本观点是:任何程序都可以看作是从输入定义域映射到输出值域的函数过程,被测程序被认为是一个打不开的黑盒射到输出值域的函数过程,被测程序被认

20、为是一个打不开的黑盒子,黑盒中的内容(实现过程)完全不知道,只明确要做到什么。子,黑盒中的内容(实现过程)完全不知道,只明确要做到什么。黑盒测试黑盒测试主要根据规格说明书设计测试用例,并不涉及程序主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。系或程序的功能设计测试用例。黑盒测试的特点:(黑盒测试的特点:(1)黑盒测试与软件的具体实现过程无关,)黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。(在软件实现的过程发生变化时,测试用例仍

21、然可以使用。(2)黑盒测试用例的设计可以和软件实现同时进行,这样能够压黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。缩总的开发时间。第23页,本讲稿共152页黑盒测试和白盒测试黑盒测试和白盒测试(续)(续)输入输入输入输入输出输出输出输出黑盒测试是在程序接口进行测试,它只是检查程黑盒测试是在程序接口进行测试,它只是检查程黑盒测试是在程序接口进行测试,它只是检查程黑盒测试是在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用。序功能是否按照规格说明书的规定正常使用。序功能是否按照规格说明书的规定正常使用。序功能是否按照规格说明书的规定正常使用。也被也被也被

22、也被称为用户测试称为用户测试称为用户测试称为用户测试。第24页,本讲稿共152页黑盒测试和白盒测试黑盒测试和白盒测试(续)(续)黑盒测试主要是为了发现以下几类错误:黑盒测试主要是为了发现以下几类错误:是否有不正确或遗漏了的功能?是否有不正确或遗漏了的功能?在在接接口口上上,输输入入能能否否正正确确地地接接受受?能能否否输输出出正正确确的的结结果?果?是否有数据结构错误或外部信息访问错误?是否有数据结构错误或外部信息访问错误?性能上是否能够满足要求?性能上是否能够满足要求?是否有初始化或终止性错误?是否有初始化或终止性错误?黑盒测试的难点:在哪个层次上进行测试?黑盒测试的难点:在哪个层次上进行测

23、试?黑盒测试的具体技术方法黑盒测试的具体技术方法:边界值分析法边界值分析法 等价类划分法等价类划分法 因果图法因果图法 决策表法决策表法第25页,本讲稿共152页黑盒测试和白盒测试黑盒测试和白盒测试(续)(续)2、白盒测试、白盒测试白盒测试将被测程序看作一个打开的盒子,测试者能够看白盒测试将被测程序看作一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。的焦点集中在根据其内部结构设计测试用例。白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或白盒测试要求是对某些程序的结构特

24、性做到一定程度的覆盖,或者说这种测试是者说这种测试是“基于覆盖率的测试基于覆盖率的测试”。通常的程序结构覆盖有:通常的程序结构覆盖有:语句覆盖语句覆盖 判定覆盖判定覆盖 条件覆盖条件覆盖 判定判定/条件覆盖条件覆盖 路径覆盖路径覆盖第26页,本讲稿共152页黑盒测试和白盒测试黑盒测试和白盒测试(续)(续)白盒测试需要白盒测试需要白盒测试需要白盒测试需要完全了解程序结构和处理过程,完全了解程序结构和处理过程,完全了解程序结构和处理过程,完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中它按照程序内部逻辑测试程序,检验程序中它按照程序内部逻辑测试程序,检验程序中它按照程序内部逻辑测

25、试程序,检验程序中每条通路是否按预定要求正确工作。每条通路是否按预定要求正确工作。每条通路是否按预定要求正确工作。每条通路是否按预定要求正确工作。也被称也被称也被称也被称为程序员测试。为程序员测试。为程序员测试。为程序员测试。应用程序应用程序第27页,本讲稿共152页黑盒测试和白盒测试黑盒测试和白盒测试(续)(续)?X=2 y=2x Y=4 X=2Y=4未知等式与已知等式黑盒黑盒白盒白盒3 3、黑盒测试法和白盒测试法的比较、黑盒测试法和白盒测试法的比较、黑盒测试法和白盒测试法的比较、黑盒测试法和白盒测试法的比较第28页,本讲稿共152页黑盒测试和白盒测试黑盒测试和白盒测试(续)(续)黑盒测试:

26、黑盒测试:以用户的观点,从输入数据与输出数据的对应关系,即以用户的观点,从输入数据与输出数据的对应关系,即根据程序外部特性进行测试,而不考虑内部结构及工作情况。根据程序外部特性进行测试,而不考虑内部结构及工作情况。黑盒测试技术注重于软件的信息域(范围),通黑盒测试技术注重于软件的信息域(范围),通过划分程序的输入和输出域来确定测试用例。过划分程序的输入和输出域来确定测试用例。若外部特性本身存在问题或规格说明的规定有误,则若外部特性本身存在问题或规格说明的规定有误,则应用黑盒测试方法是不能发现问题的。应用黑盒测试方法是不能发现问题的。第29页,本讲稿共152页黑盒测试和白盒测试黑盒测试和白盒测试

27、(续)(续)白盒测试:白盒测试:只根据程序的内部结构进行测试。只根据程序的内部结构进行测试。测试用例的设计要保证测试时程序的测试用例的设计要保证测试时程序的所有语句至少执行一次,而且要检查所有所有语句至少执行一次,而且要检查所有的逻辑条件。的逻辑条件。如果程序的结构本身有问题,比如如果程序的结构本身有问题,比如说程序逻辑有错误或者有遗漏,那也是说程序逻辑有错误或者有遗漏,那也是无法发现的。无法发现的。第30页,本讲稿共152页黑盒测试和白盒测试黑盒测试和白盒测试(续)(续)项目项目黑盒测试法黑盒测试法白盒测试法白盒测试法规划规划方面方面功能的测试功能的测试结构的测试结构的测试优点优点方面方面

28、能确保从用户的角度能确保从用户的角度出发进行测试出发进行测试 能对程序内部的特定部位进能对程序内部的特定部位进行覆盖测试行覆盖测试缺点缺点方面方面无法测试程序内部特无法测试程序内部特定部位;当规格说明有定部位;当规格说明有误,则不能发现问题误,则不能发现问题无法检查程序的外部特性;无法检查程序的外部特性;无法对未实现规格说明的程无法对未实现规格说明的程序内部欠缺部分进行测试序内部欠缺部分进行测试应用应用范围范围 边界分析法边界分析法 等价类划分法等价类划分法 决策表测试决策表测试 语句覆盖,判定覆盖,语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,判定/条件覆盖,条件覆盖,路径覆盖,循环覆盖,路径

29、覆盖,循环覆盖,模块接口测试模块接口测试第31页,本讲稿共152页4.2.3 软件测试过程软件测试过程单元单元测试测试单元单元测试测试单元单元测试测试集成集成测试测试集成集成测试测试确认确认测试测试系统系统测试测试*这三个测试可能交叉与前后互换这三个测试可能交叉与前后互换被测模块被测模块被测模块被测模块被测模块被测模块设计信息设计信息单元单元 软件需求软件需求其它元素其它元素用户信息用户信息其它元素其它元素*验收验收测试测试*交付用户交付用户图2-2 软件测试的过程流程第32页,本讲稿共152页软件测试过程软件测试过程(续)(续)单元测试:单元测试:针对每个单元的测试,针对每个单元的测试,以确

30、保每个模块能正常工作以确保每个模块能正常工作为目标。为目标。集成测试:集成测试:对已测试过的模块进行组装,进行集成测试。目对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程序结构问题。的在于检验与软件设计相关的程序结构问题。确认(有效性)测试:确认(有效性)测试:是检验所开发的软件能否满足所有是检验所开发的软件能否满足所有功能和性能需求的最后手段。功能和性能需求的最后手段。系统测试:系统测试:检验软件产品能否与系统的其他部分(比如,硬件、检验软件产品能否与系统的其他部分(比如,硬件、数据库及操作人员)协调工作。数据库及操作人员)协调工作。验收(用户)测试:检验软件产品质量的

31、最后一道工序。验收(用户)测试:检验软件产品质量的最后一道工序。主主要突出用户的作用,同时软件开发人员也应有一定程度的参与。要突出用户的作用,同时软件开发人员也应有一定程度的参与。第33页,本讲稿共152页测试过程测试过程单元测试:单元测试:Unit Testing目标:目标:检验程序最小单元有无错误检验程序最小单元有无错误接口、数据结构、边界、覆盖、逻辑接口、数据结构、边界、覆盖、逻辑检验单元编码与设计是否吻合检验单元编码与设计是否吻合时机:时机:编码完成后,首先要实施的测试编码完成后,首先要实施的测试方法:方法:静态测试静态测试白盒测试白盒测试责任:责任:开发工程师开发工程师第34页,本讲

32、稿共152页测试过程测试过程集成测试:集成测试:Integration Testing目标:目标:检验组成系统的模块接口有无错误检验组成系统的模块接口有无错误代码实现的系统设计与需求定义是否吻合代码实现的系统设计与需求定义是否吻合时机:时机:主要的单元测试完成后,经常与单元测试同步进行主要的单元测试完成后,经常与单元测试同步进行方法:方法:黑盒测试黑盒测试责任:责任:开发工程师开发工程师测试工程师测试工程师第35页,本讲稿共152页测试过程测试过程系统测试:系统测试:System Testing目标:目标:检验组成整个系统的代码、以及系统的软硬件检验组成整个系统的代码、以及系统的软硬件配合有无

33、错误配合有无错误代码实现的系统与用户需求是否吻合代码实现的系统与用户需求是否吻合检验系统的文档等是否完整、有效检验系统的文档等是否完整、有效模拟验收测试的要求,检查系统是否符合用户模拟验收测试的要求,检查系统是否符合用户的验收标准的验收标准时机:时机:多数集成测试完成后多数集成测试完成后方法:方法:黑盒测试黑盒测试责任:责任:测试工程师测试工程师第36页,本讲稿共152页测试过程测试过程系统测试:系统测试:System Testing稳定期测试稳定期测试目标:目标:度量是否可以结束测试度量是否可以结束测试时机:时机:传统的系统测试完成后传统的系统测试完成后方法:方法:黑盒测试黑盒测试责任:责任

34、:测试工程师测试工程师第37页,本讲稿共152页测试过程测试过程验收测试:验收测试:Acceptance Testing目标:目标:使客户验收签字使客户验收签字系统是否符合事先约定的验收标准系统是否符合事先约定的验收标准时机:时机:系统测试完成后,在项目组看来开发和测试工作已系统测试完成后,在项目组看来开发和测试工作已经全部完成,可以交付使用经全部完成,可以交付使用方法:方法:黑盒测试黑盒测试责任:责任:产品经理或其他高级经理产品经理或其他高级经理开发工程师开发工程师测试工程师测试工程师用户用户第38页,本讲稿共152页测试过程测试过程回归测试:回归测试:Regression Testing目

35、标:目标:验证程序修改或者版本更新以后,以前正确的功能验证程序修改或者版本更新以后,以前正确的功能和其他指标仍旧正确。和其他指标仍旧正确。时机:时机:每次错误修改之后,或者版本更新之后每次错误修改之后,或者版本更新之后方法:方法:白盒测试白盒测试/黑盒测试黑盒测试责任:责任:开发工程师开发工程师测试工程师测试工程师第39页,本讲稿共152页测试过程测试过程缺陷跟踪:缺陷跟踪:Defect Tracing目标:目标:确保所有发现的错误被正确记录、分发、评估、确保所有发现的错误被正确记录、分发、评估、关闭、统计关闭、统计时机:时机:从错误发现开始到错误关闭为止,每次错误状态从错误发现开始到错误关闭

36、为止,每次错误状态修改之后修改之后方法:方法:缺陷跟踪系统缺陷跟踪系统责任:责任:开发工程师、测试工程师、测试经理、用开发工程师、测试工程师、测试经理、用户户第40页,本讲稿共152页一个实用软件测试过程一个实用软件测试过程一种简单实用的软件测试过程模型一种简单实用的软件测试过程模型 POCERM。测试过程中必需的基本测试活动及其产生的结果:测试过程中必需的基本测试活动及其产生的结果:拟定软件测试计划拟定软件测试计划(Plans)编制软件测试大纲编制软件测试大纲(Outlines)设计和生成测试用例设计和生成测试用例(test Case generation)实施测试实施测试(Executio

37、n)生成软件测试报告生成软件测试报告(software testing Reports)软件问题报告软件问题报告SPR(Software Problem Report)测试结果报告测试结果报告(test result Reports)第41页,本讲稿共152页一个实用软件测试过程一个实用软件测试过程(续)(续)基本特性:基本特性:(1)计划性)计划性:任务任务 人员人员 设备设备 时间时间 相关相关.(2)平行性)平行性:开发开发 编码编码|测试测试 再测试再测试(3)完整性)完整性:计划计划+大纲大纲+用例用例+SPRs+.(4)重用性)重用性:测试测试 再测试再测试 回归测试回归测试 升级

38、升级 多平台多平台(5)可重复性)可重复性:SPRs 用例用例 大纲大纲 再现再现Bugs(6)周期性)周期性:test cycles,regression,update(7)可管理性)可管理性:well structured and organized QE group+well planned and prepared task第42页,本讲稿共152页测试阶段测试阶段 测试过程的三个主要的测试活动(计划、准备和实施)测试过程的三个主要的测试活动(计划、准备和实施)可可被分成五个阶段:被分成五个阶段:The planning and control phase计划和控制阶段计划和控制阶段T

39、he preparation phase准备阶段准备阶段The specification phase规范阶段规范阶段The execution phase实施执行阶段实施执行阶段The completion phase完成(收尾)阶段完成(收尾)阶段第43页,本讲稿共152页测试的五个阶段测试的五个阶段Plan&ControlCSEPP&CPreparationSpecificationExecutionCompletion第44页,本讲稿共152页计划与控制阶段计划与控制阶段它是整个测试过程中最重要的阶段,为实现可管理且高它是整个测试过程中最重要的阶段,为实现可管理且高质量的测试过程提供基

40、础质量的测试过程提供基础。本阶段的主要工作内容:本阶段的主要工作内容:(1)拟定测试计划)拟定测试计划(2)论证那些使开发过程难于管理和控制的因素)论证那些使开发过程难于管理和控制的因素(3)明确软件产品的最重要部分)明确软件产品的最重要部分(风险评估)(风险评估)第45页,本讲稿共152页准备阶段准备阶段开始本阶段的前提条件:开始本阶段的前提条件:完成测试计划的拟定。完成测试计划的拟定。需求规格说明书(第一版)的确定。需求规格说明书(第一版)的确定。本阶段的主要工作内容:本阶段的主要工作内容:对需求规格说明书的仔细研究。对需求规格说明书的仔细研究。将要测试的产品分解成可独立测试的单元。将要测

41、试的产品分解成可独立测试的单元。为每个测试单元确定采用的测试技术。为每个测试单元确定采用的测试技术。为测试的下一个阶段及其活动制定计划。为测试的下一个阶段及其活动制定计划。第46页,本讲稿共152页规范阶段规范阶段本阶段的主要工作内容:本阶段的主要工作内容:编写测试大纲编写测试大纲/测试用例,测试脚本测试用例,测试脚本搭建测试环境搭建测试环境(测试数据库,软件环境,硬件环境)(测试数据库,软件环境,硬件环境)测试用例描述的内容:测试用例描述的内容:输入输入执行过程执行过程预期输出预期输出 第47页,本讲稿共152页实施执行阶段实施执行阶段根据测试大纲根据测试大纲/测试用例测试用例/测试脚本进行

42、测试测试脚本进行测试(1)根据测试大纲)根据测试大纲/测试用例进行测试,找出预期的测试测试用例进行测试,找出预期的测试 结果结果和实际测试结果之间的差异和实际测试结果之间的差异(2)填写软件问题报告)填写软件问题报告(3)确定造成这些差异的原因:)确定造成这些差异的原因:产品有缺陷?规格说明书有缺陷?产品有缺陷?规格说明书有缺陷?测试环境和测试下属部件有缺陷?测试用例设计不合理?测试环境和测试下属部件有缺陷?测试用例设计不合理?测试报告测试报告与管理层进行沟通的方式与管理层进行沟通的方式 已测试部分占产品多大的百分比?还有什么工作要做?已测试部分占产品多大的百分比?还有什么工作要做?找到了多少

43、个问题或不足?测试的发展趋势如何?找到了多少个问题或不足?测试的发展趋势如何?测试可以结束了吗?测试可以结束了吗?第48页,本讲稿共152页完成阶段完成阶段本阶段的主要工作内容:本阶段的主要工作内容:选择和保留测试大纲、测试用例、测试结果、测试选择和保留测试大纲、测试用例、测试结果、测试工具。工具。提交最终报告。提交最终报告。收尾工作的意义和重要性:收尾工作的意义和重要性:产品如果升级或功能变更,或维护,只要对保留下来的产品如果升级或功能变更,或维护,只要对保留下来的 相关测试数据只要作相应调整,就能够进行新的测试。相关测试数据只要作相应调整,就能够进行新的测试。第49页,本讲稿共152页4.

44、3 单元测试单元测试4.3.1 单元测试的主要任务4.3.2 单元测试技术4.3.3 单元测试流程4.3.4 单元测试的执行过程4.3.3 单元测试文档第50页,本讲稿共152页单元测试单元测试概况概况定义:定义:检验程序最小单位有无错误。一般在编码之后,由开发检验程序最小单位有无错误。一般在编码之后,由开发人员完成。人员完成。单元:软件开发中的最小的独立部分单元:软件开发中的最小的独立部分C语言中的单元:函数或者是子过程语言中的单元:函数或者是子过程C+语言中的单元:类语言中的单元:类目前状况:目前状况:实施效果非常好,但是实施阻力比较大实施效果非常好,但是实施阻力比较大(主要是人员和管主要

45、是人员和管理因素理因素),一般只在关键的程序单元中实施,一般只在关键的程序单元中实施有比较系统的理论和方法,但也依赖于系统的特殊性和有比较系统的理论和方法,但也依赖于系统的特殊性和开发人员的经验开发人员的经验有大量的辅助工具,开发人员也经常自己开发测试代码有大量的辅助工具,开发人员也经常自己开发测试代码和测试工具和测试工具主要使用白盒测试和静态分析,也使用黑盒测试主要使用白盒测试和静态分析,也使用黑盒测试第51页,本讲稿共152页单元测试单元测试目标目标1、检查代码实现是否符合设计、检查代码实现是否符合设计不能检查设计是否正确不能检查设计是否正确2、尽早发现错误、尽早发现错误Microsoft

46、 applicationsMicrosoft applications10-20 defects/KLOC during unit testing10-20 defects/KLOC during unit testing0.5 defects/KLOC after release0.5 defects/KLOC after release性价比最好性价比最好第52页,本讲稿共152页4.3.1 单元测试的主要任务单元测试的主要任务单元测试针对每个程序的模块,主要测试单元测试针对每个程序的模块,主要测试5个方面的问题:个方面的问题:模模块块接接口口、局局部部数数据据结结构构、边边界界条条件件、

47、独独立立的的路路径径和错误处理。和错误处理。模块模块模块接口模块接口局部数据结构局部数据结构路径测试路径测试出错处理出错处理边界条件边界条件第53页,本讲稿共152页单元测试的主要任务单元测试的主要任务任务任务1、模块接口测试、模块接口测试检查进出模块的数据是否正确检查进出模块的数据是否正确Checklist:模块的实际输入与定义的输入是否一致模块的实际输入与定义的输入是否一致个数、类型、顺序个数、类型、顺序模块中对于非内部模块中对于非内部/局部变量是否合理使用局部变量是否合理使用使用其他模块时,是否检查可用性和处理结果使用其他模块时,是否检查可用性和处理结果使用外部资源时,是否检查可用性并及

48、时释放资源使用外部资源时,是否检查可用性并及时释放资源内存、文件、硬盘、端口等内存、文件、硬盘、端口等其他其他第54页,本讲稿共152页单元测试的主要任务单元测试的主要任务任务任务2、模块局部数据结构测试、模块局部数据结构测试检查局部数据结构能否保持完整性检查局部数据结构能否保持完整性Checklist:变量从来没有被使用变量从来没有被使用可能别的地方使用了错误的变量名可能别的地方使用了错误的变量名变量没有初始化变量没有初始化错误的类型转换错误的类型转换数组越界数组越界非法指针非法指针变量或函数名称拼写错误变量或函数名称拼写错误使用了外部变量或函数使用了外部变量或函数其他其他第55页,本讲稿共

49、152页单元测试的主要任务单元测试的主要任务任务任务3、模块边界条件测试、模块边界条件测试检查临界数据是否正确处理检查临界数据是否正确处理Checklist:普通合法数据是否正确处理普通合法数据是否正确处理普通非法数据是否正确处理普通非法数据是否正确处理边界内最接近边界的边界内最接近边界的(合法合法)数据是否正确处理数据是否正确处理边界外最接近边界的边界外最接近边界的(非法非法)数据是否正确处理数据是否正确处理其他其他第56页,本讲稿共152页单元测试的主要任务单元测试的主要任务任务任务4、模块独立执行通路、模块独立执行通路(路径路径)测试测试检查由于计算错误、判定错误、控制流错误导致的程检查

50、由于计算错误、判定错误、控制流错误导致的程序错误序错误Checklist:死代码死代码错误的计算优先级错误的计算优先级精度错误精度错误比较运算错误比较运算错误赋值错误赋值错误表达式的不正确符号表达式的不正确符号、=;=、=、!=循环变量的使用错误循环变量的使用错误错误赋值错误赋值其他其他第57页,本讲稿共152页单元测试的主要任务单元测试的主要任务任务任务5、模块内部错误处理测试、模块内部错误处理测试检查内部错误处理设施是否有效检查内部错误处理设施是否有效Checklist:是否检查错误出现是否检查错误出现资源使用前后资源使用前后其他模块使用前后其他模块使用前后出现错误,是否进行错误处理出现错

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁