-
4.软件测试用例设计
1.黑盒测试用例设计方法
- 等价类划分法是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的说明来设计测试用例;
- 等价类划分法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例;
- 使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步;
- 划分等价类:等价类是指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,测试某等价类的代表值就等价于这一类其他值的测试;
- 等价类的两种情况:有效等价类和无效等价类。
- 划分等价类原则如下:
- 按区间划分;
- 按数值划分;
- 按数值集合划分;
- 按限制条件或规则划分。
- 举例说明
从划分出的等价类中按以下原则选择测试用例
- 为每一个等价类规定一个惟一的编号;
- 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有的有效等价类都被覆盖为止;
- 设计一个新的测试用例,使其仅覆盖一个无效等价类,重复这一步骤,直到所有的无效等价类都被覆盖为止。
- 边界值分析法也是一种黑盒测试方法,是对等价类划分法的补充;
- 人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误;
- 举例说明
;
- 这里的边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况;
- 使用边界值分析法设计测试用例,首先确定边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
- 现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流。这种在软件涉及方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的场景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行;
- 场景说明
- 用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流;
- 如图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3),也可能起源于基本流或备选流,然后结束用例(如备选流4和2)
- 也可以靠经验和直觉推测程序中可能存在的错误,从而有针对性地编写检查这些错误的例子,这就是错误推测法;
- 错误推测法的基本思想是:列举出程序中所有可能的错误和容易发生错误的特殊情况,根据它们选择测试用例。
- 等价类划分法和边界值分析法,都是着重考虑输入条件,但未考虑输入条件之间的联系。如果在测试时必须考虑输入条件的各种组合,可能的组合数将是天文数字。因此必须考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图;
- 因果图法是一个非常有效的黑盒测试方法,它能够生成没有重复性的且发现错误能力强的测试用例,而且对输入、输出同时进行了校验;
- 举例说明:有一个表格的输入,在第一列必须是A或B,第二列必须是数字,在此情况下进行文件的修改,如果第一列字符不正确,则给出信息L,如果第二列不是数字,则给出信息M。
- 优点:正交试验设计(Orthogonal experimental design)是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验;
- 缺点:部分点可能在实际生产环境中极少用到,但测试过程中却花费了大量人力及时间去设计测试,而实际情况下,我们应该将更多的时间花费在用户可能大量使用的测试点中;
- 参考路径:https://www.cnblogs.com/Goongo/articles/9077477.html
- 首先进行等价类划分,包括输入条件和输出条件的等价类划分,将无线测试变为有限测试,这是减少工作量和提高测试效率最有效的方法;
- 在任何情况下都必须使用边界值分析方法。经验表明,用这种方法设计出来的测试用例发现程序错误的能力最强;
- 可以用错误推测法追加一些测试用例,这需要依靠测试工程师的智慧和经验;
- 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例;
- 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法;
- 对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果;
- 对于业务流清晰的系统,可以利用场景法贯穿这个测试案例过程,在案例中综合使用各种测试方法
-
相关阅读:
理解Java中字符流与字节流的区别
程序员常见面试问题(不定期更新)
软链接 硬链接
《大数据时代》读后的思考
mysql——int(size) 中的size表示什么意思
Access denied for user ''@'localhost' to
Effective c++——条款03:尽可能使用const
http——wireshark抓包分析
vim——vim配置步骤
正则表达式和通配符
-
原文地址:https://www.cnblogs.com/Goongo/p/9073503.html
Copyright © 2020-2023
润新知