▼▼▼
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。 自动化测试就是让被测试的软件自己运行起来,执行软件的功能;或者就是让其他的工具自己运行起来,去检查软件的内部和外部。
▼▼▼
首先要说的就是自动化测试的学习步骤
做好手工测试(了解各种测试的知识)-> 2. 学习编程语言-> 3. 学习Web基础-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架。
了解学习步骤之后,我们来了解一下学习的技能有哪些?
1、理论知识方面
自动化测试的意义:就是要了解,为什么要进行自动化测试?
自动化测试的分类,以及各自的优缺点;
测试金字塔;
测试四象限;
网络协议:特别是HTTP/HTTPS协议(自动化接口测试一定会用到);
Web服务交互方案:了解RESTFul和SOAP;
前端相关知识:HTML/CSS,Javascript(要了解一点,不必精通),了解Ajax,JSON,XML;
正则表达式;
2、操作技能方面
LINUX的Shell操作;
MySQL的SQL操作:特别是DML的部分,如增删改查的用法,在自动化测试过程中需要进行数据准备和数据验证的时候,一定会用到;
各种浏览器查看Web网络报文(Firefox、Chrome)
3、工具使用方面
Robotframework
Selenium、WebDriver
Appium
QTP
Watri
4、语言
LINUX的Shell操作;
MySQL的SQL操作:特别是DML的部分,如增删改查的用法,在自动化测试过程中需要进行数据准备和数据验证的时候,一定会用到;
各种浏览器查看Web网络报文(Firefox、Chrome)
Robotframework
Selenium、WebDriver
Appium
QTP
Watri
Python
Ruby
VBScript
自动化测试容易出现的误区
▼▼▼
1、自动化的软件测试与手工的软件测试过程一样
自动化测试所需要的技巧与手工测试所需要的技巧是不一样的。通常,你的项目经理会被那些测试工具销售们迷惑,认为自动化的软件测试就是简单地按一个录制的按钮,产生测试脚本。而事实上并没有那么简单。分自动化测试所需要的技巧与手工测试所需要的技巧是非常重要的。最重要的是,自动化测试工程师需要掌握软件开发技巧,没有接受任何培训的手工测试人员,或者没有编程背景的手工测试人员,在实施自动化测试时会碰到很多困难。
2、测试自动化就是录制和回放
仅仅录制得到的不是有效的自动化脚本。很多项目经理仍然把测试自动化等同于使用录制回放工具。而事实上,录制得到的脚本通常是不可重用的脚本,脚本中充满了硬编码的值,这些值应该被参数化,否则脚本仅仅适用于一个测试情况,脚本还应该加入条件判断、循环等结构,以便增强测试脚本的灵活性。
3、自动化测试找不到bug
自动化测试不直接找bug,而是通过解放有经验的测试工程师的生产力,让其从重复的回归测试中解放出来,从事新的测试方法和测试手段的研究。通过自动化测试解放出测试人员的时间和精力来间接地找到更多、更深层次的新bug,将产品质量再提高一个档次。
4、自动化测试工具是“万能”的
很多人一听到自动化测试,就认为自动化测试工具可以完成一切测试工作,从测试计划到测试执行再到测试结果分析,都不需要任何人工干预。显然,这是一种理想状态,现实中还没有哪个测试工具有这个能力,并且将来也不会有。在现实中有关的测试设计、测试案例,以及一些关键的测试任务还是需要人工参与的,即自动化测试是对手工测试的辅助和补充,它永远也不可能完全取代手工测试。
其实关于软件自动化测试的误区和注意点还有很多,有机会再给大家详细说明!
▼▼▼
工具插件是我们在从事软件测试工作和学习中一个很好的辅助,如果对于工具的使用得当甚至可以起到事半功倍的效果喔!
▲▲▲
给我工具,我全要
1. selenium
selenium是所有Web自动化测试工具中的首选列表,显然,selenium是一种出色的开源自动化测试工具,目前市场上可以访问。凭借大量的编程语言,测试系统,操作系统和浏览器,Selenium已经在自动化工具市场上享有盛誉。
强大的Selenium WebDriver支持测试工程师执行更高级和复杂的自动化脚本。它可以帮助您为探索性测试,回归测试和快速错误再现制作极其引人注目的测试脚本。
2. Testim.io
Testim.io使用人工智能技术进行创作,执行,维护,故障排除,报告以及更多自动化测试用例。它不仅仅是一个工具,而是一个涵盖自动化测试几乎所有主要因素的平台。随着动态定位器概念的出现,他们集中了更多的测试类型,例如,测试,功能测试和UI测试。
您可以利用其动态定位器并学习每次执行。结果是过于快速的创作和坚决的测试,学习,因此,需要不断地直接测试每个代码更改。Wix.com,Netapp,Verizon Wireless和其他公司正在使用Testim.io进行超过300,000次测试。
testim.io工具可以运行Firefox,Chrome,Edge,IE和Safari浏览器。Testim.io增强了测试套件的稳定性和可扩展性。此外,它还为组织和团队提供了多功能性,以增加使用HTML和JavaScript实现复杂编程逻辑的平台的功能。
该工具进一步鼓励组织加快产品上市时间,并在传统安排的少量时间内实现卓越的质量。
3. TestComplete
TestComplete是一款SmartBearproduct,一款用于网络,移动和桌面测试的惊人的商业自动化测试工具。TestComplete还可以与SmartBear提供的其他产品顺利集成。
它允许测试人员执行数据驱动和关键字驱动的测试,还包括易于使用的可视记录和回放功能。
TestComplete拥有一个对象识别引擎,可以正确识别动态用户界面组件。它的引擎在具有动态和不断发展的用户界面的应用程序中特别有价值.TestComplete的GUI对象识别减少了随着AUT更改而控制测试脚本所需的麻烦。
测试工程师可以直接应用TestComplete的记录和回放功能,如Katalon Studio。他们可以将检查点纳入测试级别以确认结果。
更重要的是,它支持不同的脚本语言,如C ++ Script,JavaScript,Python和VBScript。
4. QMetry Automation Studio
QMetry自动化工作室是AI授权的QMetry数字质量平台的一部分,是最广泛的软件质量系统中的佼佼者,允许在一个套件中进行测试自动化,测试管理和质量分析。
QMetry Automation Studio是一个基于Eclipse IDE和主要开源系统的主要软件自动化工具 - Appium和Selenium。
该工具为自动化工作提供了效率,结构和可重用性。该工作室采用编码自动化支持先进的自动化程序,并通过其无脚本自动化策略使手册组能够完美地转变为自动化。
此外,对于测试创作,此自动化工具通过支持移动本机,Web,微服务和Web服务元素,为Omnichannel,多语言环境和多设备情况提供组合解决方案。这鼓励数字化努力沿着这些方向扩展自动化,消除对特定用途工具的需求。
5. 机器人框架
这是一个开源自动化系统,执行接受测试驱动开发(ATDD)和验收测试的关键字驱动方法。该框架是独立于应用程序的操作系统。主要结构是使用Python实现的,并且在IronPython(.NET)和Jython(JVM)上运行。
Robot Framework为各种测试自动化需求提供了框架。通过使用Java和Python执行其他测试库,可以进一步扩展其测试能力。Selenium WebDriver是Robot Framework中使用的主流外部库。
Robot Framework也是Selenium用于连续测试的最着名的框架之一。此外,测试专业人员可以使用Robot Framework作为Web测试以及iOS和Android测试自动化的自动化系统。对于理解关键字驱动测试的测试工程师来说,这个工具一点都不难学。
6. Watir
Watir也是一个开源测试框架,用于依赖于Ruby库的Web自动化测试。该工具可帮助进行跨浏览测试,包括Opera,Firefox,无头浏览器和IE。它还支持数据驱动的测试,并与诸如Cucumber,RSpec和Test / Unit等BBD工具结合使用。
通过与CI工具和黄瓜等系统集成,Watir使您能够在持续交付生命周期或DevOps中实现测试目标。
但Watir测试自动化工具仅限于Web应用程序,仅在Windows上运行,并专注于执行简单易用的测试。
7. Ranorex
Ranorex Studio提供各种测试自动化工具,包括测试所有Web,桌面和移动应用程序。此外,此工具在Android和iOS小工具上都非常有效。
根据这种自动化工具,超过14,000项承诺,他们已经表明了他们的决心。由于众多知名IT企业依赖于Ranorex Studio工具进行测试,因此该设备已成为业务中的通用名称。
使用Ranorex Studio,您可以在通信中运行测试,并激发针对Firefox,Chrome,Microsoft Edge,Safari等的跨浏览器测试。
该工具也可以有效地与ERP和SAP软件包配合使用,它可以依靠数据和云服务器分别在本地和远程运行测试。此外,通过使用此工具,公司及其团队将浪费更少的时间来解决不稳定测试的问题更多时间评估申请条件。
8. SoapUI
这是一个用于Representational State Transfers(REST)和面向服务的体系结构(SOA)的开源Web服务测试工具。它允许自动负载测试,自动功能测试和一致性测试。该工具还具有模拟和模拟特征以及Web服务研究。
SoapUI不是用于移动或Web应用程序测试的测试自动化应用程序; 但是,它也可能是测试API和服务的首选设备。它是一种无头功能测试应用程序,尤其适用于API测试。
该工具为API测试提供了相当全面的功能集,如拖放,点击测试生成,异步测试,数据库和文件的强大数据驱动测试,脚本重用等。
9. 卡塔隆工作室
Katalon Studio是一款适用于移动,Web应用程序和Web服务的强大测试自动化工具。该工具以Selenium和Appium系统为基础,利用这些系统实现集成软件自动化。
该平台有助于提供独特的测试能力。非开发人员甚至可以找到简单的工具来开始自动化测试,例如利用Object Spy来记录测试脚本,而高级自动化测试人员和软件工程师可以节省开发新库和维护脚本的时间。
Katalon Studio可以集成到CI / CD程序中,并且可以与QA程序中的主要设备(包括JIRA,qTest,Jenkins和Git)相媲美。它提供了一个名为Katalon Analytics的优秀组件,通过包含图表,指标和图表的仪表板为用户提供测试执行报告的整体视角。
10. HPE统一功能测试
统一功能测试(UFT)已经成为功能测试的商业测试系统的标准,包括支持任何平台上的应用程序的API,GUI和Web测试的功能。
最后: 欢迎大家关注公众号:【程序媛木子】,领取一份300页pdf文档的Python自动化测试工程师核心知识点总结!
公众号里大部分资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果你测试中有许多的困惑,那么我创建的软件测试技术交流群将会是你接触良师益友的有益社区,同行或许可以给你带来一些实际性的帮助与突破。Q群:1125939340 你也想知道同行都在怎样致富吧!