目录

前言

1、测试用例简明扼要

2、可复用的组件构建测试

3、测试用例应该独立

4、测试应有目的

5、不要忘记用户

​编辑


前言

想要进行测试自动化的团队都会遇到这个问题:自动化的成功和编码能力有多大的关联?现在更多的招聘信息越来越偏重于对测试人员的编程能力的要求,似乎这个问题的答案是极大的正关联性。

测试人员可以将编码能力用于与测试相关的各种目的。例如,如果测试人员希望更多地参与代码审查,那么知道如何以测试人员的身份阅读代码将非常有帮助。在许多情况下,知道如何在源码级别上阅读(甚至编写)代码可以帮助测试人员测试自动化有更全面的了解。但是,我们相信还有其他一些技能很重要,甚至对于您的测试自动化工作真正蓬勃发展至关重要。

有效设计测试的重要性

我们相信,有效的测试自动化的主要关键在于测试设计。正确地设计测试,不仅可以为发现软件中的漏洞做好最充分的准备,而且还可以帮助扩展自动化测试的范围。无论使用哪种工具和框架满足自动化需求,良好的测试设计最终都会对将来的测试性能产生正向影响。

考虑到这一点,在有效设计测试时,可以考虑以下一些最佳实践:

1、测试用例简明扼要

在考虑如何设计测试时,请确保它们遵守KISS原则:保持简单。无论是刚开始进行更基本的测试还是进入更复杂的场景,在整个测试自动化过程中保持简单的测试,对于最终的结果都有非常大的帮助。这不仅使测试更加容易,而且还可以帮助团队将来将测试更多地集成到公司的DevOps生命周期中。

无论要测试什么,我都建议将自动化测试保持在5到15个语句之间,以使它们变得简单易懂。这些测试中的每个组件也应明确说明其功能。当多个团队看到并提供有关这些测试的反馈时,这一点尤其重要。作为基准,请与另一个对测试不太熟悉的团队的人共享测试用例。如果该人可以理解测试用例要完成的任务以及为达到该目标而要采取的步骤,那么就可以放心,测试组件是清晰的。

2、可复用的组件构建测试

使测试保持简单的一种好方法是在构建它们时重用相同的组件。无需每次要设计新的测试方案时都重新创建轮子。一旦构建了最初的几个简单的测试,就应将这些组件用于将来的场景。

考虑以下示例:设计了一个检查登录过程的测试。在要求某人登录其帐户的所有其他测试方案中,例如帐户创建测试,修改帐户测试或其他复杂的方案,都可以在所有这些测试选项中将此步骤作为步骤重用。

出于多种原因,重用组件是非常有好处的。首先,它可以确保在测试不同功能时测试通过相同的元素。通过扩展某人可以与应用程序交互的不同方式,这可以更紧密地模仿真实的用户。其次,它对测试维护有很大帮助。特别是在,如果多次创建测试用例以测试同一功能,则平台将自动合并两个元素。此外,某一个元素所做的更改将自动应用于使用该元素的其他测试,这可以帮助您大大减少总体维护时间。

3、测试用例应该独立

设计测试时要考虑的另一个重要点是,它们应该独立于环境中的其他测试。然后可以在不依赖外部因素的情况下隔离执行测试。使测试保持独立还可以防止不必要的测试中断。如果功能B在测试中的应用程序中发生更改,则无需更新功能A的测试以确保其继续运行。

即使重用组件,测试也应该是独立的。例如,如果您要测试最终用户修改其帐户的方案,则该测试应包括上述作为测试步骤的登录和帐户创建方案。由于修改帐户首先需要创建一个帐户,因此创建帐户需要成为测试的一部分。

为了确保所有测试都是独立的,请检查一下测试用例是否包含以下三个组件:前置、操作和验证。每个测试都应前置到应用程序的必要部分,在执行该操作之后再执行某种操作,然后验证任务是否已完成或未完成的原因。从长远来看,牢记这三个组成部分将使测试更持久。

4、测试应有目的

要记住的另一个重要的最佳实践是,设计的每个测试应始终具有明确的目的。尽管这看起来似乎很明显,但是随着时间的流逝,或者当多个测试人员或团队参与构建测试时,测试的目的常常会变得模糊。在设计过程开始时定义目的,并将其确定为整个设计的明确目标,将确保测试用例继续保持相关性和有用性。

为了防止测试偏离正常轨道,最好在测试创建时把自己想象成为下次不会再测试应用程序的人。这种心态会在未来几天甚至在几个月后不知所措的情况下,甚至连自己都不知道的时候发挥巨大的作用。这将明确测试的目的,并巩固其在其余环境中的作用。

5、不要忘记用户

最后但并非最不重要的一点是,最终用户在设计测试时应始终排在第一位。尤其是作为业务测试人员,对应用程序的使用情况最了解的人。了解用户或潜在用户与应用程序交互的不同方式,以及他们的需求和痛点。在进行有效的测试自动化时,考虑客户的需求来设计测试最终将引导测试工作朝正确的方向发展。

