Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >作为打工人,如何正确的选择自动化测试工具(不完全指南)

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

作者头像
软测小生
发布于 2020-11-03 07:13:00
发布于 2020-11-03 07:13:00
1.1K0
举报
文章被收录于专栏:软测小生软测小生

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

自动化测试解决了QA和开发团队目前面临的最大问题之一: 迅速响应需求且保障质量的软件和服务。毕竟移动互联网时代,什么都要求快,不但要求快,质量还要稳稳的。这与曾经测试主要靠手动测试日子相差甚远;在更早的时期,软件发行普遍缓慢,许多项目因错误和缺陷的影响交付的时间。

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

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

适合的才是最好的

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

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

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

自动化工具类型

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

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、JavaPerl等不同语言的测试脚本。

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时、可以节省大量的时间和成本

Appium往期教程:

  1. Appium移动端自动化测试--基础预热
  2. Appium移动端自动化测试--搭建测试环境
  3. Appium移动端自动化测试--录制测试用例并运行
  4. Appium移动端自动化测试--使用IDE编辑并强化脚本
  5. Appium移动端自动化测试--控件定位方法
  6. Appium移动端自动化测试--元素操作与触摸动作
  7. Appium移动端自动化测试--搭建模拟器和真机环境
  8. Appium移动端自动化测试--测试用例改造
  9. Appium移动端自动化测试--capability使用和常用设备交互命令

文章合集

Selenium | Appium | Jenkins | Jmeter

软件测试方法汇总 | Postman接口参数化 | 测试用例设计 | 安卓APP抓包

视频教程

