测试人的必修课!一文说透测试设计该怎么做?

一、正确认识测试设计

测试设计是从特定的测试依据中得到用例,用于实现特定测试覆盖的方法。上面中的测试依据指的是有关测试的信息,比如项目背景、业务需求、领域知识、团队、进度、预算、风险等等,这些因素在经过测试分析后就是特定的测试依据,它们影响着测试设计与执行。测试设计是测试整个过程的总纲,通常是测试人员的测试思路的体现。在测试界中,有着测试设计是测试的灵魂,也是测试人员的必修课之说。

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

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

测试设计的基本思路:

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

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

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

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

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

以下根据上面思路,设计出的例子:

三、如何运用测试设计的方法

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

2、不同阶段如何运用的测试设计方法

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

·单元测试

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

·集成测试

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

·系统测试

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

从上面的分类可以看到,逻辑覆盖、基本路径覆盖等属于白盒方法,一般应用于单元测试或代码层次上,但逻辑覆盖不局限于代码层也可以应用于业务层,这时就需要我们画出业务流程图,通过对业务流程图的分析,设计测试用例覆盖其判定或分支、基本路径,达到业务流程的覆盖,这样才能更好地支持业务的正常运行。所以说,没有任何单一的测试手段就能满足测试设计的需求,而是运用多种方法,才能满足测试需求。无论是单元测试、集成测试还是系统测试,都是有一定的应用场景和测试目标,或者应该说,在特定的场景下,需要选择更合适的方法。因此,在软件测试各个阶段中,没有最好的测试设计方法,只有最适合的设计方法。

文末了:

可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。同时我邀请你进入我们的软件测试学习交流平台,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,了解测试行业的最新趋势,助你快速进阶Python自动化测试/测试开发,稳住当前职位同时走向高薪之路。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值