软件测试分级理论

笔者认为,基于测试分级的分类方法,可以回答这个问题。

那么,什么是测试分级p>

我们可以从两种殊途同归的角度来理解测试分级。

第一种角度是基于时间的,也是经典的方法。具体来说,根据测试阶段的不同,软件测试分为:

  • 单元测试: 测试对象通常是一个函数(Function)或一个类(Class)。单元测试与软件代码高度相关,通常由开发人员自己完成。

  • 组件测试: 测试对象通常是一个模块(Module),目的是验证模块的功能是否满足设计目标。组件测试通常和软件开发同步进行。

  • 集成测试: 测试对象可以是一个独立软件实体(Entity)的对外接口(本质上测试的是这个软件实体对外呈现的功能);也可以是多个相邻软件实体相互之间的接口(本质上测试的是多个相邻软件实体呈现的整体功能)。集成测试聚焦于软件功能,一般在软件开发部分或全部完成后进行。

  • 系统测试: 测试对象是包含了所有软件实体的真实系统。系统测试从用户使用的角度设计测试步骤,目的是检验系统是否满足用户需求。一般在系统所有软件都开发完成后进行。


第二种角度是基于空间的,也是谷歌采用的方法。在谷歌,测试分类更多地强调测试范围,而不是测试阶段。具体来说,谷歌把软件测试分为:

  • Small Tests(小范围测试): 通常对应单元测试和组件测试。

  • Medium Tests(中等范围测试): 通常对应集成测试。在谷歌,Medium Tests强调的测试对象是相互之间有直接接口或互操作(Interoperation)关系的相邻软件模块/软件实体。

  • Large Tests(大范围测试): 通常对应系统测试。


不管基于时间还是基于空间,测试分级理论都是将软件测试划分为低级别测试(Low Level Testing, LLT),中等级别测试(Medium Level Testing, MLT)和高级别测试(High Level Testing, HLT)。


之所以称之为“分级”,是因为无论从时间角度还从空间角度,所划分的类型都是相互之间具有某种层层递进、循序增长的关系。这是一种既统一,又对立的关系。例如,单元测试、组件测试、集成测试、系统测试既统一于时间这个维度,又各自不同,在时间上呈有序排列态势。


测试分级是一个十分简单的理论。然而,简单的东西往往具有强大的力量




声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年1月19日
下一篇 2018年1月19日

相关推荐