资源描述:
《软件测试之软件测试概念详述完整版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件测试的目标软件测试是为了发现程序中的错误。软件测试的过程亦是程序运行的过程。程序运行需要数据,为测试设计的数据称测试用例。设计测试用例的原则自然是尽可能暴露错误。软件测试是一个找错过程。测试只能找出程序中的错误,而不能证明程序无错。第八章软件测试由安博测试空间技术中心http://www.btestingsky.com/提供2021/10/31测试阶段的信息流程2021/10/32测试阶段的信息流程输入流分软件配置和测试配置两项,软件配置由需求说明书、设计说明书和源代码组成;测试配置中包含测试计划、测试工具、测试用例和期
2、望结果,有时测试配置亦作为软件配置的一个组成部分。测试人员根据上述输入信息测试程序并评价测试结果,当测试结果与期望结果存在差异时,往往程序有错。此时可采用排错技术定位错误并改正之。通过对测试结果的收集和评价,软件质量和软件可靠性的一些定性指标即能逐步确定下来。2021/10/33测试用例和场景的设计任何工程化的产品都有两种测试方法:一种方法是已知产品应该具有的功能,通过测试检验每个功能是否都能正常使用;另一种方法是已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行。前者称为黑盒测试,后者称为白盒
3、测试。测试用例和测试场景将根据这两种测试方法的特性制定。2021/10/34黑盒测试黑盒测试完全不考虑程序的内部结构和处理过程。测试仅在程序界面上进行。设计测试用例旨在说明:①软件的功能是否可操作;②程序能否适当地接收输入数据并产生正确的输出结果或在可能的场景中事件驱动的效果是否尽如人意;③能否保持外部信息(如数据文件)的完整性。2021/10/35白盒测试白盒测试法密切关注处理细节,针对程序的每一条逻辑路径都要分别设计测试用例,检查分枝和循环的情况。穷举测试不可取,一般选用少量“最有效”,即最有可能暴露错误的路径进行测试。
4、测试的目的是为了找出错误,所以无论采用黑盒法还是白盒法,设计测试用例时总是期望用尽可能少的时间和代价发现尽可能多的错误。2021/10/36例:最多有1014个逻辑路径,假设每运行一个测试用例平均花费1毫秒,总共需3170年才能穷尽所有测试。2021/10/37软件测试的步骤软件工程的开发过程和测试过程应该是对应的。第一章图1.3采用V型图表示开发—测试的对应关系,也可以采用图14.3所示的螺旋型图表示。每旋转一圈,测试的范围加大一次:螺旋中心对应单元测试,它测试源程序的每一模块;下一步是综合测试,它测试软件总体结构;再下一
5、步是确认(验收)测试,测试软件是否满足需求;最后一步是系统测试,检查软件与系统中其他元素是否协调。2021/10/38软件测试技术本节主要讨论当用白盒或黑盒测试法测试软件时,如何设计测试用例才能达到测试的目的。此外,对自动测试工具也作一些简单介绍。2021/10/39白盒测试白盒测试应该根据程序的控制结构设计测试用例,原则是:①保证模块中每一独立的路径至少执行一次;②保证所有判断的每一分枝至少执行一次;③保证每一循环都在边界条件和一般条件下至少各执行一次;④验证所有内部数据结构的有效性。2021/10/3101.基本路径测试
6、基本路径测试的主要思想是,根据软件过程性描述(详细设计或代码)中的控制流程确定复杂性度量,然后用此度量定义基本路径集合,由此导出一组测试用例,它们能保证每个语句至少执行一次。为了使用图论的知识和术语,引入流图(亦称程序图)的概念,流图即把流程图中结构化构件改用一般有向图的表示形式。代表条件判断的结点称为谓词结点。2021/10/311结构化构件在流图中的表示2021/10/312例:流程图2021/10/313例:对应的流图2021/10/314条件处理若判断中含复合条件,则需增加谓词结点。如OR运算的处理。2021/10
7、/315基本路径测试的思想基本路径至少引入一个新语句或者新判断的程序执行通道测试用例的设计方法流程图==>流图==>基本路径==>测试用例2021/10/316Step1根据程序的逻辑结构画出流程图voidFunc(intnPosX,intnPosY){while(nPosX>0){intnSum=nPosX+nPosY;if(nSum>1){nPosX--;nPosY--;}else{if(nSum<-1)nPosX-=2;elsenPosX-=4;}}//endofwhile}2021/10/317Step1根据程序的逻
8、辑结构画出流程图2021/10/318Step2根据流程图画出流图2021/10/319Step3确定基本路径的集合基本路径流图的Cyclomatic复杂度正好是基本路径的数目V(G)=E–N+2V(G)=11-9+2=42021/10/320Step3确定基本路径的集合1-111-2,3