python自动化

一、python回顾

1、python的发展方向

  • web开发

  • 爬虫+数据分析

  • 机器学习(深度学习)

  • 自动化运维

  • 自动化测试

2、python测试成长

  • 初级测试工程师

  • 中级测试工程师

  • 测试开发工程师

3、自动化与Python

  •  python的强大的第三方库,为很多的自动化流程提供的快捷的实现方式
  •  python强大的兼容性获得了开发者的青睐

  •  python简洁的语法和简便的编码使得快速开发和迭代成为可能

  • python的科学计算和文本处理能力,解脱公司的繁琐重复的劳动力

二、软件测试

1、定义软件测试

在规定的条件下对程序进行操作,发现程序错误,衡量软件质量,,并对其是否满足设计要求进行评估的过程。

要点:

规定条件下的测试

发现错误、衡量软件质量、是否满足设计要求

2、测试环境

  • 开发环境

  • 测试环境

  • 生成环境

3、测试与开发

目前公司越来越注重产品的质量QA,所以软件测试有时候也成为QA。

一般公司如果开发产品,则 开发人员与 测试人员比例为3:1。

对于大型产品公司来说,开发与测试可以达到1:1

专业的事情,专业人员去做,软件测试是保障软件产品质量的关键,一定要有专业的软件测试人员去完成。

4、开发与测试

在开发的过程中, 开发人员会对自己开发的功能进行简单的测试. 但不会让开发完成对软件的整个测试. 原因可能有一下几方面的原因:
    - 思维定式
    - 测试力度不够
    - 关注度不足

三、软件介绍

1、软件分类

  • 根据使用场景分类

电商类型、旅游类型、媒体类型、教育类型、金融类型、工具类、游戏

  • 根据架构分类

单机版软件

office 红色警戒、CS、植物大战僵尸

分布式软件

B/S架构 (browser)

浏览器/服务器 web网站 例如 百度、hao123

C/S 架构

手机app、微信、QQ、PPS软件,要使用 选安装app客户端。

  • C/S架构

客户端、服务端

客户端:给用户使用的,用来展示信息、用户交互

服务端:业务处理、数据存储,用来向客户端返回信息、处理交互

django、flask都是用来进行 服务端开发--》接口服务开发

我们测试人员,会在接口被使用前进行接口测试,保证接口是可用性。

四、软件开发模型

1、软件开发模型

  • 瀑布模型

python自动化_第1张图片

 

  • 快速原型模型

在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。

python自动化_第2张图片

 

2、软件测试模型

  • V模型

python自动化_第3张图片

 

按照软件开发的 瀑布模型来设计的软件测试

单元测试--- 开发人员完成

集成测试---依据设计文档,测试人员完成,多个相关功能组合在一起 做测试

系统测试---依据需求文档,测试小组,做一个完整测试。

验收测试--用户来测试,完成测试

  • W模型

python自动化_第4张图片

 

测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。

优点: 1).强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,还包括需求和设计。 2).更早地介入测试,能尽早得发现缺陷进行修复。 缺点: 对于测试技术要求高,实践起来困难。

生命周期

python自动化_第5张图片

 

五、软件测试分类

python自动化_第6张图片

 

1、按测试阶段划分

  • 单元测试

python自动化_第7张图片

 

单元测试, 又称模块测试,针对软件设计中的最小单位-程序模块,进行正确性检查的测试工作。

  • 集成测试

python自动化_第8张图片

 

集成测试, 又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。

  • 系统测试

系统测试, 指的是将整个软件系统看为一个整体进行测试,测试的依据是软件需求说明书。

  • 验收测试

验收测试, 用来检验软件是否符合用户需求的测试. 验收测试又细分为一下分类:

(1).α测试: Alpha 是内测版本 通常只在软件开发者内部交流 一般而言, 该版本软件的bug较多,普通用户最好不要安装

(2).β测试: Beta是公测版本,是对所有用户开放的测试版本 这一版本通常由软件公司免费发布, 用户可从相关的站点下载 通过一些专业爱好者的测试, 将结果反馈给开发者, 开发者们再进行有针对性的修改

(3).γ测试: Gamma版本,指的是软件版本正式发行的候选版。该版本已经相当成熟了, 与即将发行的正式版相差无几, 成为正式发布的候选版本

2、按是查看盖源代码

软件测试分类中按照是否查看源代码划分可以分为以下几类: - 黑盒测试 - 白盒测试 - 灰盒测试

1.黑盒测试

黑盒测试, 又称数据驱动测试,完全不考虑程序内部结构和内部特性,注重于测试软件的功能需求,只关心软件的输入数据和 输出数据。

python自动化_第9张图片

 

2.白盒测试 白盒测试, 指的是把盒子打开,去研究里面的源代码和程序结构。

python自动化_第10张图片

 

3.灰盒测试 灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

3、是否允许划分

(1).静态测试:指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程。 (2).动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

4、按是否自动化

人工测试: 也叫做手工测试,测试人员手动去进行的测试 自动化测试: 利用代码或者工具帮助人工进行测试

5、其他

冒烟测试: 冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通 回归测试: 当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试 随机测试: 随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分 探索性测试: 探索性测试意味着同时设计测试和执行测试。测试人员通过测试来不断学习被测系统。

你可能感兴趣的:(自动化,python)