首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试自动化是否有特定的编码指南?

测试自动化是否有特定的编码指南?
EN

Stack Exchange QA用户
提问于 2022-05-18 20:28:08
回答 7查看 3.8K关注 0票数 8

详细信息

目前,我们正在努力寻找更多的方法来编写更好的代码。当然,这并不排除我们的自动化测试用例。我们已经在开发环境中使用SonarCube和WhiteSource进行测试,以查找分支或主源中可能出现的错误。

任务:

我们还希望为测试实现代码质量指南。

问题:

  • 测试的代码质量指南是什么?
  • 它们与Java/Python的一般代码质量规则不同吗?
EN

回答 7

Stack Exchange QA用户

回答已采纳

发布于 2022-05-19 10:33:01

自动化代码

代码质量指南综述

  • 优先考虑英语可读性对描述和代码的影响
  • 每个测试在测试结束时都有一个断言。
  • 考虑一下嘲笑和顽固依赖关系。
  • 每次测试只测试一件事。
  • 使用衬里并包含测试专用规则
  • 避免性能优化
  • 设计一种测试数据策略
  • 测试不共享状态
  • 测试测试

是的,应用程序和自动化代码对代码质量的要求是不同的。

虽然这两个领域都有一些共同的因素,但重点和优先次序可能有很大的不同。

我做了20年的应用程序开发人员,现在已经做了10年的自动化工程师,并了解到了以下不同之处:

应用程序代码。

一般来说,这里的关键属性是性能,比如一次对成千上万的用户进行优化,所以很多优化都是以性能的名义进行的。此外,模块化、可扩展性和干化也是关键的方法。多线程和内存的使用也是关键因素。

自动化代码。

表现往往不是一个问题。通常情况下,代码作为一个用户使用的方式运行。可读性,虽然在应用程序代码中很重要,但在自动化代码中却变得非常重要。自动化代码可以看作是您的系统的技术规范--文档。确保文档的可读性,用良好的英语编写,对技术含量较低的人来说,是更重要的。另一个不同的例子是行和文件长度,它对于测试代码和自动化代码具有不同的特性。

此外,您还应该了解您的测试数据策略。不过,不要对测试数据过头。有时硬编码静态数据是可以的,即使它重复。注意不要过度使用提取方法和数据干燥方法来牺牲可读性。注意创建的工件,并考虑将它们作为自动化代码清理的一部分移除。

测试不应该共享状态,这意味着它们不应该相互依赖,不应该影响或受其他测试或测试运行顺序的影响。

最后,考虑测试测试,例如确保页面对象没有重复或孤儿。

对于质量代码来说,这两个领域共有的一件事是使用强有力的皮毛规则、代码分级等等。

票数 10
EN

Stack Exchange QA用户

发布于 2022-05-18 22:24:17

代码是代码,不管是用于特性代码还是测试代码。对我来说,在特性代码和测试代码之间唯一真正不同的是目的、视角和动机。

这意味着,是的,您可以而且应该在测试自动化代码中使用SonarCube和WhiteSource。您可以也应该在这里使用指针。如果有多个人编写测试代码,请确保他们都使用在linter中设置的相同的代码指南规则。

通过这样做,您可以确保测试代码保持很高的质量;也就是说,您是在“测试测试代码”。

此外,在创建测试代码/测试自动化框架时,不也包括依赖项吗?如何确保这些依赖关系保持最新状态?通过使用像SonarCube和WhiteSource这样的工具。

就我个人而言,我总是至少建立一个我创建的测试自动化框架的链接器。

票数 5
EN

Stack Exchange QA用户

发布于 2022-05-19 11:40:27

一个典型的资源是Meszaros的“xUnit测试模式:重构测试代码”一书“还有一个网站的大部分概念都是wiki格式的。

肯特贝克写了一个博客测试Desiterata,在那里他展示了12个伟大测试的特点。他还制作了关于每一个特征的一系列短片

Robert在“测试设计”( 清洁工艺:纪律、标准和道德 on Test )一书中有一章,他在书中讨论了转换优先级前提。如果你喜欢视频格式,他有两集的清洁编码器系列:试验设计清洁试验

票数 4
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/50120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档