醒醒吧,这才叫自动化测试最全教程,看完可就业!

2023-12-14 18:19:38

最近看到很多粉丝在后台私信我,叫我做一期自动化测试的教程,其实关于这个问题,我也早就在着手准备了,我录制了一整套完整的Python自动化测试的教程,都上传在网盘里,大家有兴趣的可以去看一下!

一、自动化测试概念
Python自动化测试就是把以前人为测试转化为机器测试的一种过程。自动化测试是一种比手工测试更快获得故障反馈的方法。

随着时代的变革,也许在未来测试这个职位的需求会越来越少甚至消失,但是每一个组织,每一个客户对软件质量的要求是永远不会消失的。我们需要做的就是打造属于自己的核心竞争力,与时代同行。

自动化测试是一种质量保障的方式,最重要的还是以做好一款高质量产品为前提。测试工作很多时候就是在不断平衡质量、效率、驱动业务这三者之间的比例和深度。根据不同的业务阶段、不同的目标、当前的关键事件驱动,在质量、效率、驱动业务上不断地调整策略和战术。
?

二、自动化测试分类
按照测试目的分为:功能自动化,性能自动化

按照测试对象分为:Web应用测试,APP测试,接口测试,单元测试等。

功能自动化:

测试目的是发现软件中实现功能是否符合需求规格,比较大的误区是很多人以为是针对用户界面功能是否满足需求来进行测试的,其实不然,功能自动化的测试入口点有很多,不能讲思维局限于用户界面,而是应该放在软件系统的各个组成部分。

实践证明,基于系统UI的自动化测试只能发现软件中极少的缺陷,往往实施UI自动化测试的目的不是去发现软件系统中的缺陷,更多是为了验证系统是否可以正常运行。

除了可以基于UI进行自动化测试,还可以基于网络服务接口提供者进行测试,比如Grpc服务,Webservice接口,Restful等,基于接口进行功能测试较为常见,也是非常有效的手段。

另外还可以基于系统基础代码进行测试,比如单元测试,集成测试阶段,这一阶段的测试也称白盒测试,我们可以直接对DAO、Service服务进行测试,这里常用的测试技术包括Junit,TestNG,Mock,Stub等

性能自动化:

性能自动化测试是通过测试工具模拟高并发负载进行压力测试,以发现软件系统在高负载情况下运行瓶颈,这里系统瓶颈包含多个部分,应用程序本身的性能瓶颈、网络瓶颈,服务器硬件资源瓶颈(CPU,MEM,DISK),数据存储服务器等,这一测试活动通常唯有借助自动化测试工具来完成,常见的性能测试工具有Loadrunner,Jmeter,Mgrinder,Gatling等,不管哪一款测试工具,基本有三大部分组成:测试脚本管理,测试场景配置,监控结果。

与功能自动化类似的是,性能测试工作对象也可以面向用户UI层,或者服务接口提供方,甚至可以直接面向底层基础业务逻辑层,绝大多数通过用户层进行性能测试模拟的是最接近真实用户场景的测试,也是性能测试必然实施的阶段,另外面向接口的性能测试也是发现系统性能瓶颈很有效的阶段,应当结合实际工作需求有选择性的开展。

三、自动化测试入门的7大步骤
1.制定测试计划

在开展自动化测试之前,最好有个测试计划,明确测试对象,测试目的,测试的项目内容,测试的方法,测试的进度要求,并确保测试所需的人力、硬件、数据等资源都准备充分。制定好测试计划后,下发给用例设计者。

2.分析测试需求

用例设计者根据测试计划和需求说明书,分析测试需求,设计测试需求树,以便用例设计时能够覆盖所有的需求点,一般来讲,基于Web功能测试需要覆盖以下几个方面:

1)页面链接测试,确保各个链接正常

2)页面空间测试,确保各个控件可靠

3)页面功能测试,确保各项操作正常

4)数据处理测试,确保数据显示准确、处理精度可靠

