软件测试-测试用例的经典例子
问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 … "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)
解:
分析题目中给出和隐含的对输入条件的要求:
(1)整数
(2)三个数
(3)非零数
(4)正数
(5)两边之和大于第三边
(6)等腰
(7)等边
如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号
覆盖有效等价类的测试用例:
a b c 覆盖等价类号码
3 4 5 (1)--(7)
4 4 5 (1)--(7),(8)
4 5 5 (1)--(7),(9)
5 4 5 (1)--(7),(10)
4 4 4 (1)--(7),(11)
覆盖无效等价类的测试用例:
二、边界值分析法
NextDate函数的边界值分析测试用例
在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。
测试用例
|
mouth
|
day
|
year
|
预期输出
|
Test1
Test2
Test3
Test4
Test5
Test6
Test7
|
6
6
6
6
6
6
6
|
15
15
15
15
15
15
15
|
1911
1912
1913
1975
2049
2050
2051
|
1911.6.16
1912.6.16
1913.6.16
1975.6.16
2049.6.16
2050.6.16
2051.6.16
|
Test8
Test9
Test10
Test11
Test12
Test13
|
6
6
6
6
6
6
|
-1
1
2
30
31
32
|
2001
2001
2001
2001
2001
2001
|
day超出[1…31]
2001.6.2
2001.6.3
2001.7.1
输入日期超界
day超出[1…31]
|
Test14
Test15
Test16
Test17
Test18
Test19
|
-1
1
2
11
12
13
|
15
15
15
15
15
15
|
2001
2001
2001
2001
2001
2001
|
Mouth超出[1…12]
2001.1.16
2001.2.16
2001.11.16
2001.12.16
Mouth超出[1…12]
|
三、错误推测法
测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:
解答:
①确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。
②列出所有的条件茬和动作桩:
③填入条件项。可从最后1行条件项开始,逐行向上填满。如第三行是:Y N Y N Y N Y N,第二行是:Y Y N N Y Y N N等等。
④填入动作桩和动作顶。这样便得到形如图的初始判定表。
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
||
条 件 |
功率大于50马力吗? |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
维修记录不全吗? |
Y |
Y |
N |
N |
Y |
Y |
N |
N |
|
运行超过10年吗? |
Y |
N |
Y |
N |
Y |
N |
Y |
N |
|
动 作 |
进行优先处理 |
x |
x |
X |
X |
X |
|||
作其他处理 |
X |
x |
x |
初始判定表
⑤化简。合并相似规则后得到图。
1 |
2 |
3 |
4 |
5 |
||
条 件 |
功率大于50马力吗? |
Y |
Y |
Y |
N |
N |
维修记录不全吗? |
Y |
N |
N |
- |
- |
|
运行超过10年吗? |
- |
Y |
N |
Y |
N |
|
动 作 |
进行优先处理 |
x |
x |
X |
||
作其他处理 |
x |
x |
软件测试-测试用例的经典例子相关推荐
- 软件测试测试用例编写_不要先编写所有软件测试-只需编写一个
软件测试测试用例编写 Test Driven Development (TDD) is sometimes described as "writing tests first". ...
- 场景法设计测试用例atm_测试用例设计经典面试题之电梯、杯子、笔、桌子、洗衣机、椅子、ATM等...
测试用例设计经典面试题之电梯.杯子.笔.桌子.洗衣机.椅子.ATM等 <转载> 1.测试项目:电梯 需求测试:查看电梯使用说明书.安全说明书等 界面测试:查看电梯外观 功能测试:测试电梯能 ...
- 测试电梯的测试用例_测试用例设计经典面试题
测试用例设计经典面试题之电梯.杯子.笔.桌子.洗衣机.椅子.ATM等按测试的类型逐一测试测试类型主要分为:界面测试.性能测试(压力测试).安全测试.兼容性测试几个方向. 1.测试项目:电梯 需求测试: ...
- 软件测试--测试用例
软件测试--测试用例 1. 测试用例的基本要素 2. 设计测试用例的方法 2.1 测试用例总体设计方法 2.1.1 基于需求去设计测试用例 2.2 具体的设计测试用例的方法 2.2.1 等价类 2.2 ...
- python爬虫经典教程-python爬虫经典例子有哪些
python爬虫例子:首先导入爬虫的库,生成一个response对象:然后设置编码格式,并打印状态码:最后输出爬取的信息,代码为[print(response.text)]. python爬虫例子: ...
- 算法-动态规划学习(含经典例子分析)
文章目录 前言 一.动态规划是什么? 二.经典例子 爬楼梯问题 挖金矿问题 三.总结 前言 在leetcode刷题的过程中,碰到了许多动态规划相关的题目,故系统性的学习了动态规划算法.此文章总结了学习 ...
- 几本软件测试方面的经典书籍
推荐几本软件测试方面的经典书籍(2006-11-25 更新) <软件测试> 作者:(美)Ron Patton 译者:周予滨 姚静 出版社:机械工业出版社 原出版社: SAMS 我所见过的最 ...
- graphviz 经典例子
以下在Jupyter Notebook中编辑运行: # 由于pygraphviz的功能有点少,基本放弃对它的使用,改用python库 graphviz 进一步原因如下: # graphviz 是用于& ...
- 面向对象经典例子理解
Java面向对象(转) Java语言是面向对象的.Java语言提供类.接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为impleme ...
- 软件测试登陆注册经典测试用例
注册登录测试: 登陆界面的测试流程 正常类测试: 用户名密码正确 ---------------------登陆成功 异常类测试: 用户名为空,密码输入正确------请输入用户名 用户名正确,密码为 ...
最新文章
- Java数据结构和算法( 二 ) ## 数组
- Android 水波纹点击效果(Ripple Effect)
- ARP(Address Resolution Protocol)地址解析协议初识
- linux中info功能是什么意思,Linux中的info指令
- 前后端开源的一款简单的微信个人博客小程序
- 泰山OFFICE正式在UOS应用商店上架
- wireshark+rtmp协议分析
- yolov5导出onnx用netron.app可视化搜索
- C-COT目标跟踪-----连续卷积算子
- 深度剖析mongos连接池
- 如何在 Windows 中删除运行历史记录
- Swift TextView输入字数限制
- excel计数连续负数(正数)
- 前端面试技巧和注意事项
- 幽默 滑稽 及 其他
- 移动支付服务Dwolla宣布10美元以下交易不收费
- Linux云计算架构-设置计划任务与管理日志
- 计算机函数名功能,修改计算机名的 API 函数 SetComputerName
- oracle安装文件拒绝访问,oracle数据库的listener.ora文件拒绝访问,求解决!!!
- 计算机修改wif教程,电脑修改wifi密码步骤