测试用例设计

上传人:新** 文档编号:587218026 上传时间:2024-09-05 格式:PPT 页数:45 大小:280.51KB
返回 下载 相关 举报
测试用例设计_第1页
第1页 / 共45页
测试用例设计_第2页
第2页 / 共45页
测试用例设计_第3页
第3页 / 共45页
测试用例设计_第4页
第4页 / 共45页
测试用例设计_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《测试用例设计》由会员分享,可在线阅读,更多相关《测试用例设计(45页珍藏版)》请在金锄头文库上搜索。

1、测试用例设计软件测试的目的基于不同的立场,存在着两种完全不同的测试目的。基于不同的立场,存在着两种完全不同的测试目的。基于不同的立场,存在着两种完全不同的测试目的。基于不同的立场,存在着两种完全不同的测试目的。从从从从用用用用户户户户的的的的角角角角度度度度出出出出发发发发,普普普普遍遍遍遍希希希希望望望望通通通通过过过过软软软软件件件件测测测测试试试试暴暴暴暴露露露露软软软软件件件件中中中中隐隐隐隐藏的错误和缺陷,以考虑是否可接受该产品。藏的错误和缺陷,以考虑是否可接受该产品。藏的错误和缺陷,以考虑是否可接受该产品。藏的错误和缺陷,以考虑是否可接受该产品。从从从从软软软软件件件件开开开开发发

2、发发者者者者的的的的角角角角度度度度出出出出发发发发,则则则则希希希希望望望望测测测测试试试试成成成成为为为为表表表表明明明明软软软软件件件件产产产产品品品品中中中中不不不不存存存存在在在在错错错错误误误误的的的的过过过过程程程程,验验验验证证证证该该该该软软软软件件件件已已已已正正正正确确确确地地地地实实实实现现现现了了了了用用用用户户户户的的的的要求,确立人们对软件质量的信心。要求,确立人们对软件质量的信心。要求,确立人们对软件质量的信心。要求,确立人们对软件质量的信心。软件测试的目的测试是程序的执行过程,目的在于发现错误;测试是程序的执行过程,目的在于发现错误;测试是程序的执行过程,目的

3、在于发现错误;测试是程序的执行过程,目的在于发现错误;一个好的测试用例在于能发现至今未发现的错误;一个好的测试用例在于能发现至今未发现的错误;一个好的测试用例在于能发现至今未发现的错误;一个好的测试用例在于能发现至今未发现的错误;一个成功的测试在于发现了至今未发现的错误。一个成功的测试在于发现了至今未发现的错误。一个成功的测试在于发现了至今未发现的错误。一个成功的测试在于发现了至今未发现的错误。软件测试的目的换言之,测试的目的是换言之,测试的目的是换言之,测试的目的是换言之,测试的目的是vv想想想想以以以以最最最最少少少少的的的的时时时时间间间间和和和和人人人人力力力力,系系系系统统统统地地地

4、地找找找找出出出出软软软软件件件件中中中中潜潜潜潜在在在在的的的的各各各各种种种种错错错错误误误误和和和和缺缺缺缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。vv测测测测试试试试的的的的附附附附带带带带收收收收获获获获是是是是,它它它它能能能能够够够够证证证证明明明明软软软软件件件件的的的的功功功功能能能能和和和和性性性性能能能能与与与与需需需需求求求求说说说说明明明明相相相相符合。符合。符合。符合。vv实施

5、测试收集到的测试结果数据为可靠性分析提供了依据。实施测试收集到的测试结果数据为可靠性分析提供了依据。实施测试收集到的测试结果数据为可靠性分析提供了依据。实施测试收集到的测试结果数据为可靠性分析提供了依据。vv测试不能表明软件中不存在错误,它只能说明软件中存在错误。测试不能表明软件中不存在错误,它只能说明软件中存在错误。测试不能表明软件中不存在错误,它只能说明软件中存在错误。测试不能表明软件中不存在错误,它只能说明软件中存在错误。软件测试的原则应应应应当当当当把把把把“尽尽尽尽早早早早地地地地和和和和不不不不断断断断地地地地进进进进行行行行软软软软件件件件测测测测试试试试”作作作作为为为为软软软

6、软件件件件开开开开发发发发者者者者的座右铭。的座右铭。的座右铭。的座右铭。测测测测试试试试用用用用例例例例应应应应由由由由测测测测试试试试输输输输入入入入数数数数据据据据和和和和对对对对应应应应的的的的预预预预期期期期输输输输出出出出结结结结果果果果这这这这两两两两部部部部分组成。分组成。分组成。分组成。程序员应避免检查自己的程序。程序员应避免检查自己的程序。程序员应避免检查自己的程序。程序员应避免检查自己的程序。在在在在设设设设计计计计测测测测试试试试用用用用例例例例时时时时,应应应应当当当当包包包包括括括括合合合合理理理理的的的的输输输输入入入入条条条条件件件件和和和和不不不不合合合合理理

7、理理的的的的输入条件。输入条件。输入条件。输入条件。软件测试的原则充充充充分分分分注注注注意意意意测测测测试试试试中中中中的的的的群群群群集集集集现现现现象象象象。经经经经验验验验表表表表明明明明,测测测测试试试试后后后后程程程程序序序序中中中中残残残残存的错误数目与该程序中已发现的错误数目成正比。存的错误数目与该程序中已发现的错误数目成正比。存的错误数目与该程序中已发现的错误数目成正比。存的错误数目与该程序中已发现的错误数目成正比。严格执行测试计划,排除测试的随意性。严格执行测试计划,排除测试的随意性。严格执行测试计划,排除测试的随意性。严格执行测试计划,排除测试的随意性。应当对每一个测试结

8、果做全面检查。应当对每一个测试结果做全面检查。应当对每一个测试结果做全面检查。应当对每一个测试结果做全面检查。妥妥妥妥善善善善保保保保存存存存测测测测试试试试计计计计划划划划,测测测测试试试试用用用用例例例例,出出出出错错错错统统统统计计计计和和和和最最最最终终终终分分分分析析析析报报报报告告告告,为维护提供方便。为维护提供方便。为维护提供方便。为维护提供方便。软件测试的对象软软软软件件件件测测测测试试试试并并并并不不不不等等等等于于于于程程程程序序序序测测测测试试试试。软软软软件件件件测测测测试试试试应应应应贯贯贯贯穿穿穿穿于于于于软软软软件件件件定定定定义义义义与开发的整个期间。与开发的整

