自动化测试意味着:使用自动化工具来执行您的测试用例套件。相反,手动测试是由坐在计算机前的人员仔细执行测试步骤来执行的。自动化软件还可以将测试数据输入被测系统,比较预期结果和实际结果,并生成详细的测试报告。测试自动化需要大量的金钱和资源投资。
连续的开发周期将需要重复执行相同的测试套件。使用测试自动化工具,可以记录此测试套件并根据需要重播。一旦测试套件自动化,就不需要人工干预。这提高了测试自动化的投资回报率。自动化的目标是减少手动运行的测试用例的数量,而不是完全消除手动测试。
01
为什么要进行自动化测试?
由于以下原因,自动化软件测试非常重要:
1)手动测试所有工作流程,所有领域,所有负面情况都需要花费时间和金钱;手动测试多语言站点很困难;手动测试可能会变得很无聊,因此容易出错。
2)自动化不需要人工干预。您可以无人值守运行自动化测试(隔夜);自动化提高了测试执行的速度;自动化有助于增加测试范围。
02
哪些测试用例可以自动化?
1)可以使用以下标准选择要自动化的测试用例,以提高自动化的投资回报率。
高风险、关键业务测试案例;
重复执行的测试用例;
非常繁琐或难以手动执行的测试用例;
耗时的测试用例。
2)以下类别的测试用例不适合自动化。
新设计的测试用例,并且至少一次不手动执行;
需求经常变化的测试用例;
临时执行的测试用例。
03
自动化测试流程
1)自动化过程中遵循以下步骤:
2)测试工具的选择
测试工具的选择很大程度上取决于被测应用程序所基于的技术。例如,QTP不支持Informatica。因此,QTP不能用于测试Informatica应用程序。在AUT上进行工具概念验证是一个好主意。
3)定义自动化范围
自动化范围是被测应用程序将被自动化的区域。以下几点有助于确定范围:
对业务很重要的功能
具有场景大量数据的
跨应用程序的通用功能
技术可行性
业务组件的重用程度
测试用例的复杂性
能够使用相同的测试用例进行跨浏览器测试
4)规划,设计和开发
在此阶段,您将创建一个自动化策略和计划,其中包含以下详细信息:
选择自动化工具
框架设计及其功能
范围内和范围外的自动化项目
自动化测试台准备
脚本和执行的时间表和时间表
自动化测试的交付物
5)测试执行
在此阶段执行自动化脚本。这些脚本需要输入测试数据,然后才能运行。一旦执行,他们将提供详细的测试报告。
可以直接使用自动化工具或通过将调用自动化工具的测试管理工具来执行执行。
示例:质量中心是测试管理工具,它将依次调用QTP来执行自动化脚本。脚本可以在一台计算机或一组计算机中执行。可以在夜间执行,以节省时间。
6)保养
随着新功能以连续的周期被添加到被测系统中,需要为每个发布周期添加,检查和维护自动化脚本。必须进行维护才能提高自动化脚本的效率。
04
自动化框架
1)框架是一套自动化准则,可帮助:
保持测试的一致性
改善测试结构
最少使用代码
减少代码维护
提高可重用性
非技术测试人员可以参与代码
可以减少使用该工具的培训时间
适当时涉及数据
2)自动化软件测试中,使用四种类型的框架
数据驱动的自动化框架
关键字驱动的自动化框架
模块化自动化框架
混合自动化框架
3)自动化工具最佳实践
为了获得最大的自动化投资回报,请注意以下几点。
确定自动化范围:在项目开始之前,需要详细确定自动化范围。这为自动化设定了期望;
选择正确的自动化工具:一定不能根据工具的流行程度来选择它,但是它符合自动化要求;
选择合适的框架;
脚本标准:编写自动化脚本时必须遵循标准。他们之中有一些是:
创建统一的脚本,注释和代码缩进;
适当的异常处理-系统故障或应用程序异常行为时如何处理错误;
用户定义的消息应进行编码或标准化,以供测试人员理解错误记录。
衡量指标:不能通过将手动工作与自动化工作进行比较,也不能通过捕获以下指标来确定自动化是否成功。
发现缺陷的百分比
每个发布周期进行自动化测试所需的时间
释放时间最短
顾客满意度指数
生产率提高
如果遵守上述准则,则可以极大地帮助您成功实现自动化。
05
自动化测试的好处
以下是自动化测试的好处:
比手动测试快,效率更高,更节省时间和成本;
应用功能的测试范围更广;
准确性更高,结果更可靠;
可重复使用的测试脚本;
通过自动化可以实现更多的执行周期,提前上市。
06
如何选择自动化工具?
如何正确选择工具,是自动化之前要解决的最大挑战之一。
首先,确定需求,探索各种工具及其功能,设定对工具的期望,然后进行概念验证。市场上有大量的功能和回归测试工具。以下是我们专家认证的最佳工具。
1)Ranorex工作室
Ranorex Studio是一款多功能工具,可自动执行功能性UI测试,回归测试,数据驱动的测试等。Ranorex Studio包括一个易于使用的即点即用界面,可以自动执行针对Web,桌面和移动应用程序的测试。
特征:
在台式机,Web和移动设备上进行功能性UI和端到端测试;
跨浏览器测试;
SAP、ERP、Delphi和旧版应用程序;
iOS 和 Android;
在本地或远程,并行或在Selenium Grid上运行测试。
2)玛布
mabl提供了无脚本的端到端测试自动化,并与交付管道集成在一起,因此您可以专注于改进应用程序。
特征:
专有的机器学习模型可自动识别并显示应用问题;
UI更改时会自动修复测试;
对每个构建的自动化回归分析;
3)硒
它是用于回归测试的软件测试工具。它是一个开源测试工具,为回归测试提供了回放和记录功能。该工具 IDE只支持Mozilla的Firefox网页浏览器。
特征:
它提供了以其他语言(如Java,Ruby,RSpec,Python,C#等)导出记录的脚本的规定;
它可以与JUnit和TestNG 等框架一起使用;
它可以一次执行多个测试;
常见的Selenium命令的自动完成;
演练测试;
使用ID,名称,X路径等标识元素;
将测试存储为Ruby Script,HTML和其他任何格式;
它提供了一个断言每个页面标题的选项;
它支持selenium user-extensions.js文件;
它允许在脚本中间插入注释,以更好地理解和调试。
4)QTP(MicroFocus UFT)
QTP被广泛用于功能和回归测试,它适用于每个主要的软件应用程序和环境。为了简化测试的创建和维护,它使用关键字驱动测试的概念。它允许测试人员直接从应用程序构建测试用例。
特征:
非技术人员更容易使用它来适应和创建工作测试用例;
通过为开发人员彻底记录和复制缺陷,可以更快地修复缺陷;
在单个站点上折叠测试创建和测试文档;
参数化比WinRunner容易;
QTP支持.NET开发环境;
具有更好的物体识别机制;
通过使用活动屏幕,它可以增强现有的QTP脚本,而无需使用“正在测试的应用程序”。
5)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)支持自定义控件;
它支持版本控制,以实现测试脚本的并行开发和地理分布团队的并发使用;
6)瓦蒂尔
它是用于回归测试的开源测试软件。它使您能够编写易于阅读和维护的测试。Watir仅在Windows上支持Internet Explorer,而Watir Webdriver支持Chrome,Firefox,IE,Opera等。
特征:
它支持不同平台上的多个浏览器;
它没有使用专有的供应商脚本,而是使用功能全面的现代脚本语言Ruby;
它支持您的Web应用程序,无论它是用什么开发的。
7)丝绸测试
Silk Test专为进行功能和回归测试而设计。对于电子商务应用,丝绸测试是领先的功能测试产品。它是Borland在2006年收购的Segue Software的产品。它是一种类似于C++的面向对象的语言。它使用对象,类和继承的概念。
特征:
它包含所有源脚本文件;
它将脚本命令转换为GUI命令。在同一台机器上,命令可以在远程或主机上运行;
为了识别鼠标的动作以及击键,可以执行Silktest。它可以使用回放和记录方法或描述性编程方法来获取对话框;
它将被测应用程序的所有控件和窗口标识为对象,并确定每个窗口的所有属性和属性。
07
结论
正确选择自动化工具,测试过程和团队,对于自动化成功至关重要。手动和自动化方法齐头并进,以成功进行测试。
看往期,更精彩
企业资讯|《博为峰全面升级至V16版软件测试教材体系》
学员故事|《28岁“白衣天使”转行软件测试:月薪翻倍是真实的,汗水与付出也是》
测试干货|《测试新手必备技能:性能测试之并发用户数的估计》
点击,识别下方二维码,了解软件测试相关课程。
点击,识别下方右侧二维码,获取软件测试技术贴。
点击下方,挑战 年薪20万 ~