测试工作发展过程:
1、1960年代是调试时期(测试即调试,为了验证软件是正确的;)
2、1979年为了发现错误而执行程序的过程;
3、1990年代预防错误发生;
测试模型:
1、V模型:需求分析 – 概要设计 – 详细设计 – 编码–单元测试-- 集成测试–系统测试–验收测试
2、W模型:验收/系统设计 – 集成测试设计 – 单元测试设计 – 单元测试 – 集成 – 实施 – 交付
3、H模型:测试准备 – 测试就绪点 – 测试执行
测试分类:
1、按测试阶段划分: 单元测试 – 集成测试 – 系统测试
2、是否覆盖代码划分:
白盒测试:又称结构测试;透明盒测试、逻辑驱动测试
黑盒测试:
1)功能测试:
a、业务测试
b、易用性测试
c、界面测试
d、安装测试
e、兼容性测试
2)性能测试:
a、资源使用率;
b、执行间隔;
c、日志事件;
d、响应时间;
e、吞吐量;(TPS)
f、辅助存储区(例如缓冲区,工作区的大小等)
g、处理精度等进行的监测;
h、并发量;
灰盒测试:
介于白盒测试和黑盒测试之间的一种测试;
3、是否运行代码划分:
静态测试:是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口、等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例,执行程序、分析程序的输出结果。
4、按是否自动化划分:
手工测试:是指由人工一个一个的输入用例,然后观察结果,和程序运行后的结果相对应。属于比较原始但是不可缺少的一步。
自动化测试:是指在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。简单说自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
测试用例八大要素:
1、测试用例编号
2、测试项目
3、预置(前提)条件
4、测试输入
5、预期输出
6、操作步骤
7、测试用例标题
8、级别
**测试用例:**又叫testcase,是一个场景。在这个场景中要完成对某个软件/功能的测试,验证这个软件是否满足预期。
**为什么要写测试用例:**大量的测试用例去验证软件运行的效果,它是指导测试工作进行的依据。
测试用例编写方法:
**边界值分析法:**作为等价类划分法的补充,经常和等价类划分一起使用
**使用的场景是:**有输入并且存在边界值的位置。
上点,内点,离点
**判定表法:**适合于有多个输入和多个输出,输入和输出之间有相互的组合关系,输入输出之间有相互的制约和依赖关系。条件桩,动作桩
**因果图法:**因果图法是通向判定表法的一个中间过程,其是一种利用图解法分析输入条件、输出结果的各种组合情况,从而设计用例的方法。
**正交法:**正交法也叫正交实验法或者正交排列法,就是使用最小的测试过程集合获得最大的测试覆盖率。
正交工具:正交设计助手。
场景法
软件缺陷概述: BUG
BUG严重程度: 1、致命; 2、较严重; 3、严重; 4、一般; 5、低
缺陷管理的目的:进行缺陷的管理来实现“对各个阶段测试发现的缺陷进行跟踪管理,以保证各级缺陷的修复率达到标准”
快速熟悉项目:
**1、了解项目架构**
B/S 架构
C/S 架构
**2、项目调研**
项目阶段
早期
中期
晚期
项目复用程度
全新的
全部复用
部分服用
项目已有的成果物
开发
测试
测试用例
测试报告
缺陷报告
测试计划
测试方案
开发人员背景
技术
强
一般
弱
业务
熟悉
一般
不熟
价值:确定测试的优先级
**3、画出项目组织结构图**
价值:对项目有一个全局的认识
**4、画出测试范围列表**
**5、编写测试计划(组织文件)**
测试计划的定义:所谓测试计划是指描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、测试任务、谁执行任务和风险控制等。测试计划是组织管理层面的文件,从组织管理的角度对一次测试活动进行规划。
测试计划主要内容:进行测试工作量估计;人力资源分配;明确任务的时间和进度安排;风险估计和应急计划;测试失败/通过的标准。
测试计划的编写目的:按照所制定的测试计划可以有效地计划、执行、跟踪、组织和管理测试项目。
**6、编写测试方案(测试方案)**
测试方案的定义:所谓测试方案是指描述需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。测试方案是技术层面的文档,从技术的角度对一次测试活动进行规划工具的设计,测试用例的设计,测试数据的设计。
测试方案主要内容:测试策略选取;测试子项细分;测试用例的规划;测试环境的规划;自动化测试框架的设计;测试工具的设计和选择。
测试方案的编写目的:软件测试方案的作用非常类似于产品设计说明书(软件概要设计和软件详细设计),开发工程师根据产品功能需求和设计说明来编码实现功能,而测试工程师需要基于产品功能需求和测试方案来设计和执行测试用例。