航空订票系统测试.docx
《航空订票系统测试.docx》由会员分享,可在线阅读,更多相关《航空订票系统测试.docx(22页珍藏版)》请在冰豆网上搜索。
航空订票系统测试
航空机票预订系统软件编码和测试说明书
1引言
1.1编写目的
作为软件工程过称的一个阶段,编码是对设计的进一步具体化,因此,程序的质量主要取决于软件设计的质量,但所选用的程序设计语言的特点和编码风格也将对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。
但在开发如此复杂的航空订票系统软件的过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,系统一定会存在差错。
测试的目的就是在软件投入生产运行之前,尽可能多的发现并改正软件中的错误。
编码阶段可参考概要设计和详细设计说明书,软件测试以及软件维护阶段也可参考编码和详细设计说明书,以便于了解在概要设计及详细设计的过程中所完成的各模块设计结构,或在测试阶段找出各模块的设计思路和流程。
该文档的读者为用户代表、软件分析人员、开发管理人员和测试人员。
1.2背景
①名称:
机票预订系统
②委托方:
某某航空公司
③开发方:
某某团队
④组成:
编码模块分组,服务器,编码人员,测试人员
⑤本系统与其他系统的关系如下:
1.3定义
黑盒测试:
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
白盒测试:
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
1.4参考资料
(1)张海藩《软件工程导论》(第五版)北京:
清华大学出版社。
(2)《机票预订系统需求分析说明书》
(3)《机票预订系统可行性分析说明书》
(4)《机票预订系统概要和详细设计说明书》
2各模块的实现:
本系统主要用于机票预订,所以提供了以下几个子功能:
机票预订,取票通知,查询航班,查询机票,退票,打印机票,各航班的营运统计,以及后台方面的航班的添加,取消航班,机票的生成,以及航班的查询等后台功能。
1、机票预订功能:
旅行社和机场管理员有权力进行该项功能。
首先通过查询得到旅客所需的航班,确定该航班还有没有被预订的座位,然后选择座位的等级,填写旅客的详细信息之后就可进行网上预订机票。
2、取票通知:
该项功能只有旅行社和机场管理员有权力进行操作,在机票预订功能成功完成之后,系统会自动给浏览器端发送一条取票信息以及所需缴纳的费用。
旅行社可以利用特定设备将该取票信息打印出来,这就是取票通知。
3、查询航班:
可以通过输入出发地,目的地,日期和时间选定自己航班。
4、查询机票:
该项功能三方都可以操作,可以通过自己的身份证号以及取票通知上的机票号查询自己的机票信息。
5、退订机票:
该功能只有旅行社和机场管理员有权力操作,利用身份证号和对应的机票号就可以查询到机票信息,然后就可以退订机票。
6、打印机票:
该功能只有机场管理员有权力操作,只有当管理员确认旅客已经付款后才予以打印机票,可以通过身份证号和对应的取票信息上的机票号查询机票信息,然后服务器返回机票信息,管理员就可以打印该机票信息,交给旅客。
7、各航班的营运统计:
该项功能只有机场管理员才能操作,他可以通过输入年份和月份查询当月航班的营运情况,以便机场能够及时掌握航班动态。
8、后台的航班添加:
该项功能只有机场管理员才能操作,他通过提供航班的具体信息添加航班信息。
9、后台的取消航班:
该项功能只有机场管理员才能操作,先通过航班号和航班日期查询到航班信息后,取消航班就可以将该航班从数据库中删除。
10、后台的航班查询:
该项功能只有机场管理员才能操作,通过航班号和航班日期查询到航班信息。
11、后台的机票生成:
该项功能只有机场管理员才能操作,可以通过该项功能给刚添加的航班生成对应的飞机票号纪录。
该系统对应八个模块,分别是:
a.主界面
b.航班管理
c.用户管理
d.管理员管理
e.查询机票
f.取票
g.旅客
h.旅行社
2.1主界面模块
主界面与3个登录界面(航空公司登陆、旅行社登陆、旅客登陆)。
通过主界面可以进入3个登陆界面,由登陆界面分别进入航空公司管理系统、用户管理和预订机票系统。
主界面即为机票预订系统入口界面。
3.1.1输人项
字段名称
数据类型
长度
允许空
字段描述
UserName
Nvarchar
50
否
用户真实姓名
Password
Nvarchar
30
否
登录密码
3.1.2输出项
1、显示登陆成功,并转入相应页面;
2、提示错误,重新输入。
3.1.3算法
点击主界面3个入口中的一个,可进入相应的登录界面。
在登录界面输入帐号与密码,点击确定按钮:
内部处理
if用户名不存在
提示错误信息:
用户名不正确,请重新输入!
elseif密码不正确
提示错误信息:
密码不正确,请重新输入!
else登陆成功并转入相应页面
点击取消按钮:
返回主界面。
3.1.4流程逻辑
3.1.5编码和界面
3.1.6测试用例
对输入参数查验,检测数据库数据异常时能否判断并给予适当处理。
测试用例
预期结果
错误的用户名
提示:
用户名错误
错误的密码
提示:
密码错误
正确的用户名、密码
提示:
登陆成功并转入相应页面
3.2航班管理模块
3.2.1程序描述
航空公司登录成功后进入航空公司管理系统,通过其上6个按钮分别进入航班管理界面、用户管理界面、管理员界面、查询机票界面和取票界面。
航班管理界面有添加航班、取消航班和更改航班按钮可进入与其相应的三个界面。
添加航班界面可添加新的航班信息,取消航班界面可取消因故不能飞的航班,更改航班界面可更改航班原来的因某些原因而变动的信息。
3.2.2输人项
字段名称
数据类型
长度
默认值
是否允许空
字段描述
Flight_num
string
否
飞机班次
Ship_place_num
int
4
否
座位数目
price
int
4
否
机票价格
level
string
否
机票级别
Leave_time
datatime
否
发机时间
Arrive_time
datatime
否
到达时间
origin
string
否
始发地
destination
string
否
目的地
3.2.3输出项
1、成功转入相应页面;
2、成功录入,提示添加成功、已取消和更改成功;
3、录入错误,提示错误,重新输入。
3.2.4算法
点击航空公司管理系统界面上航班管理按钮,进入航班管理信息界面,可返回主界面。
点击航班管理信息界面的4个按钮分别进入添加航班界面、取消航班界面、更改航班界面以及返回航空公司管理系统界面。
添加航班:
依次输入数据
if输入数据格式错误或内容不对
提示错误,重新输入
else
将数据存入数据库提示添加成功
返回航班管理信息界面
取消航班:
依次输入数据
if输入班次不存在
提示错误,重新输入
else
提示核对是否为要取消班次
是
if该航班已有预定
找出预定该航班的所有旅客信息(及时通知旅客并根据需求分析做出相应处理)后,删除有关该航班所有信息,更新数据库,提示该航班已取消
else
删除有关该航班所有信息,更新数据库,提示该航班已取消
否重新输入
返回航班管理信息界面
更改航班:
输入需要更改的班次,点击更改按钮,原资料显示,再修改需要修改的地方
if输入数据格式错误或内容不对
提示错误,重新输入
else
if该航班已有预定
找出预定该航班的所有旅客信息(及时通知旅客并根据需求分析做出相应处理)后,将更改后的数据存入数据库取代原有数据,提示更改成功
else
将更改后的数据存入数据库取代原有数据,提示更改成功
返回航班管理信息界面
3.2.5流程逻辑
3.2.6编码和界面
3.2.7测试用例
测试用例
预期结果
错误的用户名
提示:
用户名错误
错误的密码
提示:
密码错误
正确的用户名、密码
提示:
登陆成功并转入相应页面
3.3.用户管理模块
3.3.1程序描述
由航空公司管理系统进入用户管理界面。
用户管理界面有添加用户、删除用户、创建订单和修改用户四个按钮,分别进入预订机票界面、退票信息界面、机票销售界面和预订机票界面。
3.3.2输人项
字段名称
数据类型
长度
默认值
是否允许空
字段描述
name
string
否
客户姓名
sex
string
是
客户性别
ID
int
30
否
有效证件号
level
string
否
机票级别
wp
string
否
工作单位
time
string
否
旅行时间
Flight_num
string
否
飞机班次
Ship_place
string
否
座位号
origin
string
否
始发地
destination
string
否
目的地
3.3.3输出项
账单的显示
字段名称
数据类型
长度
默认值
允许为空
字段描述
name
string
否
旅客姓名
ID
int
30
否
旅客身份号
P_price
int
16
否
预定金
取票通知
字段名称
数据类型
长度
默认值
允许为空
字段描述
name
string
否
旅客姓名
q-time
string
否
取票时间
机票销售
字段名称
数据类型
长度
默认值
允许为空
字段描述
Flight_num
Int
8
否
飞机班次
Flight_a
int
8
否
卖出票的数量
3.3.4流程逻辑
3.3.6测试计划
对输入参数查验,检测数据库数据异常时能否判断并给予适当处理。
检验输出数据是否真确。
3.3.7测试用例
测试用例
预期结果
输入显示用户,添加用户,
创建订单,更改用户
进入下一界面
进入退票页,输入相关信息并确认
显示退票成功
进入订票页面,输入正确的用户信息
显示订票成功和打印取票通知
进入创建订单页面输入航班班次
显示航班信息
3.4管理员模块
3.4.1程序描述
由航空公司管理系统进入管理员信息管理界面,点击管理员信息管理界面上的3个按钮可进入相应界面。
3.4.2输人项
字段名称
数据类型
长度
默认值
允许空
字段描述
UserName
Nvarchar
50
否
账号
账号
Password
Nvarchar
30
否
登录密码
密码
NewUserName
Nvarchar
50
否
账号
新帐号
NewPassword
Nvarchar
30
否
登录密码
新密码
PasswordAgain
Nvarchar
30
否
登录密码
重新输入新密码
3.4.3输出项
结果信息框添加成功或修改成功或删除成功
3.4.4算法
点击用户管理页面3个按钮进入相应界面:
添加管理员信息:
输入账号信息
if不存在或有错误
再次输入
else
将新账号添加到数据库,更新数据库中管理员信息,提示添加成功
修改管理员信息:
输入原账号信息以及修改后的账号信息
if不存在或有错误
再次输入
else
用修改后的账号信息覆盖原账号信息,更新数据库中管理员信息,提示修改成功
删除管理员信息:
输入账号
if不存在或有错误
再次输入
else
将该账号信息从数据库中删除,更新数据库,提示成功删除
3.4.5流程逻辑
3.4.7测试计划
添加:
A、添加已有管理员信息
数据库异常处理状况
预期结果:
数据库内容无变动
B、添加新用户
数据库异常处理状况
修改:
A、修改已有管理员信息
数据库异常处理状况
B、修改不存在的用户
数据库异常处理状况
预期结果:
数据库内容无变动
删除:
A、删除已有管理员信息
数据库异常处理状况
B、删除不存在的管理员
数据库异常处理状况
预期结果:
数据库内容无变动
3.4.8测试用例
测试用例
预期结果
添加已有管理员信息
数据库内容无变动
添加新用户
成功添加到数据库
修改已有管理员信息
成功在数据库中做修改
修改不存在的用户
数据库内容无变动
删除已有管理员信息
成功从数据库中删除
删除不存在的管理员
数据库内容无变动
3.5查询机票模块
3.5.1程序描述
由航空公司管理系统进入查询机票界面,可以通过选择航班号、出发时间、到达地点、出发地点和仓位要求来查找自己要乘坐的航班
3.5.2输人项
字段名称
数据类型
长度
默认值
允许为空
字段描述
Flight_num
string
是
飞机班次
Ship_place
string
是
座位号
Origion
string
是
旅行始发地
Destination
String
是
旅行目的地
Leave_time
string
是
旅行初始时间
Level
String
是
机票级别
Arrive_time
datatime
是
到达时间
3.5.3输出项
字段名称
数据类型
长度
默认值
允许为空
字段描述
Flight_num
string
是
飞机班次
Ship_place
string
是
座位号
Origion
string
是
旅行始发地
Destination
String
是
旅行目的地
Leave_time
datatime
是
旅行初始时间
price
string
是
机票价格
Level
String
是
机票级别
Arrive_time
datatime
是
到达时间
Flight-time
datatime
是
航班各个飞行时间
3.5.4算法
显示查询界面
case1航班号
输入查询的航班号;break;
case2出发时间
输入想要的出发时间;break;
case3目的地
输入想要到达的目的地;break;
case4出发地点
输入想要的出发地点;break;
case5仓位要求
输入需要的仓位要求;break;
根据所输出的内容,连接数据库开始搜索
if找到符合条件的机票显示输出
else没有找到符合要求的机票
3.5.5流程逻辑
3.5.6编码和界面
3.5.7测试计划
输入数据:
输入参数合法,数据库出现异常的处理。
数据的共享与独立性,一致性与完整性。
3.5.8测试用例
测试用例
预期结果
输入合法参数
显示正确的航班信息
输入非法参数
数据库出现异常处理结果
(违背数据的一致性或者完整性)
3.6取票模块
3.6.1程序描述
由航空公司管理系统进入取票界面,该程序段为使用取票通知打印机票,是主模块的子程序,非常驻内存。
3.6.2输人项
字段名称
数据类型
长度
默认值
允许为空
字段描述
name
string
否
旅客姓名
q-time
string
否
取票时间
3.6.3输出项
字段名称
数据类型
长度
默认值
允许为空
字段描述
Flight_num
string
否
飞机班次
Ship_place
string
否
座位号
Origion
string
否
旅行始发地
Destination
String
否
旅行目的地
Leave_time
datatime
否
旅行初始时间
price
string
否
机票价格
Level
String
否
机票级别
Arrive_time
datatime
否
到达时间
3.6.4算法
显示打印机票页面
输入需要的数据
if提交的信息与数据库资料不符
提示输入有误,请重新输入
else
打印机票并更新数据库的机票信息
3.6.5流程逻辑
3.6.6编码和界面
3.6.6测试计划
数据录入和处理的准确性和实时性,数据库的异常处理,数据的共享与独立性一致性与完整性。
3.6.6测试用例
测试用例
预期结果
提交的信息与数据库资料不符
提示输入有误,请重新输入
提交的信息与数据库
资料符合
打印机票并更新数据库的
机票信息
3.7旅客管理模块
3.7.1程序描述
由旅客登陆界面登陆后,进入旅客管理界面,点击其上4个按钮分别进行相应操作:
1.点击查询航班按钮,进入查询机票界面。
2.点击添加用户按钮,进入预订机票界面。
3.点击更改航班按钮,进入更改机票界面,为更改机票的旅客更改机票。
可由此界面返回主界面。
4.点击取消航班按钮,进入退票信息界面。
(1、2、4的具体操作上面已给出,现主要写旅客更改航班)
3.7.2输人项
字段名称
数据类型
长度
默认值
允许为空
字段描述
Flight_num
string
否
飞机班次
Leave_time
datatime
否
旅行初始时间
Level
String
否
机票级别
3.7.3输出项
字段名称
数据类型
长度
默认值
允许为空
字段描述
Flight_num
string
否
飞机班次
Ship_place
string
否
座位号
Origion
string
否
旅行始发地
Destination
String
否
旅行目的地
Leave_time
datatime
否
旅行初始时间
price
string
否
机票价格
Level
String
否
机票级别
Arrive_time
datatime
否
到达时间
3.7.4算法
显示打印更改机票页面
输入需要的数据
if提交的信息与数据库资料不符
提示输入有误请重新输入
else
显示更改后的机票的详细信息
打印机票,并更改信息库
3.7.5流程逻辑
3.7.6编码和界面
3.7.6测试计划
数据录入和处理的准确性和实时性,数据库的异常处理,数据的共享与独立性一致性与完整性。
3.7.6测试用例
测试用例
预期结果
提交的信息与数据库资料不符
提示输入有误,请重新输入
提交的信息与数据库
资料符合
打印机票并更新数据库的
机票信息
3.8旅行社模块
由旅行社登陆界面进入用户管理界面,(该用户管理界面的创建订单按钮无效)其后操作于航班管理的用户管理相同。