软件项目管理师成长之路-软件工程导论实践指南JavaEE版言若金叶软件研究中心大学学籍管理系统测试计划版版本本历历史史版本/状态修订人起止日期审核人\日期简要说明V1.0王莉2010-11-4建立V1.1盛安平2010-11-30修订1.简介该测试计划介绍了如何测试大学学籍管理系统。它提供了测试范围、测试策略,人员安排等详细信息。1.1目的这份文档的目标是详细描述对大学学籍管理系统进行功能验证的测试过程。本文档所关注的特征来自于需求文档。(关于大学学籍管理系统项目的功能描述,请参阅大学学籍管理系统需求规格说明书。)1.2背景为了提高从事学生工作的老师的工作效率,我们开发了这个大学学籍管理系统。这个系统能满足用户Login/Logout,管理员账户与普通账户,管理员可以添加,修改删除,普通账户只能查看。主要功能:能完成新学生的添加、修改、删除,能按学生成绩求和,排名,列出不及格学生的名单等。操作简单、界面友好;确保信息的准确性,动态性,安全性。大学学籍管理系统是基于J2EE的技术,采用B/S结构,适于分布式多客户作业,客户端的要求也很低。1.3范围测试阶段包括单元测试,集成测试,系统测试,性能测试,验收测试及对测试进行评估。本计划所针对地测试类型是需求阶段的测试,即对大学学籍管理系统进行功能验证的测试过程。1.3.1准备测试的特征以下特征将被测试,以确保“大学学籍管理系统”能满足规定的需求:1)管理员与普通用户的权限管理员的权限:添加,删除,修改普通用户只能查看信息2)学生信息和成绩的添加,删除,修改添加新的学生信息删除已经添加的学生信息(可同时删除多个学生)修改已经添加的学生信息3)学生成绩的添加,删除,修改添加新的学生成绩删除已经添加的学生成绩(可同时删除多个成绩)修改已经添加的学生成绩4)学科信息的添加,删除,修改添加新的学科软件项目管理师成长之路-软件工程导论实践指南JavaEE版言若金叶软件研究中心删除已经添加的学科(可同时删除多个学科)修改已经添加的学科5)按学生成绩求和某一个学生的所有成绩之和某一个学科的所有学生成绩之和6)学生成绩的排名某一个学生的所有成绩排名某一个学科的所有学生成绩排名可以正序或者倒序7)按要求筛选不同类别的学生只筛选总分成绩前10名的学生8)筛选成绩不及格的学生只要有一门学科成绩不及格,就要被筛选出来不及格的学科可以用不同的颜色进行标识8)DB连接可以根据配置文件来动态设置修改配置文件后,DB也相应的动态变化在后台修改配置文件在前端可以看到DB也发生了改变测试范围如表11-1所示。表11-1测试列表和测试范围新功能相关模块回归测试范围测试人员学籍管理首页N/A(new)N/A新建学生N/A(new)N/A学生基本信息管理N/A(new)N/A学生一览表N/A(new)N/A学生基本信息查询N/A(new)N/A学生成绩管理N/A(new)N/A学生成绩一览表N/A(new)N/A学生成绩查询N/A(new)N/A登录系统N/A(new)N/A1.3.2不准备测试的特征以下功能和系统配置是不准备测试的:本次测试将不考虑关系数据库(MySQL)的安装和功能。我们假定数据库已安装并处于可操作的状态。我们也假定数据库表结构是准确的,包含需求规格说明书中定义的规定类型和宽度的字段。这些需求在安装文档中有详细说明。软件项目管理师成长之路-软件工程导论实践指南JavaEE版言若金叶软件研究中心服务器(Tomcat)。2.测试参考文档和测试提交文档2.1测试参考文档大学学籍管理系统产品需求文挡大学学籍管理系统需求规格说明书2.2测试提交文档本次测试完成后的提交文档包括:测试计划测试规格说明文档测试用例设计文挡测试Bug单测试小结测试分析报告3.测试进度测试进度如表11-2所示。表11-2测试进度测试活动计划开始日期实际开始日期结束日期制定测试计划单元测试30天集成测试15天系统测试8天性能测试2天用户验收测试5天对测试进行评估1天产品发布4.测试资源4.1人力资源下表11-3列出了在此项目的人员配备方面所作的各种假定。注:可适当地删除或添加角色项。表11-3人力资源安排角色所推荐的最少资源(所分配的专职角色数量)具体职责或注释测试设计人员2-3制定和维护测试计划,设计测试用例及测试过程,生成测试分析报告测试人员3-4执行集成测试和系统测试,记录测试结果设计人员1设计测试需要的驱动程序和稳定桩编码人员2-3编写测试驱动程序和稳定桩,执行单元测试4.2测试环境下表11-4列出了测试的系统环境。表11-4测试环境综合软件项目管理师成长之路-软件工程导论实践指南JavaEE版言若金叶软件研究中心软件环境(相关软件、操作系统等)操作系统:Windows2000Professional以上版本;应用服务器和Web服务器:Tomcat5.5.15数据库系统:MYSQL客户端软件:MSInternetExplorer或NetscapeNavigator等浏览器和office软件。硬件环境(网络、设备等)对兼做应用服务器、Web服务器和数据库服务器的机器配置要求较高:256M以上内存,PIII500MHz以上CPU,10G以上可用硬盘空间;客户机只要能使用浏览器和Office软件即可。网络条件和设备:网路连接卡或调制解调器。4.3测试工具此项目将列出测试使用的工具,如表11-5所示。11-5测试工具列表用途工具生产厂商/自产版本单元测试工具Junit4.1功能测试工具Selinum&AutoIT开源组织5.0&3.15.系统风险可能出现的风险如下:Bug的修复情况模块功能的实现情况系统整体功能的实现情况代码的编写质量人员经验以及对软件的熟悉度开发人员、测试人员关于项目约定的执行情况人员调整导致研发周期延迟开发时间的缩短导致某些测试计划无法执行6.测试策略测试策略提供了对测试对象进行测试的推荐方法。下面列出了本系统测试的各个阶段可能用到的测试方法。6.1接口测试接口测试范围,如表11-6所示。表11-6接口测试测试目标确保接口调用的正确性测试范围所有软件、硬件接口,记录输入输出数据技术开始标准完成标准测试重点和优先级需考虑的特殊事项接口的限制条件软件项目管理师成长之路-软件工程导论实践指南JavaEE版言若金叶软件研究中心集成测试集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。集成测试的主要目的是检测系统能否达到业务需求,检测系统对业务处理是否存在逻辑不严谨及错误,检测需求是否存在不合理的标准及要求。此阶段测试基于功能完成的测试。如表11-7所示。表11-7集成测试测试目标检测需求中业务流程,数据流的正确性测试范围需求中明确的业务流程,或组合不同功能模块而形成一个大的功能。技术利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容:在使用有效数据时得到预期的结果。在使用无效数据时显示相应的错误消息或警告消息。各业务规则都得到了正确的应用。开始标准在完成某个集成测试时必须达到标准完成标准所计划的测试已全部执行。所发现的缺陷已全部解决。测试重点和优先级测试重点指在测试过程中需着重测试的地方,优先级可以根据需求及严重来定需考虑的特殊事项确定或说明那些将对功能测试的实施和执行造成影响的事项或因素(内部的或外部的)6.3功能测试对测试对象的功能测试应侧重于所有可直接追踪到业务功能和业务规则的测试需求。此类测试基于黑盒技术,该技术通过图形用户界面(GUI)与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。以下表11-8为各种应用程序列出了推荐使用的测试概要。表11-8功能测试测试目标确保测试的功能正常,其中包括导航,数据输入,处理和检索等功能。测试范围技术利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容:在使用有效数据时得到预期的结果。在使用无效数据时显示相应的错误消息或警告消息。各业务规则都得到了正确的应用。开始标准完成标准测试重点和优先级需考虑的特殊事项确定或说明那些将对功能测试的实施和执行造成影响的事项或因素(内部的或外部的)软件项目管理师成长之路-软件工程导论实践指南JavaEE版言若金叶软件研究中心对图形用户界面进行测试。在两种浏览器上对所有功能进行测试。如表11-9所示。表11-9界面测试测试目标通过测试进行的浏览可正确反映业务的功能和需求,这种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(Tab键、鼠标移动、和快捷键)的使用窗口的对象和特征(例如,菜单、大小、位置、状态和中心)都符合标准。测试范围技术为每个窗口创建或修改测试,以核实各个应用程序窗口和对象都可正确地进行浏览,并处于正常的对象状态。开始标准完成标准成功地核实出各个窗口都与基准版本保持一致,或符合可接受标准测试重点和优先级需考虑的特殊事项6.5性能评测性能评测是一种性能测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。性能评测的目标是核实性能需求是否都已满足。如表11-10所示。表11-10性能测试测试目标核实所指定的事务或业务功能在以下情况的性能行为:正常的预期工作量预期的最繁重工作量测试范围技术使用为功能或业务周期测试制定的测试过程。通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务的迭代数量。脚本应该在一台计算机上运行(最好是以单个用户、单个事务为基准),并在多个客户机(虚拟的或实际的客户机,请参见下面的“需要考虑的特殊事项”)上重复。开始标准完成标准单个事务或单个用户:在每个事务所预期时间范围内成功地完成测试脚本,没有发生任何故障。多个事务或多个用户:在可接受的时间范围内成功地完成测试脚本,没有发生任何故障。测试重点和优先级需考虑的特殊事项综合的性能测试还包括在服务器上添加后台工作量。可采用多种方法来执行此操作,其中包括:性能测试应该在专用的计算机上或在专用的环境内执行,以便实现完全的控制和精确的评测。性能测试所用的数据库应该是实际大小或相同缩放比例的数据库。软件项目管理师成长之路-软件工程导论实践指南JavaEE版言若金叶软件研究中心容量测试容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。本系统要为生成一份报表而处理一组数据库记录,那么容量测试就需要使用一个大型的测试数据库。检验该软件是否正常运行并生成正确的报表。如表11-11所示。表11-11容量测试测试目标核实测试对象在以下高容量条件下能否正常运行:连接或模拟了最大(实际或实际允许)数量的客户机,所有客户机在长时间内执行相同的、且情况(性能)最坏的业务功能。已达到最大的数据库大小(实际的或按比例缩放的),而且同时执行多个查询或报表事务。测试范围技术使用为性能评测或负载测试制定的测试。应该使用多台客户机来运行相同的测试或互补的测试,以便在长时间内产生最繁重的事务量或最差的事务组合创建最大的数据库大小(实际的、按比例缩放的、或填充了代表性数据的数据库),并使用多台客户机在长时间内同时运行查询和报表事务。开始标准完成标准所计划的测试已全部执行,而且达到或超出指定的系统限制时没有出现任何软件故障。测试重点和优先级需考虑的特殊事项对于上述的高容量条件,哪个时间段是可以接受的时间?6.7安全性测试侧重于安全性的两个关键方面:应用程序级别的安全性,包括对数据或业务功能的访问。系统级别的安全性,包括对系统的登录。应用程序级别的安全性可确保:在预期