在降低风险时,牢记最终用户也将有所帮助。在设计测试时,重点关注用户使用该功能的不同场景。最终用户可以打破测试的某些方式可能是显而易见的,而其他方式可能是由于最终用户永远不会看到但会引起问题的技术因素所致。提前知道这些将确保同时选择正确的测试来设计和巧妙地设计它们。

好的测试设计可以带来更好的测试自动化

       

一切测试的基础——测试用例设计相关推荐

  1. 测试需求分析与测试用例设计

    一. 界面中的控件知识 1. 文本框和密码框 文本框 长度要求: 输入内容限制. 密码框 长度要求: 不允许明文显示: 禁止复制粘贴: 输入内容限制: 两次密码要一致. 2. 单选按钮.组合列表框.数 ...

  2. 功能测试与项目实战之测试需求分析与测试用例设计(重中之重)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/1 ...

  3. 【测试】黑盒测试用例设计方法

    黑盒测试用例设计方法包括: 1.等价类划分法. 2.边界值分析法. 3.错误推测法. 4.因果图法. 5.判定表驱动法. 6.正交试验设计法. 7.功能图法. 8.场景法等. 9.状态迁移法 10.流 ...

  4. 【测试】功能测试用例设计方法总结

    测试用例可以用来衡量一个项目测试质量,因此在平时的测试流程中,编写测试用例就是测试过程中很重要的一步,每一个测试工程师都需要并且非常熟练的编写测试用例,能在编写测试用例中尽可能的覆盖任何异常的测试点: ...

  5. 测试分析与测试用例设计方法

    一.测试分析方法 1.质量模型分析法 针对每个功能使用软件质量模型进行分析,分析应测特性,确认各功能的测试点以及测试项: 2.功能交互分析法 针对不同的功能确认各功能之间的交互操作,分析各功能交互时的 ...

  6. 测试流程和测试用例设计方法

    一.测试流程 1.手工测试流程 需求分析与评审 编写测试计划与测试方案 设计测试用例与评审 执行测试用例与缺陷跟踪 编写测试报告 2.自动化测试流程 将功能用例转化为自动化用例(在功能用例模板新增一列 ...

  7. 软件测试基础-测试用例设计方法(等价类+边界值)

    常见的用例设计方法 等价类划分法(适用于输入项少,输入项的属性或者特性相同) 边界值分析法(适用于有范围约束的情况) 判定表法(适用于有明显的条件及其对应的动作的情况) 因果图法 状态迁移图法(适用于 ...

  8. 【测试】软件测试用例设计

    一.等价类 1.什么是等价类 等价类划分是一种典型的.常用的黑盒测试方法,这种方法把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量有代表性的测试数据取得较 ...

  9. toft 测试用例rat_一篇文章详述配对测试的测试用例设计!强烈建议收藏

    摘要:Pairwise(后称:配对测试)可以看作是正交测试用例设计的拓展,其目的是为了缩减测试用例集大小,以较小的测试用例集覆盖较全的测试点,降低测试损耗. 一.配对测试理论基础 配对测试用例设计基于 ...

最新文章

  1. java new string 图_Java中String直接赋字符串和new String的一些问题
  2. mysql索引无效且sending data耗时巨大原因分析
  3. lambda的用法与实例(转载)
  4. 零基础入门深度学习(4) - 卷积神经网络
  5. 程序员的进阶课-架构师之路(18)-图
  6. Android 功耗(12)---省电续航-相互唤醒
  7. PgSQL · 应用案例 · 惊天性能!单RDS PostgreSQL实例支撑 2000亿
  8. 何建坤:实施能源革命战略 促绿色低碳发展
  9. 发那科机器人圆弧指令怎么用_发那科机器人PR指令
  10. POJ 3660 Cow Contest(Floyd求传递闭包(可达矩阵))
  11. creo绘图属性模板_Creo定制模型及绘图模板.doc
  12. 国内社交网络信息开放平台汇总
  13. python函数调用的五种方式
  14. SGX 是什么技术?
  15. 使用iptables-persistent永久保存iptables规则
  16. plotwidget横坐标日期_求助x轴为日期时间的图形绘制
  17. arm学习之基本汇编指令
  18. Scala中的集合排序总结
  19. 关于smtp发信的收件人to cc和bcc
  20. ICP 问题之 SVD

热门文章

  1. windows与mac文件夹共享
  2. 四、PL/SQL程序控制语句
  3. Luogu 5108 仰望半月的夜空(后缀数组)
  4. 方向导数与梯度的实质理解
  5. protect 继承_c++三种继承方式public,protect,private
  6. iphone内存管理(二)
  7. window.print()打印网页局部内容
  8. JavaScript之延迟加载
  9. 细数数据科学团队中的十大关键角色
  10. 2019年数学建模A题 高压油管的压力控制