9、个期间。与开发的整个期间。与开发的整个期间。需需需需求求求求分分分分析析析析、概概概概要要要要设设设设计计计计、详详详详细细细细设设设设计计计计以以以以及及及及程程程程序序序序编编编编码码码码等等等等各各各各阶阶阶阶段段段段所所所所得得得得到到到到的的的的文文文文档档档档,包包包包括括括括需需需需求求求求规规规规格格格格说说说说明明明明、概概概概要要要要设设设设计计计计规规规规格格格格说说说说明明明明、详详详详细设计规格说明以及源程序,都应成为软件测试的对象。细设计规格说明以及源程序,都应成为软件测试的对象。细设计规格说明以及源程序,都应成为软件测试的对象。细设计规格说明以及源程序,都应成为软

10、件测试的对象。测试方法两种常用的测试方法两种常用的测试方法两种常用的测试方法两种常用的测试方法vv黑盒测试黑盒测试黑盒测试黑盒测试vv白盒测试白盒测试白盒测试白盒测试黑盒测试这这这这种种种种方方方方法法法法是是是是把把把把测测测测试试试试对对对对象象象象看看看看做做做做一一一一个个个个黑黑黑黑盒盒盒盒子子子子,测测测测试试试试人人人人员员员员完完完完全全全全不不不不考考考考虑虑虑虑程程程程序序序序内内内内部部部部的的的的逻逻逻逻辑辑辑辑结结结结构构构构和和和和内内内内部部部部特特特特性性性性,只只只只依依依依据据据据程程程程序序序序的的的的需需需需求求求求规格说明书,检查程序的功能是否符合它的

11、功能说明。规格说明书,检查程序的功能是否符合它的功能说明。规格说明书,检查程序的功能是否符合它的功能说明。规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试又叫做功能测试或数据驱动测试。黑盒测试又叫做功能测试或数据驱动测试。黑盒测试又叫做功能测试或数据驱动测试。黑盒测试又叫做功能测试或数据驱动测试。黑盒测试黑黑黑黑盒盒盒盒测测测测试试试试方方方方法法法法是是是是在在在在程程程程序序序序接接接接口口口口上上上上进进进进行行行行测测测测试试试试,主主主主要要要要是是是是为为为为了了了了发发发发现现现现以下错误以下错误以下错误以下错误: : : :vv是否有不正确或遗漏了的功能是否有不正确或遗

12、漏了的功能是否有不正确或遗漏了的功能是否有不正确或遗漏了的功能? ? ? ?vv在在在在接接接接口口口口上上上上,输输输输入入入入能能能能否否否否正正正正确确确确地地地地接接接接受受受受? ? ? ? 能能能能否否否否输输输输出出出出正正正正确确确确的的的的结结结结果果果果? ? ? ?vv是是是是否否否否有有有有数数数数据据据据结结结结构构构构错错错错误误误误或或或或外外外外部部部部信信信信息息息息( ( ( (例例例例如如如如数数数数据据据据文文文文件件件件) ) ) )访访访访问问问问错误错误错误错误? ? ? ?vv性能上是否能够满足要求性能上是否能够满足要求性能上是否能够满足要求性能

13、上是否能够满足要求? ? ? ?vv是否有初始化或终止性错误是否有初始化或终止性错误是否有初始化或终止性错误是否有初始化或终止性错误? ? ? ?黑盒测试用用用用黑黑黑黑盒盒盒盒测测测测试试试试发发发发现现现现程程程程序序序序中中中中的的的的错错错错误误误误,必必必必须须须须在在在在所所所所有有有有可可可可能能能能的的的的输输输输入入入入条条条条件件件件和和和和输输输输出出出出条条条条件件件件中中中中确确确确定定定定测测测测试试试试数数数数据据据据,来来来来检检检检查查查查程程程程序序序序是是是是否否否否都都都都能能能能产产产产生生生生正确的输出。正确的输出。正确的输出。正确的输出。但这是不可

14、能的。但这是不可能的。但这是不可能的。但这是不可能的。黑盒测试假假假假设设设设一一一一个个个个程程程程序序序序P P P P有有有有输输输输入入入入量量量量X X X X和和和和Y Y Y Y及及及及输输输输出出出出量量量量Z Z Z Z。在在在在字字字字长长长长为为为为32323232位位位位的的的的计计计计算算算算机机机机上上上上运行。若运行。若运行。若运行。若X X X X、Y Y Y Y取整数,按黑盒方法进行穷举测试:取整数,按黑盒方法进行穷举测试:取整数,按黑盒方法进行穷举测试:取整数,按黑盒方法进行穷举测试:可能采用的可能采用的可能采用的可能采用的 测试数据组:测试数据组:测试数据

15、组:测试数据组: 2 2 2 2323232322222323232322 2 2 264646464 如如如如果果果果测测测测试试试试一一一一组组组组数数数数据据据据需需需需要要要要1 1 1 1毫毫毫毫秒秒秒秒,一一一一年年年年工工工工作作作作36524365243652436524小小小小时时时时,完完完完成成成成所所所所有有有有测测测测试需试需试需试需5 5 5 5亿年。亿年。亿年。亿年。白盒测试此此此此方方方方法法法法把把把把测测测测试试试试对对对对象象象象看看看看做做做做一一一一个个个个透透透透明明明明的的的的盒盒盒盒子子子子,它它它它允允允允许许许许测测测测试试试试人人人人员员员

16、员利利利利用用用用程程程程序序序序内内内内部部部部的的的的逻逻逻逻辑辑辑辑结结结结构构构构及及及及有有有有关关关关信信信信息息息息,设设设设计计计计或或或或选选选选择择择择测测测测试试试试用用用用例,对程序所有逻辑路径进行测试。例,对程序所有逻辑路径进行测试。例,对程序所有逻辑路径进行测试。例,对程序所有逻辑路径进行测试。通通通通过过过过在在在在不不不不同同同同点点点点检检检检查查查查程程程程序序序序的的的的状状状状态态态态,确确确确定定定定实实实实际际际际的的的的状状状状态态态态是是是是否否否否与与与与预预预预期期期期的的的的状状状状态态态态一一一一致致致致。因因因因此此此此白白白白盒盒盒盒

