实验三+067+冯艳芳

一、实验目的

    掌握黑盒测试用例设计方法

二、实验要求

(1)对被测程序进行黑盒测试用例设计

(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。

(3)对手机上任意一款音乐软件进行黑盒测试实践。(作业若雷同,后上传者判定0分)

三、实验内容

被测代码链接:http://www.cnblogs.com/123zzj/p/6799665.html

1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。

要求写出测试用例表、执行情况和测试小结。

1) 等价类表:

输入条件

有效等价类

编号无效等价类编号
1912~20501非整数7
小于19128
大于20509
1~122非整数10
小于111
大于1212
1,3,5,7,8,10,12

1~31

3非整数13
大于3114

4,6,9,11

1~30

4小于115
大于3016

闰年2月

1~29

5大于2917

非闰年2月

1~286大于2818

     

测试用例表:

编号涵盖条件输入预期输出实际输出测试结果
这天下一天上一天这天下一天上一天
11,2,32001331星期六2001年04月01日2001年03月30日星期六2001年04月01日2001年03月30日通过
21,2,42013430星期二2013年05月01日2013年04月29日星期二2013年05月01日2013年04月29日通过
31,2,52020229星期六2020年03月01日2020年02月28日星期六2020年03月01日2020年02月28日通过
41,2,62001228星期三2001年03月01日2001年02月27日星期三2001年03月01日2001年02月27日通过
57a112输入有误,请重新输入无反应不通过
681911721输入有误,请重新输入年份超出范围不通过
792051211输入有误,请重新输入年份超出范围不通过
81019970.124输入有误,请重新输入无反应不通过
9111976017输入有误,请重新输入月份超出范围不通过
101219861621输入有误,请重新输入月份超出范围不通过
1113202211c输入有误,请重新输入无反应不通过
121419555-2输入有误,请重新输入日期超出范围不通过
13151943833输入有误,请重新输入日期超出范围不通过
14161989631输入有误,请重新输入星期六1989年07月02日1989年06月30日不通过
15171996230输入有误,请重新输入星期五1996年03月02日1996年02月29日不通过
16182003229输入有误,请重新输入星期六2003年03月02日2003年02月28日不通过

  

2)边界值

     边界值表:

输入条件边界值编号
19121
20502
13
124
15
1,3,5,7,8,10,12316
4,6,9,11307
闰年2月298
非闰年2月289

     测试用例表:

 编号覆盖条件        输入                              预计输出                             实际输出  测试结果
11191168输入有误,请重新输入年份超出范围不通过
21191268星期六 1912年06月09日 1912年06月07日星期六 1912年06月09日 1912年06月07日通过
32205068星期三 2050年06月09日 2050年06月07日星期三 1912年06月09日 1912年06月07日通过
42205168输入有误,请重新输入年份超出范围不通过
53200008输入有误,请重新输入月份超出范围不通过
63200018星期六 2000年01月09日 2000年01月07日星期六 2000年01月09日 2000年01月07日通过
742000128星期五 2000年12月09日 2000年12月07日星期五 2000年12月09日 2000年12月07日通过
842000138输入有误,请重新输入月份超出范围不通过
95200060输入有误,请重新输入日期超出范围不通过
105200061星期四 2000年06月02日 2000年05月31日星期四 2000年06月02日 2000年05月31日通过
1162000731星期一 2000年08月01日 2000年07月30日星期一 2000年08月01日 2000年07月30日通过
1262000732输入有误,请重新输入日期超出范围不通过
1372000630星期五 2000年07月01日 2000年06月29日星期五 2000年07月01日 2000年06月29日通过
1472000631输入有误,请重新输入星期六 2000年07月02日 2000年06月30日不通过
1582000229星期二 2000年03月01日 2000年02月28日星期二 2000年03月01日 2000年02月28日通过
1682000230输入有误,请重新输入星期三 2000年03月02日 2000年02月29日不通过
1792001228星期三 2001年03月01日 2001年02月27日星期三 2001年03月01日 2001年02月27日通过
1892001229输入有误,请重新输入星期四 2001年03月02日 2001年02月28日不通过

 

3)决策表

    M1={month=1,3,5,7,8,10}

    M2={month=4,6,9,11}

    M3={month=12}

    M4={month=2}

    D1={1<=day<=27}

    D2={day=28}

    D3={day=29}

    D4={day=30}

    D5={day=31}

    Y1={year是闰年}

    Y2={year不是闰年}

   决策表:

规则\选项

1~3456~91011~1415161718192021,22 

 

C1:month在

C2:day在

 

 

 

C3:year在

M1

D1

D2

D3

 

--

M1

