日常设计测试用例的时候,有许多经典的测试理论。比如边界法、等价法,这些经常用到我们日常的工作中。当然也有许多的理论,比如正交分解法是使用起来非常费劲。往往转化为实际的容易理解的测试语言就非常困难。
  测试的时候,我们也会碰到难堪的场景,那就是测试遗漏。

  我们来分析下,开发的过程。开发拿到需求后,就会开发相应的代码,然后简单的测试下功能。代码之间有可能是互相调用的,代码可能影响到的模块,有些开发是知道的,有些是不知道的。如果是有关数据库的操作,一个地方的改动有可能影响了多个模块。所以问题的复杂性就体现在这里了。

  那么对于日常测试每个新功能,我们该怎么去构筑我们坚固的质量堡垒呢。

  根据开发过程的特点,总结了我们设计测试用例六把刀。

  一、功能

  关注页面单个功能点验证,充分考虑开发改动的每个点。这个是保证开发每个已知的修改点都能改对。

  二、关联

  重点考虑修改点对其他模块的影响,包括代码的影响和操作数据引起的影响。

  比如新增加的功能增加了数据库表的字段,必须关联的验证每个使用该表的该字段的模块是否正常工作。难点在于需要分析出已知和未知的影响模块,考虑的越多,往往遗漏的问题就越少。

  三、流程

  很多系统是有流程的,比如工作流系统。当修改了一个点的时候,我们必须考虑整个流程是否能够正常运转起来。

  四、升级

  我们大部分系统都是对已有的系统进行升级。对于升级前的数据,我们必须保证能够正常工作。升级之前,需要模拟好各种情况。同时,也需要对升级的数据库脚本进行充分的检查。

  五、安全

  比如菜单功能权限等。

  六、性能

  有的时候需要对性能进行考虑,比如升级脚本的执行效率,功能点的响应时间,事务交易的时间。

  这六把刀现在已经应用到了我们日常设计测试计划,测试用例工作中去了,成为了大家思考的一个入口点。后来大家发现有如下特点:

  1)实践证明,该方法非常灵活。

  在不同的颗粒度设计测试用例都可以作为我们思考的一个切入点。比如站在测试计划的角度,站在每个测试用例的角度都可以使用。

  2)平易近人

  道理非常简单,非常容易理解,可操作性非常高。不再是只能在课堂上讲,在实践中用不上的理论了。

  3)功能和关联使用频率最高

  实践证明这两个理论几乎可以用到每轮的测试中。同时为我们发现了不少的BUG。(以上言论仅代表作者的个人观点,不代表51Testing观点)

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

软件测试理论之测试用例设计六把刀相关推荐

  1. 软件测试基础:测试用例设计

    测试需求收集完毕后,开始测试设计.测试用例是什么?测试用例就是一个文档,描述输入.动作.或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作.设计测试用例需要考虑以下问题: 了解更多 ...

  2. 软件测试笔记,测试用例设计

    一.输入框 1.1.普遍输入框 一致性:验证输入与输出的信息是否一致 正确性:输入框之前的标题是否正确 按键限制:对Tab字符的处理机制 按键影响:按下ctrl和alt键对输入框的影响 约束状态:对于 ...

  3. 软件测试—软件测试基础知识—测试用例设计的方法之等价类和边界值

    (一)等价类划分 定义:依据需求将输入划分为若干等价类,从等价类中选定一个测试用例,如果该测试用例通过,则表明整个等价类通过测试. 使用场景:对于等价类这个方法,一般适用于有无限多种输入 ,我们不可能 ...

  4. allpairs使用方法_软件测试|正交试验测试用例设计方法

    正交试验设计法(Orthogonal Experimental Design)是从大量的试验点中挑选出适量的.有代表性的点,应用依据伽罗瓦理论导出的"正交表",合理地安排试验的一种 ...

  5. 四因素三水平正交试验表_软件测试|正交试验测试用例设计方法

    正交试验设计法(Orthogonal Experimental Design)是从大量的试验点中挑选出适量的.有代表性的点,应用依据伽罗瓦理论导出的"正交表",合理地安排试验的一种 ...

  6. 软件测试—软件测试基础知识—测试用例设计的方法判定表和因果图

    判定表 定义:分析和表述若干输入条件下,被测对象针对这些输入输出的响应的一种工具.在遇到复杂业务逻辑时可以利用该表理清逻辑关系. 重要概念 条件 条件桩:需求规格说明书定义的被测对象的所有输入(手机号 ...

  7. 软件测试—软件测试基础知识—测试用例设计的方法之场景法、正交试验法和错误推断法

    场景法 尽可能真实全部的模拟用户操作–订单,发货,商品状态变化 场景法主要基于: 1.业务(需求)层面 :对所测软件的重要功能.业务逻辑(系统要干什么,怎么去实现,这个过程).行业背景深入理解. 2. ...

  8. 软件测试基础知识-测试用例设计方法

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 黑盒测试: 1.等价类划分 等价类划分是将系统的输入 ...

  9. 软件测试肖sir__005测试用例设计方法(1)

    一.测试基本术语认识 动态测试(dynamic testing):通过运行软件的组 件或 系统来测试软件 静态测试(static testing):对组件的规格说明书 进行 评审,对静态代码进行走查 ...

最新文章

  1. 使用正则表达式构造定制的HTML5输入框
  2. python语音信号处理_现代语音信号处理笔记 (一)
  3. 超高性能管线式HTTP请求(实践·原理·实现)
  4. MySQL-主从架构的搭建
  5. python 用turtle库画围棋棋盘和正、余弦函数图形
  6. Codeforces 1149 题解
  7. 1034 有理数四则运算 (20 分)(c语言)(测试点三)
  8. 后缀数组(SA)备忘
  9. java如何打开整个package_Qulice - 如何在整个项目中禁用需要package-info.java的规则?...
  10. RateLimiter
  11. 狼性文化遭质疑,那我们当个佛系程序员可好?
  12. 一个IE动画图标的小例子
  13. 拓端tecdat|R语言互联网金融下的中国保险业数据分析
  14. Android基础入门教程——4.1.1 Activity初学乍练
  15. 浏览器全面禁止第三方Cookie
  16. 小学生计算机课记录表,小学信息技术听课记录
  17. 股票交易接口的开发工具?
  18. select函数是怎么用的
  19. Vs code添加自定义snippet
  20. Premiere Pro教程

热门文章

  1. jQuery原理系列-css选择器实现
  2. Mysql 字符串分隔
  3. Ignoring unused library classes...java.io.IOException: You have to specify '-keep' options for the s
  4. c++面试题之内存分配
  5. 在Fabric ChainCode中导入第三方包(以状态机为例)
  6. 《C语言编程初学者指南》一1.5 使用程序语句
  7. 深入了解volatile
  8. Swift--逃逸闭包与非逃逸闭包(Swift3.1)
  9. 获得span里面价值(在特殊情况下 )
  10. 记录一次OOM分析过程