Python自动化测试入门必读(最新)
入门自动化测试必读
自动化测试概念
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
好处
自动化测试可以替代大量的手工机械重复性操作,测试工程师可以把更多的时间花在更全面的用例设计和新功能的测试上;
自动化测试可以大幅提升回归测试的效率;
自动化测试适合在非工作时间执行测试,工作时间分析失败用例;
自动化测试可以高效地实现某些手工测试无法完成或者代价巨大的测试类型,比如关键业务 7×24 小时持续运行的系统稳定性测试和高并发场景的压力测试等;
自动化测试能够保证每次测试执行的操作以及验证的一致性和可重复性,避免人为想当然的遗漏或疏忽,例如:这个功能之前运行都是OK的,这次我就可以不测试了,结果这次悲剧却发生了。
弊端
自动化测试比较脆弱,无法快速的应对软件的需求变化。
自动化测试初期效率往往不高,开发自动化测试用例的成本比手工测试成本高很多。
优秀的自动化测试工程师薪酬很高,加大了企业的人员成本。
本质
编程测试,即编写一个程序测试另一个程序。所以,编写自动化测试用例属于开发工作,需要测试人员投入大量的时间和精力。当后期产品的页面元素和业务发生变化时,还需要付出维护自动测试脚本的成本。
过程
通常自动化测试的开发过程如下:
录制脚本>修改录制脚本>回放脚本>查看报告
入门自动化测试都是从录制脚本开始的,录制脚本就是在手工操作软件的时候,你的操作过程被自动化测试工具完整的记录了下来,然后工具把这一系列动作转化成与其对应的API。优秀的自动化测试工具都有自己的录制脚本工具,例如,Web
UI自动化测试的代表性工具Selenium就使用Katalon Recorder或者Selenium IDE进行脚本录制工作。
录制的脚本往往都不够稳定,我们在实际工作中要对录制的脚本进行修改,即二次开发。
回放脚本的过程就是运行在录制过程中录制工具生成的测试脚本。
自动化脚本运行完毕后会生成测试报告,以便于我们查看自动化测试脚本运行的实际情况。
自动化测试与手工测试对比投资回报率
从下图中可以看到,从第6次回归测试以后,自动化测试回报率开始显现(第6次是个经验值)。

