|
|
|
|
移动端

1.18.1 分类因子C1:测试生成的依据

《软件测试基础教程》第1章软件测试的基本知识,本章作为一个导引,其目的在于让读者熟悉与软件测试相关的基本概念,建立起全书的框架。在本书后续章节中将要详细阐述的问题,首先在这里被提了出来。读完这章之后,读者就能够在软件测试和软件质量方面提出一些有意义的问题。本节为大家介绍分类因子C1:测试生成的依据。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-16 21:46

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


1.18.1 分类因子C1:测试生成的依据

黑盒测试测试设计是测试之本,它与测试的关系就如同地球与太阳的关系。目前存在大量的设计测试的方法,表1-4列出了其中一些。在没有被测软件源代码的情况下,根据非形式化或形式化定义的需求文档设计测试,这种形式的测试一般被称作黑盒测试。如果需求文档是非形式化定义的,可以采用ad hoc技术或试探法,比如等价类划分和边界值分析。

表1-4 软件测试技术的分类

 

基于模型或基于规范的测试当需求被形式化定义以后,可以应用基于模型或基于规范的测试,例如,通过采用一种或多种数学或图形记号,比如Z、状态图、事件顺序图,根据形式规范设计测试。这也是黑盒测试的一种形式。正如表1-4中所列出的那样,存在大量的技术用于黑盒和基于模型的测试设计。本书第二部分将要介绍几种这样的技术。

白盒测试白盒测试是指在测试活动中利用源代码进行测试用例的设计和评价。很少或几乎不可能孤立地采用白盒测试技术,因为一个测试用例包含测试输入和预期结果,测试人员必须利用需求文档来设计测试用例,在测试设计过程中,源代码作为一个额外的软件制品被采用。即使这样,还是存在只从源代码设计测试、从需求文档设计相应的预期结果的技术,例如利用工具设计测试用例来区分被测软件的所有变异情况,或用来强制被测软件执行某条给定的路径。在任何时候,只要有人声称他们采用的是白盒测试,就有充分的理由相信他们实际上采用的是白盒与黑盒结合的某些测试技术。

源代码可以直接或间接用于测试设计。在直接方式下,通过工具或测试人员来检查源代码,比如重点检查某条路径是否被覆盖,设计测试用例来覆盖该路径。在间接方式下,根据一些基于代码的覆盖准则,对用黑盒技术设计的测试用例进行评价。通过分析代码的哪些部分是可达的,然后设计额外的测试用例来覆盖那些未覆盖的代码部分。控制流、数据流、变异测试技术可以用来进行直接和间接的基于代码的测试设计。

接口测试测试用例通常是采用组件的接口生成的。

当然,接口本身也是组件需求的一部分,因此这种形式的测试是一种黑盒测试。然而,由于对接口的关注导致我们将接口测试当作一个单独测试类型,如结对测试、接口变异等技术均用来从一个组件的接口规范中生成测试用例。在结对测试中,每个测试输入的值集合都是从组件的需求规范中获取的。在接口变异测试中,接口本身(如用C语言写的函数、用IDL写的CORBA组件)也用来提取执行接口变异测试所需的信息。虽然结对测试是个不折不扣的黑盒测试技术,但接口变异却是个白盒测试技术,尽管其关注的焦点在于被测组件与接口相关的那些要素。

不要将ad hoc测试与随机测试相混淆。在ad hoc测试中,测试人员通过需求规范设计测试,但没有采用系统化的方法;而随机测试采用系统化的方法来设计测试。采用随机测试生成测试用例,要求首先对输入空间进行建模,然后从输入空间中随机地选取采样数据。

概括起来,黑盒测试与白盒测试是两个最基本的测试技术,它们形成了软件测试的基础。而测试生成与评价技术(TGAT)则是软件测试基础之基础。所有余下的由C2~C4分类测试技术要么属于黑盒测试范畴,要么属于白盒测试范畴。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

程序员教程(第2版)

本书按照人事部、信息产业部全国计算机技术与软件专业技术资格(水平)考试程序员考试大纲编写,是对2004版的修订版,内容包括计算机系统、...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