当前位置: 首页 > 编程日记 > 正文

黑盒测试方法案例

1.根据下面给出的规格说明,利用等价类进行测试用例的设计。

     一个程序读入3个正整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是普通的、是等腰的、还是等边的。

a.找出输入输出条件,列出有效等价类和无效等价类并编号;

输入有效的等价类无效等价类
3条边3个正整数(1)<3个数(2),>3个数(3),非正整数(4),非数字(5)
普通三角形a+b>c且a+c>b且b+c>a (6)a+b<c(7),a+c<b(8), b+c<a(9)
等腰三角形a=c(10),a=b(11), b=c(12)
等边三角形a=b=c(13)

b.设计用例

编号覆盖等价类abc预期输出
11,6345普通三角形
21,6,10343等腰三角形
31,6,11334等腰三角形
41,6,12433等腰三角形
51,6,13333等边三角形
6233非三角形
73333,3非三角形
84-133非三角形
95aaa非三角形
107348非三角形
118384非三角形
129834非三角形

以上是最少的测试用例组合,如果时间、条件允许可适当补充用例;

2.正对上题, 要求三角形每边边长的取范围值设值为(1, 100],利用边界值进行测试用例的设计。

a.找出上点:1,100  离点:2,101 内点:55

b.等价类的基础上补充边界用例

用例编号abc预期输出
155551等腰三角形
25050100非三角形
355552等腰三角形
45555101等腰三角形
5555555等边三角形
615555等腰三角形
71005050非三角形
825555等腰三角形
91015555等腰三角形
1055155等腰三角形
115010050非三角形
1255255等腰三角形
135510155等腰三角形

3.用判定表方法设计上述用例。

a.找出条件桩:是否构成三角形(能/不能);三边关系(a=b/a=c/b=c);

动作桩:非三角形,等腰三角形、等边三角形、普通三角形;

b.画判定表;

条件桩12345678910111213141516
构成三角形YYYYYYYYNNNNNNNN
a=bYYYYNNNNXYYYNNNN
b=cYYNNYYNNXYNNYYNN
a=cYNYNYNYNXNYNYNYN
动作桩等边三角形不存在不存在等腰三角形不存在等腰三角形等腰三角形普通三角形非三角形非三角形非三角形非三角形非三角形非三角形非三角形非三角形

c.合并化简

根据题意,不能构成三角形就不需要再考虑三边关系,所以不能构成三角形的列可以合并为一条,上表标红部分可以直接删除,逻辑不存在的2,3,5条也可以删除,形成下图最终的判定表,最后可以参考等价类和边界值来进行最终的用例设计;

条件桩123456
构成三角形YYYYYN
a=bYYNNNX
b=cYNYNNX
a=cYNNYNX
动作桩等边三角形等腰三角形等腰三角形等腰三角形普通三角形非三角形

4.自动售货机的部分需求规格说明如下:

      一个处理单价为5角钱的饮料的自动售货机。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。”请使用因果图法设计相应的测试用例。

a. 原因(输入):有零钱  投5角  投1元  橙汁  啤酒

b. 找结果(输出):出橙汁 出啤酒  零钱找完  退1元 退5角

c. 画因果图:

说明:左列原因,右列结果;11表示按下按钮,12表示该找5角,13表示可找5角,14表示钱付清;

d.生成判定表

条件桩12345678910111213141516
有零钱找YYYYYYYYNNNNNNNN
投一元YYYNNNNNYYYNNNNN
投五角NNNYYYNNNNNYYYNN
押橙汁YNNYNNYNYNNYNNYN
押啤酒NYNNYNNYNYNNYNNY
动作桩退5角,出橙汁退5角,出啤酒无反应出橙汁出啤酒无反应无反应无反应红灯亮,退一元红灯亮,退一元无反应出橙汁出啤酒无反应无反应无反应

5.根据下面场景,利用正交实验法设计用例。用户登录系统,三个登录条件:用户名、密码、验证码,考虑填写或不填写。

a.找因子:用户名,密码,验证码

b.找因子状态:填,不填

c.3因子2状态,套用正交表

d.生成正交表

测试用例编号

用户名

密码

验证码

1

2

不填

不填

3

不填

不填

4

不填

不填

PS:1.可以根据SRS, 对生成后的正交表进行增删操作, 删除无意义的用例,添加需要的用例;

2.若得到的因子和状态数,找不到对应的正交表,则合并删除,选取最为接近的正交表,例如:5因子2状态,没有该正交表,可以用7因子2状态代替。

