本节书摘来自异步社区《软件测试技术实战:设计、工具及管理》一书中的第2章,第2.7节测试用例不应该包含实际的数据,作者顾翔,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7 测试用例设计的若干错误观点
2.7.1 能发现到目前为止没有发现的缺陷的用例是好的用例
首先申明,这句话十分有道理,但很多人都曲解了这句话的原意,认为“能够发现难以发现缺陷的测试用例才是好的测试用例”,却忘记了软件测试的目的所在,这是十分可怕的。笔者倾向于将测试用例当作一个集合来认识,对它的评价也只能对测试用例的集合来进行。软件测试本身是一种“确认和验证”的活动。软件测试需要保证以下两点。

  • 程序做了它应该做的事情。
  • 程序没有做它不该做的事情。

因此,作为软件测试实施依据的测试用例,必须能完整覆盖软件测试的需求,而不应该针对单个测试用例去评判好坏。

2.7.2 测试用例应该详细记录所有的详细操作信息
讨论这个问题前,可以先考虑一下软件测试的目的。软件测试的目的之一是尽可能发现程序中存在的缺陷。软件测试活动本身也可以被看作是一个项目,也需要在给定的资源条件下尽可能达成目标。根据笔者个人的经验,大部分的国内软件公司在软件测试方面配备的资源都是不足够的,因此必须在软件测试计划阶段明确软件测试的目标,一切围绕软件测试的目标进行。

除了资源上的约束外,测试用例的详细程度也需要根据需要来确定。如果测试用例的执行者、测试用例设计者、测试活动相关人对系统了解都很深刻,那测试用例就没有必要写得太详细了,文档的作用本来就在于沟通,只要能达到沟通的目的,就可以了。

一般在软件测试计划中,软件测试设计的时间占30%~40%,软件测试设计工程师能够根据项目的需要自行确定用例的详细程度,在测试用例的评审阶段由参与评审的相关人对其把关。

2.7.3 测试用例设计出来后是不用维护的
想必没有一个人会认可这句话是正确的,但在实际情况中,却经常能发现这种想法的影子。笔者曾经参与过一个项目,软件需求和设计已经变更了多次,但测试用例却没有任何修改。导致的直接结果是新加入测试工程师在执行测试用例时不知所措,间接的后果是测试用例成了一堆废纸,开发工程师在多次被无效的缺陷报告打扰后,对软件测试工程师不屑一顾。

这个例子可能有些极端,但测试用例与需求和设计不同步的情况在实际开发过程中确是屡见不鲜的。测试用例文档是“活的”文档,这一点应该被软件测试工程师牢记。

2.7.4 测试用例不应该包含实际的数据
在很多软件测试工程师编写的测试用例中,“预期输出”仅描述为程序的可见行为。其实,“预期结果”的含义并不只是程序的可见行为。例如,对一个订货系统,输入订货数据,单击“确定”按钮后,系统提示“订货成功”,这样是不是一个完整的用例呢?是不是系统输出“订货成功”,就应该作为唯一的验证手段呢?显然不是。订货是否成功还需要查看相应的数据记录是否更新,因此,在这样一个用例中,还应该包含对软件测试结果的显式的验证手段:在数据库中执行查询语句进行查询,看查询结果是否与预期一致。

测试用例是“一组输入、执行条件、预期结果”,毫无疑问地应该包括清晰的输入数据和预期输出。没有测试数据的用例最多只具有指导性的意义,不具有可执行性。当然,测试用例中包含的输入数据会带来维护、与软件测试环境同步之类的问题,关于这一点,《Effective Software Test》书中提供了详细的测试用例、软件测试数据的维护方法,供读者参考。

《软件测试技术实战:设计、工具及管理》—第2章 2.7节测试用例不应该包含实际的数据...相关推荐

  1. 《软件测试技术实战:设计、工具及管理》目录—导读

    版权 软件测试技术实战:设计.工具及管理 • 著 顾 翔 组 编 51Testing软件测试网 责任编辑 张 涛 • 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 电子邮件 ...

  2. 《软件测试技术实战:设计、工具及管理》—第2章 2.2节运用决策表设计测试用例...

    本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第2章,第2.2节运用决策表设计测试用例,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  3. 《软件测试技术实战:设计、工具及管理》—第1章 1.1节软件测试的基本理论...

    本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第1章,第1.1节软件测试的基本理论,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公众号查看. ...

  4. 《软件测试技术实战:设计、工具及管理》—第1章 1.4节本章总结

    本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第1章,第1.4节本章总结,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.4 本 ...

  5. 《软件测试技术实战:设计、工具及管理》—第2章 2.6节软件白盒测试

    本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第2章,第2.6节软件白盒测试,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.6 ...

  6. 《软件测试技术实战:设计、工具及管理》—第2章 2.1节运用等价类/边界值设计测试用例...

    本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第2章,第2.1节运用等价类/边界值设计测试用例,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公 ...

  7. 《软件测试技术实战:设计、工具及管理》—第2章 2.5节运用正交法设计测试用例...

    本节书摘来自异步社区<软件测试技术实战:设计.工具及管理>一书中的第2章,第2.5节运用正交法设计测试用例,作者顾翔,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  8. 软件测试设计与开发,软件测试技术·测试设计与开发.ppt

    软件测试技术·测试设计与开发 * 3.4 评审测试用例 复查测试用例时应该考虑的一些问题: 测试或测试组件完全针对的是需求中列出的功能吗? 测试组件是否覆盖了所有需求? 有冗余的测试吗? 每一个测试步 ...

  9. 《软件测试技术大全:测试基础 流行工具 项目实战(第3版)》—第1章1.2节软件测试的发展...

    本节书摘来自异步社区<软件测试技术大全:测试基础 流行工具 项目实战(第3版)>一书中的第1章,第1.2节软件测试的发展,作者陈能技 , 黄志国,更多章节内容可以访问云栖社区"异 ...

最新文章

  1. elasticsearch 文档操作
  2. 【问题收录】ImportError No module named MySQLdb 问题解决
  3. 百度前端技术学院task13源代码
  4. 【Android 安装包优化】WebP 应用 ( 4.0 以下兼容 WebP | Android Studio 中使用 libwebp.so 库向下兼容版本 | libwebp 库测试可用性 )
  5. 精品思维导图,流程图模板分享
  6. 探索Android中的Parcel机制(上) .
  7. CentOS 5.9 yum安装LAMP(Apache+MySQL+PHP)
  8. 物联网——射频识别技术的应用
  9. IOS-objectiveC【语法】修饰符 static extern const
  10. python中keyword_python的keyword模块用法实例分析
  11. 请求转发(request对象)和重定向(response)的区别及何时使用请求转发和重定向
  12. 《统计学习导论》R语言代码整理
  13. 30分钟java桌球小游戏_Java桌球小游戏(兴趣制作)
  14. 06-手机登录token生成容联云短信验证用户认证和网关整合(网关做统一权限认证)
  15. 公司福利直接影响员工的身心健康
  16. 开源机器人控制软件OROCOS
  17. PTA乙级 1100 校庆——25分
  18. 虚拟服务器 补丁,两种方法为VMware ESXi打补丁
  19. 滴水逆向学习总结第一期
  20. C#超级通信调试工具

热门文章

  1. 编解码器的学习笔记(十):Ogg系列
  2. 怎样配置Tomcat环境变量
  3. Linux之rmdir命令
  4. 使用Calender类获取系统时间和时间和运算
  5. 把用户输入的文本转义(主要针对特殊符号和emoji表情)
  6. Hadoop 调研笔记
  7. Raid Level,该如何为Oracle存储选择才好?
  8. keepalived track script introduce
  9. 共享内存之——system V共享内存
  10. 解决VMware Workstation下面Windows Server 2012R2无法安装Hyper-V