如何编写软件测试用例(关于软件测试用例)

前言

上次说要总结测试用例来着,一直没找到关于测试用例的基础理论和原理,只好先简单从实操层面梳理一下相关知识。

常见问题

测试用例常见的问题有:

  • 标准不清晰:不知道怎么才是好的测试用例
  • 方法拿不准:不确定用哪种方法设计测试用例
  • 用例不够全:缺少测试用例,验证不充分
  • 用例有重复:不同用例在验证相同的内容
  • 内容不明确:用例的目标、步骤等表述不清,影响执行

如何编写软件测试用例(关于软件测试用例)(1)

测试用例常见问题

标准

好的测试用例可以发现缺陷的,但不一定能够发现缺陷,不能以是否发现了缺陷作为好用例的判断标准。

好的测试用例体现在覆盖度和执行性上,好的测试用例要具备格式良好、表述清晰、有效覆盖这三个要点。

每个测试用例应该是格式良好和表述清晰的。其中内容包括标题、前置条件、输入数据、执行步骤和预期结果等要素,为管理需要,可进一步增加编号、目的、分类、级别等。

如何编写软件测试用例(关于软件测试用例)(2)

测试用例内容要素

测试用例要能在深度和广度上有效覆盖测试需求,测试需求与被测软件需求相关,一般包括功能、性能、可靠性、易用性、可维护性、可移植性等方面。

如何编写软件测试用例(关于软件测试用例)(3)

测试覆盖需求

方法论

测试人员需要在功能、性能等测试需求的每个方向上遍历测试点,再根据每个测试点匹配对应的测试方法,甚至应用某些辅助工具,创建有效的测试用例。

如何编写软件测试用例(关于软件测试用例)(4)

测试用例产生过程

下图由“斜杠方子”整理自《测试架构师修炼之道》,描述了各方面测试需求对应的测试方法。

如何编写软件测试用例(关于软件测试用例)(5)

测试车轮图(自:斜杠方子)

测试用例设计基于测试点开展,而测试点可归纳为流程型、参数型、数据型和组合型四类。这个分类方法和切入点还是好的,毕竟软件程序基本都可以抽象为“输入参数-处理过程-输出结果”,使用这个分类方法可以为建立高覆盖度的测试用例建立基础。

如何编写软件测试用例(关于软件测试用例)(6)

测试点类型

无论何种测试点,测试用例可使用建模、设计、补充和扩展4个步骤完成和完善。

如何编写软件测试用例(关于软件测试用例)(7)

用例设计步骤

每种类型测试点的建模、设计方法各有不同。这个过程规范也是可圈可点,建模阶段基本是在做分型和描述需求,设计阶段利用分型对应的设计方法对测试用例进行拆解,补充和扩展阶段属于整理和查漏补缺,整体严丝合缝。需要注意的是,在后面的阶段,可以额外结合软件的架构设计和实现逻辑等进行补充,效果会更好一些。

如何编写软件测试用例(关于软件测试用例)(8)

各类测试点用例设计步骤和方法

技术

下面介绍等价类法、边界值法和错误推测法三种测试案例设计技术。

[微风]等价类法

等价类法是黑盒测试的基本方法,其特点是使用最小的测试数据达到最好的测试质量。

等价类是指某个输入域的子集,在该子集中,各输入数据对于发现程序中的错误具备相同效力,测试某等价类的代表值就等于对这一类其它值的测试。这是等价类的基础原理。

等价类的定律是:若被测程序若是正确的,就应该既能接受有效的输入,也能接受无效输入的考验。

等价类划分时,需要注意既要有代表性和完备性,又要避免冗余性,这是等价类的划分标准。

如何编写软件测试用例(关于软件测试用例)(9)

等价类法

​[微风]边界值法

边界值法就是对输入或输出的边界值进行测试的一种黑盒测试方法,通常作为对等价类划分法的补充,其测试用例来自等价类的边界。而边界值是指相对于输入等价类和输出等价类而言,稍高于边界或稍低于边界的一些特定情况,是等价类的冗余情形。

边界值法的原理是:编程的很多错误是发生在输入定义域或输出值域的边界上,而不是发生在输入/输出范围的中间区域。

一般针对开区间、闭区间以及半开半闭区间这三种情况,通过三点分析法(内点、上点和离点)来确定边界值。

如何编写软件测试用例(关于软件测试用例)(10)

边界值法

​[微风]错误推测法

错误推测法基于经验和直觉推测程序中所有可能存在的各种错误,进而针对性地设计测试用例。

错误推测法的着眼点是软件中容易出现错误的地方和可能有假设的地方。

工具

​[微风]PICT

PICT(Pairwise Independent Combinatorial Testing)工具原是微软公司内部使用的一款自动生成成对组合测试用例的命令行工具,生成Pairwise testing所需的测试用例,并且可以将结果导出到Excel。

​[微风]XMind2TestCase

首先使用脑图工具XMind按照测试用例模板编写用例,然后使用XMind2TestCase工具将XMind格式的测试用例导出为TestLink、Zentao等可导入格式。

​[微风]BenderRBT

BenderRBT是基于需求的功能测试用例设计工具,具有组合对法(OrthogonalPairs)和因果图(CauseEffect)两种功能模块,通过对被测应用的需求进一步清晰化整理,进而设计出最小数目的测试用例实现最大的功能覆盖率。

​[微风]Pairwiser

inductive.no网站上有个Pairwiser工具,可以在线或下载使用,支持自己设置规则,排除掉一些没有必要测试的情况。

结束语

网上关于测试用例编写方法的文章很多,很多也写得很详细,本文主要就套路作一介绍,其他内容就不再啰嗦了,感谢!!!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页