前言
测试行业现在70%是以手工测试为主,那么只有20%是自动化测试,剩下的10%是性能测试。
有人可能会说,我现在做手工,我为什么要学自动化呢?我去学性能更好性能的人更少?
其实,性能的要求比自动化要求更高,那个是更高级别的了。
现在看一下手工测试工作,只有那么多,70%。但是每年的应届生却在增加。那么,你是想通过手工测试来挑战高薪吗?
根据国内普遍现象来看,手工测试的薪资没有后两者的高,这是不争的事实,后两者更具有难道和挑战。
绝大多数的情况下啊,没有绝对的啊,如果说你说你那个自动化刚工作的没有,我这个手工测试工作了4 5年的,那当然没有可比性。
视频教程:【腾讯35k大佬手写web自动化测试框架教程 涵盖框架源码+视频教程以及搭建流程】
一、 什么是web自动化测试?
就是网页自动化测试。通过软件对web对象进行输入数据,单击等操作,比较预结果和实际结果,包括测试报告。
二 、Web自动化测试原理
通过调用IE COM接口和HTML DOM ,用自动化测试工具对IE浏览器以及WEB测试对象的操作。自动化测试框架可以操作Web中的控件,模拟用户输入,点击等操作,实现Web自动化测试。
关于前端自动化测试可以在几个方向进行尝试:
界面回归测试
前端测试最基础的环节,测试界面是否正常;
功能测试
由于涉及交互,这部分测试比界面测试会更复杂,测试功能操作是否正常,;
性能测试
页面性能越来越受到关注,并且性能需要在开发过程中持续关注,否则很容易随着业务迭代而下降;
页面特征检测
有些动态区域无法通过界面对比进行测试、也没有功能上的异常,但可能不符合需求。
三 、如何选择web自动化测试工具?
就像是编程语言等互联网技术百花齐放一样,WEB自动化测试工具也是多种多样的,那么作为自动化测试的初学者如何去选择自动化测试工具呢?
选择的标准如下:
1、适合自己产品需要自动化测试代替的需求
2、要有技术讨论或者直接沟通解决的渠道(论坛、技术交流群)
3、要有稳定运行的能力
4、工具提供商具有持续开发的能力
5、显著提高测试效率
6、支持主流的编程语言(Java、Python)
7、支持主流浏览器(谷歌、IE、火狐等)
四、 web自动化测试工具有哪些?
Selenium
SELENIUM 家族成员有:SELENIUM, SELENIUM RC, SELENIUM IDE, SELENIUM CORE, SELENIUM GRID 和 SELENIUM ON RAILS。
Selenium可能是Web应用程序最流行的开源测试自动化框架。 Selenium始于二十一世纪,经过十多年的发展,已成为Web自动化测试人员的首选自动化框架,尤其适用于拥有高级编程和脚本编写技能的人员。 Selenium已成为其他开源测试自动化工具的核心框架,如Katalon Studio,Watir,Protractor和Robot Framework。
Selenium支持多种系统环境(Windows,Mac,Linux)和浏览器(Chrome,Firefox,IE和Headless浏览器)。 它的脚本可以用各种编程语言编写,如Java,Groovy,Python,C#,PHP,Ruby和Perl。
虽然测试人员可以灵活地使用Selenium,他们可以编写复杂的高级测试脚本来满足各种复杂程度,但它需要高级编程技能和工作来构建自动化框架和库以满足特定的测试需求。
WATIR
WATIR另一个在国外非常流行的自动化测试框架, WATIR 是 WEB AUTOMATION TESTING IN RUBY的缩写, Bret Pettichord 是这个开源项目的主要开发人员, 相信大家读过他的著作《Lessons learned in Software Testing》。 经过一段时间的开源开发, 现在BRET 和他的合伙人PETE开一家公司叫WATIR CRAFT, 提供商业支持但是不能提供特殊的商业支持和功能, 就WATIR 的功能吧, WATIR 一开始只可以在WINDOWS 上运行,而且只可以测试IE, 不过现在好象是可以测试FIREFOX 和 SAFARI 了。WATIR 只可以用RUBY 来写。
Katalon Studio
Katalon Studio是一款功能强大的测试自动化解决方案,适用于Web应用程序,移动和Web服务。 基于Selenium和Appium框架构建,Katalon Studio利用这些解决方案实现集成软件自动化。
该工具支持不同级别的测试技能。 非程序员可以轻松地启动自动化测试项目(比如使用Object Spy来记录测试脚本),而程序员和高级自动化测试人员可以节省构建新库和维护脚本的时间。
UFT
统一功能测试(UFT)是一种众所周知的功能测试商业测试工具。 它为跨平台的桌面,Web和移动应用程序的API,Web服务和GUI测试提供了全面的功能集。 该工具具有先进的基于图像的对象识别功能,可重复使用的测试组件和自动化文档。
UFT使用Visual Basic Scripting Edition来注册测试进程和对象控制。 UFT与Mercury Business Process Testing和Mercury Quality Center集成在一起。 该工具通过与Jenkins等CI工具集成来支持CI。
IBM Rational Functional Tester
IBM RFT是一个用于功能和回归测试的数据驱动测试平台。 它支持广泛的应用程序,如.Net,Java,SAP,Flex和Ajax。 RFT使用Visual Basic .Net和Java作为脚本语言。 RFT具有称为故事板测试的独特功能,其中用户对AUT的操作通过应用程序屏幕截图以故事板格式记录和可视化。
RFT的另一个有趣特性是它与IBM Jazz应用程序生命周期管理系统(如IBM Rational Team Concert和Rational Quality Manager)的集成。
Dragontesting
Dragontesting(龙测)是基于测试+AI的产品线涵盖Web、手机App应用(安卓/苹果)、微信小程序/公众号、PC应用,采用全球领先的测试代码生成器技术,突破“手工编写测试代码”的难点,实现了业务流程的全覆盖、路径自动分析、快速生成基于UI的测试代码、自动运行并生成测试报告等功能,达到快速、高效、低成本的测试目的。通过搭积木图,自动生成流程图,代码测试用例一键生成,显著提高了测试效率,一些大公司像东软集团、红星美凯龙、中国电信等也在使用。
TestComplete
SmartBear的TestComplete是一个功能强大的商业测试工具,适用于Web,移动和桌面测试。 TestComplete支持各种脚本语言,如JavaScript,VBScript,Python和C ++ Script。 与Katalon Studio一样,测试人员可以使用TestComplete执行关键字驱动和数据驱动的测试。 该工具还提供易于使用的录制和播放功能。
与UTF一样,TestComplete的GUI对象识别功能可以自动检测和更新UI对象,这有助于减少AUT更改时维护测试脚本的工作量。 它还在CI过程中与Jenkins集成。
五 、自动化工具和自动化框架的联系。
自动化工具是什么,就是你自动化的工具,就比如你烧饭的工具就叫厨具,你画画用的笔就叫画笔(工具),你吃饭用的就叫吃饭工具。
自动化工具,比如QTP,Loaderunner,各种公司自己研发的工具。
自动化框架呢,就是一个架子,你可以朝里面面填写一些东西,之后,就成了一个自动化工具。
打个比方,自动化框架robotframework,加上selenium2library,就是一个工具了,怎么使用又是另一回事了。
【简单一句话,自动化框架只是一个自动化工具的构成,类似骑车的车架子。等同于说把别人框架学会了就如下图所示】