测试理论基础
一、软件测试目的与定义
软件测试就是使用人工和自动手段来运行或检测某个系统的过程,其目的在意检测它是否满足产品规定的需求,是否满足预期结果
二、软件生命周期
软件测试周期
软件生命周期六阶段
1、问题定义及规划
2、需求分析
3、软件设计
4、程序开发
5、软件测试
6、运营维护
三、软件测试过程
1.什么单元测试?集成测试?系统测试?
单元测试:针对软件基本组成单元来进行测试,一般由研发来完成
集成测试:集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
系统测试:是将以集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、数据等其他系统元素结合在一起,,在实际运行使用环境下,对计算机系统进行一系列的测试工作,其目的是通过与《需求规格说明书》比较,发现软件与系统需求的不符合和矛盾之处。
2.单元测试,集成测试与系统测试区别
-
测试方法不同
单元测试为白盒测试
集成测试为灰盒测试
系统测试为黑盒测试 -
考察范围不同
单元测试主要测试单元内部数据结构,逻辑控制、异常处理等
集成测试主要测试模块之间的接口和接口数据传递关系,以及模块组成后的整体功能
系统测试主要测试整个系统对需求的符合程度 -
评估标准不同
单元测试的评估基准是逻辑覆盖率
集成测试的评估基准是接口覆盖率
系统测试的评估基准是测试用例对需求规格的覆盖率
3.测试方法
黑盒测试
1.1黑盒测试定义
定义:黑盒测试又称功能测试,主要关注系统功能实现,不考虑系统内部逻辑
1.2黑盒测试常用技术
功能性测试
容量测试
安全性测试
负载测试
恢复性测试
标杆测试
稳定性测试
可靠性测试
1.3黑盒测试常用方法
功能划分法
等价类划分
因果图法
错误分析法
边界值法
错误推测等
白盒测试
1.1白盒测试定义
结构测试或逻辑驱动测试,必须知道软件内部工作过程,通过测试来检验软件内部是否按照需求、设计正常运行
1.2白盒测试常用技术
静态分析:控制流分析技术、数据流分析技术、信息流分析技术
动态分析:逻辑覆盖率测试(分支测试、路径测试等),程序插装
1.3白盒测试常用方法
1、语句覆盖
2、判断覆盖
3、条件覆盖
4、判断条件覆盖
5、路径覆盖
4.测试流程
单元测试
集成测试
系统测试
用户验收测试
回归测试
测试流程规范