2011年(12)
分类: 项目管理
2011-04-14 17:52:15
黑盒测试,不深入代码细节的测试方法称为动态黑盒测试。软件测试员充当客户来使用它。又称闭着眼睛测试软件。主要针对软件界面和软件功能进行测试。故又称作功能性测试。
从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。
完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。
黑盒测试主要包含三大类,即:边界值测试、等价类测试和基于决策表的测试。有三个关于测试的经典例子,将用三种测试方法分别对问题进行讨论。问题如下。
三角形问题
简单版本 三角形问题接受a b c作为输入,用作三角形的边,程序的输出为三角形的类型:等边三角形、等腰三角形、不等边三角形或非三角形。如果输入值没有满足这些条件中的任何一个,则程序会通过输出消息来进行通知。
改进版本 三角形问题接受三个整数a b c作为输入,用作三角形的边。整数abc必须满足一下条件:
C1. 1<=a<=200 | C4. a |
C2. 1<=b<=200 | |
C3. 1<=c<=200 |
程序的输出是由这三条边确立的三角形类型:等边三角形、等腰三角形、不等百年三角形或非三角形。如果输入值没有满足这些条件中的任何一个,则程序会通过输出消息来进行统治。
这个例子的特点:包含清晰而又复杂的逻辑,还是削弱客户、开发人员和测试人员之间沟通的不完整定义的典型例子。
NextDate函数
问题描述 NextDate是一个有三个变量(月份、日期和年)的函数,函数返回输入日期后面的日期、变量月份日期和年都具有整数值,且满足:
C1. 1<月份<=12 |
C2. 1<=日期<=31 |
C3. 1812<=年<=2012 |
当任意一个条件失败的时候,产生响应,并输出消息:“无效日期”。
佣金问题
问题描述 前亚利桑那州境内的一位步枪销售商销售密苏里州制造的步枪机、枪托和枪管。枪机(Lock)卖45美元,枪托(Stock)卖30美元,枪管(Barrel)卖25美元。销售商每月至少要销售一支完整的步枪,且生产限额是大多数销售商在一个月内可销售70个枪机、80个枪托和90个枪管。每访问一个镇子之后,销售商都给密苏里州步枪制造商发出电报,说明在那个镇子中售出的枪机、枪托和枪管数量。到了月末,销售商要发出一封很短的电报,通知-1个枪机被售出。这样步枪制造商就知道当月的销售情况,并计算销售商的佣金如下:销售额不到(含)1000美元的部分为10%,1000(不含)~1800(含)美元的部分为15%,超过1800美元的部分为20%。佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。
分析 这个问题分为三个不同的部分:输入数据部分,用来处理输入数据有效性;销售的计算;佣金计算。