前提:熟悉测试业务及流程

任何Python自动化测试的前提,都是必须先熟悉实际测试业务。
任何脱离实际测试业务的自动化都是噱头且无实际意义!
测试的基本流程基本是:
测试需求分析,测试用例设计与评审,测试用例执行,报bug,整理测试报告。
测试用例设计与评审是熟悉软件产品需求的重要过程,
可以更深入地了解软件产品的具体需求。

先掌握手动执行用例

用例设计及评审结束后,先学会手动执行测试用例,
通过手动执行用例,也可以更好的了解软件产品的具体需求,
并学会总结归纳不同的测试类型的用例。
比如性能测试用例,稳定性测试用例,接口测试用例等。

总结测试技术

哪些是需要用到其他辅助性工具,
比如命令行工具软件(命令),外部设备,外部关键数据等。

做到把Python运用到实际测试的每一个环节

Python的优势是数据处理,需要将Python脚本贯穿于测试的所有过程,
包括测试环境搭建阶段,测试用例设计阶段,测试用例执行阶段,
测试用例结果分析阶段,Bug处理,测试报告等环节。
都可以利用Python来处理,来提供测试效率。

做到半自动化执行

在执行某些手动测试用例的过程中,你要学会总结归纳,包括:

table.dataframe {
font-family: verdana,arial,sans-serif;
font-size:13px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
width:80%;
white-space:nowrap;
}
table.dataframe th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:center;
}
table.dataframe tr {
background-color:whit;
}
table.dataframe td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:left;
white-space:nowrap;

}

阶段 总结提升方向
第一阶段 哪些测试环境准备(环境准备,数据准备)是可以用Python代码实现的。
第二阶段 哪些测试用例的执行是重复多次执行,或者长时间执行,
是可以用Python代码实现此类操作的。
第三阶段 哪些测试结果,是可以用Python代码来进行数据分析的,
再最后人为判断测试结果是Pass, Fail。
第四阶段 以上这些Python代码块,是不是经常用,
能否做一个测试工具(.exe)分享给周围的测试同学或研发同学。

以上学习提示过程中,也可以由易到难地一步一步来尝试实现之.

table.dataframe {
font-family: verdana,arial,sans-serif;
font-size:13px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
width:80%;
white-space:nowrap;
}
table.dataframe th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:center;
}
table.dataframe tr {
background-color:whit;
}
table.dataframe td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:left;
white-space:nowrap;

}

实现方式及其难易程度
容易 可以先学会写脚本(Python批处理脚本)形式来实现,
中等 慢慢再考虑写成面向过程(Python函数)形式来实现,
较难 最后再考虑能否写成面向对象(Python类)的形式实现。
尝试全自动测试

当你有了一定的Python基础,你学会了编写函数,学会了编写类 ,
也做过一些小型Python项目(比如学会了写一些.exe的工具),
你也可以将很多手动执行的测试用例转换成Python代码文件来一条条执行了。

你就会碰到以下瓶颈:

table.dataframe {
font-family: verdana,arial,sans-serif;
font-size:13px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
width:80%;
white-space:nowrap;
}
table.dataframe th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:center;
}
table.dataframe tr {
background-color:whit;
}
table.dataframe td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:left;
white-space:nowrap;

}

序号 可能碰到的瓶颈
1 你目前的所谓的自动化用例(Python脚本),只能一次执行一条用例
2 每次测试完后,你可能都需要重新在审核下测试结果,
因为可能有些测试结果,你的Python脚本还没做到自动判断的程度。
3 由于你是一次一条地执行,所以整体测试报告还是要你自己去整理,
比如pass/fail/block了多少条,占比多少等,无法自动生成测试报告!
4 测试用例脚本维护太麻烦了,修改一处,可能其他的脚本也都需要修改。
5 测试用例脚本无法统一管理,东一处西一处。

那你就可以尝试学习某个框架了,框架主要是更规范地执行测试用例。

框架具有:

table.dataframe {
font-family: verdana,arial,sans-serif;
font-size:13px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
width:80%;
white-space:nowrap;
}
table.dataframe th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:center;
}
table.dataframe tr {
background-color:whit;
}
table.dataframe td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:left;
white-space:nowrap;

}

框架的优势
1 测试用例自动执行的功能,上一条执行完毕后,自动执行下一条。
2 测试结果自动化生成并生成测试报告的功能
3 只提供了部分User Interface,交互界面会更加方便,
比如你只需编辑关键字,
或者只需要编辑某些数据文件(或者配置文件,xml,txt,excel文件等),
即可实现全部关联修改。
4 。。。。。。益处多多!

有框架,则你离全自动化测试又进了一步。




更多更好的原创文章,请到:www.zipython.com