6.案例:一个缺陷的一生
     测试人员提交新问题单,测试经理审核问题单,如果不是问题则作为非问题关闭,如果重复则作为重复问题关闭。否则置为打开状态;
      开发人员分析打开状态的问题单,如果接受则进行修改,否则应与测试人员协商,在问题提交人统一的情况下可退回给测试人员作为非问题关闭;
      对于开发人员拒绝修改但测试人员无法认同的情况,该问题单需交CCB评审,根据评审结果,如果确认要修改则进入修改状态;
     如果不是问题则作为非问题关闭,如果是问题但暂时无法解决则挂起。挂起的问题单到达指定修改期限时会再次进入打开状态。修改后的问题单需由测试人员进行回归测试,如果回归通过则关闭问题单,如果回归不通过则重新进入打开状态。 

根据上述案例过程,画状态迁移图。


a.找状态:打开,关闭,修复,重新打开,审核,关闭,重复,延迟,丢弃

b.画状态迁移图

7.根据下图分析流程,找出所有路径;

根据上图,共可以找到8条路径:

a.基本流→结束用例

b.基本流→备选流1→结束用例

c.基本流→备选流1→备选流2→结束用例

d.基本流→备选流3→备选流1→备选流2→结束用例

e.基本流→备选流3→结束用例

f.基本流→备选流4→结束用例

g.基本流→备选流3→备选流4→结束用例

h.基本流→备选流4→结束用例

转载于:https://www.cnblogs.com/Carolinee/p/5546594.html

相关文章:

Dockerfile 入门看这篇就够了

在使用docker时&#xff0c;有很多像往容器中复制war包、修改容器配置之类的操作&#xff0c;很繁琐&#xff0c;配置失败或异常时就又是一遍重复的操作&#xff0c;这时候&#xff0c;就要用到这个脚本文件–Dockerfile 以下是我对Dockerfile的理解&#xff1a; 1、首先 Docke…

【DSP开发】C6000非多核非KeyStone系列DSP中断系统

C6000系列DSP的中断系统 上一篇介绍了C6455的GPIO系统&#xff0c;最后把GPIO4配置成了中断/事件模式&#xff0c;本文将介绍C6455的中断系统&#xff0c;介绍完基本概念后&#xff0c;给出把GPIO4映射到INT4的代码。 完成了GPIO和中断的配置&#xff0c;我们就可以开始着手DSP…

SVN用法大全,SVN除了update、commit还有什么

svn除了大家都知道的update、commit以外还有什么常用功能呢&#xff1f; 点击TortoiseSVN后&#xff0c;出现了右图的列表&#xff0c;这其中有哪些是常用的功能呢&#xff1f;最近在家办公&#xff0c;有些东西要svn操作&#xff0c;就了解了下。 咱们从上面开始 1、Show log…

递归删除目录下的所有文件