D4

 

 

 

--

M1

D5

 

 

 

--

M2

D1

D2

D3

D4

--

M2

D5

 

 

 

--

M3

D1

D2

D3

D4

--

M3

D5

 

 

 

--

M4

D1

 

 

 

--

M4

D2

 

 

 

Y1

M4

D2

 

 

 

Y2

M4

D3

 

 

 

Y1

M4

D3

 

 

 

Y2

M4

D4

D5

 

 

--

 
 
 

 

A1:不可能  Y        YY 
A2:day加1Y  Y Y YY     
A3:day复位 Y  Y Y  YY   
A4:month加1 Y  Y    YY   
A5:month复位      Y       
A6:year加1      Y       

   测试用例表:

编号输入预期输出实际输出测试结果
这天下一天上一天这天下一天上一天
1~32001411星期三2001年04月12日2001年04月10日星期三2001年04月12日2001年04月10日通过
42013430星期二2013年05月01日2013年04月29日星期二2013年05月01日2013年04月29日通过
52014431输入有误,请重新输入星期四2014年05月02日2014年04月30日不通过
6~92001328星期三2001年03月29日2001年03月27日星期三2001年03月29日2001年03月27日通过
102001331星期六2001年04月01日2001年03月30日星期六2001年04月01日2001年03月30日通过
11~1419341221星期五1934年12月22日1934年12月20日星期五1934年12月22日1934年12月20日通过
1519341231星期一1935年01月01日1934年12月30日星期一1935年01月01日1934年12月30日通过
161997224星期一1997年02月25日1997年02月23日星期一1997年02月25日1997年02月23日通过
172000228星期一2000年02月29日2000年02月28日星期一2000年02月29日2000年02月28日通过
181986228星期五1986年03月01日1986年02月27日星期五1986年03月01日1986年02月27日通过
192020229星期六2020年03月01日2020年02月28日星期六2020年03月01日2020年02月28日通过
201955229输入有误,请重新输入星期二1955年03月02日1955年02月28日不通过
21,221943230输入有误,请重新输入星期二1943年03月03日1943年03月01日不通过

 

4)状态图法

 


             

                                                                                               “年日已输”等没有画出,类似于图中”年月已输”

 

 

ip1:输入年

ip2:输入月

ip3:输入日

ip4:按下“确定”按钮

ip5:按下“清空”按钮

ip6:错误的情况下按下“确定”按钮

 编号        输入                              预计输出                             实际输出  测试结果
1191268星期六 1912年06月09日 1912年06月07日星期六 1912年06月09日 1912年06月07日通过
219166 输入有误,请重新输入编译出错不通过
32050 8输入有误,请重新输入编译出错不通过
4 58输入有误,请重新输入编译出错不通过
52000  输入有误,请重新输入编译出错不通过
6 11 输入有误,请重新输入编译出错不通过
7  30输入有误,请重新输入编译出错不通过

5)测试结论

   用等价类表可能测不出的问题用边界和测试用例可以,三种方法互有长短,能测出不同的错误。如等价类可能取值不同会忽略的小于31在2月小月的边界值问题,在另外两种方法就一点能被测出;输入值错误而输出不符合要求这一项在决策表中无法测出只能用其他两种方法。所以就像老师说的要说测完一个程序是不可能的,所以要尽可能选择合适的方法多的用例尽可能的测出程序更多的bug,测试用例选择的恰当有事可以把另外一种方式的用例也测试完。了解各个测试方式的特性挺重要的。

2、对手机上任意一款音乐软件进行黑盒测试。

1)使用思维导图

 

2)根据场景法、状态图法 设计测试用例。

 (1)场景法

                               

 

播放音乐场景:

 基本流:顺序循环播放下一首

备选流1:暂停/播放

备选流2:上一首

备选流3:下一首

备选流4:随机播放

备选流5:单曲循环

备选流6:列表选歌

备选流7:歌曲播放时间跳转

备选流8:列表选歌

备选流x:退出

(2)状态图

测试用例

编号场景备选流预期结果实际结果是否通过
1点击播放基本流播放音乐播放音乐
2暂停音乐1音乐暂停音乐暂停
3在音乐暂停后,继续播放音乐1音乐继续播放音乐继续播放
4顺序循环状态下点击上一首歌曲2播放列表下一首歌曲播放列表下一首歌曲
5随机播放状态下点击上一首歌曲2、4随机播放下一首歌曲随机播放下一首歌曲
6单曲循环状态下点击上一首歌曲2、5播放列表下一首歌曲播放列表下一首歌曲
7顺序循环状态下点击下一首歌曲3播放列表上一首歌曲播放列表上一首歌曲
8随机播放状态下点击下一首歌曲3、4播放上一首已播放歌曲播放上一首已播放歌曲
9单曲循环状态下点击下一首歌曲3、5播放列表上一首歌曲播放列表上一首歌曲
10点击歌曲的任意时间段7播放该时间曲调播放该时间曲调
11列表中任意点击一首歌8播放该首歌播放该首歌
10任意状态下退出x音乐继续播放音乐继续播放

 

