• 软件测试基础知识三(浅谈测试用例)


    一个人学习不如和大家一起学习,群里有学习资料,欢迎你加入软件测试交流群,群号: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班  及格
    这就是我们所得到的正交表。
  • 相关阅读:
    使用java的wsimport.exe生成wsdl的客户端代码【转】
    css 动画【转】
    如何让javascript base64加密后不含+/=
    UEditor js动态创建和textarea中渲染【原】
    在js或jquery中动态添加js脚本【转】
    利用spring的MultipartFile实现文件上传【原】
    hibernate状态转换关系图【原】
    ssh框架里拦截器的权限验证基本思路【转】
    JAVA中三种URL连接方法
    程序出错问题总结
  • 原文地址:https://www.cnblogs.com/si-dian/p/13574863.html
Copyright © 2020-2023  润新知