软件测试基础回顾(五)-自动化测试教程:流程,计划和工具
什么是自动化测试?
手动测试由坐在计算机前面的人仔细执行测试步骤来执行。
自动化测试意味着使用自动化工具来执行测试用例套件。
自动化软件还可以将测试数据输入待测系统,比较预期和实际结果并生成详细的测试报告。测试自动化需要大量的资金和资源投入。
连续的开发周期将需要重复执行相同的测试套件。使用测试自动化工具,可以记录此测试套件并根据需要重新播放。一旦测试套件自动化,就不需要人工干预。这提高了测试自动化的 ROI。自动化的目标是减少数量测试用例需要手动运行,而不是完全取消手动测试。
为什么要进行自动化测试?
由于以下原因,自动软件测试非常重要:
- 手动测试所有工作流程,所有字段,所有负面情景都耗费时间和金钱
- 手动测试多语言站点很困难
- 自动化不需要人为干预。您可以无人值守运行自动化测试(一夜之间)
- 自动化提高了测试执行的速度
- 自动化有助于提高测试覆盖率
- 手动测试可能变得枯燥乏味,因此容易出错。
哪些测试用例要自动化?
可以使用以下标准选择要自动化的测试用例,以提高自动化ROI
- 高风险 - 业务关键测试用例
- 重复执行的测试用例
- 测试案例非常繁琐或难以手动执行
- 测试用例非常耗时
以下类别的测试用例不适合自动化:
- 测试用例是新设计的,至少不能手动执行一次
- 需求经常变化的测试用例
- 在临时基础上执行的测试用例。
自动化测试流程:
在自动化过程中遵循以下步骤
测试工具选择
测试工具的选择在很大程度上取决于构建的应用程序测试技术。例如,QTP不支持Informatica。因此QTP不能用于测试Informatica应用程序。在AUT上进行工具概念验证是个好主意。
定义自动化的范围
自动化范围是您的受测试应用程序的自动化区域。以下几点有助于确定范围:
- 对业务非常重要的功能
- 具有大量数据的场景
- 跨应用程序的常见功能
- 技术可行性
- 业务组件重用的程度
- 测试用例的复杂性
- 能够使用相同的测试用例进行跨浏览器测试
规划,设计和开发
在此阶段,您将创建自动化战略和计划,其中包含以下详细信息 -
- 选择自动化工具
- 框架设计及其功能
- 范围内和范围外的自动化项目
- 自动化试验台准备
- 脚本和执行的时间表和时间表
- 自动化测试的可交付成果
测试执行
自动化脚本在此阶段执行。在设置运行之前,脚本需要输入测试数据。执行后,他们会提供详细的测试报告
可以使用自动化工具直接执行或通过将调用自动化工具的测试管理工具执行。
示例:Quality Center是测试管理工具,它将调用QTP来执行自动化脚本。脚本可以在一台机器或一组机器中执行。执行可以在夜间完成,以节省时间。
保养
随着连续循环将新功能添加到被测系统中,需要为每个发布周期添加,检查和维护自动化脚本。维护对于提高Automation Scripts的有效性是必要的。
自动化框架
框架是一套有助于的自动化指南
- 保持测试的一致性
- 改进了测试结构
- 代码的最低使用量
- 减少代码维护
- 提高可重用性
- 非技术测试人员可以参与代码
- 可以减少使用该工具的训练期
- 在适当的地方涉及数据
自动化软件测试中使用了四种类型的框架:
- 数据驱动的自动化框架
- 关键字驱动自动化框架
- 模块化自动化框架
- 混合自动化框架
自动化工具最佳实践
要获得最大的自动化投资回报率,请遵守以下规定
- 自动化范围需要在项目开始之前详细确定。这为自动化设定了期望。
- 选择正确的自动化工具:不能根据工具的受欢迎程度选择工具,但它适合自动化要求。
- 选择合适的框架
- 脚本标准 - 在编写自动化脚本时必须遵循标准。他们之中有一些是-
- 创建统一的脚本,注释和代码缩进
- 足够的异常处理 - 如何处理系统故障或应用程序的意外行为时出错。
- 用户定义的消息应编码或标准化,以便错误记录以供测试人员理解。
- 衡量指标 - 无法通过将手动工作与自动化工作进行比较来确定自动化的成功,但也可以通过捕获以下指标来确定。
- 发现的缺陷百分比
- 每个发布周期自动化测试所需的时间
- 发布时间最短
- 客户满意度指数
- 提高生产力
如果观察到上述指导原则可以极大地帮助您实现自动化。
自动化测试的好处
以下是自动化测试的好处:
- 比手动测试快70%
- 更广泛的应用程序功能测试覆盖率
- 结果可靠
- 确保一致性
- 节省时间和成本
- 提高准确性
- 执行时不需要人为干预
- 提高效率
- 更快地执行测试
- 可重复使用的测试脚本
- 经常彻底地测试
- 通过自动化可以实现更多的执行周期
- 早期上市
可以自动化的不同类型的软件测试
如何选择自动化工具?
选择合适的工具可能是一项棘手的任务。以下标准将帮助您选择最适合您要求的工具 -
- 环境支持
- 使用方便
- 数据库测试
- 对象识别
- 图像测试
- 错误恢复测试
- 对象映射
- 使用的脚本语言
- 支持各种类型的测试 - 包括功能,测试管理,移动等...
- 支持多个测试框架
- 易于调试自动化软件脚本
- 能够识别任何环境中的对象
- 广泛的测试报告和结果
- 最大限度地降低所选工具的培训成本
工具选择是在进行自动化之前要解决的最大挑战之一。首先,确定需求,探索各种工具及其功能,设置工具的期望并获得概念验证。
自动化测试工具
市场上有大量的功能和回归测试工具。以下是我们的专家认证的5种最佳工具
-
Tricentis
Tricentis是业界首屈一指的自动化测试平台,并因重塑DevOps的软件测试而受到认可。Tricentis是唯一一家在所有三份顶级分析师报告中获得“领导者”地位的供应商。
特征:
- 基于风险的测试
- 无脚本的端到端测试自动化
- 支持API,BI,移动,跨浏览器,RPA和其他自动化测试类型
- 业界最广泛的技术支持
-
MABL
mabl提供无脚本的端到端测试自动化,与您的交付管道集成,因此您可以专注于改进您的应用程序。
特征:
- 专有的机器学习模型可自动识别并解决应用问题
- UI更改时会自动修复测试
- 每个构建的自动回归见解
了解有关mabl的更多信息
-
硒
它是用于回归测试的软件测试工具。它是一个开源测试工具,为回归测试提供回放和录制功能。该硒 IDE只支持Mozilla的Firefox网页浏览器。
- 它提供了以Java,Ruby,RSpec,Python,C#等其他语言导出录制脚本的规定
- 它可以与JUnit和TestNG 等框架一起使用
- 它可以一次执行多个测试
- 自动完成常见的Selenium命令
- 演练测试
- 使用id,name,X-path等标识元素。
- 将测试存储为Ruby脚本,HTML和任何其他格式
- 它提供了为每个页面断言标题的选项
- 它支持selenium user-extensions.js文件
- 它允许在脚本中间插入注释,以便更好地理解和调试
-
QTP(MicroFocus UFT)
QTP广泛用于功能和回归测试,它解决了每个主要的软件应用程序和环境。为简化测试创建和维护,它使用关键字驱动测试的概念。它允许测试人员直接从应用程序构建测试用例。
- 对于非技术人员来说,更容易使用以适应和创建工作测试用例
- 它通过彻底记录和复制开发人员的缺陷来更快地修复缺陷
- 在单个站点折叠测试创建和测试文档
- 参数化比WinRunner容易
- QTP支持.NET开发环境
- 它具有更好的对象识别机制
- 通过使用ActiveScreen,它可以增强现有QTP脚本,而无需“待测应用程序”
-
Rational Functional Tester
它是面向对象的自动化功能测试工具,能够执行自动功能,回归,数据驱动测试和GUI测试。这个工具的主要特点是
- 它支持各种协议和应用程序,如Java,HTML,NET,Windows,SAP,Visual Basic等。
- 它可以按需记录和重放动作
- 它与源控制管理工具(如Rational Clear Case和Rational Team Concert集成)很好地集成
- 它允许开发人员创建关键字关联脚本,以便可以重复使用它
- Eclipse Java Developer Toolkit编辑器使团队能够使用Eclipse在Java中编写测试脚本代码
- 它通过代理SDK(Java / .Net)支持自定义控件
- 它支持版本控制,以支持地理分布式团队并行开发测试脚本和并发使用
-
的Watir
它是一个用于回归测试的开源测试软件。它使您能够编写易于阅读和维护的测试。Watir仅支持Windows上的Internet Explorer,而Watir webdriver支持Chrome,Firefox,IE,Opera等。
- 它支持不同平台上的多个浏览器
- 它使用功能齐全的现代脚本语言Ruby,而不是使用专有供应商脚本
- 它支持您的Web应用程序,无论其开发内容如何
-
SilkTest中
Silk Test专为进行功能和回归测试而设计。对于电子商务应用,丝绸测试是领先的功能测试产品。它是2006年Borland收购Segue Software的产品。它是一种面向对象的语言,就像C ++一样。它使用对象,类和继承的概念。其主要功能包括
- 它由所有源脚本文件组成
- 它将脚本命令转换为GUI命令。在同一台机器上,命令可以在远程或主机上运行
- 要识别鼠标的移动以及击键,可以执行Silktest。它可以利用回放和记录方法或描述性编程方法来获取对话框
- 它将被测应用程序的所有控件和窗口标识为对象,并确定每个窗口的所有属性和属性
结论
正确选择自动化工具,测试流程和团队是自动化成功的重要因素。手动和自动化方法齐头并进,以便成功进行测试。




浙公网安备 33010602011771号