编写测试用例是在实际测试执行开始之前进行的软件测试活动的重要组成部分。因此,在编写测试用例时必须头脑清晰地理解需求。测试执行阶段的顺利程度主要取决于测试用例的编写质量,还取决于对需求的理解程度。理论上来讲应避免在测试用例中放入不必要或不需要的细节,但放入必需和重要的细节反而又会起着重要的作用。

具有所需详细细节的测试用例优点:

良好的测试用例可以减少对测试人员的依赖

想象一下这样的情况,编写测试用例的人在完整的测试执行阶段或部分测试执行阶段都不可用。在这种情况下,如果测试用例本质上是独立的,并且包含成功完成测试执行所需的所有相关测试详细信息,那么很容易让其他测试人员参与执行活动。另外,当其他团队成员直接参与执行阶段时,可以帮助您编写良好的测试用例,从而减少对主测试人员的依赖。

查看编写良好的测试用例要容易得多

在理想的测试环境中,所有测试用例都必须由利益相关者进行评审,以防止最终出现测试用例遗漏的情况。如果用简单的语言编写测试用例而不跳过任何步骤,那么它们将易于理解并提供反馈。

详细的测试用例有助于开发重现缺陷

如果一个测试用例执行失败并引发缺陷,则将编写良好的测试用例与缺陷ID链接也可以帮助开发人员重现缺陷并了解问题所在。这将缩短解决BUG的时间,从而加快总体测试速度。

良好的测试用例可以作为培训资源

如果没有足够的培训材料来培训新的团队成员,并使他们更快地入职,那么具有适当详细信息的测试用例将有助于新测试人员轻松浏览应用程序并获得所需的资料。这再次减轻了高级测试人员的负担,可以培训新成员接受有关正在测试的应用程序的次要主题的培训。

良好的测试用例中应包括的相关细节

精确的测试用例名称–测试用例名称不应太长,但应简要定义和说明测试用例的用途

测试ID –应该为测试用例分配唯一的测试ID

先决条件–如果在开始执行测试用例之前需要满足任何先决条件,则应提及

测试步骤–应编写清晰明了的测试步骤,因为这些步骤类似于测试人员需要遵循的命令。对于需要做什么,应该清楚地遵循。

测试数据–如果有任何特定的测试数据应作为应用程序的输入提供。它可能用于边界值分析,也可能用于测试某些计算是否由应用程序正确完成。

预期结果–完成测试步骤并提供所需的测试数据后,应清楚说明应用程序的期望值或应用程序应如何响应。

实际结果–实际结果是执行测试步骤时观察到的行为。应该对此进行记录并与预期结果进行比较。

最终结果–根据实际结果是否与预期结果相符,应将测试步骤标记为通过/失败

缺陷ID –如果测试步骤失败,则应针对该缺陷提出缺陷,并在测试步骤中注明缺陷ID。这对跟踪缺陷很有帮助。

注释–如果在特定测试步骤中有任何后续项目可用,则可以输入注释

需求ID –在适用的情况下,应在测试步骤/案例中放置需求ID,这也有助于确保测试案例涵盖了所有需求。

更有利于自动化

如果需要将应用程序的某些或大部分部分自动化,则带有详细细节的测试用例将非常有用。自动化团队通常在组织中的不同测试团队之间共享。因此,与手动系统测试员不同,自动化测试员对被测试的应用程序没有深入的了解。因此,需要对它们进行指导,或者必须将足够的详细信息传递给它们,以便他们能够成功创建自动化脚本。编写良好的测试用例有助于指导自动化测试人员,并节省大量时间和沟通成本。

测试用例可作为证据:

测试用例不仅在测试执行阶段被编写为指导,而且具有长期服务的目的。最重要的目的之一是充当测试人员进行的测试的证据。如果在生产环境或更高的测试环境中遇到过缺陷,它还有助于追溯缺陷。测试人员还可以通过找出导致产品缺陷的真正原因。

虽然写下具有适当数量的详细信息的测试用例具有许多长期利益,但是在某些情况下,在测试用例中放置过多的详细信息可能会产生不利影响,例如:

时间紧迫的情况

在实际测试时,并非所有情况都是理想的。因此,可能存在这样的情况,即测试人员没有足够的时间来记录粒度的测试用例。可能是因为时间紧迫。在这种情况下,一旦理解了需求,测试人员就必须立即执行。因为只有在执行过程中才会发现缺陷。

临时或一次性测试

如果必须以最少的预算进行一次性测试或临时测试,则主要重点应放在测试执行上。

重要的是不要失去对不必要细节的关注

具有不必要细节的测试用例往往失去对测试用例主要目标的关注。无论在测试用例中输入的详细信息如何,都应始终与测试用例的主要目标相关联。

总结

编写测试用例的行为应该是一个平衡的活动,并且应该牢记重要点,例如可以写下测试用例的时间,需要重用测试用例,利益相关者的期望以及其他可用文档与项目等。

郑重声明:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。

技术类文章精选

非技术文章精选

