用例设计方法
书是要带着目的去读的。华罗庚的读书法,先只看标题,自己想象出这本书的内容,然后再看书里哪些是自己没想到的。
参考文档:
1. 《测试理论》——Ron Patton第5章 :闭着眼睛测试软件
2. 《测试理论》——Ron Patton第7章 :用X光测试软件
3. [《软件测试的艺术》](http://download.csdn.net/download/thn_sweety/9455960)——Glenford J.Myers
4. CSDN博客
Ron Patton更像是针对软硬件整体解决方案中的软件部分进行测试,第一部分理论写得非常详尽。对整体的测试可以做了解用,对实践的指导性不大。软件测试的艺术更适合web测试人员翻看,是一本经典的书,强烈建议。
三角形用例
这个程序从一个输入对话框中读取三个整数值,这三个整数值代表
了三角形三条边的长度。程序显示提示信息,指出该三角形是何种三角形:不规则三角形、等腰三角形还是等边三角形。
用例设计:
1. 输入框测试,限制条件整数:字符、带小数、0、空值、最大值(2次幂测试)
2. 三角形:正常三角形,不是三角形(两边之和小于,两边之和等于)
3. 正常三角形:不规则,等腰(三个边)、等边
没考虑到的地方;
1. 两边之和小于 ,三边遍历
2. 两边之和等于,三边遍历
3. 负数
4. 设置输出
黑白盒、动静态
静态黑盒子、动态黑盒子、静态白盒子、动态白盒子
静态黑盒子:测试产品说明书(它这里的概念包含需求说明书、详细需求、概要设计、详细设计);
动态黑盒子:测试软件
静态白盒子:检查程序代码、代码走查
动态白盒子:测试运行中的程序,查看代码功能和实现方式
用例设计方法
这是听闲话听到的:用例设计11+种方法,等价类、边界值、流程分析,状态迁移,因果图/判定表,错误推测,随机测试,输入域,输出域,正交(文中还未涉及)
黑盒测试:等价类、边界值、因果图/判定表、数据流分析、流程分析,状态迁移/状态转换图,因果图,错误推测、无经验假设、探索测试
白盒测试:语句覆盖,判定覆盖/分支覆盖,条件覆盖,判定-条件覆盖,多重条件覆盖/条件组合覆盖,路径覆盖
两个都可以用:随机测试
基本步骤:
1. 穷举(非法、合法)数据输入+穷举程序测试
2. 首先通过黑盒测试方法来减少用例集合
3. 白盒测试方法来增减用例集合
动态黑盒测试
在错误越来越少的情况下,明确的结构化方法来保证测试工作的运转。用例设计基本思想:把不可穷尽的可能性减小到可以控制的范围。
不深入代码细节的软件测试方法称为黑盒测试:
通用示例:
进行输入、接受输出、检验结果
测试对象:数据与程序
软件包含数据和程序两个方面(对应数据结构和算法不)。
数据:
- 程序内部:常量、变量、数据结构等等
- 磁盘文件输入
- 外设输入:键盘、鼠标
- 网络输入:调制解调器等等
- 打印输出
对于数据的用例设计方法有:等价类,边界值
程序:
- 流程:顺序流程;状态机(web应用特别典型)
- 状态:站在程序的角度思考,特别是web程序的服务器程序
- 状态转换:转换函数(transition function)
传统应用程序的控制流程基本是顺序的,很少有事件能改变标准执行流程;而且这些事件主要涉及异常情况。“命令行实用程序”是这种传统应用程序的典型例子。
另一类应用程序由外部发生的事件来驱动——事件在应用程序之外生成,无法由应用程序或程序员来控制。具体需要执行的代码取决于接收到的事件,或者它 相对于其他事件的抵达时间。所以,控制流程既不能是顺序的,也不能是事先设定好的,因为它要依赖于外部事件。Web应用程序由提交的表单和用户请求的网页来驱动,它们也可划归到上述类别。
- 逻辑和运算
对于程序的用例设计方法有:流程图分析,数据流图分析、状态转换图分析
通过测试
在设计和执行测试用例是,必须做通过测试!失败测试,