什么是自动化测试?—测试流程及其类型
随着我们欢迎新的应用程序和设备进入我们的家庭和企业,来接管一项重要的任务,软件变得更加有价值和重要。4月16日TH.1994年,一架飞机致命的飞机坠毁,就在着陆机场前。其中250人被杀,这是中国航空公司最致命的事故。事件的主要原因是由于软件错误。在实现之前没有测试软件用户。每个系统都有软件错误。在没有任何错误的情况下设计软件系统是不可能的。但由于软件测试可以保护由于软件错误引起的故障引起的。软件测试是用于查找开发计算机软件的错误,完整性和质量的过程。它包括一组随着在软件中查找错误而进行的一系列活动,以便在产品释放到最终用户之前可以纠正。有两种类型的测试程序手动测试,和自动化测试。
什么是自动化测试?
自动化测试使用工具,脚本和软件的帮助来通过重复预定义的操作来执行测试用例。它完全取决于预脚本测试,我们将在执行预脚本时与实际进行比较预期结果。测试等负载,应力,可以使用自动化工具测试尖峰。示例:Facebook正在测试一个脑 - 计算机界面,可能将思想转化为数字文本。
哪些测试用例应该首先自动化?
下面是首先要自动化的测试用例,
- 重复的任务 -一个类似于电子商务网站的例子,多次测试登录凭据,以确保登录页面能按用户需求工作。
- 捕获和分享结果 -与处理数字和制作图表相比,投资工具或自动化策略会更有用,因为这样可以节省时间。
- 数据输入测试 -将信息自动化到数据源上,使其易于读取。可以更好地处理数据可变性。当需要从成千上万的数据中搜索特定数据时,可以使用自动化工具来搜索特定数据。
- 定时或筛选响应 -不需要手动跟踪屏幕,可以通过使用自动代码“wait until”来改进。
- 非功能性测试 -自动化非功能测试类型的示例是自动化负载测试。如果我们有一万元而不是手动测试,则可以更好地使用自动化测试。
自动化测试过程
用于自动化测试的逐步过程是
1)。测试工具选择
根据所涉及的测试的性质选择合适的工具对自动化成功非常重要。对于代码驱动的测试,过程或图形用户界面基于测试的适当工具必须相应地选择。
2)。定义自动化范围
自动化的范围起着基础性的作用。例如,任何业务的重要特性都是具有大量数据的场景,这些场景具有跨不同平台和应用程序的公共功能,以及测试用例的复杂性。等。
3)。规划设计与发展
在确定目标和自动化类型的类型后,应该决定自动化测试的执行情况。首先将测试用例开发成较小的逻辑测试,然后编写测试脚本和开发测试套件,在那里自动地在另一个之后运行。这是通过在具有多个测试用例的库中的适用版中创建测试来生成。
4)。测试执行
自动化工具或测试管理工具用于执行测试脚本。最后执行后,必须详细介绍一个报告。因此,报告可以用作其他测试的参考。
5)。维护
为每个周期添加,审核和维护自动化脚本。维护成为必要的地方。例如,在编写代码之后,我们检查代码,如果发生故障,则会出现任何错误。因此,我们确定代码的哪一部分具有错误并修复它,然后从头开始运行代码。因此,维护扮演了一个重要的作用,这提高了自动化脚本的必要性。
自动化方法
自动化有三种方法,它们是
1).代码驱动方法
它测试帧工作,侧重于测试案例执行,以了解各种代码是否按照不同条件下的预期执行。它是敏捷软件开发中使用的流行方法。
2)。图形用户界面(GUI)
可以使用此方法测试具有GUI的应用程序来记录用户的操作并响应任意次数。示例:用于测试网站的Selenium工具。测试用例可以用任何脚本语言写作Java,Phyton,C ..等。
3)。框架方法
这是一套指导方针。框架将函数的库,测试数据源,对象详细信息和其他可重用模块汇集在一起。维护成本较低,高效。示例:如果测试用例中存在任何更改,则需要更新测试用例文件的那部分,而不会更改驱动程序或启动脚本。
类型的框架
它们有不同类型的框架方法
- 线性脚本帧工作
- 数据驱动框架
- 关键字驱动的帧工作
- 模块化的测试框架
- 混合测试框架工作。
自动化测试类型
不同类型的自动化测试是
- 单元测试
- 烟雾测试
- 功能测试
- 集成测试
- 回归测试
1)。单元测试
在Web应用程序中,可能有几个组件/型号将被测试。测试过程每个和每个模型都是单元测试。它是在开发阶段完成的。代码由开发人员和测试人员编写的。
2),冒烟测试
烟雾测试可选择称为“构建验证测试”。它用于检查代码是否被编写的是终端结果的期望或否。在烟雾测试中,一旦测试完成,它的最终结果将决定将继续进行未来的测试或否。测试期间的问题可以在早期阶段识别。
3)。功能测试
它检查网络的功能,相应地工作或否。例如,如果我们考虑登录页面,我们必须输入用户ID和密码。除非我们输入正确的数据,否则我们的预期页面不会打开。如果代码被编写为登录页面并正确测试预期页面,则意味着功能测试正常工作。
4)集成测试
在这种情况下,单个组件被集成并立即测试。我们可以检查各个模块是否可以相互通信。例如,如果我们考虑制造一支圆珠笔,这支笔由笔芯、笔帽和笔体组成。,它们分别生产并组装在一起。在装配时,我们要检查它们是否安装正确。
5)。回归测试
当代码中有任何更新时,我们要确保它不会影响已经写好的代码。因此,我们进行回归测试。回归测试的使用是基于需求更新代码,检测错误并修复它。回归测试的一个例子是银行网站,该网站在需要时定期更新,比如更新经常账户余额。因此,在更新网站时,必须确保新更新的功能不会影响已经存在的功能。
如何选择自动化工具?
选择适当的自动化工具检查下面列出的以下属性,
- 环境支持
- 数据库测试
- 目标识别
- 图像测试
- 错误恢复测试
- 多个框架支持
- 减少成本
- 大量的测试报告和成本。
自动化测试工具的类型
有很多自动化测试工具,下面列出的很少
1)。硒
它是开源,是一种流行的测试方法,用于执行Web应用程序,多个浏览器和平台。最新版本的硒是selenium4。程序员需要提前编程语言技能。有四种组分的硒,硒IDE,硒遥控器,网状驱动器,硒网。
2)。Watir都
它是由自动化Web应用程序测试的Ruby库组成的开源测试工具。Watir的最新版本是Watir 6.16。代码可以用任何语言编写。Firefox,Chrome,Safari是一定的浏览器,Watir支持。Watir的一些特征是,它需要屏幕短路,页面性能,它可以轻松下载任何文件。
3)。Ranorex
它是一个灵活的all in one GUI测试工具。它适用于所有环境浏览器和设备。它支持c#和V.NET。它内置在Microsoft windows和windows server上。ranorex的主要组件有ranorex记录器、ranorex存储库、ranorex spy、ranorex代码编辑器和ranorex调试器。
4)。API(应用程序编程界面测试)
它是一个移动测试工具,它是开源应用软件。API查找已执行的API测试是否提供准确的结果或否。有各种类型的API测试,单位测试,功能测试,负载测试,运行时错误检测,安全测试,Web UI测试,穿透测试,模糊测试。它是在POSIX API上实现的。
移动应用程序自动化测试工具
移动应用程序的各种类型的自动化测试工具是Appium,Robotium,Monkeyrunner,UI Automator,Selendroid,MonkeyTalk,Testdroid,Calabash,Frank,Seetest
1)。安排
- 这是一个开源
- 支持Java,Ruby和其他人
- 源代码可以重用
- 兼容Android和iOS。
2)。Robotium
- 这是一个开源
- 兼容所有Android版本和颠覆版。
- 代码是用Java编写的。
3)。蒙克里克纳
- 框架或功能级测试是使用monkeyrunner完成的
- 代码用Python编写
- 特点:它一次控制许多设备,自动化可以是可扩展的,Android应用程序和硬件可以测试,自动化可以是可扩展的。
4)。UI Automator.
- 它用于使用UI测试用例测试用户界面。
- 支持各种版本的Androids
- 它可以锁定和解锁智能手机
5)。Selendroid
- 用于测试基于android的hybrid的用户界面。
- 使用selendroid写入测试用例
- 一种协议像JSON线非常兼容。
涉及自动化测试的风险
自动化测试所涉及的风险是
- 初始成本将会很高
- 自动化永远不是100%
- 自动化不固定的UI
- 时间和努力评估不正确
- 自动化工具的不兼容。
自动化测试的优势
优势自动化测试是
- 简化了测试用例的执行
- 提高了测试的可靠性
- 降低维护成本
- 测试结果是公开的
- 没有人为错误
- 节省时间和内存。
这里我们有描述软件自动化测试,其测试过程、自动化测试类型及自动化测试工具。这里有一个问题,“为什么自动化测试比手工测试更好?”