对linux的mv命令设计测试用例,测试用例中的细节 - 八音弦的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. linux 变量引用 和 变量的自动类型转换 c++,c++类型转换 - memristor的个人空间 - OSCHINA - 中文开源技术交流社区...

    C风格的强制类型转换(Type Cast) 不管什么类型的转换统统是:TYPE b = (TYPE)a. 缺点: 可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非const ...

  2. linux文字命令窗口怎样截图,命令行中截图的小工具 - Linux就该这么学的个人空间 - OSCHINA - 中文开源技术交流社区...

    Linux 桌面上有许多用于截屏的优秀工具,比如 Ksnapshot[1] 和 Shutter[2] .甚至 GNOME 桌面自带的简易截屏工具也能够很好的工作.但是,如果你很少截屏,或者你使用的 L ...

  3. linux ps ax tl,Linux常用指令 - osc_wa6fkyf0的个人空间 - OSCHINA - 中文开源技术交流社区...

    空格键    :向下翻动一页: [pagedown]:向下翻动一页: [pageup]  :向上翻动一页: /字符串     :向下搜寻[字符串]的功能: ?字符串     :向上搜寻[字符串]的功能 ...

  4. linux的vim中乘号,vim 技巧 - fly_lixiaolong的个人页面 - OSCHINA - 中文开源技术交流社区...

    一.VIM设置代码折叠 ××××××××××××××××× 今天看了一下别人写的程序的源代码,发现是用vim写的,代码中有趣是用vim来折叠代码,一开始我以为是用插件的,后来 上网查了查,得出以下使用 ...

  5. c语言n个测试用例0为结束,编写测试用例 - osc_4l0h8in9的个人空间 - OSCHINA - 中文开源技术交流社区...

    软件测试用例: 软件测试用例就是指导你执行测试,帮助你证明软件功能或发现软件缺陷的一种说明. 可以总结为:每一个测试点的数据设计的步骤设计. 微信红包用例? 用例编号:HB_001 功能模块:发送红包 ...

  6. rpm包备份命令linux,RPM常用命令介绍 - Linux就该这么学的个人空间 - OSCHINA - 中文开源技术交流社区...

    rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM ...

  7. linux 命令 dsm,群晖常用指令 - osc_sa9nsts3的个人空间 - OSCHINA - 中文开源技术交流社区...

    输入uname –a 回车,用 uname 命令能够看到 NAS 的 CPU 架构.指令集等内容如下: Linux DSM 3.10.105 #23739 SMP Fri Jun 8 12:51:05 ...

  8. linux之rz -r,Linux命令rz - osc_u4dvv5qa的个人空间 - OSCHINA - 中文开源技术交流社区

    rz :上传文件: sz: 下载文件: 在linux 系统中,使用rz(或 sz) 命令是,提示 -bash: rz(或者是sz): command not found . 这个时候,说明没有安装 l ...

  9. linux++命令+q,linux 命令 - osc_panqs2jh的个人空间 - OSCHINA - 中文开源技术交流社区...

    vi  /opt/xxx... 打开文件, insert 进入编辑模式 先 esc 然后:wq 保存退出. 按i键,进入编辑模式 按esc键,进入命令模式 :w 保存文件但不退出vi :w file ...

最新文章

  1. c语言注释部分只能位于,福建省计算机等级考试二级C语言选择题复习资料
  2. 均值滤波java_均值滤波,中值滤波,最大最小值滤波
  3. POJ3045 Cow Acrobats —— 思维证明
  4. 不同DPI下窗体的自适应的有关注意点(转)
  5. 论文浅尝 | GraphSAINT—基于图采样的归纳学习方法
  6. 下拉样式_Axure 组件重写之神奇的文本框和下拉框
  7. 小白学VUE——实现抖音时钟(CDN方式)
  8. 构建CF卡Linux系统的几个常见难题
  9. weblogic新建一个managed server并启动
  10. arch模型 python_【时间序列】波动率建模之ARCH模型
  11. 回顾过去,才能展望未来
  12. 一、注册功能怎么测试
  13. 2021-06-29 Netkeeper共享网络的思路,适用其他拨号软件
  14. 有趣的灵魂万里挑一:从智能座舱看汽车进化史
  15. matplotlib绘图归纳(双纵轴、柱状渐变、堆叠柱状)
  16. 实车、台架功能测试介绍
  17. 微积分入门(SXT版)
  18. 褚时健:我老褚不是个坏人
  19. Echarts实战案例代码(5):liquidFill水球组件利用svg path定制你自己的个性化图标动态图
  20. MIUI10刷入Magisk模块——记小白的第一次刷机

热门文章

  1. JavaFX 2 GameTutorial第3部分
  2. 测试抽象类和模板方法模式
  3. 我今天对JavaFX的了解
  4. OpenJDK作为Linux上的默认Java
  5. 为什么Java在后来的版本中,给接口增加了默认方法、静态方法、私有方法?
  6. 日期格式化为yyyymmdd_Excel小技巧——如何将多行日期快速转换为数字文本
  7. 大型程序是如何开发的_大型小程序如何研发提效
  8. 计算机接口控制采集时序图,自动站实时数据质量控制
  9. html页面加载完成后会触发的事件_前端隐秘角落 - 页面渲染
  10. php怎么把时间戳转成日期格式,php怎么把时间格式转换为时间戳?,时间戳转为日期...