想要写出好的测试用例,先要学会测试设计

正确认识测试设计

测试设计是从特定的测试依据中得到测试用例,是为了实现特定测试覆盖的标准化的方法。

测试依据指的是有关测试的信息,比如项目背景、业务需求、领域知识、团队、进度、预算、风险等等,这些因素在经过测试分析后就是特定的测试依据,它们影响着测试设计与执行。

测试设计是测试整个过程的总纲,通常是测试人员的测试思路的体现。在测试界中,有着测试设计是测试的灵魂,也是测试人员的必修课之说。

测试设计的原则及要考虑的因素

在测试过程中,测试人员不可能穷举所有的测试场景或组合,因此在设计测试用例时,要学会抓住测试的要点或关键点,做合理的取舍,这些要点或关键点需要进行充分分析与设计,以达到理想的覆盖率。

测试设计主要考虑的因素如下:

1、需求分析书、产品设计文档等

2、用户实际使用的场景

3、测试需求的目标

4、被测试的对象

5、测试的方法。

测试设计的基本思路

设定测试项包含哪些测试类型,比如功能测试、性能测试、安全性测试、可靠性测试、其他测试等,清楚了解此次的测试类型是否有遗漏。

设定测试项的优先级,先设计高优先级测试项的测试用例,再设计低优先级测试项的测试用例。如果缺少风险分析意识或是风险分析能力不足,就先把所有测试项的测试用例写出来,然后再组织挑选测试用例的优先级。

测试用例在设计时,需要将具有相类似功能的测试项进行抽象并归类,不是简单的编写,更不是简单地复制文档的内容,设计测试用例是需要思考和优化的。

先设计主流程的、正向的测试用例,再设计逆向的、负面的(异常的、非法操作的)、扩展性的流程或功能的测试用例。

试图找出系统或组件的薄弱环节、边界点等,因为这些特殊区域存在更多的缺陷,需要得到更多的测试来降低测试的风险,达到所设定的测试目标。

如何运用测试设计

测试设计方法有很多,主要有以下几种:
在这里插入图片描述

不同阶段运用的测试设计方法

在项目或是产品的测试过程中,在不同的测试阶段,存在不同的测试方法。以开发阶段划分,测试过程可以分为单元测试、集成测试、系统测试和验收测试。

单元测试

单元测试是对程序模块进行正确性的检验。如果单元测试目标是达到100%判定覆盖率,那测试设计方法就要采用判定逻辑的逻辑覆盖方法,通过分析和设计,达到测试目标。

集成测试

集成测试是在单元测试的基础上,将所有的程序进行整合的验证。程序的整合由接口完成。集成测试的目标是覆盖所有的接口功能及接口性能的验证,那测试方法就会存在功能性的、非性能的验证。

系统测试

系统测试是验证系统所有的功能、模拟所有软件用户的操作。如果系统功能测试目标是覆盖其各种应用场景,这时测试就要基于场景的设计方法,以求达到测试计划中定义的测试目标。

从上面可以看到,逻辑覆盖、基本路径覆盖属于白盒方法、结构化方法,一般应用于单元测试或代码层次上,但逻辑覆盖不局限于代码层同学可以应用于业务层,这时就需求我们画出业务流程图,通过对业务流程图的分析,设计测试用例覆盖其判定或分支 、基本路径 ,达到业务流程的良好覆盖,比较彻底地支持业务的正常远行。

因此,无论是单元测试、集成测试还是系统测试,都是有一定的应用场景和测试目标,或者说,在特定的场景下选择合适的方法。在软件测试各个阶段中,没有最好的测试设计方法,只有最适合的设计方法。

没有任何单一的测试手段就能满足测试设计的需求,而是运用多种方法,才能满足测试需求。例如,等价类划分和边界值分析就是经常结合起来使用。

另外 ,在单元测试中,我们主要采用逻辑覆盖访求(包括语句覆盖、判定覆盖、MC/DC等)来进行测试。但基于输入域的方法(如等价类划分、边界值分析等)也需求被运用在变量引用、函数参数或接口参数的测试上,这就是基于需求的测试方法(黑盒测试方法)和结构化的测试方法(白盒测试方法)相互结合、形成灰盒测试方法。

自动化测试学习资源

在这里插入图片描述

这些资料,以及上方的自动化测试进阶线路详细讲解,对于想进阶测试的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值