1引言
1.1编写目的
作为软件工程过称的一个阶段,编码是对设计的进一步具体化,因此,程序的质量主要取决于软件设计的质量,但所选用的程序设计语言的特点和编码风格也将对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。
但在开发如此复杂的航空订票系统软件的过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,系统一定会存在差错。测试的目的就是在软件投入生产运行之前,尽可能多的发现并改正软件中的错误。
编码阶段可参考概要设计和详细设计说明书,软件测试以及软件维护阶段也可参考编码和详细设计说明书,以便于了解在概要设计及详细设计的过程中所完成的各模块设计结构,或在测试阶段找出各模块的设计思路和流程。
该文档的读者为用户代表、软件分析人员、开发管理人员和测试人员。
1.2背景
1. 本项目(机票预定系统)时由XX航空公司委托,由XXX软件开发小组负责开发; 2. 本系统与其他系统的关系如下:
系统的详细设计实现编码验证测试修改
1.3定义
Microsoft Access: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。 ROLLBACK: 数据库的错误恢复机制。
1.4参考资料
a. 张海藩 《软件工程导论》(第五版) 北京:清华大学出版社; b. 《机票预订系统需求分析说明书》 XXX软件开发小组 c. 《机票预订系统可行性分析说明书》 XXX软件开发小组 d. 《机票预订系统概要和详细设计说明书》 XXX软件开发小组
2计划
2.1软件说明
主界面模块:
登陆输入帐号和密码帐户存在且密码正确登陆成功
对输入参数查验,检测数据库数据异常时能否判断并给予适当处理。 测试用例 错误的用户名 错误的密码 正确的用户名、密码
预期结果 提示:用户名错误 提示:密码错误 提示:登陆成功并转入相应页面
航班管理模块: 否 否 填写信息正确 测试用例:
测试用例 错误的用户名 错误的密码 正确的用户名、密码
用户管理模块:
用户管理 预期结果 提示:用户名错误 提示:密码错误 提示:登陆成功并转入相应页面 返回 返回 返回 成功添加航班 成功取消航班 成功更改航班 填写信息正确 添加航班信息 填写取消航班班次 更改航班信息 选择航班管理操作 在航空公司管理系统 选择航班管理 否 填写信息正确 添加用户 删除用户 创建订单 更改用户 进入下一个界面 开始 到退票页输入所需填写的信息Y 退票成功 N 修改数据库 开始输入姓名 年龄身份证号(护照号)联系电话 性别数据库资源与数据库内容不符是否正确显示输入信息确认后打印取票通知结束 创建订单 输入航班班次 Y 显示信息 N
退出 测试用例:
测试用例 输入显示用户,添加用户, 创建订单,更改用户 进入退票页,输入相关信息并确认 进入订票页面,输入正确的用户信息 进入创建订单页面输入航班班次 取票模块:
预期结果 进入下一界面 显示退票成功 显示订票成功和打印取票通知 显示航班信息 选择有效证件输入有效证件的信息数据库中查找此信息N存在此信息打印机票信息更改数据库的信息返回
测试用例:
测试用例 提交的信息与数据库资料不符 提交的信息与数据库 资料符合
旅客管理模块:
输入更改的航班号预期结果 提示输入有误,请重新输入 打印机票并更新数据库的 机票信息 数据库中查找此信息存在此信息打印机票更改数据库信息返回 预期结果 提示输入有误,请重新输入 打印机票并更新数据库的 机票信息 测试用例:
测试用例 提交的信息与数据库资料不符 提交的信息与数据库 资料符合
2.2测试内容
在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对各模块进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。
各子模块测试名称如下: 1. 系统登录模块测试; 2. 输入信息模块测试; 3. 输出信息模块测试; 4. 数据库测试;
5. 各模块之间的接口测试; 6. 系统测试。
2.3测试1(标识符)
测试机构由YNMD工作组组成,人员有云南民大职技学院软件开发小组全体人员。
2.3.1进度安排
由于其测试过程较长,需要对各子单元程序.各模块及它们之间的接口分别进行测试进度.一般测试过程都伴随其概要设计.详细设计过程一起进行,进度在18个月左右。
2.3.2条件
必须在保证各硬件设备.软件系统齐备的情况下,资金充足,人员齐备,各方面互相配合,齐心协力,共同完成。
2.3.3测试资料
在测试前,与各模块的主要负责人共同协商讨论,以概要设计说明书.详细设计说明书作为总的提纲,选择合适的输入输出数据,并加以意义列举说明。
2.3.4测试培训
说明或引用资料说明为被测软件的使用提供培训的计划。规定培训的内容、受训的人员及从事培训的工作人员。
2.4测试2(标识符)
3测试设计说明
3.1测试1(标识符)
昆明航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的 界面要单明了,易于操作,服务器程序利于维护。
3.1.1控制
输入是人工输入、再自动引入数据库,方便调出及保存。
3.1.2输入
登录 过程:
首先对旅行社登录测试,输入帐号为旅行社帐号,还包括旅行社帐号对应的密码,结果为进入系统或出错信息。再对管理员登录测试,输入帐号为管理员帐号和密码,结果为进入系统或出错信息。
在输入的测试数据中可分为有效输入类、无效输入类。 无效输入类: 1. 帐号不存在; 2. 密码错误。
有效输入类:当帐号密码无误时,则进入系统。 注册 过程:
首先对注册旅行社帐号测试,输入有帐号、密码、系统口令,结果为成功注册或出错信息。再对管理员注册测试,输入帐号、密码、系统口令,结果为成功注册或出错信息
在输入的测试数据中可分为有效输入类、无效输入类。 无效输入类:
1. 帐号已经存在;
2. 密码两次输入不一致; 3. 系统口令错误
有效输入类:当帐号、密码、系统口令正确时,则注册成功。 旅客信息录入 过程:
在旅客信息录入过程中,首先对用户的输入信息进行测试。系统的输入信息为旅客身份证号、姓名、工作单位、旅行时间、出发点、终点、性别,还包括一个飞机票类型选项。输出为录入旅客信息,和确认或出错信息。
在输入的测试数据中可分为有效输入类.无效输入类。 其中的错误种类有: 无效输入类 : 1. 数据已经存在; 2. 身份证号已经存在; 3. 始发地和目的地重复。
有效输入类当用户的输入有效旅客信息和旅行信息时,则成功录入信息 按排航班 过程:
首先选择航班,并确定,输出为打印通知单或航班已满。选择打印通知单,如果交付定金,成功打印,否则提示交定金
在输入的测试数据中可分为有效输入类.无效输入类。 其中的错误种类有: 无效输入类:航班已满。
有效输入类:航班未满,安排成功,可以打印通知单。 取票 过程:
在取票 过程中,对在取票信息界面中输入的各项信息进行初步检验。 无效输入类:
1. 订单号不存在; 2. 数据超出规定范围; 3. 取票截止日期已过。
有效输入类:账单号正确,并且没有延误,通知打印机票。 改签 过程:
首先输入账单号、选择始发地和目的地以及航班、选择时间,输出提示账单号错误或提示打印或航班已满
无效输入类: 1. 账单号错误; 2. 航班已满;
3. 始发地不能和目的地一样。
有效输入类:账单号无误,航班未满,提示打印通知单。 修改、删除航班 过程:
无效输入类:始发地和目的地一样;
有效输入类:删除航班信息,并短信通知已经定了该航班的旅客。 始发地和目的地不一样,成功修改信息。
3.1.3输出
旅客信息录入 过程:
对在旅客信息界面中输入的各项信息进行初步检验。若发现错误,令PErrorAppear=T,判断错误类型,并将相应的错误类型PErrorType或PerrorRank作为参数,转入IErrorHandle过程。若未发现错误,转入安排航班过程。 安排航班 过程:
对在帐单和取票通知的信息界面中输入的各项信息进行初步检验。若发现错 误,令CErrorAppear=T,判断错误类型,并将相应的 错误类型CErrorType或 CErrorRank作为参数,转入IErrorHandle过程。若未发现错误,则打印通知单。
CheckNoticeInput过程。 ErrorHandle过程:
在PersInfoExam或CheckNoticeExam过程中若发现错误,就转入本过程,执行相应的处理,并输出相应的出错信息。
If (PErrorType==T)
输出“您的个人信息可能输错了位置。请重试。” If (PErrorRank==T)
输出“您的个人信息不适应规定范围。请重试。” 再转入旅客信息输入的界面中。 If (CErrorType==T)
输出“您的帐单信息可能输错了位置。请重试。” If (CErrorRank==T)
输出“您的帐单信息不适应规定范围。请重试。” 再转入帐单和取票通知信息的输入界面。 取票 过程:
将帐单和取票通知输出到界面1中。注意格式。 Long int cncode =帐单号; CString name= 姓名 ; CString sex= 性别;
CString company= 工作单位; Long int idcode= 身份证号码; Date stime= 旅行时间;( syear/smonth/stime=年/月/日) CString denist= 始发地 CString denist= 目的地
CString FlightRequirement = 机票类型 Int seatcode = 座位号; Money price= 票价; 查询 过程:
将所有信息航班信息显示在列表框中。 CString FlightNum=航班号 CString Origion = 始发地 CString Destination=目的地 Date stime= 旅行时间; CString Budload=额定仓员
int FirstClassLeft 头等舱剩余位置 int FirstClassPrice 头等舱票价 nt EconomyPrice 经济舱票价
3.1.4过程
在测试过程中,首先需要对各子单元过程进行测试。各子单元过程的测试必须先在程序设计员调试并编译通过后才能进行。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。
其操作过程如下:
1. 在系统接受信息模块过程中,先对各子单元过程分别进行测试,然后根据白盒法按
照详细设计说明书中的流程图对其进行跟踪测试。
2. 同样,在系统输出信息模块.先对各子单元过程分别进行测试,然后根据白盒法按
照详细设计说明书中的流程图对其进行跟踪测试。
3. 然后,根据各模块之间的各种关系,对其接口进行测试。
4. 在系统测试中,要注意对各种意外情况(列如断电.硬盘损坏等)加以处理,对数
据库要注意其安全性.可靠性.健壮性.效率。网络传输更要注意其安全性。
3.2测试2(标识符)
4评价准则
4.1范围
严格按照《软件需求规格说明书》中的功能、性能等要求,同时兼顾软件系统自身特性、用户的意见和建议、被测试系统的质量保证计划等,对软件系统的被测试特性和不被测试特性以下表的格式详细列出。
4.2数据整理
由于系统将由两部分程序组成,安装在各旅行社客户机上的客户程序及航空公司内的数据服务器程序。
系统的运行要求:
系统软件: Window XP以上 数据库管理系统:SQL Server
4.3尺度
1. 当此项的功能能够正确地完成,并且它的操作没有引起其他功能项或整个系 统的
错误,则认为此项测试通过。 2. 对于每一类测试,当没有发现致命性错误和严重性错误、一般性错误数量小于测试
用例总数的2%,告警性错误数量小于测试用例总数的5%,则认为系统通过本次测试,但要以测试结果评审会的评审结果为最后标准。
因篇幅问题不能全部显示,请点此查看更多更全内容