文章标题

来源:互联网 发布:淘宝女人针织衫 编辑:程序博客网 时间:2024/06/06 02:18

软件测试

1. 各种测试理论和方法

Bug可以分解为:Symptom(症状), Fault(程序错误), Root Cause(根本原因).
- 症状:从用户的角度看软件出现的问题
- 程序错误:从代码的角度看,代码的什么错误导致了软件的问题

a). 按测试设计的方法分类

软件设计有两类方法:黑盒(Black Box)和白盒测试(White Box)。“所谓黑箱/白箱,是指软件测试设计的方法,不是软件测试的方法!注意“设计”二字。

黑箱:指的是在设计测试的过程中,把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。一个更准确的说法是行为测试设计(Be-havioral Test Design),即从软件的行为,而不是从内部结构出发来设计测试。

白箱:指的是在设计测试的过程中,设计者可以“看到”软件系统的内部结构,并使用软件的内部结构和知识来选择测试数据及具体的测试方法。

b). 按测试的目的分类

功能测试分类:“测试的范围由小到大,测试者也由内到外——从程序开发人员(单元测试)到测试人员,到一般用户(Alpha/Beta测试)。”(邹欣,2014)

Unit Test(单元测试): 在最基本的功能/参数上验证程序的正确性。

Functional Test(功能测试): 验证模块的功能

Integration Test(集成测试): 验证几个互相有依赖关系的模块的功能

Scenario Test(场景测试): 验证几个模块能否完成一个用户场景

System Test(系统测试): 对于整个系统功能的测试

Alpha/Beta Test: 外部测试人员在实际用户环境中对软件进行全面的测试

非功能测试分类:

一个软件除了基本功能之外,还有很多功能之外的特性,这些叫非功能需求(Non-functional Re-quirement),或者服务质量需求(Quality of Ser-vice Requirement)。然而,若没有软件的基本功能,这些特性都将无从表现出来,因此,我们要在软件开发的适当阶段——基本功能完成后再来做这些非功能测试

(摘录来自: 邹欣. “构建之法:现代软件工程”。 iBooks. )

c). 按测试的时机和作用分类

Smoke Test(冒烟测试): 测试不通过,则不能进行下一步工作。

Build Verification Test(构造确认测试): 验证构建是否通过基本测试

Acceptance Test(验收测试): 全面考察某方面的功能/特性

2. 测试工具介绍

3. 实战中的测试

参考文献:
[1]. 2014-9, 邹欣 “构建之法:现代软件工程”

0 0