5)模块业务逻辑测试、确保各个业务流程畅通

3.设计测试用例

通过分析测试需求,设计出能否覆盖所有需求点的测试用例,形成专门的测试文档,由于不是所有的测试用例都能用自动化来执行,所以需要将能够执行自动化测试的用例汇总成自动化测试用例。必要时,要将登录系统的用户、密码、产品、客户等参数信息独立出来形成测试数据,便于脚本开发。

4.搭建测试环境

自动化测试人员在用例设计工作开展的同时即可着手搭建测试环境,因为自动化测试的脚本编写需要录制页面控件,添加对象。测试环境的搭建,包括被测试系统的部署、测试硬件的调用、测试工具的安装盒设置、网络环境的布置等。

5.编写测试脚本

根据自动化测试用例和问题的难易程度,采取适当的脚本开发方法编写测试脚本,一般先通过录制的方式获取测试所需要的页面控件,然后再用结构化语句控制脚本的执行,插入检查点和异常判定反馈语句,将公共普遍的功能独立成共享脚本,必要时对数据进行初始化。当然还可以用其他高级功能编辑脚本,脚本编写好了之后,需要反复执行,不断调试,直到运行正常位置。脚本的编写和运行要符合管理规范,以便同一管理和维护。

6.分析测试结果,记录测试问题

应该及时分析自动化测试结果。如果采用开源自动化测试工具,建议对其进行二次开发,以便与测试部门选定的缺陷管理工具紧密结合。理想情况下,自动化测试案例运行失败后,自动化测试平台就会自动上报一个缺陷,测试人员只需每天抽出一定的时间,确认这些自动上报的缺陷,是否是真实的系统缺陷。如果是系统缺陷就交给开发人员修复,如果不是系统缺陷,就检查自动化测试脚本或者测试环境。

7、选择测试工具

每种类型的工具或框架都可以满足不同的需求,因此,对多种工具类型有透彻的了解也是选择最佳工具的重要因素。

1)WEB自动化测试工具

Selenium
Appium
Robot Framework
Airtest
Cypress
...
2)接口自动化

Jemeter
Postman
python+Requests
SoapUI
HttpClient
3)单元测试工具

JUnit
TestNG
unittest
pytest

四、怎么选择测试框架?这里有一些标准可参考:
相对快速和方便设置(或开箱即用的解决方案)
支持社区或开发者自己可以为其框架提供支持
有清晰而全面的文档
与其他工具充分集成
有一些很酷的功能,例如代码可重用性支持在多个平台和环境进行测试
五、自动化测试的工作日常
自动化测试主要是使用工具,利用代码自动的执行测试用例。这种方法主观因素较少,对就是对,错就是错,并不会因为测试人员主观的因素影响测试结果。而且除去编写自动化脚本的时间,进行自动化测试的时候,效率高,节省了测试人员的时间。而且在做版本的回归测试的时候,自动化测试占明显优势。而且自动化测试工程师的工资真的比功能测试工程师的薪资强太多了

?

六、为什么要向自动化测试方向发展?
手工测试可替代性太强。只要你会分析需求,只要会编写测试用例,就可以进行手工测试,而且3年的手工测试和5年的手工测试并没有什么大的区别,企业在招聘的时候更倾向于3年的应聘者,因为3年和5年的手工测试,工作能力差不多,3年的手工测试该会的都已经会了,并且3年的应聘者的期望薪资要低于5年的应聘者,所以手工测试的工作时间越长反而越没有竞争优势。

反观自动化测试,需要有一定的代码基础和逻辑思维能力,及随时处理脚本编写过程中的各种问题的能力,这个随着工作经验的增长,各种能力也会随之增长,所以说经验越丰富的自动化测试工程师越吃香。

七、进阶自动化,需要做什么?

如果我们想向自动化测试方向发展,需要做什么?

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助

文章来源:https://blog.csdn.net/2301_77645573/article/details/134999238
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。