原文链接:https://www.zipython.com/#/detail?id=e43c2cbe9356437c81d7a88f0b3fb986

《自拍教程5》Python自动化测试学习思路的更多相关文章

  1. python自动化测试学习笔记-10YAML

    之前学习的编写测试用例的方法,都是从excel中编写接口的测试用例,然后通过读取excel文件进行接口自动化测试,这种方式我们叫做数据驱动的方式,由于excel操作起来不灵活,无法实现关联关系的接口测 ...

  2. python自动化测试学习笔记-9测试框架

    学习了这么久的python,我们已经可以自己搭建一个简单的测试和框架了,先从简单的开始,有时我们编写接口的测试用例会用excel进行编写,以下面的接口测试用例模板为例,进行编写:

  3. python自动化测试学习笔记-1

    一.什么是自动化 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.直白的就是为了节省人力.时间或硬件资源,提高测试效率,便引入了通过软件或程序自动化执行测试用例进行测试: 二.python ...

  4. python自动化测试学习笔记-5常用模块

    上一次学习了os模块,sys模块,json模块,random模块,string模块,time模块,hashlib模块,今天继续学习以下的常用模块: 1.datetime模块 2.pymysql模块(3 ...

  5. python自动化测试学习笔记-4内置函数,处理json

    函数.全局变量 写代码时注意的几点事项: 1.一般写代码的时候尽量少用或不用全局变量,首先全局变量不安全,大家协作的情况下,代码公用容易被篡改,其次全局变量会一直占用系统内容. 2.函数里如果有多个r ...

  6. python自动化测试学习笔记-2-列表

    上次我们学习了python的基本概念,了解了python的变量及数据类型,并实战了条件判断,for/while循环,字符串输出,格式化输出的一些基本用法,接下来我们继续学习其他的一些数据类型. pyt ...

  7. python自动化测试学习目录

    一.python学习目录 <1> ----python驱动 [python驱动]python进行selenium测试时GeckoDriver放在什么地方? python下浏览器静默运行驱动 ...

  8. Selenium+Python自动化测试学习问题总结笔记

    1.问题描述:不能导入自定义类 错误内容:This inspection detects names that should resolve but don't. Due to dynamic dis ...

  9. python自动化测试学习笔记-9python的日志模块

    参考 logging模块,用来处理python中的日志: import logging logging.debug('debug')logging.info('info')logging.warnin ...

随机推荐

  1. [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause报错问题的解决

    run SQL: select version(),@@sql_mode;SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','' ...

  2. 程序员如何才能跨过高级级别,譬如腾讯T3.1/阿里P7

    首先自我介绍下自己履历:5年前过了腾讯的T3.2,最近又在1年多前过了阿里的P8,目前在B站. **腾讯** 在腾讯我是T2.1社招一般水平入职的,3年后到了T3.2.中间是经历过几个转变:刚来的半年 ...

  3. Java8 新特性(二)- Stream

    Stream 用来处理集合数据的,通过 stream 操作可以实现 SQL 的拥有的大部分查询功能 Java8 API 官方文档 下面借助例子,演示 stream 操作 Java userList 列 ...

  4. Task 线程重用导致等待!

    测试代码: ; i < ; i++) { var d = DateTime.Now; Task.Run(() => { Console.WriteLine($"{Thread.C ...

  5. 字典树 (HDU 2072)

    lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Input有多组数据,每组一行,每组就是 ...

  6. LeetCode 第20题--括号匹配

    1. 题目 2.题目分析与思路 3.代码 1. 题目 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭 ...

  7. mysql使用唯一索引避免插入重复数据

    使用MySQL 索引防止一个表中的一列或者多列产生重复值 一:介绍MYSQL唯一索引 如果要强烈使一列或多列具有唯一性,通常使用PRIMARY KEY约束. 但是,每个表只能有一个主键. 因此,如果使 ...

  8. Maven的学习之路1

    对于下列这段Maven的命令行有不懂之处,在zgmzyr的博客上得到了解释.非常感谢这位博友,写在自己的随笔上以便查看和修改. 1. 创建项目 $ mvn archetype:generate -Dg ...

  9. c#数字图像处理(二)彩色图像灰度化,灰度图像二值化

    为加快处理速度,在图像处理算法中,往往需要把彩色图像转换为灰度图像,在灰度图像上得到验证的算法,很容易移植到彩色图像上.24位彩色图像每个像素用3个字节表示,每个字节对应着R.G.B分量的亮度(红.绿 ...

  10. nginx文件压缩

    nginx文件压缩 如果我们租用了一个带宽很低的服务器,网站访问速度会很慢,这时我们可以通过让nginx开启GZIP压缩来提高网站的访问速度. 首先我们对nginx进行限速操作,限制每个连接的访问速度 ...