import java.io.File; public class DeleteDirectory { /** * 删除空目录 * param dir 将要删除的目录路径 */ private static void doDeleteEmptyDir(String dir) { boolean success (new File(dir)).delete(); if (success) { System.out.println("Successfully delete…

Web项目使用nginx实现代理端口访问,看这篇就够了

在搭建服务器的时候&#xff0c;项目部署在tomcat上&#xff0c;要访问项目&#xff0c;则需要加上端口号&#xff0c;如何隐藏端口号来访问呢&#xff0c;这就用到了nginx. nginx可以在docker上安装&#xff0c;也可以在linux上安装&#xff0c;这里我建议使用linux&#xff0…

java.lang.Thread使用及总结

1 public class mainThread{2 public static void main(String args[]){3 //第一种方式启动线程4 otherThread otnew otherThread();5 Thread tnew Thread(ot);6 t.start();7 8 //第二种方式启动线程9 itemThread…

linux/docker个人服务器项目中文变问号??,时间差8小时问题解决方法,最新,最有效

前段时间在腾讯云上面买了一台个人服务器&#xff0c;在搭建好web项目的时候&#xff0c;在项目中录入中文&#xff0c;全部变成了问号,时间也错了&#xff0c;百思不得其解&#xff0c;后来我尝试着修改docker编码&#xff0c;修改系统语言&#xff0c;都无法改变。后来我把项…

Android手机指令操作释疑

有人问我一个关于Android手机root与否的问题,她说明明iTools显示已取得root权限,但她就是没法在该手机上运行需要root权限的App如钛备份等等.我告诉她最好的确认方式便是以adb指令进到 /data/data路径之下,再执行 ls –al,若能顺利得到执行结果,而不会提示”Permission denied”…

伍六七带你学算法 入门篇-矩形重叠

力扣解题-----每日一题-836 矩形以列表 [x1, y1, x2, y2] 的形式表示&#xff0c;其中 (x1, y1) 为左下角的坐标&#xff0c;(x2, y2) 是右上角的坐标。 如果相交的面积为正&#xff0c;则称两矩形重叠。需要明确的是&#xff0c;只在角或边接触的两个矩形不构成重叠。 给出…

[摘录]代码优化规则

<<代码优化&#xff1a;有效使用内存>>代码优化建议&#xff1a; 1. 展开读取内存的循环 2. 消除数据相关性 如果请求的RAM单元存在地址数据相关性&#xff08;也就是说&#xff0c;一个单元含有另一个单元的地址&#xff09;&#xff0c;那么CPU不能…

伍六七带你学算法 入门篇-拼写单词

力扣解题&#xff0c;每日一题 1160. 拼写单词 难度- 简单 给你一份『词汇表』&#xff08;字符串数组&#xff09; words 和一张『字母表』&#xff08;字符串&#xff09; chars。 假如你可以用 chars 中的『字母』&#xff08;字符&#xff09;拼写出 words 中的某个『单…

linux内核调优参考

对于新部署的机器&#xff0c;需要做一些基本的调优操作&#xff0c;以更改一些默认配置带来的性能问题 1 修改打开文件数 rootmysql:/data/tools/db# vim /etc/security/limits.conf * soft nofile 65535 * soft nproc 65535…

伍六七带你学算法 入门篇-最长回文串

力扣解题&#xff0c;每日一题&#xff1a;409. 最长回文串 难度- 简单 给定一个包含大写字母和小写字母的字符串&#xff0c;找到通过这些字母构造成的最长的回文串。 在构造过程中&#xff0c;请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串…

bzoj1095: [ZJOI2007]Hide 捉迷藏 线段树维护括号序列 点分治 链分治

这题真是十分难写啊 不管是点分治还是括号序列都有一堆细节。。 点分治&#xff1a;时空复杂度$O(n\log^2n)$&#xff0c;常数巨大 主要就是3个堆的初始状态 C堆&#xff1a;每个节点一个&#xff0c;为子树中的点到它父亲的距离的堆。 B堆&#xff1a;每个节点一个&#xff0c…

伍六七带你学算法 入门篇-最小的k个数

java面试题-最小的k个数 难度-简单 输入整数数组 arr &#xff0c;找出其中最小的 k 个数。例如&#xff0c;输入4、5、1、6、2、7、3、8这8个数字&#xff0c;则最小的4个数字是1、2、3、4。 示例 1&#xff1a; 输入&#xff1a;arr [3,2,1], k 2 输出&#xff1a;[1,2] …

伍六七带你学算法 进阶篇-三数之和

三数之和 难度-中等 题目&#xff1a;给你一个包含 n 个整数的数组 nums&#xff0c;判断 nums 中是否存在三个元素 a&#xff0c;b&#xff0c;c &#xff0c;使得 a b c 0 &#xff1f;请你找出所有满足条件且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三…

伍六七带你学算法 入门篇-链表的中间节点

力扣-876链表的中间节点 难度-简单 给定一个带有头结点 head 的非空单链表&#xff0c;返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 示例 1&#xff1a; 输入&#xff1a;[1,2,3,4,5] 输出&#xff1a;此列表中的结点 3 (序列化形式&#xf…

伍六七带你学算法 入门篇-卡牌分组

力扣-914. 卡牌分组 难度-简单 这是一道非常有趣的题&#xff0c;提交通过率令人深思 &#xff0c;思考它是不是一道简单的题… 开始正题&#xff1a; 给定一副牌&#xff0c;每张牌上都写着一个整数。 此时&#xff0c;你需要选定一个数字 X&#xff0c;使我们可以将整副牌…

伍六七带你学算法 进阶篇-排序算法

给定一个整数数组 nums&#xff0c;将该数组升序排列。 示例 1&#xff1a; 输入&#xff1a;[5,2,3,1] 输出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 输入&#xff1a;[5,1,1,2,0,0] 输出&#xff1a;[0,0,1,1,2,5] 各排序算法解法如下&#xff1a; (如想要了解算法排序原理…

伍六七带你学算法 进阶篇-生命游戏

有趣的算法题–生命游戏 难度-中等 根据 百度百科 &#xff0c;生命游戏&#xff0c;简称为生命&#xff0c;是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 想要体验生命游戏的小伙伴可以到这里——>生命游戏 进入正题&#xff1a; 给定一个包含 m n 个格子的…

Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!

最近在给同学弄毕业设计的数据库&#xff0c;因为oracle在个人电脑上极不稳定&#xff0c;所以他的电脑数据库崩溃了&#xff0c;这时候我就在docker上为他拉了一个oracle&#xff0c;解决了问题。 docker的安装共有以下几步&#xff0c;实测没问题&#xff0c;直接搬去永久可以…

plsql配置多数据源,想换哪个换哪个

现在的公司内部普遍使用plsql对数据库进行管理。而数据库非常多&#xff0c;从测试到线上环境数据库那么多&#xff0c;我们通常使用同一配置管理&#xff0c;便于切换。那么配置数据库连接就成为了很重要的一步。 1、安装plsql &#xff08;这里大家去下载安装一下&#xff0…

常见的几种网络抓包及协议分析工具

网络工程师必备技能-抓取网络数据。在本篇博客中,我们将集中记下几个问题进行探讨:Wireshark 是免费的抓取数据包、分析数据包的工具,兼容 Windows、Linux、Mac等主流平台。使用 wireshark 抓包需要的工具是:安装了 wireshark 的 PC。wireshark 抓包的范围是:抓取安装了 wireshark 的 PC 本机的网卡上流经的数据包。其中,网卡指的是 PC 上网使用的模块,常见的包括:以太网网卡、wifi 无线网卡,PC 分别使用它们用于连接以太网、wifi 无线网络。

一文搞懂网络OSI网络模型

在互联网技术里,有两件事最为重要,一个是TCP/IP协议,它是万物互联的事实标准;另一个是Linux操作系统,它是推动互联网技术走向繁荣的基石。在网络编程中最重要的模型便是OSI七层网络模型和TCP/IP四层网络模型七层模型,也称为OSI(Open System Interconnection)参考模型,是国际标准化(ISO)指定的一个用于计算机或通信系统间互联的标准体系。建立七层模型的主要目的是为解决各种网络互联时遇到的兼容性问题。

简单两步,spring aop上手即用即会

面向切面思想在于它的干净&#xff0c;对逻辑代码没有任何侵入性&#xff0c;只需要在想要切入的方法或者类之上加上自定义的注解即可。 首先&#xff0c;就是自定义一个注解&#xff1a; //这里我们定义一个名为 MyPointer 的注解 Documented Retention(RetentionPolicy.RUNTI…

手动将jar包导入pom依赖,让jar包适配本地maven项目

前言&#xff1a; Oracle对maven很久没有更新依赖&#xff0c;虽然19年更新了一版&#xff0c;但pom引入一直有错误。 我用的是oralce 12的依赖&#xff0c;虽然有jar包&#xff0c;但是依赖和pom没有适配&#xff0c;项目打包的时候还要去中央仓库去下载&#xff0c;而中央仓库…

浏览器兼容video视频播放的多种方法&视频在浏览器播放格式,视频浏览器播放格式演示

对于老版本的IE可以通过HTML5shiv来使不支持HTML5的浏览器支持HTML新标签video和audio标签。主要解决HTML5提出的新的元素不被IE6/IE7/IE8识别,这些新元素不能作为父节点包裹子元素,且不能应用CSS样式。让CSS 样式应用在未知元素只需执行 document.createElement(elementName) 即可实现。html5shiv的工作原理也就是基于此。

Linux通过端口号杀死指定进程

前言&#xff1a; 我们在服务器上升级项目的时候&#xff0c;需要将原来的项目停止&#xff0c;然后启动新的项目。 这时候我们只知道应用所占的端口号&#xff0c;如何将进程杀死呢&#xff1f; linux中杀进程时候&#xff0c;如果你是知道它所占用的端口号的话&#xff0c;可…

Linux/docker下oracle开启监听,开启自动启动

写在前头&#xff1a; 之前呢&#xff0c;使用docker安装了oracle&#xff0c;但它默认是会关闭的。使用了几天以后突然连接异常了&#xff0c;报的问题是oracle监听有问题了&#xff0c;我知道了是oracle服务自动关闭了&#xff0c;监听也跟着关了。所以我找了一些文章&#x…

手把手教你JavaEE的分页查询、分页展示,有了这个,你的项目又多了一个谈资

前言&#xff1a; 我们在写项目的时候&#xff0c;往往有一些项目的信息展示。而展示的数据量往往是很大的&#xff0c;这时候&#xff0c;加入一个分页的功能往往是最理想的选择。 先简单描述一下功能&#xff1a; 根据你的数据量和指定的页面展示数据条数&#xff0c;进行查…