软件测试的基本理论

一、软件开发阶段划分

1、需求分析 :《需求规格说明书》 

2、概要设计:《概要设计说明书》

3、详细设计:《详细设计说明书》

4、编码

那个阶段引入的缺陷最多:

需求分析(56%)、概程序设计(25%)、编写代码(13%-15%)、其他(6%)

二、软件测试阶段划分

1、单元测试:针对软件设计最小单位

依据:《详细设计文档》

(1)、以功能测试为主,重点核心模块可以进行白喝测试

(2)、可能需要编写驱动模块和桩模块(驱动模块:模拟被测模块的上一级模块,调用北侧模块的那个模块;桩模块:模拟被测模块的下一级,被被测模块调用)

(3)、在实际工程中,为了节约成本,单元测试只有开发人员完成,有悖于测试思想

2、集成测试:也叫组装测试

(1)、拿到一个新的集成版本,需要先做冒烟测试(利用较少的时间、人对软件的主要功能进行测试),主要判断该软件是否值得测试

(2)、一个版本基本的测试思路 A冒烟测试 B反侧 C回归测试 D新的功能测试

3、系统测试:对整个软件系统进行全面完整的测试,在系统测试之前有“确认测试”

4、验收测试:用户体验测试UAT*(user acceptance test)

(1)、Alpha测试:由最终的用户在开发环境对软件进行测试

(2)、Beta测试:有最终用户在实际环境进行测试

三、软件测试模型

1、概念:测试模型提现的是开发和测试的对应关系

2、v模型:

软件测试的基本理论_第1张图片

(1)、优点:测试阶段明确,即包括单元级,也包括用户级与开发关系明确

(2)、缺点:容易理解成,测试知识开发后的工作,不符合越早测试和不断测试原则

(3)、深入理解:在编码之前需要对相关需求文档、开发文档进行测试--越早测试;根据相关文档在测试执行之前,编写各个阶段的测试计划、测试用例等文档--测试过程是有计划性的‘

注意:单元测试需要有详细设计文档

           集成测试需要有概要设计文档

           系统测试需要有需求文档

四、软件测试的分类

1、按照测试技术划分:

(1)、黑盒测试:功能测试 ,必须要做的

(2)、白盒测试:逻辑结构测试,代码级需要编写测试用例

(3)、灰盒测试

2、按照是否需要运行代码划分

(1)、静态测试:界面测试、文档测试、代码规范等

(2)、动态测试:通过人工使用工具运行程序进行检查

3、按照软件特性分类

(1)、性能测试:分布式软件,必须使用工具

(2)、功能测试

你可能感兴趣的:(软件测试的基本理论)