17、测测测测试试试试又又又又称称称称为为为为结结结结构构构构测测测测试试试试或或或或逻逻逻逻辑辑辑辑驱驱驱驱动动动动测试。测试。测试。测试。白盒测试软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:vv对程序模块的所有独立的执行路径至少测试一次;对程序模块的所有独立的执行路径至少测试一次;对程序模块的所有独立的执行路径至少测试一次;对程序模块的所有独立的执行路径至少测试一次;vv对对对对所所所所有有有有的的的的逻逻逻逻

18、辑辑辑辑判判判判定定定定,取取取取“真真真真”与与与与取取取取“假假假假”的的的的两两两两种种种种情情情情况况况况都都都都至至至至少少少少测测测测试试试试一次;一次;一次;一次;vv在循环的边界和运行界限内执行循环体;在循环的边界和运行界限内执行循环体;在循环的边界和运行界限内执行循环体;在循环的边界和运行界限内执行循环体;vv测试内部数据结构的有效性。测试内部数据结构的有效性。测试内部数据结构的有效性。测试内部数据结构的有效性。对对对对一一一一个个个个具具具具有有有有多多多多重重重重选选选选择择择择和和和和循循循循环环环环嵌嵌嵌嵌套套套套的的的的程程程程序序序序,不不不不同同同同的的的的路路

19、路路径径径径数数数数目目目目可可可可能能能能是是是是天天天天文数字。文数字。文数字。文数字。测试用例是软件测试的核心 如何以最少的人力、资源投入,在最短的时间内完成测试,如何以最少的人力、资源投入,在最短的时间内完成测试,如何以最少的人力、资源投入,在最短的时间内完成测试,如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公发现软件系统的缺陷,保证软件的优良品质,则是软件公发现软件系统的缺陷,保证软件的优良品质,则是软件公发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。司探索和追求的目标。司探索和追求的目标。司探索和追求的

20、目标。测试用例是测试工作的指导,是软件测试的必须遵守的准测试用例是测试工作的指导,是软件测试的必须遵守的准测试用例是测试工作的指导,是软件测试的必须遵守的准测试用例是测试工作的指导,是软件测试的必须遵守的准则。更是软件测试质量稳定的根本保障。则。更是软件测试质量稳定的根本保障。则。更是软件测试质量稳定的根本保障。则。更是软件测试质量稳定的根本保障。 什么是测试用例n n所谓的测试用例就是将软件测试的行为活动,做一个科学化的所谓的测试用例就是将软件测试的行为活动,做一个科学化的所谓的测试用例就是将软件测试的行为活动,做一个科学化的所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。组

21、织归纳。组织归纳。组织归纳。n n软件测试是有组织性、步骤性和计划性的,而设计软件测试用软件测试是有组织性、步骤性和计划性的,而设计软件测试用软件测试是有组织性、步骤性和计划性的,而设计软件测试用软件测试是有组织性、步骤性和计划性的,而设计软件测试用例的目的,就是为了能将软件测试的行为转换为可管理的模式。例的目的,就是为了能将软件测试的行为转换为可管理的模式。例的目的,就是为了能将软件测试的行为转换为可管理的模式。例的目的,就是为了能将软件测试的行为转换为可管理的模式。n n软件测试是软件质量管理中最实际的行动,同时也是耗时最多软件测试是软件质量管理中最实际的行动,同时也是耗时最多软件测试是软

22、件质量管理中最实际的行动,同时也是耗时最多软件测试是软件质量管理中最实际的行动,同时也是耗时最多的一项。的一项。的一项。的一项。n n基于时间因素的考虑,软件测试行为必须能够加以量化,才能基于时间因素的考虑,软件测试行为必须能够加以量化,才能基于时间因素的考虑,软件测试行为必须能够加以量化,才能基于时间因素的考虑,软件测试行为必须能够加以量化,才能进一步让管理阶层掌握所需要的测试过程,而测试用例就是将进一步让管理阶层掌握所需要的测试过程,而测试用例就是将进一步让管理阶层掌握所需要的测试过程,而测试用例就是将进一步让管理阶层掌握所需要的测试过程,而测试用例就是将测试行为具体量化的方法之一。测试行

23、为具体量化的方法之一。测试行为具体量化的方法之一。测试行为具体量化的方法之一。什么是测试用例n n因为我们不可能进行穷举测试,为了节省时间和资源、提因为我们不可能进行穷举测试,为了节省时间和资源、提因为我们不可能进行穷举测试,为了节省时间和资源、提因为我们不可能进行穷举测试,为了节省时间和资源、提高测试效率,必须要从数量极大的可用测试数据中精心挑高测试效率,必须要从数量极大的可用测试数据中精心挑高测试效率,必须要从数量极大的可用测试数据中精心挑高测试效率,必须要从数量极大的可用测试数据中精心挑选出具有代表性或特殊性的测试数据来进行测试。选出具有代表性或特殊性的测试数据来进行测试。选出具有代表性

24、或特殊性的测试数据来进行测试。选出具有代表性或特殊性的测试数据来进行测试。n n目前研究室测试过程中,所有的测试用例都放在目前研究室测试过程中,所有的测试用例都放在目前研究室测试过程中,所有的测试用例都放在目前研究室测试过程中,所有的测试用例都放在测试大测试大测试大测试大纲纲纲纲中,使用测试大纲的好处:中,使用测试大纲的好处:中,使用测试大纲的好处:中,使用测试大纲的好处:保证测试功能不被遗漏;保证测试功能不被遗漏;保证测试功能不被遗漏;保证测试功能不被遗漏;使得功能不被重复测试,合理安排测试人员;使得功能不被重复测试,合理安排测试人员;使得功能不被重复测试,合理安排测试人员;使得功能不被重复

