在定义测试用例的质量标准之前,先要了解设计测试用例的目的。测试用例是测试工作中重要的元素或测试件(test ware)之一,是测试执行的基础。测试用例不仅能有效地帮助实施后继的回归测试、知识的传递和测试的管理等,而且更重要的是能更快、更有效地发现缺陷,确保测试的系统性和全面性,在测试的深度和广度达到所期望的目标。也是说,测试用例的质量是满足测试目标的程度,体现在 “测试覆盖率和测试执行效率”两个方面。所以,测试用例基本的质量标准是:
    达到已定义的或所要求的测试覆盖率,如大于98%。 使测试执行的效率达到好的水平,如有效的途径并使60%以上的测试用例被测试工具执行。
    但是,按照这样的标准,很难在测试执行前或执行过程中评估测试用例的质量,而不得不在执行完这些测试用例之后进行度量,特别是测试覆盖率。所以,理想的情况要求在测试用例设计过程中,可以按照某种特定的质量标准对测试用例进行复审(review)、实施评估。那么,这种特定的质量标准是什么呢?
    根据多年的实践经验,测试用例的标准不能局限于一个层次,因为测试用例设计类似于软件设计,软件设计有架构设计(结构设计/概要设计)和详细设计,所以对于测试用例的质量标准,也应分为两个层次来考虑:
    (1)高层次??满足某一个测试目标或测试任务来整体看测试用例,衡量一组测试用例的结构、设计思路和覆盖率等指标。
    (2)低层次??从单个测试用例看,衡量其描述的规范性、可理解性和可维护性等指标。
    大家都知道,测试用例是测试工作中重要的元素,是测试执行的基础。测试用例不仅能有效地帮助实施回归测试和测试的管理等,而且更重要的是能更快、更有效地发现缺陷,确保测试的系统性和全面性。,我们从两个方面来衡量测试用例的质量。
    <1> 测试用例的目标清楚,并能满足软件质量的各个方面,包括功能测试、性能测试、安全性测试、故障转移测试、负载测试等。
    <2> 设计思路正确、清晰。例如,通过序列图、状态图、工作流程图、数据流程图等来描述待测试的功能特性或非功能特性。
    <3> 在组织和分类上,测试用例层次清楚、结构合理。测试用例的层次与产品特性的结构/层次相一致,或者与测试的目标/子目标的分类/层次相一致,并具有合理的优先级或执行顺序。
    <4> 测试用例覆盖所有测试点,也是说每个测试点都有相应数量的测试用例来覆盖。
    <5> 测试手段的区别对待。在设计测试用例时,要全面考量测试的手段,哪些方面可以通过工具测试,哪些方面不得不用手工测试,对不同手段的测试用例区别对待。
    <6> 有充分的负面测试。作为测试用例,不仅要测试正确的输入和操作,还要测试各种各样的例外情况,如边界条件、不正确的操作、错误的数据输入等。
    <7> 没有重复、冗余的测试用例,满足相应的行业标准等。