沈阳理工大学高等职业技术学院学士学位论文
图 5.1测试计划活动基本流程
5.1.5 测试计划的要点
(1)目标和范围:包括产品特性、质量目标、各个阶段的测试对象、目标范围。 (2)项目估算:根据历史数据和采用恰当的评估技术,对测试工作量、所需资源做出合理估算。
(3)风险计划:测试可能存在的风险分析、识别以及风险的回避监控和管理。 (4)日程:项目工作分解结构,并采用时限图、甘特图等方法制定时间和资源表。 (5)项目资源:人员、硬件和软件等资源的组织和分配,人力资源是重点,而且和日程安排联系紧密。
(6)跟踪和控制机制:质量保证和控制、变更管理和控制。
5.2 测试的基础
5.2.1 测试的目标
在软件生存周期的每个阶段都不可避免地会产生错误。力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。
G.Myers 给出了关于测试的一些规则,这些规则也可以看作是测试的目标或定义: (1)测试是为了发现程序中的错误而执行程序的过程;
(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的错误的测试。
36
沈阳理工大学高等职业技术学院学士学位论文
5.2.2 白盒测试和黑盒测试
测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。前一个方法称为黑盒测试,后一个方法称为白盒测试。
对于软件测试而言,黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如,数据库或文件)的完整性。黑盒测试又称为功能测试。与黑盒测试法相反,白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试又称为结构测试。 5.2.3 测试的准则
为了能设计出有效的测试方案,软件工程师必须充分理解并正确运用指导软件测试的基本准则。主要的测试准则如下所述。
(1)所有的测试都应该能追溯到用户需求。正如前面讲过的,软件测试的自标是发现错误。从用户角度看,最严重的错误是导致程序不能满足用户需求的那些错误。
(2)应该在测试开始之前的相当长时间,就制定出测试计划。一旦完成了需求模型就可以着手制定测试计划,在确定了设计模型之后就可以立即开始设计详细的测试方案。因此,在编码之前就可以对所有测试工作进行计划和设计。
(3)把Pareto 原理应用于软件测试。 Pareto 原理指出,测试发现的错误中的 80 %很可能是由程序中 20 %的模块造成的。当然,问题是怎样找出这些可疑的模块并彻底地测试它们。
(4)测试应该从“小规模”开始,并逐步进行“大规模”测试。通常,首先重点测试单个程序模块,进一步的测试重点转向在集成的模块簇中寻找错误,最后在整个系统中寻找错误。
(5)穷举测试是不可能的。所谓穷举测试就是把程序所有可能的执行路径都检查遍的测试。即使是一个中等规模的程序,其路径排列数也是非常大的,由于受时间、人力和资源的限制,在测试过程中不可能执行路径的每一种组合。这就表明,测试只能证
37
沈阳理工大学高等职业技术学院学士学位论文
明程序中有错误,不能证明程序中没有错误。但是,通过精心设计测试方案,有可能充分覆盖程序逻辑并确保把过程设计中使用的所有条件都检查一遍。
(6)为了达到最佳的测试效果,应该由独立的第三方来从事测试工作。所谓“最佳效果”是指具有最大可能性发现错误的测试(这是测试的基本目标)。软件系统的软件工程师并不是完成全部软件测试工作的最佳人选( 通常由其主要承担模块测试工作)。
5.3 测试用例设计
5.3.1 等价类测试用例设计
验证管理员的规格说明
在嘉晟公司人事管理系统中对管理员的信息的规定:“登录名可以是任意数字、字母或汉字的组合,长度为1-10个字符。密码由任意字母、数字和特殊字符的组合,规定长度为1-20个字符”,也可以为空。
用等价类划分的方法得到上述规格说明的要求,建立输入等价类表格。
表5.1 登录名等价类表
输入条件
登录名组成 登录名长度
有效等价类
数字(1),字母(2),汉字(3) 1-10个任意字符(5)
无效等价类
特殊字符(4) >10个(6)
下面选取了4个测试用例,其中前两个覆盖了所有的有效等价类,其他的覆盖了2个无效等价类。
输入:admin1 }覆盖(1),(2),(5)等价类 输入:杨凌宵 }覆盖(3)等价类
输入:wer.sad* }登录名中包含非法字符,覆盖(4)等价类 输入:12345678901 }登录名多于8个字符,覆盖(6)等价类
表5.2 密码等价类表
输入条件
密码组成 密码字符个数
有效等价类
数字(1)字母(2),特殊字符(3)
1-20个(5)
无效等价类
汉字(4) >20个(6)
38
沈阳理工大学高等职业技术学院学士学位论文
下面选取了4个测试用例,其中第一个覆盖了所有的有效等价类,其他的覆盖了3个无效等价类。
输入:pass@word1 }覆盖(1),(2),(3),(5)等价类 输入:杨凌宵 }覆盖(4)等价类
输入:123456789012345678901 }密码多于20个字符,覆盖(6)等价类 5.3.2 边界值测试用例设计
员工资料的规格说明
员工资料输入数据由员工基本资料信息组成,选择其中重要信息组成如下的几组: (1)姓名。通常最多由8个汉字组成。
(2)基本工资。员工的基本工资有只能为数字限制,根据学历的不同工资也有所不同,专科800,本科1000,研究生1200。
(3)部门。每个员工都要属于一个部门,在公司中有如下几个部门,分别是:总经理部门、根副总经理部门、C#部门等等。据输入条件和边界条件所选择的测试用例,如表5.3所示。
39
沈阳理工大学高等职业技术学院学士学位论文
表5.3 员工资料的测试用例
输入条件
姓名
测试用例
姓名为空的记录 姓名只有1到10个字符 姓名超过10个字符 姓名只有一到五个汉字 姓名超过五个汉字
基本工资
基本工资小于800 基本工资为800 基本工资为1000 基本工资为1200 基本工资大于1200 基本工资中含有非数字字符
部门
没有部门的记录 部门为开发部 部门为企划部 部门为人事部 部门为事业部 部门为财务部
5.3.3 功能图法测试用例设计
管理员查询员工资料信息的功能图,如图5.2所示。其规格说明如下。
40