25、测试,合理安排测试人员;使得软件测试不依赖于个人;使得软件测试不依赖于个人;使得软件测试不依赖于个人;使得软件测试不依赖于个人;测试用例内容n n实施一次测试而向被测系统提供的输入数据、操作或各种环境实施一次测试而向被测系统提供的输入数据、操作或各种环境实施一次测试而向被测系统提供的输入数据、操作或各种环境实施一次测试而向被测系统提供的输入数据、操作或各种环境设置。设置。设置。设置。n n对交互式系统,软件交互执行过程的控制也是一种测试用例。对交互式系统,软件交互执行过程的控制也是一种测试用例。对交互式系统,软件交互执行过程的控制也是一种测试用例。对交互式系统,软件交互执行过程的控制也是一种测

26、试用例。n n测试用例的设计与生成是依据测试大纲对其中每个测试项目的测试用例的设计与生成是依据测试大纲对其中每个测试项目的测试用例的设计与生成是依据测试大纲对其中每个测试项目的测试用例的设计与生成是依据测试大纲对其中每个测试项目的进一步实例化。比如:进一步实例化。比如:进一步实例化。比如:进一步实例化。比如: 对于一个输入项的测试,应当设计一组测试数据,包括合法的、对于一个输入项的测试,应当设计一组测试数据,包括合法的、对于一个输入项的测试,应当设计一组测试数据,包括合法的、对于一个输入项的测试,应当设计一组测试数据,包括合法的、边界的和非法的数据等。边界的和非法的数据等。边界的和非法的数据等

27、。边界的和非法的数据等。测试用例设计生成的基本准则n n测试用例的代表性:能够代表并覆盖各种合理的和不合理、测试用例的代表性:能够代表并覆盖各种合理的和不合理、测试用例的代表性:能够代表并覆盖各种合理的和不合理、测试用例的代表性:能够代表并覆盖各种合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、合法的和非法的、边界的和越界的、以及极限的输入数据、合法的和非法的、边界的和越界的、以及极限的输入数据、合法的和非法的、边界的和越界的、以及极限的输入数据、操作和环境设置等操作和环境设置等操作和环境设置等操作和环境设置等; ; ; ;n n测试结果的可判定性:即测试执行结果的正确性是

28、可判定测试结果的可判定性:即测试执行结果的正确性是可判定测试结果的可判定性:即测试执行结果的正确性是可判定测试结果的可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果;的,每一个测试用例都应有相应的期望结果;的,每一个测试用例都应有相应的期望结果;的,每一个测试用例都应有相应的期望结果;n n测试结果的可再现性:即对同样的测试用例,系统的执行测试结果的可再现性:即对同样的测试用例,系统的执行测试结果的可再现性:即对同样的测试用例,系统的执行测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。结果应当是相同的。结果应当是相同的。结果应当是相同的。测试用

29、例的特征n n最有可能抓住错误的;最有可能抓住错误的;最有可能抓住错误的;最有可能抓住错误的;n n不是重复的、多余的;不是重复的、多余的;不是重复的、多余的;不是重复的、多余的;n n一组相似测试用例中最有效的;一组相似测试用例中最有效的;一组相似测试用例中最有效的;一组相似测试用例中最有效的;n n不要太简单,也不要太复杂。不要太简单,也不要太复杂。不要太简单,也不要太复杂。不要太简单,也不要太复杂。测试用例的组织和跟踪在执行测试过程中,会遇到如下问题:在执行测试过程中,会遇到如下问题:在执行测试过程中,会遇到如下问题:在执行测试过程中,会遇到如下问题:n n计划执行哪些测试用例?执行需要

30、多少时间?一轮测试需要多少测试人员计划执行哪些测试用例?执行需要多少时间?一轮测试需要多少测试人员计划执行哪些测试用例?执行需要多少时间?一轮测试需要多少测试人员计划执行哪些测试用例?执行需要多少时间?一轮测试需要多少测试人员?n n能否挑出测试套装(相关测试用例子集)来测试某些特性或软件部分?能否挑出测试套装(相关测试用例子集)来测试某些特性或软件部分?能否挑出测试套装(相关测试用例子集)来测试某些特性或软件部分?能否挑出测试套装(相关测试用例子集)来测试某些特性或软件部分?n n在执行测试用例时,能否记录哪些通过?哪些失败;在执行测试用例时,能否记录哪些通过?哪些失败;在执行测试用例时,能

31、否记录哪些通过?哪些失败;在执行测试用例时,能否记录哪些通过?哪些失败;n n当前测试是否按计划进行?当前测试是否按计划进行?当前测试是否按计划进行?当前测试是否按计划进行?n n上次执行测试用例时通过的百分比是多少?上次执行测试用例时通过的百分比是多少?上次执行测试用例时通过的百分比是多少?上次执行测试用例时通过的百分比是多少?测试用例跟踪管理方式:测试用例追踪表测试用例跟踪管理方式:测试用例追踪表测试用例跟踪管理方式:测试用例追踪表测试用例跟踪管理方式:测试用例追踪表测试用例的意义使用测试用例的好处主要体现在以下几个方面:使用测试用例的好处主要体现在以下几个方面:使用测试用例的好处主要体现

32、在以下几个方面:使用测试用例的好处主要体现在以下几个方面:n n在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。效率。效率。效率。n n测试用例的使用令软件测试的实施重点突出、目的明确。测试用例的使用令软件测试的实施重点突出、目的明确。测试用例的使用令软件测试的实施重点突出、目的明确。测试用例的使用令软件测试的实施重点突出、目的明确。n n在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降

33、在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。低工作强度、缩短项目周期。低工作强度、缩短项目周期。低工作强度、缩短项目周期。n n功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例试用例的通

34、用化和复用化则会使软件测试易于开展,并随着测试用例试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。的不断精化其效率也不断攀升。的不断精化其效率也不断攀升。的不断精化其效率也不断攀升。测试用例的意义n n组织性有利于测试的组织;组织性有利于测试的组织;组织性有利于测试的组织;组织性有利于测试的组织;n n功能覆盖确保功能不被遗漏;功能覆盖确保功能不被遗漏;功能覆盖确保功能不被遗漏;功能覆盖确保功能不被遗漏;n n重复性有利于测试的重复;重复性有利于测试的重复;重复性有利于测试的重复;重复性有利于测

