分类: 项目管理
2008-12-19 12:14:53
本章更新日期:
· 动态黑盒测试是什么
· 如何通过等价类划分减少测试用例的数量
· 如何判别故障边界条件
· 使用良好的数据引入缺陷
· 如何测试软件状态和状态转换
· 如何使用重复,压迫和重负的方法找出缺陷
· 缺陷的一些秘密隐藏之处
不深入代码细节测试软件的方法又称为动态黑盒测试,又称behavioral testing, 行为测试。
有效的动态测试需要关于软件行为的一些定义――也即需求文档或者产品说明书。没有这些资料的情况下,可以直接把软件当作它。了解软件,设计测试,执行测试同时进行。系统地逐项了解软件的功能、记录软件的执行情况、详细描述功能。
测试软件的两种基本方法:通过性测试和失效性测试。有时也不是完全可以明确区分的.一般先执行通过性测试,然后才是失效性。
一个等价类或者等价划分是指测试相同目标或者暴露相同软件缺陷的一组测试。
Windows文件名可以包含除了\/ : * ? " < > 和 |之外字符.文件名为 1 to 255 字符. 测试文件名的等价类可以如下划分:合法字符,非法字符,合法的长度名称,长度过长的名称和长短过短的名称。
可以简单把软件分成2类,数据和程序.
数据包含键盘输入,鼠标单击,打印输出。
程序指可执行的流程,转换,逻辑和运算。
数据的测试主要为检查用户输入信息,返回结果以及中间计算结果是否正确
数据的例子
· 文字处理程序中输入的文字
· 电子表格中输入的数字
· 太空游戏中余下的射击次数
· 图像处理软件打印的图片
· 存放在软盘中的备份文件
· 通过modem再电话线上发送的数据
等价类减少测试数据的依据一般是 (边界值,次边界值,空值和错误数据),边界条件涉及数值、速度、字符、地点、尺寸、数量等;2的幂, ASCII(unicode等)表是常见的次边界值.默认值,空白,空值,零值,或无输入也要考虑,最后考虑非法,错误,不正确和垃圾数据。
软件所处的状态或者模式, 比如画图软件中使用笔和喷枪的时候的不同状态.
u 测试软件的逻辑流程
建立状态转换图。状态图的示例见教材。状态转换图不拘泥于格式,只要能看懂就行.
状态转换图应该表示出以下项目:
· 软件可能进入的每一种独立的状态。
· 从一种状态转入另一种状态所需的输入和条件。
· 进入或者退出某种状态时的设置条件和输出结果
状态组合用例的原则如下:
· 每种状态至少访问一次
· 测试看起来最常见和最普遍的状态转换。
· 测试状态之间最不常用的的分支
· 测试所有错误状态及其返回值
· 测试随机状态转换
Windows画图程序在启动时的状态:
· 窗口尺寸被设置为上一次使用时的尺寸
· 绘图区域空白
· 显示工具栏、颜色栏和状态条
· 铅笔工具被选中,而其它所有工具均未选中
· 默认颜色时黑色前景、白色背景。
· 文档的名称是untitled。
另外有文档的涂改标志等。还包含撤销恢复等功能。
u 失败状态测试
竞争条件和时序错乱。
竞争的例子:
两个不同的程序同时保存和打开同一个文档。
共享一台打印机,通信端口或者其他外围设备。
当软件处于读取或者改变状态时按键或者单击鼠标
同时关闭或者启动软件的多个实例
同时使用不同的程序访问一个共同的数据库。
重复,压迫和重负.
重复对检查内存泄漏比较有效。比如不停的启动,关闭程序,读写数据,选择同一操作。
压迫测试一般是指软件在不够理想的条件下运行。时间久也是一种重负测试
像笨拙的用户一样,在已有问题的地方多测试,像黑客一样考虑问题.经验直觉和预感.
已出现问题的地方多查找。
想黑客一样考虑问题,从另外的角度考虑
凭借经验,直觉和预感。