测试自动化。是还是不是?

本文的翻译是在“ Python QA Engineer”课程开始之前准备的










在询问:“要自动化什么?”之前,您需要回答以下问题:“使当前项目中的任何东西自动化是否合理?”如果答案是肯定的(这意味着您拥有确保自动化的所有必要资源,例如合格的QA专家,足够的时间,金钱等),则需要根据被测试对象的需求创建计划,并针对该计划进行开发自动化测试。创建此类文档时,您应该对要自动执行的操作,选择的方式和自动化工具有清楚的了解。现在,由于我们对应该在哪里实现自动化感兴趣,因此我们将不讨论如何精确测试该功能的细节。



当然,下面的列表还远远不够完整,检查每个功能的详细测试列表似乎是没有意义的工作。我们的任务是首先选择项目中需要自动化的那些部分:



  1. 出错风险高的常用功能。对关键功能点的自动测试将减少发现错误的时间,因此,消除错误所需的时间也将减少。
  2. 典型的,经常执行的数据处理操作。例如,要填写的字段数足够大的表单。此处的目标是使数据自动输入到必填字段中,并在收到结果后验证任务是否正确完成。
  3. 验证消息。有必要自动将错误的数据发送到适当的字段,并测试数据验证和错误消息的正确性。
  4. 全面测试作为一个整体对象的整个系统的行为(端到端测试)。
  5. 验证数据需要精确的数学计算(会计或分析软件)。
  6. 响应于数据查询,检查显示的搜索结果的正确性(检查数据搜索的正确性)。
  7. 数据检索验证。


什么不自动化?



我不应该在自动化测试中包括哪些类型的测试?让我们列出不需要自动化测试用例的情况:



  1. 需要手动干预的可用性测试,以检查是否有错误或与预期行为的偏离;
  2. 测试用例,包括安装或不需要重新执行功能(但是,暗示数据输入的测试对于自动化是必需的);
  3. 避免自动执行可能导致不可预测的结果的测试(例如,新功能,临时测试,到期检查)。
  4. UX测试,包括检查各种尺寸的屏幕上对象的行为。


为了提高自动化测试的效率,应特别注意测试用例。有必要强调那些集中于测试以下方面的内容:



  1. 创建/读取/更新/删除操作(CRUD操作)。最简单的示例是用户界面。输入,查看和编辑用户数据,删除信息。
  2. 使用该应用程序的标准方案。一个与邮件客户端一起工作的示例:授权,查看信件,浏览收到的信件,创建新信件并发送它们,注销。这个端到端的序列测试了所有动作和操作。此类方案的优点是,在测试结束时,系统将返回到其原始状态(良好或接近状态),这意味着对其他测试结果的影响将减小。
  3. 其他由于某些原因不适合手动测试的情况。例如,检查系统创建的文件的结构。


您可以从此类功能的自动化中获得最大的收益!







阅读更多:






All Articles