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

正确认识测试设计

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

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

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

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

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

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

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

2、用户实际使用的场景

3、测试需求的目标

4、被测试的对象

5、测试的方法。

测试设计的基本思路

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

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

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

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

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

如何运用测试设计

测试设计方法有很多,主要有以下几种:

图片

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

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

单元测试

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

集成测试

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

系统测试

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

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

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

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

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

最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

软件测试工程师自学教程:

这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

接口性能测试 — 软件测试人必会618实战场景分析

软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路

软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试

Jmeter实战讲解案例 — 软件测试人必会

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_67695717/article/details/126071491