软件测试基本理论

一、软件开发阶段

1、需求分析

2、概要设计---概要设计说明书

3、详细设计---详细设计说明书

4、编码

 

说明:哪个阶段引入的缺陷最多:需求说明书(56%)、程序设计(25%)、编写代码(13%----15%)、其他(6%)。

 

二、软件测试阶段

1、单元测试

(1)依据:详细设计文档。

(2)以功能测试为主,重点核心模块可以进行白盒测试(检查代码)。

(3)可能需要编写驱动模块或桩模块。

a. 驱动模块:模拟被测模块的上一级模块(调用被测模块的那个模块)。

b. 桩模块:模拟被测模块的下一级模块(被被测模块调用的那个模块)。

(4)在实际工程中,为了节约成本,单元测试经常只由开发人员完成,有悖于测试思想(测试必须由第三方来完成)。

 

2、集成测试

(1)拿到一个新的集成版本的时候,一般先做冒烟测试--利用较少的时间(0.5--2天)、较少的人(1--3名,经验更丰富)对软件的主要功能进行测试,主要判断该版本是否值得一测,如果值得一测,整个测试组再全部投入;如果不值得一测,打回开发组,令其完善后再给出新版本。

(2)一个新的版本测试思路:

A. 冒烟测试。

B. 返测:对发现的缺陷是否进行修复的测试。

C. 回归测试:对前面版本中所有的用例再执行一遍(保证软件旧的功能正确)。

D. 对新添加的功能进行测试。

 

3、系统测试

(1)对整个软件系统进行全面完整的测试过程。

(2)在系统测试之前一般有“确认测试”:

A. 确认该程序值不值得一测(冒烟测试)。

B. 确认相关的文档是否齐全(尤其是交给用户的文档)。

 

4、验收测试(用户接受度测试、用户体验测试,UATuser acceptance test

(1)alpha测试:由最终的用户开发的环境中,对软件进行测试(在实际中也经常由开发方自主完成)。

(2)beta测试:由最终的用户实际的环境中进行测试使用。

对于一些没有固定用户群体的公共类软件(办公软件,游戏,输入法),一般会发行公测版(beta版),让用户免费使用,发现bug后进行信息反馈。

 

三、软件测试模型

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

2、V模型

 

(1)优点:测试阶段明确,既包括单元级(可能涉及代码)也包括用户级,与开发关系明确。

(2)缺点:容易理解成测试只是开发后的一个工作,不符合越早测试和不断测试的原则。

(3)深入理解:

A. 在编码之前,我们需要对相关的需求文档、开发文档进行测试----越早测试。

B. 根据相关文档,在测试执行之前编写各个阶段的测试计划、测试用例等文档----测试过程是有计划性的。

 

注意:

如果做单元测试,需要有详细设计文档;

如果做集成测试,需要有概要设计文档;

如果做系统测试,需要有需求文档。

 

3、W模型(只做了解)

 

 

四、软件测试的分类

1、按照测试技术划分

A. 黑盒测试(功能测试)-- 必须

B. 白盒测试(逻辑结构测试),检查代码 -- 可选。

白盒测试重点看代码的逻辑、算法、结构是否正确,要求必须懂得代码,需要编写测试用例。

C. 灰盒测试

 

在单元测试时,白盒应用相对较多;

在集成测试时,灰盒应用相对较多;

在系统测试、验收测试时一般就不会使用白盒测试和灰盒测试了。

 

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

(1)静态测试

A. 界面测试

B. 文档测试

C. 代码测试

(2)动态测试

 

静态中的代码测试重点关注的是代码的规范性,一般检查变量的命名,注释的频率,变成的规范性,不需要写测试用例,一般只需要有代码审查单。

一般经常把白盒测试和静态测试的要素结合在一起,形成“静态白盒测试”。

 

3、按软件特性分类

(1)功能测试

(2)性能测试 -- 分布式软件(B/S  C/S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值