6.6 软件测试用例定义

更新于 2026年10月10日 版权声明
6.6 软件测试用例定义

测试用例作为测试工作的指导,是软件测试必须遵守的准则,是软件测试质量稳定的根本保障。测试用例TC(Test Case)目前没有经典的定义。简单地说,测试用例就是设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。

测试用例将软件测试的行为活动做了一个科学化的组织归纳,目的是将软件测试的行为转化成可管理的模式,同时测试用例也是将测试具体量化的方法之一。

设计测试用例时,应遵循以下原则。

(1)基于测试需求的原则。按照测试类别的不同要求设计测试用例。例如,单元测试依据详细设计说明,集成测试依据概要设计说明,配置项测试依据软件需求规格说明,系统测试依据用户需求(系统/子系统设计说明、软件开发计划等)。

(2)用成熟测试用例设计方法来指导设计。在设计测试用例时,不能只凭借一些主观或直观的想法来设计测试用例,应该要以一些比较成熟的测试用例设计方法为指导,再加上设计人员个人的经验积累来设计测试用例,将测试设计思想与丰富的实践经验相融合才能设计出高品质的测试用例。

(3)兼顾测试充分性和效率的原则。测试用例应兼顾测试的充分性和测试的效率;测试用例的内容都应完整,具有可操作性。

(4)测试执行的可再现性原则。应保证测试用例执行的可再现性。

(5)足够详细、准确和清晰的步骤。即使是一个对所要测试的内容根本不了解的新手,也能准确地按照所写的测试用例完成测试。

按照测试设计说明的描述,对每一个测试项进行具体的测试用例设计。每个具体测试用例都将包括下列详细信息:用例编号、用例名称、测试项、测试环境要求、特殊要求、测试技术、输入说明、操作步骤、期望结果(含判断标准)、输出说明、用例之间的关联、用例设计人员、测试人员、测试日期、用例的优先级、注释等。以上内容涵盖了测试用例的基本元素:测试索引、测试环境、测试输入、测试操作、预期结果、评价标准。表6.4是ANSI/IEEE829标准给出的测试用例形式。

表6.4 测试用例文档(https://www.daowen.com)

图示

在设计测试用例时应避免如下5个方面的问题。

(1)把测试用例设计等同于测试输入数据的设计。现在不少人认为测试用例设计就是如何确定测试的输入数据,从而掩盖了测试用例设计内容的丰富性和技术的复杂性。无疑,对于软件功能测试和性能测试,确定测试的输入数据很重要,它决定了测试的有效性和测试的效率。但是,测试用例中输入数据的确定,只是测试用例设计的一个子集,除了确定测试输入数据之外,测试用例的设计还包括如何根据测试需求、设计规格说明等文档确定测试用例的设计策略、设计用例的执行步骤、预期结果和组织管理形式等问题。

在设计测试用例时,需要综合考虑被测软件的功能、特性、组成元素、开发阶段、测试用例组织方法等内容。具体到设计每个测试用例而言,可以根据被测模块的最小目标,确定测试用例的测试目标;根据用户试用环境确定测试环境;根据被测软件的复杂程度和测试用例执行人员的技能确定测试用例的步骤;根据软件需求文档和设计规格说明确定期望的测试用例执行结果。

(2)强调测试用例设计的越详细越好。在确定测试用例设计目标时,一些项目管理人员强调测试用例“越详细越好”。具体表现在,尽可能设计足够多的测试用例,追求测试用例越多越好、越详细越好。

这种做法和观点最大的危害是在用例设计时耗费太多时间和资源,那么留给实际执行测试的时间就会太少,没办法发现更多的软件缺陷,反而达不到提升软件质量的目的。因此,应分析被测软件的特征,运用有效的设计方法,尽量使用较少的测试用例,同时满足合理的测试覆盖,从而达到“少花时间多办事”的效果。

(3)追求测试用例设计“一步到位”。这种认识使设计出的测试用例缺乏实用性。用户可能对软件的功能提出新需求,设计需要更新,软件代码不断细化,测试用例需要逐渐完善,进一步删除、增加或修改。

软件测试用例设计只是测试用例管理的一个过程,除此之外,还要对其进行评审、更新、维护,以便提高测试用例的“新鲜度”,保证“可用性”。如发现有对测试用例认识模糊或内容遗漏的地方,可暂做记录待后期解决,或经测试负责人与项目其他管理人员同意后,更新用例库。

(4)将多个测试用例混在一个用例中。一个测试用例包含很多内容,这样很容易引起混淆,不如分开。如果有多个测试用例混在一起,其中有的测试用例通过,而另外几个没有通过,这时测试结果很难记录。

(5)让没有测试经验的人员设计测试用例。软件测试用例设计是软件测试的中高级技能,不是每个人都可以编写的,没有测试经验的人员设计测试用例是一种高风险的测试组织方式,它带来的不利后果是设计出的测试用例对软件功能和特性的测试覆盖性不高,编写效率低,审查和修改时间长,可重用性差。因此,实际测试过程中,通常安排经验丰富的测试人员进行测试用例设计,没有测试经验的人员可以从执行测试用例开始,随着项目进度的不断进展,测试人员的测试技术和对被测软件的不断熟悉,可以积累测试用例的设计经验,逐渐参与到测试用例的编写工作中去。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)