持续测试是一个过程,使团队能够在软件开发中建立质量,并加速交付高质量的客户体验。通过持续测试,团队使用自动化测试获得关于代码健康的即时反馈。
持续测试使企业能够评估商业风险。最近的行业调查显示,用于跟踪项目进展和成功的首要指标:
- 高测试覆盖率
- 增加缺陷修复
- 减少了生产中的缺陷
- 在开发过程中建立质量
如何实现速度和质量的结合?答案是:持续测试。但它确实有其挑战。本文就说说第一个挑战或者说障碍——团队中缺乏专业知识。
障碍一:团队中缺乏专业知识
最初,专业知识的缺乏不仅是团队缺乏知识和技能。它也是正在使用的工具的限制。
考虑一下用户界面(UI)测试自动化。这是一种常见的做法,也很可靠,但可重复使用的自动化却很困难。Selenium是事实上的标准。虽然是开源和免费的,但它有自己的采用曲线,而且需要经验和时间来掌握。
Selenium测试可能是不可靠的,今天记录的东西,第二天就不能再播放了。随着越来越多的UI测试被自动化,测试维护成为一个日益严重的问题。Selenium需要进一步的工具支持,以变得更容易使用和维护。
服务水平或API测试是一个相对较新的,但有价值的实践。然而,它位于开发人员和测试人员之间的无人区。开发人员最了解API,但没有动力也没有必要对其进行测试,而测试人员缺乏进行API测试所需的知识。
此外,重要的是,API测试自动化超越了记录(在操作期间)和回放(用于测试)。需要对行为和API之间的互动进行建模,也需要使用这些互动来指导测试创建和管理过程。
性能测试通常被看作是由组织中的另一个团队完成的事情,也许是作为一个复选框项目执行。但是,当性能问题出现时,产品开发可能已经向前推进,可能需要一个破坏性的回滚。
理想情况下,性能测试需要在软件开发过程的早期完成,并利用已经完成的自动化功能测试的工作。同时,团队采用API测试,他们可以利用这项工作