求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
时钟——黑盒测试用例设计实例
 
发布时间:2013-3-25
 

电子时钟模块在很多系统上都会背集成,是一个运用比较广泛的模块,针对电子时钟,我们应该当如何设计测试用例呢?

其实写用例,除了书上说的几种设计方法,每个人也有自己偏好的套路。比如某些人喜欢用先用边界再用等价,有些人喜欢先等价后再用边界,这些套路都是没有大的区别的,只是个人的逻辑思维方式不同而已。

我说说自己的套路吧:确定测试目标(其实就是确定测试用例的粒度)——提取测试元素——分类(其实就是一个整体的等价法)——针对各类进行分析(主要还是使用等价和边界)——正交表生成用例(因果图和判定表也是经常使用的方法)——根据实际测试环境情况删除部分case——增加错误推断和性能测试用例——使用场景法验证覆盖率——生成初步测试用例报告——同行评审——归档

如下图,一个电子时钟系统

下面我们step by step 来设计用例

1、测试目标:

手工部分完成基本功能的覆盖,自动化部分设计N条(1000~5000)数据测试。

假设用例最终执行者为有经验的Tester,测试用例粒度可适当放宽,这样在CASE跑完后可以充分发挥tester自动性,增加case外的测试

2、提取测试元素:

测试元素有:年/月/日/星期/小时/分/时间段(时间段包括AM和PM)

3、根据实际情况分类:

因为年/月/日存在多种情况,所以分类为:普通年/闰年/大月/小月/2月/1~28号/29号/30号/31号/星期/小时/分/时间段

然后形成初步的测试元素类:

Y1 = 不是闰年 & 1900~2050

Y2 = 闰年 & 1900~2050

M1= 1、3、5、7、8、10、12

M2= 4、6、9、11

M3= 2

D1=1~28

D2=29

D3=30

D4=31

W=1~7

H=0~11

Min=0~59

AP=am&pm

PS:W=1~7 不是输入条件,而是预期结果,所以在设计用例时,需要单独设计日期。

4、生成最终测试元素

Y1 = 1901、1999、2050(考虑到千年虫问题,增加一个1999,如果支持3000,也可以换成2999)

Y2 = 1900、2048

M1= 1、12

M2= 4

M3= 2

D1=1、28

D2=29

D3=30

D4=31

H=0、11

Min=0、59

AP=am、pm

5、生成正交表

正交表.xls

5.1 化简前:

根据正交表的原则,逐步列出所有的输入分支。

其中粉红色部分是通过等价法,确认需要删除的case;黑色部分是输入条件非法而删除的case(黑色部分在输入允许的条件下,可以作为错误推断测试的输入条件);红色部分是确认需要采用的case。

做表需要注意2点:

1)将正交的表元素分为几类进行分别构建,比如这里我们将年/月/日划为一类,先进行建表,因为年月日含有的元素较多,重复无效的case也比较多。

2)往往正交表的由于输入元素过多,造成表过于庞大,所以边制表边删除多余的case不失为一个好的选择

5.1 化简后:

最终生成上表,一共有22*2*2*2=176个case,但是其中还有一些case需要删除(比如1999是专门为“千年”设计的case,所以1999年12月31日AM 00:00这样的case就没意义,需要删除,又比如12月31日这样的case也是为了设计PM 11:59而引入的,所以,2050年12月31日PM00:00也是没意义的),大约估算了一下,最终应该在130个case左右。

6、生成最终case

按照整理出的正交表(注意整理的时候查看是否涵盖了W1~W7,如果没有,可增加特殊日期case),逐条生成case。

比如:

Case1

Input:输入2050年1月1日00:00 AM ,等待1分钟

Output:界面显示2050年1月1日00:01 AM,星期六

PS:错误推断和性能case这里就不说明了,错误推断case需要更细致的需求信息(比如哪些编辑框用户可以编辑等等);性能case往往与平台挂钩,web时钟和终端时钟的性能case区别还是很大的。

小结:

1、拿到模块后,先划分测试单元并分类,分析过程除了正交表以外,判定表、因果法也是不错的选择。

2、无论哪种方法,都需要增删case来满足最终的要求,平时业务知识的积累可以更好帮你完善你的设计。



LoadRunner性能测试基础
软件测试结果分析和质量报告
面向对象软件测试技术研究
设计测试用例的四条原则
功能测试中故障模型的建立
性能测试综述
更多...   


性能测试方法与技术
测试过程与团队管理
LoadRunner进行性能测试
WEB应用的软件测试
手机软件测试
白盒测试方法与技术


某博彩行业 数据库自动化测试
IT服务商 Web安全测试
IT服务商 自动化测试框架
海航股份 单元测试、重构
测试需求分析与测试用例分析
互联网web测试方法与实践
基于Selenium的Web自动化测试
更多...