软件测试基础(二)---黑盒测试案例设计技术
2016-07-23 12:43
316 查看
1.什么是黑盒测试?
顾名思义,黑盒测试就是把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。通过软件的外部表现来发现缺陷和错误。测试工作就是进行输入、接收输出、检验结果。2.什么是测试用例?
测试用例是将测试行为具体量化的方法之一,简单来说,就是设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果,如果达不到,那么就表示软件有缺陷。测试用例主要记录了测试的过程、步骤、输入数据、预期结果等内容,解决要测什么、怎么测和如何衡量的问题。
使用测试用例的好处有以下几个方面:
- 可以避免盲目测试,提高测试效率
- 在软件版本更新后,只需修正少部分的测试用例便可以展开工作,降低工作强度。
具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动发等
3.等价类划分法
等价类划分的办法是根据程序的需求规格说明书,特别是功能需求,将程序的输入域划分成若干部分,然后从每个部分中选取少数具有代表性的数据作为测试用例。简而言之,就是把无限的数据划分范围,从每个范围中只选取少数代表性数据进行测试。每一类的代表性数据在测试中的作用等价于这一类中的其他值
如果等价类中的一个测试能够捕获一个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷
如果等价类中的一个测试不能捕获缺陷,那么该等价类中的其他测试也不会捕获缺陷
[b](1).应用场合[/b]
只要有数据输入的地方,一般就可以使用等价类划分法。
[b](2).有效等价类与无效等价类[/b]
有效等价类:指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。程序接收到有效等价类数据,应该正确执行(合法数据的集合)。
无效等价类:对程序的规格说明来说是不合理的、无意义的输入数据构成的集合。(非法数据集合)
一个好的软件的基本标准:
(1).正确的数据可以正确执行
(2).异常处理能力:对于所有的有意无意的非法数据能够处理,保证程序不受破坏,正常运行(健壮性)
[b](3).使用方法[/b]
1).根据需求,划分等价类。(有效等价类和无效等价类)
2).细化等价类,一般不是根据现实需求,二是基于对数据存储方式的慎入理解、数据格式的详细划分
3).建立等价类表
有效等价类
编号 | 取值 |
---|---|
1. | … |
编号 | 取值 |
---|---|
1. | … |
从每个等价类中,挑选出至少一个数据进行测试。
【例子】
根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。
“一个程序读入2个范围在[-99,99]的整数,进行加法计算”
首先看到最明确的需求条件便是范围在[-99,99]之间,还要是整数。所以我们的有效等价类便是[-99,99]之间的整数,无效等价类就是在这个范围以外的整数。
然后我们对这个等价类进行细化,由于正负数的补码计算不一样,所以有必要把正数、负数单独测试,可分为两类。非整数也可以进一步细化,分为小数、字母、汉字、符号等。
下面就可以建立等价类表
有效等价类
9d8d
编号 | 数据要求 |
---|---|
1 | [-99, 0]整数 |
2 | (0,99]整数 |
编号 | 数据要求 |
---|---|
1 | <-99的整数 |
2 | 大于99的整数 |
3 | 小数 |
4 | 字母 |
5 | 汉字 |
6 | 符号 |
用例编号 | 测试目的 | 用例描述 | 预期结果 |
---|---|---|---|
1 | 1、在第二个输入合法的情况下,第一个输入的数据为[-99,0]之间的整数,可以正常计算 | 1、输入第一个数据:-70 2、输入第二个数据:30 3、点击计算按钮 | 输出正确的结果-40 |
2 | 1、在第二个输入合法的情况下,第一个输入为小于-99的整数,给出错误提示 | 1、输入第一个数为-150 2、输入第二个数为45 3、点击计算按钮 4、在“错误提示框”中点击“确定”按钮 | 3、弹出“错误提示框”提示数据超出范围 4、“错误提示框”关闭,程序正常运行 |
相关文章推荐
- mongo3.x ssl版安装文件
- 通过nfs挂载共享目录的方式搭建lamp平台并安装wordpress(二)
- 矩阵的frobenius范数及其求偏导法则
- 哈哈哈哈哈哈
- [CTS]PhoneNumberUtilsTest-- testGetMethods&&ManagedProfileTest-- testManagedContacts
- 小希的礼物
- 减小Gcc编译程序的体积
- Trie树详解
- 373. Find K Pairs with Smallest Sums && 378. Kth Smallest Element in a Sorted Matrix
- linux ls正则表达式
- 【Mariadb】centos7搭建mariadb Galera集群
- Android提高启动速度的实现方法 7.23
- soft raid5阅读笔记之七--MD中的bitmap
- map.c 添加注释
- H5学习之4 拖拽元素 放置元素2
- 状态模式(State)
- ios创建空项目
- vector::begin
- Openstack贡献者须知 2 — 社区工作运作 & 代码贡献流程
- 解决磁盘io紧张的一种临时方法