Selenium | Appium | Jenkins | Jmeter

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软测小生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
20+最好的开源自动化测试工具
这些开源工具在自动化测试和手动测试、功能、回归、负载、性能、压力和单元测试、web、移动和桌面测试等领域提供相关的能力支持。
苦叶子
2019/05/30
9.4K0
测试人员必备:常用自动化测试工具
官网:https://software.microfocus.com/en-us/products/unified-functional-automated-testing/overview
测试开发技术
2021/11/04
3.6K0
2024年最佳软件测试工具40强清单
软件测试工具是指那些支持从计划、需求收集、构建创建、测试执行、缺陷记录到测试分析等各种测试活动的产品。这些工具主要用于检测软件的稳定性、彻底性以及其他性能参数。
wangmcn
2024/04/15
1.6K0
2024年最佳软件测试工具40强清单
初识Katalon Studio自动化测试工具
实施自动化测试之前,我们总会调研哪些工具易用,免费,容易和其他工具或者框架集成。做 Web 自动化测试我们经常选择Selenium,因为它开源免费,支持不同的开发语言,还有录制功能,从一定程度上减少了测试人员开发脚本的成本;做App自动化测试我们通常选择 Appium,它也是开源免费,同时支持 Android 和 IOS 两大操作系统,支持不同的语言开发脚本,同时能测试原生和混合应用。但这两种工具需要结合其他的测试框架来管理我们的测试案例,比如Jnuit、unittes、NUnit 等,这就要求测试人员有较高的编码技能。
软测小生
2019/07/05
4.7K0
初识Katalon Studio自动化测试工具
2019年最佳自动化测试工具(前10名)
对更快地交付高质量软件或 “Quality at Speed” 的需求要求组织在敏捷、持续集成 (CI) 和 DevOps 方法中搜索解决方案。测试自动化是这些方面的重要组成部分。最新的世界质量报告 2018-2019 表明,测试自动化是实现 “Quality at Speed” 的最大瓶颈,因为它是成功实施敏捷和DevOps的推动者。
软测小生
2019/07/05
9.1K0
2019年最佳自动化测试工具(前10名)
十大自动化测试工具,你在用哪些?
近年来,随着DevOps和敏捷过程越来越广泛地被采用,软件测试、特别是自动化测试得到了迅速的发展。DevOps希望建立一个快速、频繁、可靠的一体化交付过程;敏捷则要求对交付件质量进行持续、及时、全面的反馈。软件测试作为研发过程中的重要环节,其能否达到快速响应、有效度量,实现过程自动化、系统一体化的目标,对整个组织的研发效率和产品质量将产生深远的影响。
陈哥聊测试
2021/07/29
2.1K0
Katalon Studio一款免费的自动化测试工具
自动化测试是软件测试领域一直比较火热的话题。这些年来,大家都在追求简洁、易用、稳定的方向。有一些工具能够有助于创建简单易行的脚本,但是使用起来却很麻烦。而其他相对简单一些的工具,在测试过程中又总会出现一些问题。所以在选择使用何种测试工具的时候,我们总是得此失彼。一款好的自动化测试工具可以解决以上基本问题,更何况这款工具功能强大开源免费。那么,你何乐而不为呢?
Altumn
2019/10/21
4.1K0
Katalon Studio一款免费的自动化测试工具
国内外优秀好用的自动化测试有哪些?终于整理出来了
随着自动化测试的不断发展,各种自动化测试工具五花八门眼花缭乱,测性能,测兼容,测压力,测功能,测接口纷繁复杂。今天我们主要分析的是国内外使用最多,功能相对而言更全,技术更成熟和先进的几款代表性的自动化功能测试工具的汇总分析。
顾翔
2020/09/23
3.3K0
国内外优秀好用的自动化测试有哪些?终于整理出来了
测试人员必看-做好自动化测试的7大技能
随着敏捷和DevOps等新时代项目开发方法逐渐取代旧的瀑布模型,测试需求在业界不断增长。测试人员现在正在与开发人员一起工作,自动化测试在许多方面极大地取代了手动测试。自动化测试人员的数量增长,也极大地增加了测试行业的竞争,要想在茫茫测试人员中脱颖而出,首先要掌握以下七大技能。
优测云服务平台
2019/12/31
2.4K0
测试人员必看-做好自动化测试的7大技能
ChatGPT推荐最常用的自动化测试、性能、安全测试工具!
ChatGPT是一种当前被广泛关注的人工智能技术,它具备生成自然语言的能力,能够完成一些简单的文本生成、对话交互等任务。ChatGPT 算法的出现,打破了以前自然语言处理的瓶颈,使得机器具备了更加贴合人类想法的表达能力,也让人类在处理海量自然语言数据面前得到了很大的帮助。
测试开发技术
2023/04/05
2.4K0
自动化测试实践清单
不能否认手动测试将始终保持重要地位,但对自动化测试的需求却在不断增长。自动化测试为公司和团队带来许多好处:效率更高,覆盖面更广。本文分享测试自动化策略的周期的7个阶段中的一些最佳实践,以最大限度地提高自动化测试的效能。
FunTester
2020/12/09
5270
2022 年全球十大最佳自动化测试工具
自动化测试是指运行软件程序后,自动执行测试用例并在没有任何人为干预的情况下产生测试结果。它比手动测试更优越的地方在于,很大程度上节省了人力和时间,并且在测试中没有或者少有错误。此外,还可以多次测试相同的应用程序,从而最大限度地减少冗余的手动工作。
wencheng
2022/04/18
2.4K0
2022 年全球十大最佳自动化测试工具
9款开源自动化测试框架!
自动化测试框架由一组最佳实践,通用工具和库组成,可帮助测试人员评估多个Web和移动应用的功能,安全性,可用性和可访问性。而在,软件开发世界中有很多的自动化测试框架,该如何选择?
测试开发技术
2021/12/13
3.7K0
9款开源自动化测试框架!
2020年排名前20位的最佳自动化测试工具(综合列表)
全球有4,000多家公司使用Ranorex Studio(一种用于台式机,Web和移动应用程序测试的多合一工具)。对于初学者来说,无代码的即点即用界面非常容易,但对于具有完整IDE的自动化专家而言,功能却很强大。
用户7466307
2020/06/16
3.1K0
2020年排名前20位的最佳自动化测试工具(综合列表)
2021年软件测试工具大全(自动化、接口、性能、安全、测试管理)
根据 Tricentis 主导的一项全球调查为我们提供了几个有关测试趋势的重要观察。趋势表明,团队倾向于使用功能测试(自动化测试)。
测试开发技术
2021/12/22
4.4K0
成为自动化测试的7种技能
当我开始担任手动测试人员时,我不喜欢编码。但是,当我逐渐进入自动化领域时,对我来说很清楚,如果没有对编程语言的一些基本了解,就无法编写逻辑自动化测试脚本。
FunTester
2019/10/23
7750
2020 可替代Selenium的测试框架Top15
业界有一些强大的工具可以替代Selenium,今天就来大概介绍一下。以下清单是精挑细选的Selenium替代框架:
软测小生
2020/04/02
5.2K0
2020 可替代Selenium的测试框架Top15
应用实践|自动化测试工具应用实践
在当前社会项目市场需求的场景下,项目需求不明确、项目根据市场需求的日益变化而频繁变更、项目时间短且需要快速交付给甲方,敏捷开发俨然成为了很多项目团队的不二之选,而在敏捷开发中,测试工作也是很重要的一个环节,只有通过测试的软件,才能交付到客户的手中。测试工作能在敏捷开发中确保软件质量,提高用户体验,减少软件应用过程中的风险,确保软件的合规使用,保持良好的客户关系担任了一个重要的角色。
六月暴雪飞梨花
2024/10/28
2760
应用实践|自动化测试工具应用实践
如何选择合适的自动化测试工具?
自动化测试是高质量软件交付领域中最重要的实践之一。在今天的敏捷开发方法中,几乎任一软件开发过程都需要在开发阶段的某个时候进行自动化测试,以加速回归测试的工作。自动化测试工具可以帮助测试人员以及整个团队专注于自动化工具无法处理的各自任务,但困难的部分就是选择自动化工具。事实上,测试人员最常见的问题就是,如何选择适宜的自动化测试工具?
陈哥聊测试
2022/07/07
4340
2021年软件测试领域常用工具总结(2):接口测试工具、UI测试工具
大家好,我是洋子。接口(API)测试对我们来说已经很常见了,目前很多公司都会招聘服务端测试工程师进行接口测试。因为在测试三层金字塔当中,接口测试位于中间层,做接口测试性价比较高,容易以较低成本暴露发现服务端的问题,同时也可以进行接口自动化测试,提高接口测试的效率
Bug挖掘机
2022/09/28
3.5K0
2021年软件测试领域常用工具总结(2):接口测试工具、UI测试工具
相关推荐
20+最好的开源自动化测试工具
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档