测试小结:第一次测试一个实例的app,这个i音乐是vivo手机自带的音乐app。功能没有那么全面,它不需要登录等功能。但是播放器有的基本功能也都有。就选择了功能最多的播放界面来做图测试。发现这个播放器它没有播放单曲的这个比较基本功能。其他都是比较完善的。且该界面比较简单,没有太复杂的操作,老少皆宜。通过这次测试,深刻体会到需要细心耐心。在测试时有遗漏备选流7和备选流8,在检查的时候才发现的。所以要认认真真做好测试。

 

转载于:https://www.cnblogs.com/ff44/p/6915418.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355488.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python越来越慢_为什么Python中的串联速度越来越慢?

为什么在某些情况下,Python 3中的连接似乎比Python 2中的连接慢&#xff1f; 影响最大的串联方法似乎是字节对象的连续串联,从O(n)到O(n?)操作. 我的分析代码大部分在这里&#xff1a; #!/usr/bin/env python from operator import concat from sys import version, version_i…

jvm gc策略_IBM JVM调整– gencon GC策略

jvm gc策略本文将向您详细介绍从Java虚拟机&#xff08;例如HotSpot或JRockit&#xff09;迁移到IBM JVM时重要的Java堆空间调整注意事项。 此调整建议基于我为我的一个IT客户端执行的最新故障排除和调整任务。 IBM JVM概述 正如您可能从其他文章中看到的那样&#xff0c;IBM …

芬兰高性能图表控件-免费试用并提供技术支持

图表控件对于很多技术研发人员、工程设计师来说肯定不陌生&#xff0c;但市面上已有的图表控件产品大多功能单一、性能也不稳定&#xff0c;很难满足不同人群在不同场合的使用需求。为此&#xff0c;专注于开发高性能和最先进的数据可视化工具公司Arction则给出了完美的解决方案…

linux open函数_Linux驱动开发 / 字符设备驱动内幕 (1)

哈喽&#xff0c;我是老吴&#xff0c;继续记录我的学习心得。一、保持专注的几个技巧将最重要的事放在早上做。待在无干扰环境下&#xff0c;比如图书馆。意识到刚坐下开始投入工作前&#xff0c;有点负面小情绪是特别正常的现象。让“开心一刻”成为计划的一部分。拥有合情合…

github删除文件_github 仓库中删除历史大文件

问题如果git中提交了大文件&#xff0c;而且保存到了版本库中&#xff0c;那在下载或者克隆git包的时候&#xff0c;速度会非常慢。再加上github在国内访问本来就很慢&#xff0c;可能会导致包无法下载(克隆)。为了提升下载(克隆)速度&#xff0c;可以永久的删除这些文件(包括该…

linux plc编程软件,基于Linux平台的可编程控制器软PLC设计

实例下面以一个简单的对3并口通道循环控制为例&#xff0c;说明软PLC 的工作流程。(1)梯形图编程。从软PLC 主界面进入后&#xff0c;启动梯形图编程&#xff0c;调用梯形图编程的主程序。梯形图编程共需要调用梯形图界面模块、关闭模块、IO 模块&#xff0c;这些均在配置文件中…

insert into语句_入门MySQL——DML语句篇

前言&#xff1a;在上篇文章中&#xff0c;主要为大家介绍的是DDL语句的用法&#xff0c;可能细心的同学已经发现了。本篇文章将主要聚焦于DML语句&#xff0c;为大家讲解表数据相关操作。这里说明下DDL与DML语句的分类&#xff0c;可能有的同学还不太清楚。DDL(Data Definitio…

linux不重启换root密码是什么原因,在Linux下修改和重置root密码的方法(超简单)

刚开始接触linux的人&#xff0c;忘记了root密码可能会不知所措。想找回自己的root密码&#xff0c;但是又不知道方法。其实&#xff0c;只需要简单的几步就可以重置自己的root密码了(找回密码我也不会)1.开机HcQBEm上敲击e&#xff0c;然后编辑选项2.在linux16这一行&#xff…

SCP-bzoj-1019

