写点什么

作为打工人,如何正确的选择自动化测试工具(完全指南)

用户头像
软测小生
关注
发布于: 2020 年 10 月 30 日
作为打工人,如何正确的选择自动化测试工具(完全指南)

为什么自动化测试很重要?



自动化测试解决了QA和开发团队目前面临的最大问题之一: 迅速响应需求且保障质量的软件和服务。毕竟移动互联网时代,什么都要求快,不但要求快,质量还要稳稳的。

这与曾经测试主要靠手动测试日子相差甚远;在更早的时期,软件发行普遍缓慢,许多项目因错误和缺陷的影响交付的时间。



另外,以我的理解:自动化并不可能完全替代手工测试,两者并不是对立的,而是相辅相成,自动化一定程度上依赖手工测试,并在手工测试的基础上发挥着更大的价值和作用,这也是技术的升级带来的变革。



自动化测试,事情都交给代码和机器,释放双手,真正的自动化运行的时候人工干预少,在对被测程序进行的重复测试中就显得更加可靠和快速,不会因为个体人为的意愿发生更改,比如人还会出现粗心,疲劳等。此外,自动化测试允许在多个硬件、软件和配置上运行;毫无疑问,这在时间、成本和工作方面带来了更高的投资回报(ROI)。



为了更好地理解测试自动化的许多好处,请查看这篇文章: 如何从0到1开始自动化测试?



适合的才是最好的

选择最适合的自动化工具,而不是业界最受好评的自动化工具。



当你开始一个项目时,要选择一个适合项目的工具不是件容易的事情。你应该知道这一点:业界最受好评的工具并不一定适合你的项目。因为并没有万能的自动化测试解决方案,关键还得根据团队规模、项目需求、项目预算、团队成员的技术基础以及时间限制为你的测试项目找到最合适解决方案。



项目测试的成功依赖于这些因素,选择一个不符合项目需求的工具,或者说选择一个团队成员都不擅长操作的工具,将会导致时间、精力和资源的浪费。



自动化工具类型

自动化测试工具有三种类型:



No.1 开源自动化测试工具



开源工具是一种免费的平台,它的源代码公开发布,并可以对其原始设计进行修改。这些工具比商业工具的功能更少,有的甚至更不稳定,但关键是不收取费用,经济成本低。通常,测试人员都会选择开源,会将其用于测试过程的任何阶段,包括bug跟踪、修复和测试用例管理等。



No.2 商业自动化测试工具



商业工具是专门为商业盈利目的而设计的自动化测试工具。它们通过订阅计划(按月或按年)发布。商业收费工具一般都会为客户提供的技术解决方案,支持和维护比较友好。

通常,一个可靠的商业收费自动化工具,会提供全面的客户服务,可以为客户提供指导:如何使用软件,并及时解决技术问题。



No.3 定制(自研)自动化测试工具



在某些特定的项目中,当没有开源工具或商业工具满足公司项目的需求时,就需要根据需求(如特定的环境/流程或专门的硬件)专门定制开发一套测试工具或者框架。当然,这实施起来的难度必然是也比前两个工具要高出很多,开发投入就是需要大量的人力和时间成本的,但是又说回来,能够花这么大成本去自研一套工具的系统,必定是很有价值的系统。



要了解自动化测试的类型,请参阅这篇文章: 自动化测试的类型:初学者指南。



如何选择正确的自动化工具



选择自动化工具有三个基本标准,如下:



1、确定项目需求



决定着整个项目的成败最终还是质量,选择自动化测试工具的第一步是确定需求,测试人员需要了解测试的深度和范围。



在此阶段我们需要考虑最基本的两点:



  • 一是被测系统的类型;



  • 二是项目的范围(项目是否需要重复测试? 是否需要大模拟用户? 被测系统是否趋于稳定? );



在选择自动化工具时考虑到这些才能将工具的最大价值发挥出来,物尽其用。



2、测试人员技能水平(编程)



