精华内容
下载资源
问答
  • 测试用例不仅能有效地帮助实施后继的回归测试、知识的传递和测试的管理等,而且更重要的是能更快、更有效地发现缺陷,确保测试的系统性和全面性,在测试的深度和广度达到所期望的目标。也就是说,测试用例的质量就是...
  • 测试用例不仅能有效地帮助实施后继的回归测试、知识的传递和测试的管理等,而且更重要的是能更快、更有效地发现缺陷,确保测试的系统性和全面性,在测试的深度和广度达到所期望的目标。也就是说,测试用例的质量就是...
  • 测试用例不仅能有效地帮助实施后继的回归测试、知识的传递和测试的管理等,而且更重要的是能更快、更有效地发现缺陷,确保测试的系统性和全面性,在测试的深度和广度达到所期望的目标。也就是说,测试用例的质量就是...

           在定义测试用例的质量标准之前,先要了解设计测试用例的目的。测试用例是测试工作中最重要的元素或测试件(test ware)之一,是测试执行的基础。测试用例不仅能有效地帮助实施后继的回归测试、知识的传递和测试的管理等,而且更重要的是能更快、更有效地发现缺陷,确保测试的系统性和全面性,在测试的深度和广度达到所期望的目标。也就是说,测试用例的质量就是满足测试目标的程度,体现在 “测试覆盖率和测试执行效率”两个方面。所以,测试用例最基本的质量标准就是:

      *达到已定义的或所要求的测试覆盖率,如大于98%。

      *使测试执行的效率达到最好的水平,如最有效的途径并使60%以上的测试用例被测试工具执行。

      但是,按照这样的标准,很难在测试执行前或执行过程中评估测试用例的质量,而不得不在执行完这些测试用例之后进行度量,特别是测试覆盖率。所以,理想的情况要求在测试用例设计过程中,可以按照某种特定的质量标准对测试用例进行复审(review)、实施评估。那么,这种特定的质量标准是什么呢?

      根据多年的实践经验,测试用例的标准不能局限于一个层次,因为测试用例设计类似于软件设计,软件设计有架构设计(结构设计/概要设计)和详细设计,所以对于测试用例的质量标准,也应分为两个层次来考虑:

      (1)高层次——满足某一个测试目标或测试任务来整体看测试用例,衡量一组测试用例的结构、设计思路和覆盖率等指标。

      (2)低层次——从单个测试用例看,衡量其描述的规范性、可理解性和可维护性等指标。

      1.高层次(high-level)标准

      高层次标准是从满足某一个特定的测试目标出发来进行定义,分析一组测试用例的设计思路、设计方法和策略,包括测试用例的层次、结构等。从高层次看,测试用例设计的关键点是:始终从客户需求的角度(出发)想,始终围绕测试的覆盖率和执行效率不断思考,最终通过有效的技术方法完成测试用例的设计。

      对于一整套的测试用例组(集合),可定义如下的质量标准:

      (1) 测试用例的目标清楚,并能满足软件质量的各个方面,包括功能测试、性能测试、安全性测试、故障转移测试、负载测试等。

      (2) 设计思路正确、清晰。例如,通过序列图、状态图、工作流程图、数据流程图等来描述待测试的功能特性或非功能特性。

      (3) 在组织和分类上,测试用例层次清楚、结构合理。测试用例的层次与产品特性的结构/层次相一致,或者与测试的目标/子目标的分类/层次相一致,并具有合理的优先级或执行顺序。

      (4) 测试用例覆盖所有测试点、覆盖所有已知的用户使用场景(User scenario),也就是说每个测试点都有相应数量的测试用例来覆盖,而且将各种用户使用场景通过矩阵或因果图等方式列出来,找到相对应的测试用例。

      (5) 测试手段的区别对待。在设计测试用例时,就要全面考量测试的手段,哪些方面可以通过工具测试,哪些方面不得不用手工测试,对不同手段的测试用例区别对待。

      (6) 有充分的负面测试。作为测试用例,不仅要测试正确的输入和操作,还要测试各种各样的例外情况,如边界条件、不正确的操作、错误的数据输入等。

      (7) 没有重复、冗余的测试用例,满足相应的行业标准等。

      2.低层次(low-level) 标准

      低层次标准是考察单个测试用例是否满足测试的需求,是否能被更有效地执行。测试用例设计的结果就是交付测试用例,使测试用例被执行,所以除了覆盖率,执行的效率也是测试用例的一个重要属性。测试用例越清楚,越容易被理解和执行。执行效率越高就说明测试用例越好,如果测试用例能被机器(computer)执行,当然执行效率得到体现。

      对于具体的某个测试用例,不妨可定义如下的质量标准:

      (1) 测试用例的出发点是发现缺陷,即单个测试用例在“暴露缺陷”上具有较高的可能性。

      (2) 测试用例的单一性。一个测试用例面向一个测试点,不要将许多测试点揉在一起。例如,通过一个测试用例发现1~2个缺陷,而不能发现5~10个缺陷甚至更多的缺陷。

      (3) 符合测试用例设计规范或测试用例模板,见下面附表所示。

      (4) 描述清楚,包括特定的场合、特定的对象和特定的术语,没有含糊的概念和一般性的描述。例如,测试用例名称为“登录功能使用正常”,就是一个描述不清楚的例子,而这样的描述“登录功能中用户名大小写不敏感性验证”、“登录功能中用户名唯一性验证”和“用户帐号被锁定后再进行登录操作”等就比较好。

      (5) 操作步骤的准确性,按照步骤的操作得到唯一的测试结果。

      (6) 操作步骤的简单性。操作步骤不应该太复杂,过于复杂的操作步骤意味着测试用例需要被分解为多个测试用例或者分解为多个环节进行验证。

      (7) 所期望的测试结果是可验证的,即能迅速、明确地判断测试的实际结果是否与所期望的结果相同或相匹配。例如,在测试用例中描述期望结果为“登录成功”,这实际是不可验证的。要使这个期望结果具有可验证性,我们就应该这样描述所期望的结果——“‘退出(log out)’按钮出现”。

      (8) 测试环境的正确性、测试数据的充分性。

      (9) 前提条件、依赖性被完全识别出来。

      这样,测试用例具有很好的可理解性和可维护性,可以提高测试执行的效率。并能保证不同的人员执行相同的用例能获得统一的结果。步骤的准确性和期望结果的可验证性,非常有助于测试执行的自动化实现。也只有实现了测试执行的自动化,测试执行的效率才是最高的,而且测试人员才有更多的时间去思考、去设计更优秀的测试用例,进入良性循环,相互促进,不断地提升测试的质量和效率。

    字段名称

    类型

    注释

    标志符

    整型

    唯一标识该测试用例的值,自动生成

    测试项

    字符型

    测试的对象,可以从软件配置库中选择

    测试目标

    字符型

    从固定列表中选择一个

    测试环境要求

    字符型

    可从列表中选择,如果没有,则直接输入新增内容

    前提

    字符型

    事先设定、条件限制,如已登录、某个选项已选上

    输入数据

    字符型

    输入要求说明、或数据列举

    操作步骤

    字符型

    按1., 2., …操作步骤的顺序,准确详细地描述。

    期望输出

    字符型

     

    所属模块

    整型

    模块标识符。

    优先级

    整型

    1,2,3(1-优先级最高)

    层次

    整型

    0,1,2,3 ( 0 –最高层)

    关联的测试用例

    整型

    上层(父)用例的标识符。

    执行时间

    实型

    分钟

    自动化标识

    布尔型

    T,F

    关联的缺陷

    枚举型

    缺陷标识符列表。

    展开全文
  • 测试用例不仅能有效地帮助实施后继的回归测试、知识的传递和测试的管理等,而且更重要的是能更快、更有效地发现缺陷,确保测试的系统性和全面性,在测试的深度和广度达到所期望的目标。也就是说,测试用例的质量就是...
     marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280">
     在定义测试用例的质量标准之前,先要了解设计测试用例的目的。测试用例是测试工作中最重要的元素或测试件(test ware)之一,是测试执行的基础。测试用例不仅能有效地帮助实施后继的回归测试、知识的传递和测试的管理等,而且更重要的是能更快、更有效地发现缺陷,确保测试的系统性和全面性,测试的深度和广度达到所期望的目标也就是说,测试用例的质量就是满足测试目标的程度,体现在 “测试覆盖率和测试执行效率”两个方面。所以,测试用例最基本的质量标准就是:
    • 达到已定义的或所要求的测试覆盖率,如大于98%。
    • 使测试执行的效率达到最好的水平,如最有效的途径并使60%以上的测试用例被测试工具执行
     
       但是,按照这样的标准,很难在测试执行前或执行过程中评估测试用例的质量,而不得不在执行完这些测试用例之后进行度量,特别是测试覆盖率。所以,理想的情况要求在测试用例设计过程中,可以按照某种特定的质量标准对测试用例进行复审(review)、实施评估。那么,这种特定的质量标准是什么呢?
       
        根据多年的实践经验,测试用例的标准不能局限于一个层次,因为测试用例设计类似于软件设计,软件设计有架构设计(结构设计/概要设计)和详细设计,所以对于测试用例的质量标准,也应分为两个层次来考虑:

    (1)高层次——满足某一个测试目标或测试任务来整体看测试用例,衡量一组测试用例的结构、设计思路和覆盖率等指标。

        (2)低层次——从单个测试用例看,衡量其描述的规范性、可理解性和可维护性等指标。

    朱少民-软件测试和质量专栏 版权所有

    1.高层次(high-level)标准

    高层次标准是从满足某一个特定的测试目标出发来进行定义,分析一组测试用例的设计思路、设计方法和策略,包括测试用例的层次、结构等。从高层次看,测试用例设计的关键点是:始终从客户需求的角度(出发),始终围绕测试的覆盖率和执行效率不断思考,最终通过有效的技术方法完成测试用例的设计。

    对于一整套的测试用例组(集合),可定义如下的质量标准:

    (1) 测试用例的目标清楚,并能满足软件质量的各个方面,包括功能测试、性能测试、安全性测试、故障转移测试、负载测试等。

        (2) 设计思路正确、清晰。例如,通过序列图、状态图、工作流程图、数据流程图等来描述待测试的功能特性或非功能特性。

        (3) 在组织和分类上,测试用例层次清楚、结构合理。测试用例的层次与产品特性的结构/层次相一致,或者与测试的目标/子目标的分类/层次相一致,并具有合理的优先级或执行顺序。

        (4) 测试用例覆盖所有测试点、覆盖所有已知的用户使用场景(User scenario),也就是说每个测试点都有相应数量的测试用例来覆盖,而且将各种用户使用场景通过矩阵或因果图等方式列出来,找到相对应的测试用例。

        (5) 测试手段的区别对待。在设计测试用例时,就要全面考量测试的手段,哪些方面可以通过工具测试,哪些方面不得不用手工测试,对不同手段的测试用例区别对待。

        (6) 有充分的负面测试。作为测试用例,不仅要测试正确的输入和操作,还要测试各种各样的例外情况,如边界条件、不正确的操作、错误的数据输入等。

        (7) 没有重复、冗余的测试用例,满足相应的行业标准等。

    朱少民-软件测试和质量专栏 版权所有

    2.低层次(low-level) 标准

    低层次标准是考察单个测试用例是否满足测试的需求,是否能被更有效地执行。测试用例设计的结果就是交付测试用例,使测试用例被执行,所以除了覆盖率,执行的效率也是测试用例的一个重要属性。测试用例越清楚,越容易被理解和执行。执行效率越高就说明测试用例越好,如果测试用例能被机器(computer)执行,当然执行效率得到体现。

    对于具体的某个测试用例,不妨可定义如下的质量标准:

        (1) 测试用例的出发点是发现缺陷,即单个测试用例在“暴露缺陷”上具有较高的可能性。

        (2) 测试用例的单一性。一个测试用例面向一个测试点,不要将许多测试点揉在一起。例如,通过一个测试用例发现1~2个缺陷,而不能发现5~10个缺陷甚至更多的缺陷。

        (3) 符合测试用例设计规范或测试用例模板,见下面附表所示。

        (4) 描述清楚,包括特定的场合、特定的对象和特定的术语,没有含糊的概念和一般性的描述。例如,测试用例名称为“登录功能使用正常”,就是一个描述不清楚的例子,而这样的描述“登录功能中用户名大小写不敏感性验证”、“登录功能中用户名唯一性验证”和“用户帐号被锁定后再进行登录操作”等就比较好。

        (5) 操作步骤的准确性,按照步骤的操作得到唯一的测试结果。

        (6) 操作步骤的简单性。操作步骤不应该太复杂,过于复杂的操作步骤意味着测试用例需要被分解为多个测试用例或者分解为多个环节进行验证。

        (7) 所期望的测试结果是可验证的即能迅速、明确地判断测试的实际结果是否与所期望的结果相同或相匹配。例如,在测试用例中描述期望结果为“登录成功”,这实际是不可验证的。要使这个期望结果具有可验证性,我们就应该这样描述所期望的结果——“‘退出(log out)’按钮出现”。

        (8) 测试环境的正确性、测试数据的充分性。

        (9) 前提条件、依赖性被完全识别出来。

    朱少民-软件测试和质量专栏 版权所有


        这样,测试用例具有很好的可理解性和可维护性,可以提高测试执行的效率。并能保证不同的人员执行相同的用例能获得统一的结果。步骤的准确性和期望结果的可验证性,非常有助于测试执行的自动化实现。也只有实现了测试执行的自动化,测试执行的效率才是最高的,而且测试人员才有更多的时间去思考、去设计更优秀的测试用例,进入良性循环,相互促进,不断地提升测试的质量和效率。


    测试用例模板

    字段名称

    类型

    注释

    标志符

    整型

    唯一标识该测试用例的值,自动生成

    测试项

    字符型

    测试的对象,可以从软件配置库中选择

    测试目标

    字符型

    从固定列表中选择一个

    测试环境要求

    字符型

    可从列表中选择,如果没有,则直接输入新增内容

    前提

    字符型

    事先设定、条件限制,如已登录、某个选项已选上

    输入数据

    字符型

    输入要求说明、或数据列举

    操作步骤

    字符型

    1., 2., … 操作步骤的顺序,准确详细地描述。

    期望输出

    字符型

     

    所属模块

    整型

    模块标识符。

    优先级

    整型

    123 1-优先级最高)

    层次

    整型

    0123  ( 0 – 最高层)

    关联的测试用例

    整型

    上层(父)用例的标识符。

    执行时间

    实型

    分钟

    自动化标识

    布尔型

    TF

    关联的缺陷

    枚举型

    缺陷标识符列表。

    朱少民-软件测试和质量专栏 版权所有

    参考: 

    第21回   测试用例设计方法的综合运用
    第22回   测试用例的复审 
    版权所有,软件测试演义®



    展开全文
  • 编写测试用例的目的就是确保测试过程全面高效、有据可查。但要编写出高效的测试用例,需要搞清楚什么是测试用例,以及如何编写出高效的测试用例?接下来将从以下几个部分来进行展开 1、什么是测试用例 2、如何编写...

    编写测试用例的目的就是确保测试过程全面高效、有据可查。但要编写出高效的测试用例,需要搞清楚什么是测试用例,以及如何编写出高效的测试用例?接下来将从以下几个部分来进行展开

    1、什么是测试用例
    2、如何编写测试用例
    3、测试用例专项学习资源分享

    一、什么是测试用例

    测试用例 :为了特定目的而设计的由一组测试输入、执行条件、预期结果构成的文档。

    简单理解就是将产品的需求拆分为一个个功能点,然后去验证其正确性

    二、如何编写测试用例

    编写测试用例主要分为下面两种方式:

    覆盖需求所有测试点
    挖掘需求外的测试点
    下面我们来分别阐述如何实现:

    1、看怎样去实现覆盖需求所有测试点

    1)能看懂需求文档,找准测试测试依据
    在这里插入图片描述
    作为测试人员,需求文档是测试软件的依据,首先需要看懂产品的需求文档。对于需求文档涉及的测试点能够整理出来,简单理解就是把大段的文字描述转化为思维导图的过程,推荐大家通过Xmind的形式整理。
    其次,在需求文档的基础上结合测试环境或者产品人员,加深对需求的理解,方便后续更好的熟悉需求,整理测试点编写用例。

    2)整理测试点

    整理测试点的好处就是给编写用例的人员提供一个全面可靠的思路,防止设计用例过程的遗漏或者错误。同时也可以降低直接拿着需求文本编写用例的难度。编写的宗旨,最起码确保能覆盖需求。
    将需求文档中的需求转化为测试点,方便编写测试用例,一般按照需求文档拆分成小的功能点,分别取验证。拆分到直接能够编写用例的程度,这个过程中可以使用一些设计用例的方法,即分别验证每一个小的测试目的。

    举例,现在页面登录功能需求如下
    在这里插入图片描述
    若上诉需求要拆分成测试点,则可以制作如下所示:
    在这里插入图片描述

    2、挖掘需求外测试点

    在讲这个话题之前,需要提前给大家普吉一个概念:质量模型特性。

    质量模型特征包含:功能性、性能效率、安全性、易用性、兼容性、可靠性等
    还是以上方的登录功能为例,根据质量模型特征,我们可以得到需求外测试点如下所示:
    在这里插入图片描述
    覆盖需求中的测试点,这是最基本的要求,再此基础上还需要挖掘需求外的测试点,可以借助于软件质量模型的特性进行思考,想法设法多思考用户使用过程中可能存在的各种场景。例如上述登录功能可以从非功能层面考虑设计
    在这里插入图片描述
    总之,在确认覆盖需求的基础上,通过质量模型的特性进行思考补充,熟练使用质量模型过程实际是在对系统比较熟悉的基础上进行扩展补充,当然这个过程可以借助内部测试人员的讨论和评审补充会更加完善。

    最后:

    合理利用自己每一分每一秒的时间来学习提升自己!趁年轻,使劲拼,给未来的自己一个交代!
    我的测试学习交流群:1033482984 群里有技术大牛一起交流分享~
    如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。

    展开全文
  • 测试用例不仅能有效地帮助实施后继的回归测试、知识的传递和测试的管理等,而且更重要的是能更快、更有效地发现缺陷,确保测试的系统性和全面性,在测试的深度和广度达到所期望的目标。也就是说,测试用例的质量就是...
  • 测试相关问题二

    2018-12-25 14:44:35
    如何确保测试某个需求的时候覆盖尽可能多的测试点? 用例层面 1、理解清楚需求, 确保需求中提到的点都实现了 2、测试用例不仅要覆盖正常的场景,还需要覆盖异常的场景 3、结合自己的经验, 分析类似模块的功能出现...

    如何确保测试某个需求的时候覆盖尽可能多的测试点?
    用例层面
    1、理解清楚需求, 确保需求中提到的点都实现了
    2、测试用例不仅要覆盖正常的场景,还需要覆盖异常的场景
    3、结合自己的经验, 分析类似模块的功能出现了哪些bug,然后看看自己用例是否覆盖了这些场景
    4、认真做好测试用例评审,一个人的思路有限,大家一起思考就比较全面些
    测试执行层面:
    1、进行交叉测试,整个测试周期确保一个功能被多个人测试过
    2、如果有空余时间,可以进行探索式测试,充分发挥人的发散思维来测试

    如果没有需求你怎么去做分析?怎么找出测试点?
    1、主动了解做这个功能的背景,意图,要去解决一个什么样的问题,这个可以找产品或者开发要,或者谁要求做这个功能的人要,知道这些后,测试的时候才心中有数,知道功能实现对不对
    2、尽量让熟悉这块的业务的人去测试,这样功能的一些业务的测试点能够找出来

    测试人员如何把控测试进度?
    测试执行人员:根据测试计划来执行测试就好,建议优先执行测试用例,再回归bug, 这样可以尽早发现bug, 另外实时评估自己的任务是否能够按时完成,如果进度不对,及时给测试负责人汇报
    测试负责人:每天要关注每个人的进度,以及bug的情况, 思考进度是否ok, 测试结果是否符合预期, 如果有异常的地方要思考为什么会出现这种情况, 如果出现测试阻塞的情况,及时推动问题的解决。

    展开全文
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    用例图中可以包含若干个用例用例表达了系统的功能 用例只描述参与者和系统在交互过程中做些什么,并不描述怎么做。 用例图 关联关系 用例图 泛化关系 用例图 泛化关系 用例图 用例图 用例图 用例用于什么...
  • 软件工程知识点

    2012-12-02 21:34:25
    在组装过程中,需要对整个系统进行集成测试,以确保系统在技术上符合设计要求,在应用上满足需求规格要求。 5.系统确认验证 在完成对系统的集成之后,接着还要对系统进行确认验证。 系统确认验证需要以用户为主体,...
  • CruiseYoung提供的带有详细书签的电子书籍目录 ... 15.1 测试用例 416 15.2 测试方法 417 15.3 单元测试 418 15.4 回归测试 422 15.5 模式修改 422 15.6 重复单元测试 425 15.7 执行计划比较 426 15.8 ...
  • CruiseYoung提供的带有详细书签的电子书籍目录 ... 该资料是《Oracle SQL高级编程》的源代码 ... 15.1 测试用例 416 15.2 测试方法 417 15.3 单元测试 418 15.4 回归测试 422 15.5 模式修改 422 15.6...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

如何确保测试用例覆盖全面