《测试设计理论.ppt》由会员分享,可在线阅读,更多相关《测试设计理论.ppt(37页珍藏版)》请在三一办公上搜索。
1、,测试设计的方法,软件测试设计方法,测试用例分类测试用例设计方法如何设计优秀的测试用例测试设计实践,测试用例,测试用例分类数据类合法类非法类边界值操作类正常类异常类关联,测试用例,测试用例分类表单类输入较验列表选择条件组合类根据系统特点及程序实现方式判断是否需要遍历所有组合业务流程类跟踪测试数据的整个流程遍历所有可能,测试用例设计方法,等价类划分法边界值分析法错误推测法因果图法流程图法,测试设计-等价类划分,定义:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数
2、据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合无效等价类对程序的规格说明是不合理的或无意义的输入数据所构成的集合,测试设计-等价类划分,划分等价类标准:完备测试、避免冗余;划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并集是整个集合;并集是整个集合:完备性;子集互不相交:保证一种形式的无冗余性;同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到“相同的执行路径”。,测试设计-等价类划分,划分等价类的方法:在输入条件规定了取值范围或值的个数的情况下,则可以确
3、立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0100;在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类;在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。,测试设计-等价类
4、划分,实战:三角形测试用例设计三角形:输入三个整数 a、b、c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。,测试设计-边界值分析,定义:对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充。长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。输入和输出等价类的边界,就是应着重测试的边界情况,应当选取正好等于,刚刚大于或刚刚小于边界
5、的值作为测试数据。,测试设计-边界值分析,边界值分析的原则:如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据;如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据;将上述两个规则应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值;如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例;如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例;分析需求说明书,找出其它可能的边界条件。,测试设计-边界值分析,常见的
6、边界值:对16-bit 的整数而言 32767 和-32768 是边界;屏幕上光标在最左上、最右下位置;报表的第一行和最后一行;数组元素的第一个和最后一个;循环的第 0 次、第 1 次和倒数第 2 次、最后一次。软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。,测试设计-边界值分析,实战:三角形测试用例设计在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1mouth12和1day31,并设定变量year的取值范围为1912year2050。用边界值分析方法为该程序进行测试用例设计。,测试设计-错误推测法,定义:基于经验和直觉
7、来推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。,测试设计-错误推测法,实战:测试一个对线性表(比如数组)进行排序的程序输入的线性表为空表;表中只含有一个元素;输入表中所有元素已排好序;输入表已按逆序排好;输入表中部分或全部元素相同,测试设计-因果图法,定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系,多个输入条件组合起来可能出错的
8、情况却被忽视了。能够帮助测试人员按照一定的步骤,高效率的开发测试用例。因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。,测试设计-因果图法,因果图法的方法:分析程序规格说明书描述的语义内容,找出“原因”和“结果”,将其表示成连接各个原因与各个结果的“因果图”;由于语法或环境限制,有些原因与原因之间或与结果之间的组合情况不能出现,用记号标明约束或限制条件;将因果图转换成决策表根据决策表中每一列设计测试用例,实战:QQ登录界面的测试用例1.画出因果图,如右图示,测试设计-因果图法,测试设计-因果图法,2.从因果图导出判定表,测试设计-因果
9、图法,3.从从判定表导出测试用例,测试设计-流程图法,定义:算法流程图是针对程序内部结构的,而黑盒测试的流程图是针对整个系统业务功能流程的。凡是涉及到业务流程的地方,都可以应用这种方法,甚至安装过程也可以应用,测试设计-流程图法,测试设计-流程图法,流程图法测试步骤:详细了解需求根据需求说明或界面原型,找出业务流程的各个页面以及各页面之间的流转关系画出业务流图写用例,覆盖所有的路径分支,测试设计-流程图法,实战:ATM机存款取款,测试设计-流程图法,ATM机存取款场景分析,测试用例设计步骤,构造根据需求规约设计出的基本功能测试用例;边界值测试用例;状态转换测试用例;错误猜测测试用例;异常测试用
10、例性能测试用例;压力测试用例。,测试设计方法的应用,按照测试思想和测试设计方法进行测试用例设计依据系统功能进行测试大纲的设计,保证测试的覆盖范围引入用户场景的描述,保证测试覆盖的重心不偏离进行系统的业务流程分析和数据流向分析,保证测试数据的全面性依据被测试部分的复杂度和关键度以及质量的要求,选择不同的测试设计方法针对用户的业务特征、角色权限和数据特征,进行流程测试设计,保证测试与实际应用的一致性按照用户需求,功能的复杂度、重要度和测试执行的要求,对测试用例进行优先级、适用阶段的分类,保证测试设计可以更好地指导测试执行执行测试用例评审活动,保证测试设计的准确性,测试方法的选择,通常,在确定测试方
11、法时,应遵循以下原则:根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和测试重点。认真选择测试策略,以便尽可能少使用测试用例,发现尽可能多的程序错误。在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的能力最强。必要时采用等价类划分法补充测试用例。采用错误推测法再追加测试用例。对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。通过流程图法来尽可能覆盖需求涉及的业务流程。如果程序的功能说明中含有输入条件的组合情况,应一开始就选用因果图法。,测试用例设计技巧,知识和积累充分理解系统和相关知识借鉴相似系统的经验历史信息的积累设计方法总结用例库,在测试用例中引入系统和功
12、能模块的场景描述,在具体测试用例设计前,有效地加强了对用户业务的理解,并使得测试用例评审具有较好的效果,业务/系统结合,操作/业务结合,评审发现,系统不支持同一用户在多个部门下,测试设计实践(1),在测试设计过程中,引入业务流程图和数据流程图的设计工作,有效地保证了系统关联性部分的测试设计,以及流程测试设计的准确性和完整性,测试设计实践(2),测试用例具有优先级和适用阶段等标识划分,保证在测试执行阶段,可以根据不同的情况和策略,灵活的对用例进行筛选,测试设计实践(3),积累了大量的测试用例,并分析整理了适用于不同方向的通用测试用例库,有效地提高了测试设计效率,降低了测试用例设计的繁琐度,有效地避免了测试用例设计的遗漏,测试设计实践(4),从测试用例中细分出流程测试用例,有效的保证了复杂业务和复杂数据测试的充分性,测试设计实践(5),对于计算复杂、精确性要求高的项目,制作精密、有效的测试数据,是保证复杂业务和复杂算法计算的准确性的关键,测试设计实践(6),测试设计实践(7),课程回顾+练习,等价类边界值流程图法因果图法错误推测测试设计步骤测试方法选择,