测试计划和评估1.引言编写目的在开发大型软件的漫长过程中,面对及其错综复杂的问题,人的主观认识不可能完全符合客观事实,与工程密切相关的各类人员之间的通信配合也不可能完美无缺。因此,在软件生命周期的每个阶段都不可避免地会产生差错。尤其对于机票预订系统这类会影响人们的生活、财产的工程软件。必须尽量减少差错,以免造成严重的损失。测试是“为了发现程序中的错误而执行程序的过程”。测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明,设计和编码的最后审核,也是必不可少的关键步骤。2.任务概述目标测试是“为了发现程序中的错误而执行程序的过程”。测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。运行环境由于系统将由两部分程序组成,安装在各旅行社客户机上的客户程序及航空公司内的数据服务器程序。1.服务器端子系统的运行要求:系统软件:windowNTServer数据库管理系统:SQLServer硬件要求:PentiumII450以上,1024MRAM,3GBHD2.客户端子系统的运行要求:系统软件:windowNTServer数据库管理系统:SQLServer硬件要求:Pentium133以上,32MRAM,2.1GBHD需求概述机票订票管理系统,由专人负责系统的管理和维护。系统中分别涉及到不同权限的客户与管理员信息和机票信息的敏感信息。因而将系统的信息分类,分别有客户端登陆与管理员登陆,有客户网上订票、查票、退票的服务,有管理员对机票信息、订票信息,以及机票的售价情况的更新,删除进行操作。条件与限制必须在保证各硬件设备,软件系统齐备的情况下,资金充足,人员齐备,各方面互相配合,齐心协力,共同完成。3.计划测试方案测试方案是测试阶段的关键技术问题。为了提高测试效率降低测试成本,本测试方案采用黑盒测试的方法设计基本测试方案,再用白盒测试的方法加以辅助补充一些方案。在黑盒测试方案中,采用等价划分技术,把所有可能的输入数据(有效的和无效的)划分成几等价类,其划分类在以下的输入中再详述。测试项目客户机接受信息模块测试客户机输出信息模块测试网络接受和发送模块结构测试服务器测试数据库模块测试各模块之间的接口测试系统测试测试准备在测试前,与各模块的主要负责人共同协商讨论,以概要设计说明书,详细设计说明书作为总的提纲,选择合适的输入输出数据,并加以意义列举说明。4.测试项目说明①测试项目名称及测试内容在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。各子模块测试名称如下:客户机接受信息模块测试客户机输出信息模块测试网络接受和发送模块结构测试服务器测试数据库模块测试各模块之间的接口测试系统测试②测试用例输入●用户测试过程:在用户测试过程中,首先对用户的输入信息进行测试。客户机上的输入信息为旅客资料或账单号,还包括一个订票/退票选项。输出为打印账单或机票,和确认或出错信息。在输入的测试数据中可分为有效输入类和无效输入类。其中错误种类有:无效输入类1.数据类型不匹配,PerrorType=T;否则=F;姓名string目的地string性别string时间date身份证号longint订票/取票boolean2.数据超出规定范围PerroTank=F;否则=F;性别只能是‘男’或‘女’;身份证号码规定必须是13位;机次时间必须在订票的当天过一天后;●订票信息查询过程:在订票信息查询过程中,在对账单信息界面中输入的各项信息进行初步检验。1.数据结构不匹配,则弹出窗口,显示输出无效;姓名string身份证号string航班号string目的地string2.数据超出规定范围PerroTank=T;否则=F;●检查通知信息过程:对在账单和取票通知的信息界面中输入的各项信息进行初步检验。无效输入类1.数据结构不匹配,CerrorType=T,否则=F;账单号longint身份证号longint付款金额money航班号string取票截止日期date目的地string2.数据超出规定范围CerrorRank=T,否则=F;如账单号不是规定15位;金额为负;取票截止日期已过;等等●用户信息输入过程:将输入界面表单中的数据输入到用户信息类Persinfo中ClassPersInfo{Stringname=姓名;Stringsex=性别;Longintidcode=身份证号;Datestime=旅行时间;Stringdenist=目的地;Booleanocflag=订票/取票;}●通知信息输入过程:经验证无误后,将输入界面表中的数据输入到通知信息类CheckNotice中。ClassCheckNotice{Longintcncode=账单号;Stringname=姓名;Longintidcode=身份证号;Moneybill=付款金额;Datedtime=取票截取日期;Stringdenist=目的地;}输出●用户测试过程:对在旅客信息界面中输入的各项信息进行初步检验。若发现错误,令PerrorAppear=T,判断错误类型,并将相应的错误类型PerrorType或PerrorRank作为参数,转入IErrorHandle过程。若未发现错误,转入PersInfoInput过程。●用户信息输入过程:无●检查通知信息过程:对在账单和取票通知的信息界面中输入的各项信息进行初步检验。若发现错误,令CErrorAppear=T,判断错误类型,并将相应的错误类型CErrorType或CErrorRank作为参数,转入IErrorHandle过程。若未发现错误,转入CheckNoticeInput过程。●处理错误过程:在perdInfoExam或CheckNoticeExam过程中若发现错误,就转入本过程,执行相应的处理,并输出相应的出错信息。If(PerrorType==T)输出“您的个人信息可能输错了位置。请重试。”If(PerrorRank==T)输出“您的个人信息不适应规定范围。请重试。”再转入旅客信息输入的界面中。If(CerrorType==T)输出“您的账单信息可能输错了位置。请重试。”If(CerrorRank==T)输出“您的账单信息不适应规定范围。请重试。”再转入账单和取票通知信息的输入界面。●检查网络传输数据过程:检查网络传输过来的数据。若是出错信息,转入OerrorHandle过程。否则转入JudgeOrderOrCheck过程。●检查信息输出过程:将账单和取票通知输出到界面1中。注意格式。Longintcncode=账单号;Stringname=姓名;Stringsex=姓名;Longintidcode=身份证号;Datestime=旅行时间;Stringdenist=目的地;Booleanocflag=订票/取票●机票输出过程:将机票输出到界面2。注意格式。Longintplanecode=航班号;Datestime=起飞时间;Stringname=姓名;Longintidcode=身份证号;Intseatcode=座位号;Moneyprice=票价;③步骤及操作在测试过程中,首先需要对各子单元过程进行测试。各子单元过程的测试必须先在程序设计员调试并编译通过后才能进行。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。其操作过程如下:1.在客户机接受信息模块过程中,先对各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。2.同样,在客户机输出信息模块,网络接受和发送模块结构和服务器模块(包括数据库)过程中先对各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。3.然后,根据各模块之间的各种关系,对其接口进行测试。4.在系统测试中,要注意对各种意外情况(例如断电、硬盘损坏等)加以处理,对数据库要注意其安全性。可靠性,健壮性,效率。网络传输更注意其安全性。进度由于其测试过程较长,需要对各子单元程序。各模块及它们之间的接口分别进行测试进度,一般测试过程都伴随其概要设计。详细设计过程一起进行,进度在12个月左右。条件必须在保证各硬件设备,软件系统齐备的情况下,资金充足,人员齐备,各方面互相配合,齐心协力,共同完成。5.评估首先,我们要认识到测试时软件开发过程中一个非常重要的环节,一个好的软件必须经过无数次的测试。软件测试时保证软件质量的关键步骤。所以在测试过程中必须抱着不骄不躁,谦虚谨慎的态度,把好关!