软件测试用例设计案例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试用例设计案例
等价类型划分法等价类划分是一种典型的黑盒测试方法用这一方法设计测试用例完全不考虑程序的内部结构只根据对程序的需求和说明即需求规格说明书。
由于穷举测试工作量太大以至于无法实际完成促使我们在大量的可能数据中选取其中的一部分作为测试用例。
例如在不了解等价分配技术的前提下我们做计算器程序的加法测试时测试了11121314之后还有必须测试15和16吗能否放心的认为它们时正确的我们感觉15和16与前面的1112都是类似的简单加法。
等价类划分法是把程序的输入域划分成若干部分然后从每个部分中选取少数代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值也就是说如果某一类中的一个例子发现了错误这一等价类中的其他例子也能发现同样的错误反之如果某一类中的一个例子没有发现错误则这一类中的其他例子也不会查出错误。使用这一方法设计测试用例首先必须在分析需求规格说明的基础上划分等价类列出等价类表。
1.划分等价类和列出等价类表。
等价类是指某个输入域的子集合。在该子集合中各个输入数据对于揭露程序中的错误都是等效的。并合理地假定测试某等价类的代表值就等于对这一类其他值的测试。
因此可以把全部输入数据合理划分为若干等价类在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分有两种不同的情况有效等价类和无效等价类。
有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类与有效等价类的定义恰巧相反。
设计测试用例时要同时考虑这两种等价类。因为软件不仅要能接收合理的数据也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。
下面给出6条确定等价类的原则①在输入条件规定了取值范围或值的个数的情况下则可以确立一个有效等价类和两个无效等价类。
②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下可以确立一个有效等价类和一个无效等价类。
③在输入条件是一个布尔量的情况下可确定一个有效等价类和一个无效等价类。
④在规定了输入数据的一组值假定n个并且程序要对每一个输入值分别处理的情况下可确立n个有效等价类和一个无效等价类。
软件工程规范、实践与案例分析2⑤在规定了输入数据必须遵守的规则的情况下可确立一个有效等价类符合规则和若干个无效等价类从不同角度违反规则。
⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下则应再将该等价类进一步地划分为更小的等价类。
在确立了等价类之后建立等价类表列出所有划分出的等价类如表5-1。
表5-1等价类表示例输入条件有效等价类无效等价类............. 2.确定
测试用例根据已列出的等价类表按以下步骤确定测试用例①为每个等价类规定一个唯一的编号②设计一个新的测试用例使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步最后使得所有有效等价类均被测试用例所覆盖③设计一个新的测试用例使其只
覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。
在寻找等价区间时想办法把软件的相似输入、输出、操作分成组。这些组就
是等价区间。请看下面这个例子。
个人所得税计算。
个人取得的工资、薪金所得是指个人因任职或者受雇而取得的工资、薪金、奖金、年终加薪、劳动分红、津贴、补贴以及与任职或受雇有关的其他所得。
工资、薪金所得项目税率表级数全月应纳税所得额税率速算扣除法元1不超
过500元的502超过500元至2000元的部分1025第7章软件测试33超过2000 元至5000元的部分151254超过5000元至20000元的部分203755超过20000 元至40000元的部分2513756超过40000元至60000元的部分3033757超过60000 元至80000
元的部分3563758超过80000元至100000元的部分40103759超过100000元的部分4515375工资、薪金所得按以下步骤计算缴纳个人所得税每月取得工资收入后先减去个人承担的基本养老保险金、医疗保险金、失业保险金以及按省级政府规定标准缴纳的住房公积金再减去费用扣除额1600元/月来源于
境外的所得以及外籍人员、华侨和香港、澳门、台湾同胞在中国境内的所得每月还可附加减除费用3200元为应纳税所得额按5至45的九级超额累进税率计算缴纳个人所得税。
计算公式是应纳个人所得税税额应纳税所得额X适用税率-速算扣除数例王
某当月取得工资收入9000元当月个人承担住房公积金、基本养老保险金、医疗保险金、失业保险金共计1000元费用扣除额为1600元则王某当月应纳税所得额9000-1000-16006400 元。应纳个人所得税税额6400X 20-375905 元。
以A代表应纳税所得额。
列出等价类表如表5-2所示。
表5-2等价类表输入条件有效等价类无效等价类是否是合法的薪酬数据
Agt01Alt02软件工程规范、实践与案例分析4不超过500元0ltAlt5003500 元至2000 元500ltAlt200042000 元至5000 元2000ltAlt500055000 元至20000 元5000ltAlt20000620000 元至40000 元20000ltAlt40000740000 元至60000 元40000ltAlt60000860000 元至80000 元60000ltAlt80000980000 元至100000 元80000ltAlt10000010100000元以上100000ltA11设计测试用例输入顺序是【ABC 如表5-3所示表5-3测试用例第7章软件测试5序号A覆盖等价类输出130013152-102 提示“应纳税额不能是负数”36001、435430001、53255100001 616256300001 、761257500001 、8116258700001 、9181259900001 、1025625101200001 1138625请记住等价分配的目标是把可能的测试用例组合缩减到仍然足以满足软件测试需求为止。因为选择了不完全测试就要冒一定的风险所以必须仔细选择分类。
关于等价分配最后要讲的一点是这样做有可能不客观。科学有时也是一门艺术。测试同一个复杂程序的两个软件测试员可能会制定出两组不同的等价区间。只有审查等价区间的人都认为它们足以覆盖测试对象就可以了。
2边界分析法依据经验输入或输出范围的边界上往往是错误的多发地带因此针对各种边界情况设计测试用例是必要的。
例如在计算个人所得税时税率是分段计算的每段的边界是需要重点关注的。
假定开发者在编写程序计算应纳税额在2000到5000区间的所得税代码如下…ifAgt500ampAlt2000taxA0.1 - 25ifAgt2000ampAlt5000taxA0.15 - 125 软件