zoukankan      html  css  js  c++  java
  • 软件测试基础知识三(浅谈测试用例)

    一个人学习不如和大家一起学习,群里有学习资料,欢迎你加入软件测试交流群,群号:1062843742。

    什么是测试用例

    测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

    通俗的讲:就是把我们测试系统的操作步骤用按照一定的格式用文字描述出来

    测试用例的必要性

    • 理清思路,避免遗漏(把测试项目按功能细分,根据每个功能来编写测试用例,避免漏掉功能点)
    • 引导测试,测试规范(测试工作不是只测试一次的,用例可以让我们每次都是都有一个规范)
    • 跟踪进展(通过执行用例可以很清楚的指导测试的进度)

    用例评审的必要性

    • 保证设计的用例能覆盖完全
    • 保证测试人员与开发人员的一致性
    • 确保提交给客户高质量的成功
    • 评估工作量

    用例的要素

      八大要素:用例ID、用例名称、测试项目/模块、优先级别、预制条件、测试输入、操作步骤、预期结果

      其他:测试结果、作者、创建时间、修改时间

    设计测试用例的方法

     等价类

    等价类划分,就是将测试的范围划分成几个互不相交的子集,从每个子集选出若干个有代表性的值作为测试用例。

    例如,我们需要参数一个用户名是否合法,用户名定义为:8位数字组成的字符

    我们可以先划分子集:空用户名1-7位数字8位数字9位及以上数字非数字

    然后从每个子集中选出若干个又代表性的值:

    空用户名:""(无效等价类)

    1-7位数字:"12345"(无效等价类)

    9位及以上数字:"000000000"(无效等价类)

    非数字:"!@#¥"(无效等价类)

    8位数字:"12312312"(有效等价类)

    其实非数字还可以划分的更细比如字母、字符串。那么怎么划分才合适呢,我们可以根据我们的时间和资源来决定,还有对结果产生的意义。

    边界值

    边界是很容易出错的地方,所以设置边界值的用例是必要的。

    设计边界值的用例,若区间是min-max应选取:min- min 中位数 max max+

    例如:x为整数,10 <= x >= 20,那么x的边界值为 9、10、15、20、21

    错误推断法

    错误推断法是指:在测试程序时,人们根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地比编写检查这些错误的测试用例方法。

    判定表法

    • 又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会的到一个判断清晰的策略表
    • 基本概念
      • 条件桩:输入条件
      • 动作桩:结果
      • 条件项:输入条件取值的全部组合
      • 动作项:条件项对应的所有的结果
      • 规  则:一组条件与动作的组合,一条规则对应一条测试用例

    实例

    问题描述:“对于功率大于50马力的机器并且维修记录不全,或已运行10年以上的机器,应给予优先的维修处理”

    条件桩:

    C1:功率大于50马力

    C2:维修记录不全

    C3:运行超过10年

    动作桩:

    A1:优先处理

    A2:非优先处理

    生成判定表

    合并判定表:

    从编号1、2可以看出功率大于50马力并且维修记录不全的机器不管是否超过10年都设为优先

    从编号5、7可以看出只要超过10年的机器设置为优先

    从编号6、8可以看出只满足功率大于50或者维修记录不全,设为非优先处理

    和并之后的表如下

    这样,我们就可以得到更清晰的逻辑判断,也可以更好的协助我们编写测试用例。而决策表,对于开发人员来说一样有用。

    正交实验法

    目的

    是以少数的替代全面的用例(也就是以较少的用例覆盖尽可能多的可能性)

    例子

    某所大学通信系共两个班级,刚考完一门课程,想通过“班级”、“性别”、“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询。

    如果进行穷举来编写测试用例,组合个数是2*2*2 = 8。如下表

    当组合条件少的时候,穷举暂时没有问题,但是一旦多了就要用到正交表了,通过有代表性的测试实例,达到以少数代替全面的效果。

    正交表的基本概念

    因素K:被测的元素称为因素,例如上面的性别、班级、成绩均为因素。所以上述例子中K=3

    水平M:因素的可能值称为水平,例如上面性别的可能性男和女此处正好每个因素的水平都为2,所以M=2

    正交表行数N:N的计算公式为N = K*(M-1)+1,带入上面的KM, N = 3 *(2-1)+1 = 4

    我们通常用L表示正交表,完成的表示为LN(MK)

    如果每个因素的水平相等我们成为单一水平正交表,例如本例子就是,L4(23)

    各列水平数不完全相同的正交表成为混合水平正交表。如L8(4124)表示:有一个因素的水平为4,有4个因素的水平为2

    有个这个表达式,我们可以在http://support.sas.com/techsup/technote/ts723_Designs.txt查到,其正交表的格式为:

    23     n=4
    000
    011
    101
    110
    此处0,1是对可能值的编号,例如,我们可以将(0,1)分别映射为(女,男)(1班,2班)(及格,不及格)
      按照上面的格式,
      000:女  1班  及格
      011:女  2班  不及格
      101:男  1班  不及格
      110:男  2班  及格
    这就是我们所得到的正交表。
  • 相关阅读:
    优化SQL查询:如何写出高性能SQL语句
    提高SQL执行效率的16种方法
    Spring Ioc DI 原理
    java内存泄漏
    转:js闭包
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Best Time to Buy and Sell Stock with Cooldown
    LeetCode Length of Longest Fibonacci Subsequence
    LeetCode Divisor Game
    LeetCode Sum of Even Numbers After Queries
  • 原文地址:https://www.cnblogs.com/humiao-0626/p/13574863.html
Copyright © 2011-2022 走看看