软件测试 -- 入门 6 软件测试设计方法
Posted Rolei_zl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试 -- 入门 6 软件测试设计方法相关的知识,希望对你有一定的参考价值。
读书要从薄到厚,再从厚到薄。-- 华罗庚
软件测试设计方法,即软件测试执行时的 取数原则 和 执行逻辑,通过需求分析、过程分解,完成对被测对象的验证和确认。
一般会将此类测试设计方法归为黑盒测试范畴,实际应用中,此类方法同样适用于白盒测试。
软件测试的目标是提升质量,直接目的是尽可能早的发现错误。
通过软件测试方法(软件测试 -- 入门 5 软件测试方式_Rolei_zl的博客-CSDN博客)可以从整体上了解测试实现的方式,如何从方法转化为实际可执行的操作,则需要具体的实现细节指导。
通过一系列软件测试方法,设计、定义具体的测试执行方式:场景、目标、环境、数据、步骤、标准,即通过测试用例设计指导测试的具体执行。
- 常用软件测试设计方法
方法 | 对象 | 说明 |
边界值 | 基于输入(或由输入所影响的输出)分析构成的的允许输入和禁止输入 | 针对循环语句的结束条件 和 判断语句的分支路径条件,关注:边界点、边界内、边界外 |
等价类 | 输入无穷尽,通过一类数据中选择的1个或几个点验证某类数据输入对系统的影响满足预期,关注:有效等价类、无效等价类 | |
因果图 | 基于系统数据运转流程,对流程中的各个环节进行分析、设计 | 与、或、非,语句中各条件组合导出不同的结果,白盒测试中的条件覆盖 参考:《The Art of Software Testing . 软件测试的艺术》Glenford J.Myers 著 |
判定表 | 语句中的条件组合 + 各种组合下的结果输出,白盒测试中的组合覆盖,可以由因果图方法生成 | |
状态迁移 | 系统代码的每条路径的执行生成不同的结果、表现不同状态,白盒测试中的判定覆盖 | |
场景法 | 基于实际业务操作汇总可能的系统操作进行验证,白盒测试中的判定覆盖 + 黑盒业务流程测试 | |
错误推测 | 基于业务和测试经验推测系统可能存在问题,设计有针对性的验证用例,探索性测试 | |
正交试验 | 测试覆盖优化,用更少的执行覆盖更为全面的系统验证 | 多条件组合作用结果验证优化,将验证点较平均的分布于不同的验证层面,确认各条件对最终结果的影响度 参考:正交试验_百度百科 |
说明:
* 所有软件测试设计基准及验证原则来自需求描述,需求细节由需求提供者、需求开发者、设计者、开发者、测试者及相关干系人共同确认完成
* 边界值、等价类是最常用也是最为有用的单体测试设计方法,测试人员必须熟练掌握;
* 因果图、判定表、状态迁移图更多的应用于多条件、复杂判断逻辑、多分支的系统业务验证中;
* 场影法、错误推测法则是更多的依靠测试(系统验证)人员对系统所涉及业务的熟悉度,以及对开发规范、业务重点难点的敏感度。
* 因果图符号说明
- Identity,恒等
原因与结果一致呈现,原因成立则结果成立/出现。原因为1/真,结果为1/真;原因为0/假,结果为0/假。
- NOT,非 ~
原因与结果对立呈现,原因成立则结果不成立/出现。原因为1/真,结果为0/假;原因为0/假,结果为1/假。
- OR,或 ∨
多个原因基中任一个满足条件,则结果成立/出现。
- AND,与 ∧
多个原因同时满足条件,结果才成立/出现。
- Exclude
如果结果成立(1/真),则条件中最多有一个成立(1/真);但所有条件可以全部不成立(0/假)。
- Include
如果结果成立(1/真),则条件中至少有一个成立(1/真)。
- Only
结果始终成立(1/真),条件中有且仅有一件条件成立(1/真),其他条件皆为假(0/假)。
- Required
条件a成立(1/真)时,条件b必须也成立(1/真);但条件a不成立(0/假)时,条件b选择不受限制(1/真、0/假均可)。
- Mask
条件a不成立(0/假)时,条件b必须也不成立(0/假);但条件a成立(1/真)时,条件b选择不受限制(1/真、0/假均可)。
- 软件测试设计方法实例(单体设计说明,仅针对日期选择对话框)
方法 | 测试设计 |
边界值 | > 单体日期取值 - 1977 - 2099 > 日期组合(开始日期 2-1,结束日期 2-2) - 结束日期 >= 开始日期 - 结束日期 - 开始日期 <= 3 个月 |
等价类 | > 单体日期取值 - 小于1977 - 等于1977 - 大于1977 ~ 小于2099 - 等于2099 - 大于2099 > 日期组合 - 结束日期 < 开始日期 - 结束日期 = 开始日期 - 结束日期 > 开始日期 - 结束日期 - 开始日期 > 3 个月 - 结束日期 - 开始日期 = 3 个月 - 结束日期 - 开始日期 < 3 个月 |
以上是关于软件测试 -- 入门 6 软件测试设计方法的主要内容,如果未能解决你的问题,请参考以下文章