自动化测试指南3自动化测试不仅仅是测试人员的事情

测试自动化是软件工程中最被滥用的方法之一。它经常被用来作为减少时间和替代人工测试的解决方案。在许多项目中,测试自动化的优势和劣势往往没有得到很好的分析。它是一个长期的投资,在一个时期内获得红利。测试自动化是一个软件开发项目,经历了软件开发生命周期中的大部分阶段。最终的解决方案或产品需要持续的维护和支持。测试自动化采用了适用于任何软件项目的相同的软件工程实践,它需要测试工具和编程语言的专业知识和技能。

测试自动化节省了系统严格测试所需的大量努力和精力。它确保了在测试执行中广泛和一致的测试覆盖率。它有助于实现大型数据集的100%验证,以确保不遗余力地为利益相关者提供信心。从长远来看,测试自动化可以用来减少人工测试和人工测试人员的水平。虽然测试自动化带来了很多好处,但对人工测试的需求从未消失,但可以将精力更多地集中在探索和可用性等测试上。

为什么测试自动化?

  • 增加测试覆盖率和提高测试质量 - 测试自动化可以通过对大量数据进行测试来扩大测试覆盖率。测试自动化还可以通过消除人为错误来提供测试执行的一致性和准确性。
  • 提高效率和效益 - 测试自动化可以用更少的成本和精力重复相同的测试或不同输入的相同测试,带来整体测试效率的提高。
  • 更好的可靠性和准确性 - 测试自动化比人工测试更可靠,因为它减少了测试执行中的人为错误。
  • 节省成本和减少时间 - 例如,自动化回归测试有助于在不同的环境中,在无人看管的情况下,在大数据集的情况下,快速、更频繁地运行回归测试。这将减少成本并节省测试工作。
  • 测试自动化增强了测试,因为它可以在无人看管的情况下运行,减少对时间、地点和资源的依赖。
    图1.3显示了测试自动化的好处和为什么需要它。

测试类型和测试自动化工具

测试主要可以分为两种类型:功能测试和非功能测试。有一大批开源的、定制开发的和供应商提供的工具可用于支持功能和非功能测试。还有第三类测试工具用于测试管理活动,如测试计划、测试设计、缺陷管理和报告。

  • 功能测试自动化。功能测试自动化工具将有关应用程序功能或应用程序如何运作的测试自动化。
  • 非功能测试自动化。非功能测试自动化工具加强非功能需求测试,即软件解决方案的性能、可用性、可及性、可靠性、安全性和基础设施等。这些非功能需求中的大多数都很难手动测试。例如,如果没有一个合适的测试工具,测试一个成千上万的并发用户的网站是不可能的。
  • 测试管理。测试管理是测试团队为管理软件测试过程所做的一切,如测试计划、测试准备、测试案例开发、测试数据准备、测试执行、测试矩阵、测试报告和缺陷管理。测试管理工具帮助测试团队管理测试过程、测试生命周期和报告。
    现在我们将探讨测试自动化成功的另一个关键因素,利益相关者管理。

自动化测试不仅仅是测试人员的事情

有关测试自动化的利益相关者目标和商业专业人士的理由一般分为以下几种。

  • 在时间范围内完成产品或项目的实施。
  • 率先进入市场,在竞争中取得优势(减少测试窗口)。
  • 降低成本或控制成本。
  • 自动化投资的长期回报。
  • 减少团队(如减少手动测试人员的数量)。
  • 重复使用现有的自动化工具许可,避免采购新的工具。
  • 在内部建立自动化能力,避免外部支持。
  • 一致和稳定的回归测试,增加对发布的信心。

沟通渠道、频率和方法要在产品或项目开始实施时与利益相关者确定并达成一致。利益相关者的沟通应该以价值为基础,并根据他们的利益区分,也就是说,避免对利益相关者采取一刀切的做法。例如,当向利益相关者提供定期报告时,高级利益相关者可能有兴趣看到 "交通灯 "或红、黄、绿(RAG)报告的亮点,而产品或项目利益相关者可能对测试自动化进度的细节更感兴趣。

利益相关者的参与。在整个测试自动化过程中,让利益相关者参与进来是很重要的,因为他们会对测试自动化的发展有特别的兴趣。把他们蒙在鼓里,忽视他们的关注,会减少或阻止他们的购买。对任何利益相关者来说,在某一天都不应该有惊喜的因素。

就结果达成一致。与利益相关者就预期实现的目标达成一致,有什么好处和投资回报,并提供证据证明测试自动化正在实现这些目标的轨道上。任何计划的改变或实现收益的延迟都应及时沟通。

避免过度推销。避免过度推销和向利益相关者提供夸大的测试自动化的好处以获得预算。例如,避免过度推销或夸大测试自动化工具的好处以证明工具成本的合理性。

咨询并再次咨询。测试自动化的好处,特别是在早期阶段,可能对其利益相关者来说并不清楚。定期的利益相关者咨询对于确保需求的交付达成一致是至关重要的。

你可能感兴趣的:(自动化测试指南3自动化测试不仅仅是测试人员的事情)