项目编号&#xff1a;bzoj-1019 项目等级&#xff1a;Safe 项目描述&#xff1a; 戳这里 特殊收容措施&#xff1a; 对于一个hanoi&#xff0c;知道了各种移动操作的优先级&#xff0c;也就确定了方案。可以证明对于盘子数为N的hanoi&#xff0c;任意移动方案都等价于将数目为N…

一键分享手机代码_通过广告路由器指定手机浏览器自动认证WIFI上网 附代码

说说应用过程&#xff0c;下面用手机QQ浏览器为例。在路由器搭建免费WIFI&#xff0c;用户连接免费WIFI后&#xff0c;使用手机QQ浏览器点击打开任意网页即可自动通过认证并上网&#xff0c;有的手机会自动打开认证网页&#xff0c;如果使用其他手机浏览器则自动跳转到引导认证…

netbeans7.4_NetBeans 7.1:创建自定义提示

netbeans7.4我已经在帖子中对我最喜欢的NetBeans提示进行了讨论&#xff0c;这些帖子中包含用于现代化Java代码的七个NetBeans提示和七个不可或缺的NetBeans Java提示 。 这两个帖子中涉及的十四个提示仅占NetBeans支持的“即开即用”提示总数的一小部分。 但是&#xff0c;由于…

linux uboot启动流程分析,uboot启动流程分析

uboot版本为NXP维护的2016.03版本下载地址为http://git.freescale.com/git/...分析uboot的启动流程&#xff0c;需要编译一下uboot&#xff0c;然后打开链接脚本u-boot.lds在u-boot.lds中1 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf…

JavaOne 2015 –第二十版十大收获

我们刚刚在旧金山有了JavaOne的第二十版。 这将是我自2004年以来第十二次参加不间断的系列活动。最大的教训是什么&#xff0c;可以揭示Java的未来。 模块化斗争 自从Java 2007首次提到模块以来&#xff0c;已经花费了将近9年的时间&#xff0c;或者说&#xff0c;直到2016年9…

IOS--文件管理NSFileManager

iOS的沙盒机制。应用仅仅能訪问自己应用文件夹下的文件。iOS不像android。没有SD 卡概念。不能直接訪问图像、视频等内容。iOS应用产生的内容&#xff0c;如图像、文件、缓存内容等都必须存储在自己的沙盒内。默认情况下&#xff0c;每一个沙盒含有3个文件 夹&#xff1a;Docum…

linux修改文件内容_详解5种实用方法---Linux系统清空或删除大文件内容

概述有时我们在处理Linux终端中的文件时&#xff0c;可能要去清除文件的内容&#xff0c;而无需使用任何Linux命令行编辑器打开它。怎么才能实现呢&#xff1f;下面通过几种不同的方式教大家清空文件内容。1.通过重定向到空来清空文件内容使用shell重定向null(不存在的对象)清空…

凯撒密码c语言小写字母,凯撒密码c(c语言编程凯撒密码)

凯撒密码c(c语言编程凯撒密码)2020-05-15 13:09:51共10个回答#include#includeintmain(){charsave[10][30];inta,b,i,j;scanf(&#xff02;%d&#xff02;,&a);for(i0;i能不能说清楚一点,是加密吗?#include#include#defineMAXSIZE81intmain(){charstr[MAXSIZE];inti;intof…

Java正则表达式库基准测试– 2015年

在尝试使Java在计算机语言基准测试游戏的regexdna挑战中排名第一时&#xff0c;我正在研究Java正则表达式库的性能。 我可以找到的最新网站是2010年的tusker.org 。因此&#xff0c;我决定使用Java Microbenchmarking Harness重做测试并发布结果&#xff08;破坏性警告&#xf…

C语言写程序注意,单片机C语言编程应注意的若干问题

作为一种结构化的程序设计语言&#xff0c;C语言的特点就是可以使你尽量少地对硬件进行操作&#xff0c;具有很强的功能性、结构性和可移植性&#xff0c;常常被优选作为单片机系统的编程语言。但是基于单片机的C语言和标准C语言有很大区别&#xff0c;如何结合单片机的系统资源…

Java实现将日志信息存到TXT中

在java文件操作的时候,思考将日志信息存到txt中,现在很多项目都是通过log4j来做的,同样也会用到将日志存到txt中. package FileOperation;import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Calenda…

接口返回的类型是html页面_1.10 PhalApi 2.x 接口文档

接口文档在线接口文档PhalApi提供一些非常实用而又贴心的功能特性&#xff0c;其中最具特色的就是自动生成的在线可视化文档。在线接口文档主要分为两大类&#xff0c;分别是&#xff1a; 在线接口列表文档在线接口详情文档当客户端不知道有哪些接口服务&#xff0c;或者需要查…