测试用例设计是测试工作的核心智力活动。目的是以Zui高的效率和Zui低的成本,设计出能发现Zui多缺陷的测试用例。设计方法主要分为两大类:黑盒测试设计方法和白盒测试设计方法。
1. 黑盒测试设计方法
这种方法把程序看作一个不能打开的黑盒子,只关注输入和输出,而不考虑程序内部的逻辑结构。它主要基于需求规格说明书。
a. 等价类划分法
原理:将所有可能的输入数据划分为若干个子集(称为“等价类”),在每个子集中,选取一个代表性的数据进行测试,测试结果等同于该子集内他数据的测试结果。
分类:
有效等价类:符合需求规格说明的、合理的输入数据集合。用于验证程序是否实现了预期功能。
无效等价类:不合理的、非法的输入数据集合。用于验证程序的异常处理能力。
示例:测试一个“成绩输入框”(接受0-100的整数)。
有效等价类:{0}, {50}, {100} (代表[0,100]这个区间)
无效等价类:{-1}, {101}, {50.5}, {“A”}(代表小于0、大于100、小数、非数字等无效输入)
b. 边界值分析法
原理:大量的错误发生在输入或输出的边界上,而不是在中间范围。边界值分析就是专门针对边界及附近的值进行测试。
方法:对每个边界,选取刚好等于、刚刚大于和刚刚小于边界值的数据进行测试。
示例:继续“成绩输入框”的例子,边界是0和100。
测试点:-1, 0, 1, 99, 100, 101
等价类划分和边界值分析通常结合使用,是设计测试用例Zui常用、Zui基础的方法。
c. 判定表法
原理:适用于处理多个逻辑条件组合决定多个操作的问题。它能够将复杂的业务逻辑梳理得清晰明了。
构成:
条件桩:列出所有输入条件。
动作桩:列出所有可能采取的操作。
条件项:列出条件桩的各种取值组合。
动作项:列出在对应条件组合下应采取的动作。
示例:测试“用户登录”验证逻辑(条件:用户名是否正确、密码是否正确;动作:登录成功、提示用户名错误、提示密码错误)。
| 规则1 | 规则2 | 规则3 | 规则4 |
| :--- | :--- | :--- | :--- |
| 用户名是否正确? | N | Y | Y |
| 密码是否正确? | - | N | Y |
| → 提示用户名错误 | √ | | |
| → 提示密码错误 | | √ | |
| → 登录成功 | | | √ |
d. 因果图法
原理:一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法。它特别适合于检查程序输入条件的各种组合情况。判定表可以看作是因果图的一种简化表格形式。
e. 场景法
原理:基于用户使用软件的场景来设计测试用例,也称“业务流程测试”。它贯穿整个系统的多个功能模块,非常适合验收测试。
核心:基本流(Zui理想的主流程)和备选流(各种分支和异常流程)。
示例:测试“网上购物”流程。
基本流:登录 -> 浏览商品 -> 加入购物车 -> 下单 -> 支付 ->退出。
备选流1:用户登录失败。
备选流2:购物车为空时下单。
备选流3:支付时密码错误。
f. 状态迁移法
原理:针对那些行为表现为不同状态转换的系统。通过绘制状态迁移图,覆盖所有从一种状态到另一种状态的路径。
示例:测试一个MP3播放器。
状态:关机、待机、播放、暂停。
事件:按电源键、按播放键、按暂停键。
测试需要覆盖所有可能的状态转换路径。
2. 白盒测试设计方法
这种方法把程序看作一个透明的盒子,测试人员需要了解程序的内部结构和逻辑,并基于此来设计测试用例。
a. 语句覆盖
标准:设计足够的测试用例,使得程序中的每一条可执行语句至少被执行一次。
特点:覆盖能力Zui弱。
b. 判定覆盖/分支覆盖
标准:设计足够的测试用例,使得程序中的每一个判断的取真分支和取假分支至少经历一次。
特点:比语句覆盖强,但未能检查判断条件内部的错误。
c. 条件覆盖
标准:设计足够的测试用例,使得程序中的每一个判断中的每个条件的可能取值至少满足一次。
d. 判定-条件覆盖
标准:同时满足判定覆盖和条件覆盖的标准。
e. 条件组合覆盖
标准:设计足够的测试用例,使得程序中的每个判断中所有条件的各种可能组合都至少出现一次。
特点:覆盖能力强,但测试用例数量会急剧增加。
f. 路径覆盖
标准:设计足够的测试用例,覆盖程序中所有可能的执行路径。
特点:覆盖能力Zui强,但对于复杂程序,路径数量可能呈爆炸式增长,通常难以实现。
项目验收测试,软件确认测试,安全测试,性能测试,功能测试,软件测试报告等
软件测试服务;信息技术咨询服务;信息技术测评服务;软件技术服务;计算机网络平台的开发及建设;软件开发系统集成服务;支撑软件、应用软件的开发。(依法须经批准的项目,经相关部门批准后方可开展经营活动)
湖南卓码软件测评有限公司成立于2015年06月,是一家致力于第三方计算机软件测试服务,具备CMA、CNAS双重资质的专业的第三方软件测试服务机构。公司名称中的“卓码”寓意公司将以卓越的服务质量为用户的产品品质保驾护航。公司拥有专业的软件测试团队和科学的管理机制,拥有先进完善的计算机网络硬件平台和系统软件平台环境,拥有完善的自动化测试工具环境。可根据客户的需求到客户现场服务,或为客户在公司部署各种复杂度的系统测试环境进行测试服务。服务范围...