基于等价类划分的黑盒测试用例设计与实现
2012-04-29楚书来,李卫丽
楚书来,李卫丽
摘要:等价类划分是黑盒测试中常用的方法之一,使用等价类划分可以从不同的角度设计测试用例,实现以用最少的用例发现尽可能多的错误和缺陷。
关键词:黑盒测试;等价类划分;用例
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)02-0322-02
Design and Implementation of Testing Case of Black Box Based on Equivalence Partitioning
CHU Shu-lai,LI Wei-li
(Zhoukou Vocational and Technical College,Zhoukou 466000,China)
Abstract: Equivalence partitioning is one of the Black Box Testing approaches adopted frequently.It can be used to design testing case from different angles, for discovering the maximum errors and defects with the minimum testing case.
Key words: black box testing; equivalence partitioning; testing case
软件测试是根据软件开发规格说明和程序的内部结构而精心设计一组测试用例,并利用这些测试用例去运行程序,以发现程序中错误的过程.通过软件测试可以暴露软件中存在的错误和缺陷,从而提高软件的可靠性。特别地,随着软件规模和复杂性的不断提高,软件测试成本也不断增加,软件测试技术也越来越得到重视。如何实现用少量测试用例来实现高覆盖率的软件测试呢,基于等价类划分的黑盒测试技术能很好解决这个问题。
1基于等价类划分的黑盒测试概述
1.1黑盒测试概述
黑盒测试是使用规格说明,不要求考察程序代码,以用户的视角进行的测试,对于测试者而言,只要求有关被测试产品的功能认识,不一定了解系统内部逻辑,也不一定了解构建该产品所使用的程序设计语言,一般黑盒测试进行的是保证功能与兼容性测试。
1.2等价类划分概述
等价类划分是一种基于黑盒测试的软件测试技术,用于确定少量能够产生尽可能多的不同输出条件的有代表性的输入值,这种方法可以减少用于测试的输入、输出值的排列组合,从而提高覆盖率,降低测试工作量。
等价类划分试图定义一个测试用例以期发现一类错误,由此减少所需设计测试用例的总数。在等价类的划分集合中,一般要确保两个特性,一是完整性,也就是说划分出来的子集合的并集是整个集合;二是不相交性,也就是说划分出来的子集合是互不相交的一组子集。还需要说明的一点就是,这些等价类中的测试用例会以与同样的方式进行“相同处理”。当我们考虑结构性测试时,将会看到“相同处理”映射到“遍历相同的执行路径”。
2设计测试用例的步骤
2.1等价类划分表的设计步骤
首先选择等价类划分的判断准则,根据次准则确定有效等价类,从划分中选择一个样本数据;根据给定需求(或规约)编写出预期结果,确定可能有德特殊值,添加到到用例表中;检查是否所有测试用例均给出了预期结果,如果对任何具体的测试不能给出明确的预期结果,可将其标注出来,并进行及时更正。
2.2用例设计步骤
在测试用例的设计中,首先要按等价类划分表中的每个等价类确定一个唯一编号,其次是用例要尽可能多的覆盖尚未被覆盖的有效等价类,然后逐一设计仅覆盖一个还未覆盖的无效等价类的测试用例。
3基于等价类划分的软件测试用例设计
3.1规约:工资支付系统规约
工资支付系统允许员工以无纸化的方式来登记时间卡信息,并自动根据员工的工作时间和销售总额(对于有提成的员工)来生
成用于支付工资的支票。员工可以通过该系统输入时间卡信息和交易订单信息,更改员工首选项(例如支付方式),并生成多种报告。该系统可以在每个员工的个人台式电脑或便携式电脑上运行。出于安全和审计的需要,员工只能访问和编辑自己的时间卡信息和销售订单信息。本文中仅对桌面系统登录验证模块进行测试,其余部分规约略去。
3.2桌面系统登录事件分析
主事件流:当系统提示员工输入员工编号(ID)和口令(PW)时,用例开始。员工可以扫描卡片再按回车提交员工编号(ID),然后通过键盘输入口令(PW),并回车或点击确认按钮。系统就检查员工的号码和口令(PW)输入是否合法。如果是合法的,系统就显示员工的基本信息和可选操作,然后结束这个用例。
可选事件流:如果员工输入了一个不合法的编号(ID)或口令(PW),系统就显示错误消息,用户可以选择重新输入或取消,重新输入则回到主事件流,若取消则该用例结束。
可选事件流:如果员工输入的编号(ID)已过期或被禁用了,系统就显示提示消息,并记录该次登录事件,该用例结束。
可选事件流:如果员工连续3次输入不合法,则显示警告并锁定屏幕,进入等待管理员解锁用例。
3.3工资支付系统等价类测试用例设计
3.3.1工资支付系统员工基本信息表
对编号(ID)和口令(PW)的判断是基于数据库中员工信息的,假定员工基本信息表1如下(此表中只列出编号(ID)、口令(PW)、是否过期三项,其余项信息与本文关系不大,暂且略去)
表1员工基本信息表
3.3.2桌面登录系统问题的等价类划分在等价类划分中,一般是将程序的输入划分为若干个数据类,从中生成测试用例来实现软件测试。基于输入的等价类划分如表2所示。
表2桌面系统登录问题的等价类
3.2.3桌面系统登录问题的等价类测试用例设计
表3桌面系统登录问题的等价类测试用例
3.3.4基于输出域的等价类划分
从被测试程序的输出情况划分等价类(如表4所示),也可以作为等价类划分的标准,在这里就仅作一例证,不在详细说明。通常情况下,基于输出的等价类划分与基于输入的等价类划分结合起来使用,能更好地提高测试的覆盖率。(下转第350页)
(上接第323页)
表4桌面系统登录问题的四个等价类测试用例
4结束语
等价类划分测试是黑盒测试的重要技术之一,对软件功能测试、可靠性测试起关键作用。通过不重复同一个划分中的相同测试,可以最大限度地降低测试的冗余,结合一些专门的测试工具软件,能够实现对软件的进行合理、高效的测试。
参考文献:
[1]韩丽媛.黑盒测试及测试工具Rational Robot的应用[J].计算机工程与设计,2006(2).
[2]浦云明,陈黎震.基于划分的等价类测试[J].计算机工程与设计,2009(19).
[3]范明红,汪志华.等价类测试与划分研究[J].计算机技术与发展,2010(7).
[4] Srinivasan Diskan,Gopalaswamy Ramesh.Software Testing[Z].Principles and racetices,2009:47-61.