35、试的重复;n n跟踪有利于测试的跟踪;跟踪有利于测试的跟踪;跟踪有利于测试的跟踪;跟踪有利于测试的跟踪;n n测试确认在少数高风险的测试中,必须证明确实执行了测试确认在少数高风险的测试中,必须证明确实执行了测试确认在少数高风险的测试中,必须证明确实执行了测试确认在少数高风险的测试中,必须证明确实执行了计划执行的测试;计划执行的测试;计划执行的测试;计划执行的测试;黑盒测试用例的设计方法n n具体的黑盒测试用例设计方法包括等价类划分法、边界值具体的黑盒测试用例设计方法包括等价类划分法、边界值具体的黑盒测试用例设计方法包括等价类划分法、边界值具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法

36、、场景法、错误推测法、因果图法、判定表驱动法、分析法、场景法、错误推测法、因果图法、判定表驱动法、分析法、场景法、错误推测法、因果图法、判定表驱动法、分析法、场景法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。正交试验设计法、功能图法等。正交试验设计法、功能图法等。正交试验设计法、功能图法等。n n这些方法是比较实用的,但采用什么方法,在使用时自然这些方法是比较实用的,但采用什么方法,在使用时自然这些方法是比较实用的,但采用什么方法,在使用时自然这些方法是比较实用的,但采用什么方法,在使用时自然要针对开发项目的特点对方法加以适当的选择。要针对开发项目的特点对方法加以适当的选

37、择。要针对开发项目的特点对方法加以适当的选择。要针对开发项目的特点对方法加以适当的选择。 等价类划分法n n等价类划分是一种典型的黑盒测试方法,用这一方法设计等价类划分是一种典型的黑盒测试方法,用这一方法设计等价类划分是一种典型的黑盒测试方法,用这一方法设计等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根据对程序的需测试用例完全不考虑程序的内部结构,只根据对程序的需测试用例完全不考虑程序的内部结构,只根据对程序的需测试用例完全不考虑程序的内部结构,只根据对程序的需求和说明,即需求规格说明书。求和说明,即需求规格说明书。求和说明,即需求规格说明书。求和说明

38、,即需求规格说明书。 n n由于穷举测试工作量太大,以致于无法实际完成,促使我由于穷举测试工作量太大,以致于无法实际完成,促使我由于穷举测试工作量太大,以致于无法实际完成,促使我由于穷举测试工作量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。们在大量的可能数据中选取其中的一部分作为测试用例。们在大量的可能数据中选取其中的一部分作为测试用例。们在大量的可能数据中选取其中的一部分作为测试用例。 等价类划分法n n等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中等价类划分法是把程序的输入域划分

39、成若干部分,然后从每个部分中等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。选取少数代表性数据当作测试用例。选取少数代表性数据当作测试用例。选取少数代表性数据当作测试用例。n n每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例是说,如果某一类中

40、的一个例子发现了错误,这一等价类中的其他例是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。误,则这一类中的其他例子也不会查出错误。误,则这一类中的其他例子也不会查出错误。误,则这一类中的其他例子也不会查出错误。n n使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上使用这一方法设计测试用例,首先必

41、须在分析需求规格说明的基础上使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。划分等价类,列出等价类表。划分等价类,列出等价类表。划分等价类,列出等价类表。 划分等价类和列出等价类表 n n可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的数据

42、作为测试的输入条件,就可以用少量代表性的测试数据取得较好的数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。测试结果。测试结果。测试结果。n n等价类划分有两种不同的情况:等价类划分有两种不同的情况:等价类划分有两种不同的情况:等价类划分有两种不同的情况:vv有效等价类:是指对于程序的规格说明来说是合理的、有意义的输有效等价类:是指对于程序的规格说明来说是合理的、有意义的输有效等价类:是指对于程序的规格说明来说是合理的、有意义的输有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有

43、效等价类可检验程序是否实现了规格说入数据构成的集合。利用有效等价类可检验程序是否实现了规格说入数据构成的集合。利用有效等价类可检验程序是否实现了规格说入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。明中所规定的功能和性能。明中所规定的功能和性能。明中所规定的功能和性能。vv无效等价类:与有效等价类的定义恰巧相反。无效等价类:与有效等价类的定义恰巧相反。无效等价类:与有效等价类的定义恰巧相反。无效等价类:与有效等价类的定义恰巧相反。n n设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合设

44、计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。的可靠性。的可靠性。的可靠性。确定等价类的原则n n在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和在输入条件规定了取值范围或值

45、的个数的情况下,则可以确立一个有效等价类和在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。两个无效等价类。两个无效等价类。两个无效等价类。n n在输入条件规定了输入值的集合或者规定了在输入条件规定了输入值的集合或者规定了在输入条件规定了输入值的集合或者规定了在输入条件规定了输入值的集合或者规定了“必须如何必须如何必须如何必须如何”的条件的情况下,可以的条件的情况下,可以的条件的情况下,可以的条件的情况下,可以确立一个有效等价类和一个无效等价类。确立一个有效等价类和一个无效等价类。确立一个有效等价类和一个无效等价类。确立一个有效等价类和一个无效等价类。n n

46、在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。n n在规定了输入数据的一组值在规定了输入数据的一组值在规定了输入数据的一组值在规定了输入数据的一组值( ( ( (假定假定假定假定n n n n个个个个) ) ) ),并且程序要对每一个输入值分别处理的,并且程序要对每一个输入值分别处理的,并且程序要对每一个输入值分别处理的,并且程序要对每一个输入值分别处理的情况下,

47、可确立情况下,可确立情况下,可确立情况下,可确立n n n n个有效等价类和一个无效等价类。个有效等价类和一个无效等价类。个有效等价类和一个无效等价类。个有效等价类和一个无效等价类。n n在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类( ( ( (符合规则符合规则符合规则符合规则) ) ) )和若干个无效等价类和若干个无效等价类和若干个无效等价类和若干个无效等价类( ( ( (从不同角度违反规则从不同角

48、度违反规则从不同角度违反规则从不同角度违反规则) ) ) )。n n在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。等价类进一步地划分为更小的等价类。等价类进一步地划分为更小的等价类。等价类进一步地划分为更小的等价类。 建立等价类表 n n在确立了等价类之后,建立等价类表,列出所有划分出的在确立了等价类之后,建立等价类表,列出所有划

