51Testing软件测试论坛

标题: 软件测试用例的设计与实现方法论 [打印本页]

作者: Kingson    时间: 2007-11-12 16:28
标题: 软件测试用例的设计与实现方法论
现在不少软件测试书上关于测试用例的设计方法都等同于测试数据的设计方法,这是典型的以偏概全。软件测试用例的设计包含了如何确定测试用例中的测试数据,但反过来就不正确了。

一个完整的测试用例设计需要分成两个步骤:第一,设计测试用例框架结构,第二,测试用例的详细设计。

测试用例架构设计类似于软件开发的系统架构设计,需要根据软件需求文档、软件测试计划文档和软件规格说明文档设计,把测试用例的整体架构构建出来,包括测试用例的文件夹结构、根据测试阶段和测试类型确定的测试用例的模块和对应的优先级,根据公司内部的模板设计的测试用例的表现形式,在测试用例管理系统创建的项目/产品的测试用例数据库等内容。

软件测试用例的详细设计就是在测试用例框架结构设计基础上,完成各个测试用例模块的具体内容。包括归类测试需求、设计测试用例操作步骤、分类组织和管理测试用例。为了更好的实现测试用例的操作步骤,需要确定输入数据,而且最好步骤与测试数据分离,以便于提高复用性和参数化设计。

综上所述,测试用例设计不等于测试数据的设计,两者的方法和内容不同。

关于测试用例的设计方法,请参考以下的附图:

网上最误导测试新人的问题是把测试用例的设计方法等同于测试用例详细设计中的如何确定测试数据,网上典型的介绍软件测试用例的文章大多数是这样写的:

软件测试用例的设计方法有:

等价类法
边界值法
因果图和判定法法
...
其实这些都是如何确定测试的输入数据的方法,而不是测试用例的设计方法,测试用例的设计包括更多的内容,测试用例的数据确定方法只是测试用例设计的一个小小的内容而已。

为什么出现这样的问题呢?主要是这些文章都是从传统测试的书上摘抄下来的,这些书的内容本来就比较陈旧,很多来自DOS时代。DOS时代的软件是结构化设计的时代,软件的结构简单,软件的测试主要以测试功能为主,测试的重点是是确定测试的输入数据。所以那个时代说软件测试用例的设计等同于如何确定测试数据还可以接受。

现在软件设计进入了面向对象的分布设计时代,软件的复杂性和网络的有效使用,对软件测试提出了更复杂的要求。为了满足这种要求,简单的确定测试数据已经无能为力了,软件测试用例设计需要分为概要架构设计和详细设计实现来完成,而详细设计中一个小的内容是确定测试输入的数据。

作为软件测试人员,不仅要善于吸收和学习前人的研究成果,还要根据软件设计和测试技术的发展善于创新,而不是人云亦云,这样才能满足不断提高的软件质量的要求,体现软件测试的价值。

作者:崔启亮
原始出处:本地化世界网www.giltworld.com




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2