自动化测试需要更高的技能要求,比如,一些自动化测试编写用例需要编程基础,但并不是所有的测试人员都拥有这些技能,或者说现有的测试人员去掌握这项技术的难易程度以及时间成本,都要有了解和评估,只有清楚自己团队成员的技术能力水平能够更好的选择一款适合的工具。



你所属测试团队的优劣势是什么? 这个问题有利于评估团队的专业知识;试想,如果团队的每个人都会使用这个工具,是不是更有利于测试工作的开展。



比如:如果一个测试团队都是没多少编程经验的人,选择了一个开源的测试工具Selenium来做WebUI自动化测试,需要大量的时间去学习Selenium 的API和相关属性,会加大时间和人力成本;相反如果选择商业收费工具的话,有专门的支持和培训指导,对于工作的开展是不是就事半功倍了?



3、评估自动化测试工具和技术支持



你选择的测试工具在适用性,学习难度;测试脚本的开发和管理,脚本的维护,脚本是否可重用等等,以减少人力和时间成本。

  • 是否支持多平台;

  • 是否支持多语言;

  • 是否支持CI/CD集成;

  • 是否输出测试报告以及报告的可读性;



当然只有商业工具有技术支持,以及工具使用培训教程;对于开源工具,拥有源码以及官方文档,同时可以依靠社区以及各大论坛来获得帮助。



接下来要做的就是寻找符合上述标准的完美工具,分为三个步骤:

  • 第一、根据需求分析市场上的工具(开源的和商业的)

  • 第二、拟定最佳候选名单

  • 第三、最佳方式就是试用一下该工具,并简单的基于实际业务做一个Demo,供团队一起讨论投票选择



业界最受好评的测试工具



1、Katalon Studio:

Katalon Studio 是一款免费的自动化测试工具,可以安装在windows、macOS、linux操作系统上,基于selenium 和 Appium 测试框架,并集成了这些框架的优点。这个工具支持不同层次技能的测试开发人员使用,有很少编码经验的测试人员也可以很快的上手一个自动化测试项目,编码经验丰富的测试人员可以基于该工具做扩展,灵活的实现所需功能。



Katalon Studio 是一个采用了 Selenium 为核心引擎的自动化测试解决方案。尽管它运用了一些 Selenium 的功能, 但是它不仅仅只是简单的将 Selenium 进行包装。Katalon Studio 支持Web类型的自动化测试,它同时可以管理页面元素、测试数据、测试案例、生成自动化测试报告,只需要使用 Katalon Studio 一个测试工具,就可以完成整个自动化测试流程。



2、Selenium:

是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。



3、Appium:

是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。

  • “移动原生应用”是指那些用iOS或者 Android SDK 写的应用(Application简称app)。

  • “移动web应用”是指使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome)。

  • “混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。



重要的是,appium是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性。



4、TestComplete:

TestComplete为Windows、.NET、Java和Web应用程序提供了一个特性全面的自动测试环境。将开发人员和QA部门人员从繁琐耗时的人工测试中解脱出来。 TestComplete测试具有系统化、自动化和结构化特性,支持.NET,Java,Visual C++, Visual Basic, Delphi, C++Builder 和web应用程序。



5、UFT (Unique Functional Testing):

UFT主要应用于:功能测试、回归测试、service testing。

使用UFT、你可以在网页或者基于客户端PC应用程序上、自动模拟用户行为、在不同windows操作系统以及不同的浏览器间、为不同的用户和数据集测试相同的动作行为。当有计划并且适当的方式使用UFT时、可以节省大量的时间和成本



发布于: 2020 年 10 月 30 日阅读数: 124
用户头像

软测小生

关注

微信公众号:软测小生 2019.10.24 加入

分享软件(自动化)测试相关的技术和学习资源,内容不定时更新,包括但不限于功能、接口、自动化、性能、安全、测试开发、测试框架搭建等。 与小生一起学习交流,一起进步吧。

评论

发布
暂无评论
作为打工人,如何正确的选择自动化测试工具(完全指南)