测试自动化架构

时间:2014-12-18 19:28:15

标签: testing architecture automation

我公司在构建测试自动化架构之初。 有不同类型的应用程序:Windows桌面,网络,移动。

你有什么经验的人建议你开始? 我的意思是资源。 建立整个系统或构建一些基本的东西并在将来增强?

非常感谢!

5 个答案:

答案 0 :(得分:2)

从小处开始。如果你不知道自己需要什么,那就建立一个可以增加价值的最小东西。

你构建的第一件事很可能是你所需要的,你需要废弃它并做其他事情。

最后,不要尝试测试一切。这就是我看到的失败。大多数自动化测试套件都在自重下死亡。有人决定必须测试一切,所以你围绕每一个CSS变化建立10,000个测试。然后,当需求发生变化时,需要花费大量资金进行更新。然后你得到要求使条形蓝色而不是红色......

发生两件事之一,要么被忽略测试,套件就会死掉,要么业务会因为测试成本太大而无法更新。在第一种情况下,测试投资完全是浪费,第二种情况更加危险,这意味着测试套件实际上阻碍了进度,而不是协助它。

自动执行最重要的测试。找到最重要的工作流程。对测试内容的分析应该比编写测试本身花费更多的时间。

最后,拥抱Pyramid of Tests

答案 1 :(得分:1)

正如Rob Conklin所说,

  1. 从小处开始
  2. 确定最重要的测试
  3. 围绕这些测试构建测试自动化架构
  4. 确保您的架构允许可重用​​性和可管理性
  5. 构建易于理解的报告和错误日志
  6. 将测试数据管理添加到您的架构
  7. 确保完所有这些后,您可以在添加新测试后进行增强

答案 2 :(得分:0)

除了已经提到的内容之外:

  • 确保您的自动化测试得到快速反馈。理想情况下,应在每次提交master分支后执行它们。
  • 确定系统测试自动化的哪些区域带来最大价值。
  • 从集成测试开始,暂时停止端到端测试
  • 尽量保持每个自动化测试非常小,只检查一个功能
  • 首选低级别测试界面,如API,CLI over GUI。

答案 3 :(得分:0)

我很好奇您选择的道路。我们针对移动设备,桌面应用程序和Web运行UI自动化测试。

从小处着手,但构建框架是我建议面对此问题的第一步。

我们采用的方法是:

  • 创建单声道仓库
  • 为网络安装了selenium webdriver
  • 为台式机安装了winapp driver
  • 为移动设备安装了appium
  • 为每个系统创建一个api
    • DesktopApi
    • WebApi
    • MobileApi

这些API包含我们在各个团队之间共享的业务功能。

这构建了我们的框架,现在可以编写跨不同系统的测试,例如:

  1. 在移动设备上创建用户
  2. 在我们的桌面上为他们提供保护套
  3. 以用户身份登录网络并检查余额

开始使用该框架之前,最好先向其他人学习test automation mistakes

答案 4 :(得分:0)

首先确定应该自动化哪些测试,例如业务关键功能,必须针对每个构建或发行版执行的重复测试(烟雾测试,健全性测试,回归测试),数据驱动的测试以及压力和负载测试。如果您的应用程序支持不同的操作系统和浏览器,则尽早进行自动化测试以验证稳定性和正确的页面呈现非常有用。

在构建自动化框架的初始阶段,使测试保持简单并逐渐包括更复杂的测试。而且在所有情况下,测试都应易于维护,并且需要考虑如何调试错误,报告测试结果,安排测试和批量测试运行。