适合做自动化测试的项目
(1) 软件需求变动不频繁;
自动化测试最怕的就是需求不稳定,需求的频繁变更会导致自动化测试用例的维护成本直线上升。刚刚开发完成的脚本可能因为产品页面的变化和业务的变化,不得不重新开发。因此自动化测试要从需求稳定的功能模块入手。
(2) 项目周期足够长,需要频繁执行回归测试;
开展自动化测试要选择产品生命周期足够长并有多个持续版本发布计划的项目,通常在有6次回归测试以上的项目中自动化测试的优势才会大于手工测试。
(3) 需要在多个平台上重复执行相同测试的场景。
如果你公司的产品符合如下需求,那么投入自动化测试会带来良好的收益。
产品支持多浏览器;
移动端应用需要在近千台手机中运行;
对于一些企业级软件,如果对于不同的客户有不同的定制版本,各个定制版本的主体功能绝大多数是一致的,可能只有个别功能有轻微差别。
(4) 无法通过手工实现或者手工实现成本过高的项目
通常在执行关键业务 7×24 小时持续运行的系统稳定性测试和高并发场景的压力测试时必须使用自动化测试,因为人工测试几乎不可能完成测试任务。
不适合做自动化测试的项目
除了需求变动频繁、项目周期短这种典型的不适合做自动化测试的项目,在以下列举的体验类的项目中也不适合做自动化测试,包括:
视频体验、美观体验、声音体验、易用性体验和多用户交互体验。
关于自动化测试入门的一些点就跟大家聊到这里了,如果有喜欢的可以关注我的头条号,里面有更多关于Python自动化测试的视频学习资料!
如果你
①从事功能测试,想进阶自动化测试
②在测试界混了1、2年,依然不会敲代码
③面试大厂却屡屡碰壁
我邀你进群吧!来吧~~测试员,313782132(Q群里有技术大牛一起交流分享,学习资源的价值取决于你的行动,莫做“收藏家”)获取更多大厂技术、面试资料
如果对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,可以关注微信公众号:【伤心的辣条】,获取软件测试工程师大厂面试资料!
最后:
凡事要趁早,特别是技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。
Python自动化测试入门必读(最新)的更多相关文章
- 这五本Python急速入门必读的书,送给正在学习Python的你!
书籍是人类进步的阶梯,这句话从古至今都是适用的.为什么会这么说呢?书籍,它记录了人们实践的经验,这些经验有助于我们快速的学习,对于编程学习来说也不例外,今天就给大家带来了以下的书籍干货,希望能够帮助到 ...
- Python自动化测试入门
在当前自动化测试中,最火的语言就是Python,很容易上手.然后就是Java+testng+appium做的UI自动化测试.下面我们就用Python脚本,做自动化集成测试. (1)获取APK文件中ID ...
- Python自动化测试入门科技树
Python基础: 入门语法和数据类型: 编码环境安装基本语法 常用数据类型 常用运算符 Llist.Tuple.Dict.if&for.while Python进阶: 函数: 语法 内置函数 ...
- python自动化测试入门篇-jemter连接mysql数据库
jmeter对数据库的操作主要包括以下几个步骤:1.导入mysqlde jdbc的jar包:2.创建数据库连接配置:3.线程组添加jdbc request;4.启动按钮,添加查看结果树 一.准备好驱动 ...
- python自动化测试入门篇-jemter参数化
一.Jmeter参数化 1.使用用户自定义变量 用户定义的变量,引用方式:${定义参数名称};例如定义一个变量IP,使用它的时候用 ${IP}. 添加一个 User Defined Variables ...
- python自动化测试入门篇-jemter
接口测试基础-jemter 接口文档地址:http://doc.nnzhp.cn 使用jmeter实现简单的http request的接口测试 一.get获取学生信息接口 第一步:新建一个Thread ...
- python自动化测试入门篇-postman
接口测试基础-postman 常用的接口有两种:webservice接口和http api接口. Webservice接口是走soap协议通过http传输,请求报文和返回报文都是xml格式. http ...
- 2019年大牛最新整理的Python技术入门路线
Python作为一门学习上手快.开发效率高.代码优雅的编程语言,一直以来都是最热门的几种语言之一,甚至在进入2019年之后热度超过了十几年的霸主Java,成为最受欢迎的语言.Python一直有胶水语言 ...
- Python Web自动化测试入门与实战,从入门到入行
Python Web自动化测试入门与实战 购买地址 · 京东:https://item.jd.com/69239480564.html 天猫:https://detail.tmall.com/it ...
随机推荐
- MyBatis学习01
1.初识MyBatis 环境说明: jdk 8 + MySQL 5.7.19 maven-3.6.1 IDEA 学习前需要掌握: JDBC MySQL Java 基础 Maven Junit 什么是M ...
- 如何使用Camtasia给视频或者图片调色
喜欢摄影过着做视频的朋友一定知道,一张好看的照片或者一段精美视频的构成因素很多,取景本身肯定是个很重要的条件,相机的素质是非常重要的硬件条件,接下来的就是后期的编辑和处理了,而在后期处理过程中调色就显 ...
- 编译安装opssl
wget http://www.openssl.org/source/openssl-1.0.1q.tar.gz tar zxvf openssl-1.0.1q cd openssl-1.0.1q . ...
- Shamir秘密共享方案 (Python)
Shamir's Secret Sharing scheme is an important cryptographic algorithm that allows private informati ...
- JQuery案例:购物车编辑
购物车编辑 实现了:商品的加减,总价的变动 实现了:全选/全不选(使用prop而不是attr) 实现了:删除(遮罩层) <html> <head> <meta chars ...
- Java数组作业
1 //输入一组数(10个),找出最大值,并给出最大值的位置 2 package test; 3 4 public class test1_1 { 5 public static double max ...
- python应用(4):变量与流程
程序是什么?就是一堆代码啰.但是代码是有组织而来的,不是凭空堆砌出来的.有一个"古老"的说法:程序=数据结构+算法,意思是,程序是由一些数据结构(数据的组织结构)加上某些算法而形成 ...
- 区块链V1版本实现之一
1. 程序地址:https://gitee.com/Jame_sz/beijing_go_term2.git 2. 程序编写流程: //1. 定义结构(区块头的字段比正常的少) //>1. 前区 ...
- django中的积累
只要继承了model.Model, 就会生成一个新的表,但是,如果在Meta方法中添加abstract=True,就不会产生新的表,而是作为一个基类存放多个表共同拥有的方法和字段等 from djan ...
- 解决:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serve ...