摘要:开发和维护测试用例是软件测试过程中的重要步骤之一,也是衡量软件测试质量的核心影响因素。本文从开发、执行和维护几方面对测试用例管理过程进行分析,提出了测试用例开发、维护的相关原则。

  关键字:软件测试;测试用例

  1、测试用例开发

  1.1 测试用例编写依据

  一般说来,测试需求是为了达到测试目标,项目中需要测试什么。测试过程中所有活动都可以追溯到测试需求。例如,制定测试计划时,需要明确以下基本要素:首先需要明确测试需求,也是测试的目标内容;然后才能决定怎么测,即采用什么测试方法;再评估需要多少测试时间,需要多少测试人员,也是测试的进度安排;后明确测试的环境是什么。此外,还包括其他因素,例如测试中需要的技能、工具以及相应的专业背景知识,测试中可能遇到的风险等,以上所有的内容结合起来构成了测试计划的基本要素。制定测试计划的重要依据是测试需求,而测试计划中的所有内容都可以追溯到测试需求,所以说测试需求是测试计划的基础与重点。同样的,测试方案、用例、内容都要以测试需求为基础。

  测试需求是从软件需求映射而来,所以其详细程度与软件需求的详细程度有密切关系。在编写时,在保证与软件需求一致的前提下,力求表达准确详细,避免测试的遗漏与误解。

  测试用例的编写应该覆盖所有的测试需求,而测试需求是由软件需求转换而来,因此所有测试用例的执行结果终都会追溯到软件需求,因此测试用例的编写依据主要是软件需求。此外,还应遵守相关的编写规则、规范等。

  1.2 测试用例开发原则

  测试用例的设计原则包括:

  1)依据原则:测试用例编写的主要依据为项目提供的需求说明书和相关技术规范文档;

  2)全覆盖原则:对于需求说明书和相关技术规范中要求的主要功能点进行全覆盖测试,要求所有功能均能正常实现;

  3)规范原则:所有测试案例的编写要求规范,对于所有被测的功能点,应用程序均应该按照需求说明书和相关技术规范中的给定形式,在规定的边界值范围内使用相应的工具、资源和数据执行其功能;

  4)全面原则:测试不仅仅针对系统功能特性进行测试,对系统的其他质量特性也进行全面的测试与评估。

  测试用例编写应该满足的具体量化要求包括如下几点:

  (1)用户经常使用、关系到系统核心功能、优先级别较高的功能点,测试用例应该达到覆盖率;

  (2)针对各个系统端到端的功能以及与其它系统的接口的测试应该达到覆盖率;

  (3)测试用例包括正常输入和正常业务流程测试,也包括对非法数据输入和异常处理的测试,且对系统非正常操作的测试用例应占到总数的20%-30%;

  (4)测试用例中包括中文特性及系统本地化测试,如中文信息的显示、录入、查询、打印和报表显示测试等。

  2、测试用例执行

  2.1 测试用例对测试需求的覆盖

  首先看一下什么是测试需求覆盖。测试需求来源于软件需求,与软件需求的关系是一对一,或者是多对一。如果一个软件需求可以转换为一个或者多个测试需求,那么测试需求已经覆盖了全部的软件需求,可以说测试需求的覆盖率为。但是这不能说明测试需求的覆盖程度达到了。因为一般的软件需求只明确了显性的功能与特性,而隐性的功能与特性(没有被明确指出但是却应该具有的功能和特性)并没有在需求中直接体现。这部分需求也应该成为测试需求,因此在进行测试需求分析时,要同时分析软件的显性和隐性需求,或者根据实际测试中发现的缺陷,对测试需求进行补充或优化,并更新测试用例,以此来提高测试需求的覆盖程度。

  好的测试用例集应该覆盖全部的测试需求。以系统功能举例说来,测试用例包括功能点和业务流程。对于功能点,设计的测试用例需要覆盖全部需求中的功能点,除了正常情况的测试用例,还应设计异常情况的测试用例,且异常情况测试用例占整个测试用例集的20%~30%。同样的,业务流程的测试用例也包含正常流程和异常流程。