49、分出的在确立了等价类之后,建立等价类表,列出所有划分出的在确立了等价类之后,建立等价类表,列出所有划分出的等价类:等价类:等价类:等价类:输入条件输入条件有效等价类有效等价类无效等价类无效等价类确定测试用例 根据已列出的等价类表,按以下步骤确定测试用例:根据已列出的等价类表,按以下步骤确定测试用例:根据已列出的等价类表,按以下步骤确定测试用例:根据已列出的等价类表,按以下步骤确定测试用例:n n为每个等价类规定一个唯一的编号;为每个等价类规定一个唯一的编号;为每个等价类规定一个唯一的编号;为每个等价类规定一个唯一的编号;n n设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的设计一个新的测试用

50、例,使其尽可能多地覆盖尚未覆盖的设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被有效等价类。重复这一步,最后使得所有有效等价类均被有效等价类。重复这一步,最后使得所有有效等价类均被有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖;测试用例所覆盖;测试用例所覆盖;测试用例所覆盖;n n设计一个新的测试用例,使其只覆盖一个无效等价类。重设计一个新的测试用例,使其只覆盖一个无效等价类。重设计一个新的测试用例,使其只覆盖一个无效等价类。重设计一个新的测试用例,使其只覆盖一个无效等价类。

51、重复这一步使所有无效等价类均被覆盖。复这一步使所有无效等价类均被覆盖。复这一步使所有无效等价类均被覆盖。复这一步使所有无效等价类均被覆盖。举例n n根据下面给出的规格说明,利用等价类划分的方法,给出根据下面给出的规格说明,利用等价类划分的方法,给出根据下面给出的规格说明,利用等价类划分的方法,给出根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。足够的测试用例。足够的测试用例。足够的测试用例。n n“一个程序读入一个程序读入一个程序读入一个程序读入3 3 3 3个整数,把这三个数值看作一个三角形个整数,把这三个数值看作一个三角形个整数,把这三个数值看作一个三角形个整数,把这三个

52、数值看作一个三角形的的的的3 3 3 3条边的长度值。这个程序要打印出信息,说明这个三条边的长度值。这个程序要打印出信息,说明这个三条边的长度值。这个程序要打印出信息,说明这个三条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。角形是不等边的、是等腰的、还是等边的。角形是不等边的、是等腰的、还是等边的。角形是不等边的、是等腰的、还是等边的。” ” ” ” 举例n n我们可以设三角形的我们可以设三角形的我们可以设三角形的我们可以设三角形的3 3 3 3条边分别为条边分别为条边分别为条边分别为A A A A,B B B B,C C C C。如果它们能够。如果它们能

53、够。如果它们能够。如果它们能够构成三角形的构成三角形的构成三角形的构成三角形的3 3 3 3条边,必须满足:条边,必须满足:条边,必须满足:条边,必须满足:n nA0A0A0A0,B0B0B0B0,C0C0C0C0,且,且,且,且A+BCA+BCA+BCA+BC,B+CAB+CAB+CAB+CA,A+CBA+CBA+CBA+CB。n n如果是等腰的,还要判断如果是等腰的,还要判断如果是等腰的,还要判断如果是等腰的,还要判断A=BA=BA=BA=B,或,或,或,或B=CB=CB=CB=C,或,或,或,或A=CA=CA=CA=C。n n如果是等边的,则需判断是否如果是等边的,则需判断是否如果是等边

54、的,则需判断是否如果是等边的,则需判断是否A=BA=BA=BA=B,且,且,且,且B=CB=CB=CB=C,且,且,且,且A=CA=CA=CA=C。举例输入条件输入条件有效等价类有效等价类无效等价类无效等价类是否三角形的是否三角形的三三条边条边(A0A0),), (1 1)(B0B0),), (2 2)(C0C0),), (3 3)(A+BCA+BC),), (4 4)(B+CAB+CA),), (5 5)(A+CBA+CB),), (6 6)(A0A0),), (7 7)(B0B0),), (8 8)(C0C0),), (9 9)(A+BCA+BC),), (1010)(B+CAB+CA),

55、), (1111)(A+CBA+CB),), (1212)是否等腰三角形是否等腰三角形(A=BA=B),), (1313)(B=CB=C),), (1414)(C=AC=A), (1515)(ABAB)andand(BCBC)andand(CACA) (1616)是否等边三角形是否等边三角形(A=BA=B)andand(B=CB=C)andand(C=AC=A) (1717)(ABAB),), (1818)(BCBC),), (1919)(CACA),), (2020)举例序号序号【A,B,C】覆盖等价覆盖等价类输出出1【3 3,4 4,5 5】(1 1),(),(2 2),(),(3 3),

56、(),(4 4),(),(5 5),(),(6 6)一般三角形一般三角形2【0 0,1 1,2 2】(7 7)不能构成三角形不能构成三角形3【1 1,0 0,2 2】(8 8)4【1 1,2 2,0 0】(9 9)5【1 1,2 2,3 3】(1010)6【1 1,3 3,2 2】(1111)7【3 3,1 1,2 2】(1212)8【3 3,3 3,4 4】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1313)等腰三角形等腰三角形9【3 3,4 4,4 4】(1 1),(),(2 2),(),(3 3),(),(4 4),()

57、,(5 5),(),(6 6),(),(1414)10【3 3,4 4,3 3】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1515)11【3 3,4 4,5 5】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1616)非等腰三角形非等腰三角形12【3 3,3 3,3 3】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1717)是等是等边三角形三角形13【3 3,4 4,4 4】(1 1),(),(2

58、2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1414),(),(1818)非等非等边三角形三角形14【3 3,4 4,3 3】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1515),(),(1919)15【3 3,3 3,4 4】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1313),(),(2020)边界值分析法n n由测试工作的经验得知,大量的错误是发生在输入或输出由测试工作的经验得知,大量的错误是发生在输入或输出由测

59、试工作的经验得知,大量的错误是发生在输入或输出由测试工作的经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种范围的边界上,而不是在输入范围的内部。因此针对各种范围的边界上,而不是在输入范围的内部。因此针对各种范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。边界情况设计测试用例,可以查出更多的错误。边界情况设计测试用例,可以查出更多的错误。边界情况设计测试用例,可以查出更多的错误。 n n边界值分析是一种补充等价划分的测试用例设计技术,它边界值分析是一种补充等价划分的测试用例设计技术,它边界值分析是一种补充等价划分

