在继续学习本教程之前,先了解一些与应用程序的自动化测试相关的关键概念。
随着对高效软件产品的需求不断增长,每个软件开发团队都需要在将最终产品推向市场之前进行一系列测试。 测试工程师在软件产品发布之前努力捕获故障或错误,但交付的软件总是存在缺陷。 即使使用最佳的手动测试流程,最终的软件产品仍有可能存在缺陷或无法满足最终用户的要求。 自动化测试是提高软件测试的有效性,效率和覆盖范围的最佳方法。
自动化测试使用专用工具自动执行手动设计的测试用例,无需任何人手为干预。 自动化测试工具可以访问测试数据,控制测试的执行,并将实际结果与预期结果进行比较。 因此,生成被测系统的详细测试报告。
自动化测试涵盖应用程序的功能和性能测试。
自动化用于功能自动化的测试工具:
自动化用于非功能自动化的测试工具:
自动化测试生命周期
自动化测试具有提高任何软件长期效率的特定优势。 测试自动化的主要优点是:
如果我们看一下目前市场情况中普遍存在的软件应用程序的类型,大多数软件应用程序都是作为基于Web的应用程序编写的,以便在互联网浏览器中运行。 基于Web的应用程序的测试策略在公司和组织之间差异很大。在高度交互和响应迅速的软件过程的时代,许多组织正在使用某种形式的敏捷方法,测试自动化经常成为软件项目的要求。
为Web应用程序执行测试自动化的最有效方式是采用金字塔测试策略。此金字塔测试策略包括三个不同级别的自动化测试。 单元测试代表了此测试自动化金字塔的基数和最大百分比。 接下来是服务层或API测试。 最后,GUI测试位于顶部。 金字塔看起来像这样: