(一)测试流程与理论

1.软件开发流程与项目管理

软件开发流程的演变

传统瀑布模型->敏捷开发模型->DevOps开发模型

瀑布模型

瀑布模型.png
瀑布模型的优缺点

优点:
开发的各个阶段比较清晰
强调早期开发和需求调查
适合需求稳定的产品开发
缺点:
由于开发模型是线性的,增加了开发的风险
早期的错误可能要到开发后期才发现

敏捷开发模型

XP
SCRUM

XP
XP.png
SCRUM
SCRUM.png
敏捷开发模型特点

增量迭代
小步快跑

大概2周迭代一个版本,现在大部分公司的主流

DevOps开发模型

DevOps.png
DevOps生命周期
DevOps生命周期.png
DevOps对发布的影响

减少变更范围
加强发布协调
自动化

可以1天发布一个小版本

CI/CD

持续集成(CI)
持续交付(CD)


CI:CD.png

CD与DevOps的关系

CD:DEVOPS.png

项目管理

软件项目管理的方法

制定项目计划
执行该计划并监控跟踪管理
项目风险应对与问题解决
项目收尾

跨部门沟通合作

1.与产品沟通
需求评审会
分析需求
测试用例编写阶段
测试过程中

2.与研发沟通
分析需求
测试用例编写阶段
测试过程中
线上监控发现bug时

3.上下游测试配合
测试计划沟通
环境对接
熟悉业务

2.测试流程体系

软件测试基本概念

软件测试

通过手工或工具对”被测对象“进行测试,验证实际结果与预期结果之间是否存在差异。

软件测试原则

测试显示缺陷的存在
穷尽测试是不可能的
测试应尽早介入
缺陷集群性(2/8原则)
杀虫剂悖论
测试活动依赖于测试内容
没有错误是好是谬论

软件测试对象

需求分析阶段:需求文档、接口文档
编码实现阶段:源代码
系统功能使用:应用程序

测试用例

为特定的目的而设计的一组测试输入、执行步骤和预期的结果,以便测试产品满足某个特定需求的文档。

软件测试模型

1.V模型

V模型是瀑布模型的一种改进
V模型标明了测试过程中的不同阶段


V模型.png

V模型优缺点


V模型优缺点.png
2.W模型

W模型明确表示出了测试和开发的并行关系
W模型中测试伴随着整个开发周期,并且测试的对象不仅仅是程序,需求和设计同样需要测试

W模型.png

W模型优缺点


W模型优缺点.png
3.H模型

把测试活动完全独立起来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰的体现出来

H模型.png

H模型优缺点


H模型优缺点.png

软件测试工作流程

1.传统测试流程
传统测试流程.png
2.系统测试流程
系统测试流程.png
3.bug管理流程
bug管理流程.png

测试左移

测试左移是往测试之前的开发阶段移
在软件开发周期早期就开始介入
对代码进行测试
从发现bug到预防bug

测试左移.png

测试右移

右移是往发布之后移
产品上线之后进行线上监控

测试右移.png

3.测试技术体系

软件测试分类

测试分类.png
黑盒测试.png
白盒测试.png

分层测试体系

自动化分层体系.png

单元测试

单元测试方法
java:JUnit、TestNG
python:Unittest、pytest

接口测试

接口,简称API
是针对软件对外提供服务的接口的输入输出测试

接口测试方法


接口测试方法.png

UI测试

UI测试方法


UI测试方法.png

4.常用测试平台

常用测试平台

1.测试用例管理平台和bug管理平台

测试用例管理平台.png
bug管理平台.png

2.代码管理平台

代码管理平台.png

gitlab用的企业较多

3.流程管理平台

持续集成管理平台.png

5.黑盒测试方法论

1.常用测试方法

等价类划分
边界值分析
因果图
判定表
决策树
探索式测试

等价类

等价类.png

边界值

边界值.png

因果图和判定表

因果图和判定表.png
判定表.png
判定表例子.png

决策树

决策树.png
因果图判定表决策树.png

探索式测试

是一种软件测试的风格


探索式测试.png

6.白盒测试方法论

白盒测试的度量

白盒测试的度量.png

代码覆盖率常见概念

代码覆盖率常见概念.png

覆盖率统计工具

例如Java工具:
Emma
cobertura
jacoco

流程覆盖

利用代码执行流代表流程
流程覆盖用路径覆盖率表达
对流程进行裁剪获得一个适合业务的小规模的业务子集
流程覆盖率=测试经过的路径/业务子集的路径

精准化测试

代码调用链与黑盒测试用例的关联
根据代码变更自动分析影响范围
黑盒测试中借助代码流程覆盖数据指导探索式测试
利用线上数据推导有效测试用例
代码流程分析和覆盖率统计

7.测试经典书籍推荐

1.全程软件测试-朱少民
2.探索式测试-史亮
3.Google的测试之道
4.持续交付-乔梁
5.不测的秘密-腾讯TMQ

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容