1.引言
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例目前没有经典的定义,比较通常的说法是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
由于对软件测试用例的作用和设计方法的理解不同,测试人员对软件测试用例存在不少片面的认识,具体表现在以下三个方面:
(1)测试输入数据设计方法等同于测试用例设计方法
一些测试书籍和文章经常这样表述:测试用例的设计方法包括:等价类、边界值、因果图、错误推测法、场景设计法等。这种表述是不全面的,这些方法只是软件功能测试用例设计中如何确定测试输入数据的方法,而不是测试用例设计的全部内容。测试用例设计是确定测试的输人数据过程,包括如何根据测试需求、设计规格说明等文档确定测试用例的设计策略、设计用例的表示方法和组织管理形式等内容。
(2)测试用例设计得越详细越好
尽可能设计足够多的设计用例,制定详细的用例执行步骤,以达到“任何一个人都可以根据测试用例执行测试”,这些都不是测试用例设计的本意。编写测试用例的根本目的是高效的发现软件产品中可能存在的缺陷,因此设计测试用例时应把握用最少的测试用例尽可能的覆盖测试需求,从而达到“少花时间多办事”的效果。
(3)测试用例设计是一成不变的
在软件生命周期过程中,存在用户对软件的功能的变更,设计规格的更新,软件代码的细化等情况。因此,设计软件测试用例与软件开发设计应当并行开展,并随着软件设计的变化进行相应调整,以保证设计的用例满足测试需求。
软件的类别、用户需求和测试目的不同,其测试用例也是不同的。本文主要从用户对软件的需求为着眼点,结合系统测试用例的设计,说明软件需求对软件测试用例设计的影响,使得测试用例更趋于针对软件产品的功能、任务规则和任务处理所设计的测试方案。
2.基于需求的测试用例
2.1 软件测试需求分析
软件测试的需求有三个层次,即任务需求、用户需求、功能需求,测试需求分析和测试用例设计参照的是软件需求规格说明书。
在软件需求规格说明书中的功能需求描述了软件系统所应具有的外部行为。对一个大型系统来说,软件功能需求可能只是系统需求的一个子集。作为功能需求的补充,软件需求规格说明还应包括隐含需求,它描述了系统展现给用户的行为和执行的操作等。包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。
测试需求的主要来源是系统需求规格说明书,但有些需求是无法从需求文档中获得,可借助概要设计文档或者详细设计文档中获得,或直接从最终的软件产品上获得。测试人员依据这些信息编写测试需求,为了提高需求分析的覆盖率,用例设计人员可通过分析软件的任务规则和工程测试经验,提出软件产品隐含的需求,以保证最终的测试需求满足测试要求。
文章来源于领测软件测试网 https://www.ltesting.net/