测试基础-单体测试.ppt
软件测试,培训目的,软件测试是什么?软件测试怎么做?,举例,这个下拉菜单的打印功能如何测试,需要注意什么,什么是软件测试,软件测试是以发现软件的缺陷为目的,使软件运行,并将软件不运行所产生的危险性降低到允许的范围,什么是缺陷,判断缺陷的规则,1.软件未达到产品说明书标明的功能,2.软件出现了产品说明书指明不会出现的错误,3.软件功能超出产品说明书指明范围,额外的创造是不需要的,4.软件未达到产品说明书虽未指出但应达到的目标,5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,6.最终用户认为不好,软件测试的几个基本概念,单体测试:是指对单个模块或者是一个函数等更小单位的测试,测试阶段划分,集成测试:是指都多个模块组合起来后进行的测试,系统测试:是指整个系统的所有模块都结合起来以后进行的测试,回归测试:是指修复或调整好软件环境之后进行测试,差分测试:是指只对整个系统中新变更功能的相关部分的测试,测试方法划分,手动测试:是指测试人员,根据功能规格说明书、编写的测试大纲或者其他测试文档,直接运行程序而完成的测试,自动化测试:是指测试人员,使用自动测试工具,让程序自动运行而进行的测试,软件产品周期简介,根据需求文档进行分析制定测试策略和测试计划,分别根据需求分析、概要设计和详细设计的输出进行测试设计,使用测试设计文档,进行各个阶段的测试执行,当软件产品周期,需求文档变化时,将重新进行前三个工作,产品Release之后进行测试工作的总结,测试设计,根据测试阶段的不同,测试设计包括以下几种,系统测试的测试设计,集成测试的测试设计,性能测试的测试设计,单体测试的测试设计,单体测试_黑盒测试设计,等价类划分,等价类划分是指分步骤地把过多的测试用例减少到同样有效的小范围的过程,等价类是指测试相同目标或者暴露相同软件缺陷的一组测试用例,单体测试_黑盒测试设计,等价类划分的步骤,无效等价类和有效等价类的确定,以最少的测试设计覆盖最多的有效等价类,直到完成覆盖为止,选择一个测试设计去包含一个无效等价类,直到测试设计包含所有的无效等价类为止,单体测试_黑盒测试设计,等价划分的方法,输入条件代表一个范围或者需要一个特定的值,则可以定义一个有效等价类和两个无效等价类,输入条件代表集合的某个元素或者是该输入条件是布尔式的,则可以定义一个有效等价类和一个无效等价类,如果确认已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划小,默认值、空白、空值或者无输入等条件要作为特殊的等价类,单体测试_黑盒测试设计,边界值分析,边界值分析是指软件计划的操作界限所在的边缘条件,边界值的数据类型:包括数值、速度、字符、地址、位置、尺寸、数量等,边界特征:第一个/最后一个、最小值/最大值、开始/完成、超过/在内、空/满、最短/最长、最慢/最快、最早/最迟、最大/最小、最高/最低、和相邻/最远等特征,单体测试_黑盒测试设计,边界值分析的方法,输入条件代表以和为边界的范围时,测试用例应当包含、以及略大于和略小于的值,输入条件代表一组值,测试用例应当执行其中的最大值和最小值,还应当执行略大于最小值和略小于最大值的值,如果程序数据结构有预定义的边界(比如要求数组有100项),要测试其边界的数据项,对于前两个方法,也要考虑输出条件,测试用例应当包括能够产生最大和最小的输出值的数据,单体测试_黑盒测试设计,边界值分析的注意事项,在软件的每一个部分不断寻找边界时极为重要的,更多的边界将会被发现,从而找出更多的软件缺陷,软件内部存在的边界是不能忽略的(2进制、ASCII、Unicode等),测试设计用例分析_黑盒测试,功能说明:通过输入a、b、c的值来判断是否为等腰三角形,要求a、b、c为正整数且取值范围为(0,9999请建立测试用例进行测试,等腰三角形,不等腰的三角形,不是三角形,输入的不是正整数,输入不足3个,有效无效判断,等腰三角形,不等腰的三角形,不是三角形,输入越界,边界值判断,交换原则,单体测试的测试设计,白盒测试的测试设计方法,命令覆盖,分支覆盖,路径覆盖,条件覆盖,要求程序中每一可执行语句至少执行一次,要求程序中每个判定的True分支和False分支至少执行一次,要求使程序的每个条件语句的True和False取值至少满足一次,要求设计足够的测试用例,要求覆盖程序中所有的路径,测试设计用例分析_白盒测试1,命令覆盖测试用例(A,B,X)=(2,0,3),分支覆盖测试用例(A,B,X)=(2,0,3)、(A,B,X)=(1,0,1),条件覆盖测试用例(A,B,X)=(2,0,3)、(A,B,X)=(1,0,1)(A,B,X)=(2,1,1),路径覆盖测试用例(A,B,X)=(2,0,3)、(A,B,X)=(1,0,1)(A,B,X)=(2,1,1)、(A,B,X)=(3,0,3),单体测试的测试设计,基本路径测试,把流程图改成流图,建立独立路径,建立独立路径集合,组成路径覆盖测试所采用的测试用例集,独立路径是指程序中至少引进一个新的处理语句集合或者一个新条件的任一路径。即独立路径必须至少包含一条在定义该路径之前不曾用到的新边,测试设计用例分析_白盒测试2,从流程图改成流图=,测试执行,根据测试阶段的不同,测试执行分成,单体测试的测试执行,单集成测试的测试执行,集成测试和系统测试的测试执行,性能测试的测试执行,单体测试的测试执行,根据白盒测试设计和黑盒测试设计得到测试用例,编写对待测代码进行输入和得到输出程序,或者找到能对待测代码进行输入和得到输出的调试方法,使用测试用例逐一输入,收集输出结果,检查输出结果是否正确,代码检查是单体测试必须的步骤,单集成测试的测试执行-1,自顶向下法,单集成测试的测试执行-2,自底向上法,例题,Myers问题:读入三个整数值。这三个数值表示了一个三角形三条边的长度。程序将输出一条信息,说明该三角形是不等边三角形,等腰三角形,还是等边三角形。(并不要求写出程序)写出你认为能充分地测试这个问题的测试实例(即特定的数据集)。(格式可写成:测试实例说明 测试实例值期望输出)。备注:假设该系统整数的取值范围是-6553665535,例题答案1,例题答案2,The end,