60、的测试用例设计技术,它边界值分析是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试不是选择等价类的任意元素,而是选择等价类边界的测试不是选择等价类的任意元素,而是选择等价类边界的测试不是选择等价类的任意元素,而是选择等价类边界的测试用例。实践证明为检验边界附近的处理专门设计测试用例,用例。实践证明为检验边界附近的处理专门设计测试用例,用例。实践证明为检验边界附近的处理专门设计测试用例,用例。实践证明为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。常常取得良好的测试效果。常常取得良好的测试效果。常常取得良好的测试效果。边界值设计原则对边界值设

61、计测试用例,应遵循以下几条原则:对边界值设计测试用例,应遵循以下几条原则:对边界值设计测试用例,应遵循以下几条原则:对边界值设计测试用例,应遵循以下几条原则:1.1.1.1.如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。超越这个范围边界的值作为测试输入数据。超越这个范围边界的值作为测试输入数据。超越这个范围边界的值作为测试输入数据。2

62、.2.2.2.如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。比最大个数多一的数作为测试数据。比最大个数多一的数作为测试数据。比最大个数多一的数作为测试数据。3.3.3.3.根据规格说明的每个输出条件,使用前面的原则根据规格说明的每个输出条件,使用前面的原则根据规格说明的每个输出条件,使用前面的原则根据规格说明的每个输出条件,使用前面的原则1

63、 1 1 1。4.4.4.4.根据规格说明的每个输出条件,应用前面的原则根据规格说明的每个输出条件,应用前面的原则根据规格说明的每个输出条件,应用前面的原则根据规格说明的每个输出条件,应用前面的原则2 2 2 2。5.5.5.5.如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。个元素和最后一个元素作为测试用例。个元素和最后一个元素作为测试用

64、例。个元素和最后一个元素作为测试用例。6.6.6.6.如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。的值作为测试用例。的值作为测试用例。的值作为测试用例。7.7.7.7.分析规格说明,找出其他可能的边界条件。分析规格说明,找出其他可能的边界条件。分析规格说明,找出其他可能的边界条件。分析规格说明,找出其他可能的边界条件。其他一些边界条件 n n另一种看起

65、来很明显的软件缺陷来源是当软件要求输入时另一种看起来很明显的软件缺陷来源是当软件要求输入时另一种看起来很明显的软件缺陷来源是当软件要求输入时另一种看起来很明显的软件缺陷来源是当软件要求输入时( ( ( (比如在文本框中比如在文本框中比如在文本框中比如在文本框中),),),),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了不是没有输入正确的信息,而是根本没有输入任何内容,单单按了不是没有输入正确的信息,而是根本没有输入任何内容,单单按了不是没有输入正确的信息,而是根本没有输入任何内容,单单按了EnterEnterEnterEnter键。键。键。键。这种情况在产品说明书中常常忽视,程序

66、员也可能经常遗忘,但是在实际使这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择来合法的或非法的信息,要不就会选择来合法的或非法的信息,要不就会选择来合法

67、的或非法的信息,要不就会选择CancelCancelCancelCancel键放弃输入,如果没有对空值键放弃输入,如果没有对空值键放弃输入,如果没有对空值键放弃输入,如果没有对空值进行好的处理的话,恐怕程序员自己都不知道程序会引向何方。进行好的处理的话,恐怕程序员自己都不知道程序会引向何方。进行好的处理的话,恐怕程序员自己都不知道程序会引向何方。进行好的处理的话,恐怕程序员自己都不知道程序会引向何方。n n正确的软件通常应该将输入内容默认为合法边界内的最小值或者合法区间内正确的软件通常应该将输入内容默认为合法边界内的最小值或者合法区间内正确的软件通常应该将输入内容默认为合法边界内的最小值或者合

68、法区间内正确的软件通常应该将输入内容默认为合法边界内的最小值或者合法区间内某个合理值,否则返回错误提示信息。某个合理值,否则返回错误提示信息。某个合理值,否则返回错误提示信息。某个合理值,否则返回错误提示信息。n n因为这些值通常在软件中进行特殊处理,所以不要把它们与合法情况和非法因为这些值通常在软件中进行特殊处理,所以不要把它们与合法情况和非法因为这些值通常在软件中进行特殊处理,所以不要把它们与合法情况和非法因为这些值通常在软件中进行特殊处理,所以不要把它们与合法情况和非法情况混在一起,而要建立单独的等价区间。情况混在一起,而要建立单独的等价区间。情况混在一起,而要建立单独的等价区间。情况混

69、在一起,而要建立单独的等价区间。场景法 n n现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地这种在软件设计

70、方面的思想也可引入到软件测试中,可以比较生动地这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。测试用例更容易理解和执行。测试用例更容易理解和执行。测试用例更容易理解和执行。n n提出这种测试思想的是提出这种测试思想的是提出这种测试思想的是提出这种测试思想的是Ra

71、tional Rational Rational Rational 公司,并在公司,并在公司,并在公司,并在RUP2000 RUP2000 RUP2000 RUP2000 中文版当中有中文版当中有中文版当中有中文版当中有其详尽的解释和应用。其详尽的解释和应用。其详尽的解释和应用。其详尽的解释和应用。n n用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。上所有基本流和备选流。上所有基本

72、流和备选流。上所有基本流和备选流。基本流和备选流 n n右图中经过用例的每条路径都用基本流右图中经过用例的每条路径都用基本流右图中经过用例的每条路径都用基本流右图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,和备选流来表示,直黑线表示基本流,和备选流来表示,直黑线表示基本流,和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用是经过用例的最简单的路径。备选流用是经过用例的最简单的路径。备选流用是经过用例的最简单的路径。备选流用不同的彩色表示,一个备选流可能从基不同的彩色表示,一个备选流可能从基不同的彩色表示,一个备选流可能从基不同的彩色表示,一个备选流可能从基

73、本流开始,在某个特定条件下执行,然本流开始,在某个特定条件下执行,然本流开始,在某个特定条件下执行,然本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流后重新加入基本流中(如备选流后重新加入基本流中(如备选流后重新加入基本流中(如备选流 1 1 1 1 和和和和 3 3 3 3);也可能起源于另一个备选流(如);也可能起源于另一个备选流(如);也可能起源于另一个备选流(如);也可能起源于另一个备选流(如备选流备选流备选流备选流 2 2 2 2),或者终止用例而不再重新),或者终止用例而不再重新),或者终止用例而不再重新),或者终止用例而不再重新加入到某个流(如备选流加入到某个流(如

74、备选流加入到某个流(如备选流加入到某个流(如备选流 2 2 2 2 和和和和 4 4 4 4)。)。)。)。基本流和备选流n n按照上图中每个经过用例的路径,可以确定以下不同的用例场景:按照上图中每个经过用例的路径,可以确定以下不同的用例场景:按照上图中每个经过用例的路径,可以确定以下不同的用例场景:按照上图中每个经过用例的路径,可以确定以下不同的用例场景:vv场景场景场景场景 1 1 1 1 基本流基本流基本流基本流vv场景场景场景场景 2 2 2 2 基本流基本流基本流基本流 备选流备选流备选流备选流 1 1 1 1vv场景场景场景场景 3 3 3 3 基本流基本流基本流基本流 备选流备选

75、流备选流备选流 1 1 1 1 备选流备选流备选流备选流 2 2 2 2vv场景场景场景场景 4 4 4 4 基本流基本流基本流基本流 备选流备选流备选流备选流 3 3 3 3vv场景场景场景场景 5 5 5 5 基本流基本流基本流基本流 备选流备选流备选流备选流 3 3 3 3 备选流备选流备选流备选流 1 1 1 1vv场景场景场景场景 6 6 6 6 基本流基本流基本流基本流 备选流备选流备选流备选流 3 3 3 3 备选流备选流备选流备选流 1 1 1 1 备选流备选流备选流备选流 2 2 2 2vv场景场景场景场景 7 7 7 7 基本流基本流基本流基本流 备选流备选流备选流备选流

76、4 4 4 4vv场景场景场景场景 8 8 8 8 基本流基本流基本流基本流 备选流备选流备选流备选流 3 3 3 3 备选流备选流备选流备选流 4 4 4 4n n注:为方便起见,场景注:为方便起见,场景注:为方便起见,场景注:为方便起见,场景 5 5 5 5、6 6 6 6 和和和和 8 8 8 8 只考虑了备选流只考虑了备选流只考虑了备选流只考虑了备选流 3 3 3 3循环执行一次的情况。循环执行一次的情况。循环执行一次的情况。循环执行一次的情况。测试方法选择的综合策略 n n测试用例的设计方法不是单独存在的,具体到每个测试项测试用例的设计方法不是单独存在的,具体到每个测试项测试用例的设

77、计方法不是单独存在的,具体到每个测试项测试用例的设计方法不是单独存在的,具体到每个测试项目里都会用到多种方法,每种类型的软件有各自的特点,目里都会用到多种方法,每种类型的软件有各自的特点,目里都会用到多种方法,每种类型的软件有各自的特点,目里都会用到多种方法,每种类型的软件有各自的特点,每种测试用例设计的方法也有各自的特点,针对不同软件每种测试用例设计的方法也有各自的特点,针对不同软件每种测试用例设计的方法也有各自的特点,针对不同软件每种测试用例设计的方法也有各自的特点,针对不同软件如何利用这些黑盒方法是非常重要的,在实际测试中,往如何利用这些黑盒方法是非常重要的,在实际测试中,往如何利用这些

78、黑盒方法是非常重要的,在实际测试中,往如何利用这些黑盒方法是非常重要的,在实际测试中,往往是综合使用各种方法才能有效提高测试效率和测试覆盖往是综合使用各种方法才能有效提高测试效率和测试覆盖往是综合使用各种方法才能有效提高测试效率和测试覆盖往是综合使用各种方法才能有效提高测试效率和测试覆盖度,这就需要认真掌握这些方法的原理,积累更多的测试度,这就需要认真掌握这些方法的原理,积累更多的测试度,这就需要认真掌握这些方法的原理,积累更多的测试度,这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效提高测试水平。经验,以有效提高测试水平。经验,以有效提高测试水平。经验,以有效提高测试水平。 测试方

79、法选择的综合策略以下是各种测试方法选择的综合策略,可在实际应用过程中参考。以下是各种测试方法选择的综合策略,可在实际应用过程中参考。以下是各种测试方法选择的综合策略,可在实际应用过程中参考。以下是各种测试方法选择的综合策略,可在实际应用过程中参考。n n首先进行等价类划分,包括输入条件和输出条件的等价划分,将首先进行等价类划分,包括输入条件和输出条件的等价划分,将首先进行等价类划分,包括输入条件和输出条件的等价划分,将首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率的最有无限测试变成有限测试,这是减少工作量和提高测试效率的最有无限测试变

80、成有限测试,这是减少工作量和提高测试效率的最有无限测试变成有限测试,这是减少工作量和提高测试效率的最有效方法。效方法。效方法。效方法。n n在任何情况下都必须使用边界值分析方法。经验表明用这种方法在任何情况下都必须使用边界值分析方法。经验表明用这种方法在任何情况下都必须使用边界值分析方法。经验表明用这种方法在任何情况下都必须使用边界值分析方法。经验表明用这种方法设计出测试用例发现程序错误的能力最强。设计出测试用例发现程序错误的能力最强。设计出测试用例发现程序错误的能力最强。设计出测试用例发现程序错误的能力最强。n n对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果对照程序逻辑,检查已设

81、计出的测试用例的逻辑覆盖程度。如果对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。没有达到要求的覆盖标准,应当再补充足够的测试用例。没有达到要求的覆盖标准,应当再补充足够的测试用例。没有达到要求的覆盖标准,应当再补充足够的测试用例。n n对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程,对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程,对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程,对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。在案例中综合使用各种测试方法。在案例中综合使用各种测试方法。在案例中综合使用各种测试方法。测试用例的编写 测试用例的编写可以参考研究室规范和模板文档测试用例的编写可以参考研究室规范和模板文档测试用例的编写可以参考研究室规范和模板文档测试用例的编写可以参考研究室规范和模板文档n n软件测试大纲编写指南软件测试大纲编写指南软件测试大纲编写指南软件测试大纲编写指南n n软件测试大纲模板软件测试大纲模板软件测试大纲模板软件测试大纲模板谢谢 谢!谢!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号