航空订票系统测试
飞机订票系统测试报告

飞机订票系统测试报告1. 引言本文档旨在介绍飞机订票系统的测试过程和结果。
飞机订票系统是一款用于用户预订航班机票的在线平台。
通过测试,我们旨在确保系统的功能正常、性能稳定,并且用户能够顺利完成预订流程。
2. 测试环境为了对系统进行全面的测试,我们搭建了以下测试环境:•操作系统:Windows 10•浏览器:Google Chrome,Mozilla Firefox•设备:台式电脑,笔记本电脑,手机(Android,iOS)•网络环境:LAN,WLAN,4G网络3. 测试目标我们的测试目标主要包括以下几个方面:•功能测试:确保系统的各项功能正常运作,包括用户注册、登录、查询航班信息、预订机票等。
•兼容性测试:在不同的操作系统、浏览器和设备上测试系统的兼容性,确保用户可以在不同的环境中正常使用系统。
•性能测试:通过模拟多用户同时访问、查询航班和预订机票,测试系统的性能稳定性和响应速度。
•安全性测试:检查系统的安全性,防止潜在的数据泄露和非法访问。
4. 测试步骤为了对系统进行全面的测试,我们按照以下步骤进行测试:4.1 用户注册和登录功能测试1.打开系统主页,点击注册按钮进入注册页面。
2.输入有效的用户名、密码和邮箱地址,点击注册按钮完成注册。
3.使用注册的用户名和密码,尝试登录系统。
4.验证登录是否成功,检查是否能够正常浏览个人信息页面。
4.2 航班查询功能测试1.登录系统后,点击航班查询按钮进入查询页面。
2.输入有效的出发地、目的地和日期,点击查询按钮进行航班搜索。
3.检查系统是否能够正确地显示符合条件的航班信息。
4.选择一条航班信息,尝试获取详细信息。
4.3 机票预订功能测试1.在航班查询结果页面,选择一条符合条件的航班信息。
2.输入乘客信息和联系方式,点击预订按钮进行机票预订。
3.检查系统是否成功生成订单,并显示预订成功的提示信息。
4.登录用户的邮箱,确认是否收到预订成功的邮件通知。
4.4 兼容性测试在不同的操作系统、浏览器和设备上测试系统的兼容性,包括:•操作系统:Windows,macOS,Linux•浏览器:Google Chrome,Mozilla Firefox,Safari•设备:台式电脑,笔记本电脑,手机(Android,iOS)4.5 性能测试1.使用性能测试工具,模拟多用户同时访问系统。
飞机订票系统测试报告

飞机订票系统功能测试报告课题名称飞机订票系统功能测试报告系/专业班级学号学生姓名指导教师:第一章QTP自动化测试介绍1.1概述QTP是HP公司开发的功能自动化测试工具。
相对于手工测试,QTP自动化测试比人工测试快得多,同时可以避免人工测试的错误,因此,随着测试技术的发展,自动化测试逐渐成为测试的一个重要测试工具。
1.2测试介绍本次课程的内容就是学习QTP自动化测试工具,以飞机订票系统为实例,通过飞机订票的过程,包括登陆、订票、删除等一系列功能操作,运用QTP自动化测试工具来进行具体测试操作,从而来了解并学习QTP自动化测试工具。
在使用QTP进行自动化测试时,所包含的几个步骤:1、准备录制;2、创建对象库;3、创建函数和函数库;4、录制执行;5、强化测试脚本;6、调试脚本;7、在回归测试中运行测试;8、分析结果,报告问题。
按照以上步骤,对飞机订票系统的各个功能进行自动测试,完成系统的测试工作。
1.3 测试内容对于飞机订票系统的自动化测试,首先要熟悉了解一下这个飞机订票系统的基本运行流程,从登陆到订票到查询、删除等一系列基本功能的操作,在对系统流程了解后,再开始对其中的一些功能进行测试工作。
在对这个飞机订票系统,此次测试内容有登陆功能,其中登陆功能测试包含一个用户正确登陆、设置参数可以进行多个用户(正确和错误的)的登陆以及运用手工登陆的方法进行测试,在订票功能中,有对订票是否成功的测试、设置检查点以及循环所有航班的测试,另外还有传真订单的录制,其中有录制签名和录制模式,除此之外还有与数据库的链接等一些简单的功能测试。
1.4测试目标本次课程主要目标就是了解熟悉并学习简单的自动化测试工具,能运用基本的测试工具,对系统进行简单的自动化测试。
对于QTP自动化测试的测试目标:熟悉QTP自动化测试工具及其基本功能掌握QTP自动化测试的基本测试步骤运用QTP测试工具对系统进行简单的自动化测试在QTP测试中,能写出基本的脚本语言对于飞机订票系统的测试目标:测试登陆功能,包括单个用户能否正确登陆、多个用户的正确和错误是否能正确登陆,以及手工能否登陆的测试 订票功能的测试,其中有判断订票是否成功、添加检查点及循环所有航班能否成功测试传真和删除订单的测试,在传真测试中,录制签名后,进行播放时签名是能否播放出来,对于订单的删除,进行脚本语句的编写,能否成功完成测试第二章测试计划及测试环境搭建2.1测试原理分析QTP主要采用的是GUI模拟人的操作。
基于QTP的飞机订票系统功能测试报告

飞机订票系统功能测试报告课题名称飞机订票系统功能测试报告系/专业计算机与软件学院班级学号学生姓名目录第1章订票系统简介 (3)1.1订票功能 (3)1.2修改订票功能 (3)1.3删除订票功能 (4)第2章测试需求分析与计划 (5)2.1需求分析 (5)2.1.1 功能点1 (5)2.1.2 功能点2 (5)2.1.3 功能点3 (5)2.2 测试计划 (6)2.2.1 编写测试用例表 (6)2.2.2 根据测试用例执行测试 (6)2.2.3测试汇总表 (6)2.2.4汇总分析 (6)第3章测试用例及执行 (7)3.1订票功能测试 (7)3.1.1 测试用例 (7)3.1.2录制脚本过程(截屏) (9)3.1.3 测试脚本 (12)3.1.4 执行和结果 (12)3.2修改功能测试 (13)3.2.1 测试用例 (13)3.2.2 测试过程(截屏) (13)3.2.3 测试脚本 (17)3.2.3执行和结果 (18)3.3删除功能测试 (19)3.3.1 测试用例 (19)3.3.2 测试过程 (19)3.3.3 测试脚本 (21)3.3.4 执行和结果 (22)第4章测试结果分析 (23)4.1测试用例的汇总表 (23)4.2检查项 (23)4.3分析与建议 (23)第5章飞机订票系统测试小结 (24)参考文献 (25)第1章订票系统简介1.1订票功能第一步:用户Mercury登录到飞机订票系统。
如图1.1(图1.1)第二步:用户可以在相应的栏目里输入日期、出发地、目的地、飞机班次、顾客的姓名、飞机票数、类型等后,点击“insert”按钮成功订票1.2修改订票功能第一步:用户Mercury登录到飞机订票系统。
,如图1.2(图1.2)第二步:用户根据原来订票的信息,打开原来自己订票的信息。
第三步:用户修改原有的订票订票信息1.3删除订票功能第一步:用户Mercury登录到飞机订票系统。
如图1.3(图1.3)第二步:用户根据原来订票的信息,打开原来自己订票的信息。
飞机订票系统_登录测试用例

都空,点登录
结果:必填项不能为空
空格
用户名正确但后面有1至多个空格,其它正确
密码正确但后面有1至多个空格,其它正确
验证码正确但后面有1至多个空格,其它正确
结果:正常登录
结果:提示密码错误,并清空
结果:提示验证码不正确
验证码功能
点击验证码图片
结果:图片显示新的字符串
用户名密码正确,验证码错误,点登录
结果:提交用户名不存在
结果:提示验证码不正确
为空
用户名为空,验证码正确,点登录
用户名和验证码正确,密码为空,点登录
用户名密码正确,验证码为空,点登录
结果:提示输入用户名
结果:提示密码不能为空
结果:提示验证码不正确
组合空
用户名、密码都空,验证码正确,点登录
密码、验证码都空,用户名正确,点登录
验证码时间性
输入用户名,切换到其它程序,过一段时间切换回来
结果:光标停留在原处
功能键
Tab键光标在用户名框内,被Tab键两次
BackSpace键用户名框输入testmethod,光标在字符串末尾,按6次
左右键头用户名框中使用左右键头
Delete键用户名文本框中使用该键
单击鼠标在用户名输入框内单击鼠标
错误用户名或未注册用户名
密码次数
用户名和验证码正确,密码首次输入错误,点登录
用户名和验,密码六次输入错误,点登录
结果:提示密码错误,并清空
结果:提示密码错误,并清空
结果:提示错误次数太多,不能再登录了
输入组合错误
错误的用户名和错误密码,验证码正确,点登录
正确显示登陆页面(包括美观性、验证需求字段)
机票预订系统压力测试报告

机票预订系统压力测试报告1. 简介机票预订系统是一种用于在线预订航班机票的软件系统。
为了确保系统能够在高流量情况下正常运行,我们进行了一系列的压力测试,以评估其性能和稳定性,并提供本报告以记录和分析测试结果。
2. 测试环境我们搭建了一个模拟真实用户访问的测试环境,包括使用真实数据的航班信息和用户信息,并通过自动化工具模拟了多种类型的用户请求。
测试环境的配置如下:- 操作系统:Windows Server 2016- 虚拟机:VMware Workstation 15- 内存:8GB- 处理器:***********************3. 测试内容和方法我们针对机票预订系统的主要功能和模块进行了压力测试,包括以下方面:- 用户登录和注册- 航班查询和订购- 订单支付和确认- 退票和改签功能在每个功能测试中,我们模拟了多个并发用户同时访问系统,并通过增加并发请求的数量来逐渐增加系统的负载,直到达到系统资源的极限。
同时,我们还进行了长时间持续压力测试,以评估系统在高负载状态下的稳定性和性能表现。
4. 测试结果根据我们的压力测试,机票预订系统在正常使用负载下能够快速响应用户请求,系统性能表现良好,能够满足用户的需求。
然而,在极端高负载条件下,系统响应时间会有所增加,并存在一些瓶颈和性能问题。
具体的测试结果如下:- 在低负载条件下,系统平均响应时间为500毫秒。
- 随着并发用户数量的增加,系统响应时间逐渐增加。
当并发用户数量达到100时,系统平均响应时间增加到2秒。
- 当并发用户数量达到200时,系统响应时间进一步增加,平均响应时间达到5秒。
- 在持续高负载情况下,系统偶尔出现请求超时和响应错误的情况,但整体稳定性较好。
5. 性能优化建议根据测试结果,我们提出以下性能优化建议,以改善机票预订系统的性能和稳定性:- 针对数据库查询进行性能优化,包括索引的优化和查询语句的优化,以提高系统的查询和订购速度。
软件开发与项目管理-KC0210000017_Flight航空订票系统测试

模块五软件测试案例--Flight 航空定票系统一、案例描述HP公司,QTP测试软件自带Flight 航空定票系统软件登录模块、定票模块的用例设计和QTP测试脚本的开发。
二、案例要求1、通过实验掌握”用例设计”2、掌握QTP测试脚本各种处理方法的开发3、保存测试结果4、分析测试结果三、案例实现步骤(一)测试需求Flight 航空定票系统测试需求如下:1、登录模块:用户名和口令4~10 位2、定票模块不同用户登录,定购不同的机票;根据日期、定单号、姓名查询定单。
(二)实现步骤1.编写测试用例表2 Flight 航空定票系统定票模块测试用例2.编写自动化测试程序步骤:(1)运行QTP软件,待打开后新建一个Test,点击工具栏上的“Record”按钮,打开飞机订票系统进行脚本的录制,然后点击“stop”按钮,结束录制;(2)将要进行验证的地方设置参数化:图1 测试用例(1)图2 测试用例(2)(3)点击“run”按钮,回放程序,通过程序回放过程中的正确与否,进行修改程序;测试脚本部分程序:Starter'应用程序的路径Sub StarterSystemUtil.Run Environment("Flyurl")End Sub'用函数来验证状态Public Function testRegExp(ByVal patrn, ByRef sour)' TODO: add function body hereDim regEx ' Create variable.Set regEx = New RegExp ' Create regular expression.regEx.Pattern = patrn ' Set pattern.regEx.IgnoreCase = true ' Set case sensitivity.regEx.Global=trueif regEx.Test(sour)=true Thenreporter.ReportEvent micPass,"登录失败!",cstr(sour) Elsereporter.ReportEvent micFail,"出现异常","提示信息不正确!"End IfEnd Function'定义变量Dim insertNum,insertbegin, istest,istatus,iselectorder,orderid'从DataTable中取值insertNum=DataTable("iCount",dtGlobalSheet)insertbegin=DataTable("begin",dtGlobalSheet)iselectorder=DataTable("SelectOpen",dtGlobalSheet)print iselectorderistest=datatable.Value("status")'登录界面Dialog("Login").WinEdit("Agent Name:").Set DataTable("name", dtGlobalSheet) Dialog("Login").WinEdit("Password:").SetSecure DataTable("password", dtGlobalSheet) Dialog("Login").WinButton("OK").Click'判断是否有子提示框出现If Dialog("Login").Dialog("Flight Reservations").Exist Then'取子提示框上的提示信息istatus=Dialog("Login").Dialog("Flight Reservations").Static("Please enter agentname").GetROProperty("text")testRegExp istest,istatusDialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").CloseElsereporter.ReportEvent micPass,"登录成功","登录成功!"DataTable.GetSheet("Action1").SetCurrentRow(insertbegin)For i=1 to insertNumsearchorderDataTable.GetSheet("Action1").SetNextRowNextopenorder(iselectorder)Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"End If'打开新订单,并填写信息Sub searchWindow("Flight Reservation").WinMenu("Menu").Select "File;New Order"Window("Flight Reservation").ActiveX("MaskEdBox").Type DataTable("FlyDate", dtLocalSheet) Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("FlyFrom", dtLocalSheet)'若时间不完整,弹出对话框时的处理If Window("Flight Reservation").Dialog("Flight Reservations").Exist Thensstatus=Window("Flight Reservation").Dialog("Flight Reservations").Static("Please enter a flight").GetROProperty("text")Window("Flight Reservation").Dialog("Flight Reservations").WinButton("确定").ClickWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type "051212"End IfWindow("Flight Reservation").WinComboBox("Fly To:").Select DataTable("FlyTo", dtLocalSheet)Window("Flight Reservation").WinButton("FLIGHT").Click'随机取航班iCount = Window("Flight Reservation").Dialog("Flights Table").WinList("From").GetItemsCount Window("Flight Reservation").Dialog("Flights Table").WinList("From").SelectRandomNumber(0,iCount-1)Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").ClickEnd Sub'选择座位,获取定单号Sub orderWindow("Flight Reservation").WinEdit("Name:").Set DataTable("passageName", dtLocalSheet)Window("Flight Reservation").WinRadioButton(DataTable("seat",dtLocalSheet)).ClickWindow("Flight Reservation").WinButton("Insert Order").ClickWindow("Flight Reservation").ActiveX("Threed Panel Control").WaitProperty "text","Insert Done...",10000orderid = Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")DataTable("OrderNum",dtLocalSheet)=orderidEnd Sub'选择查询方式Sub openorder(iselectorder)DataTable.GetSheet("Action1").SetCurrentRow(insertbegin)For i=1 to insertNumIf iselectorder=1 Then'按姓名查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "ON"Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").SetDataTable("passageName", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickWindow("Flight Reservation").Dialog("Open Order").Dialog("SearchResults").WinButton("OK").ClickElse if iselectorder=2Then'按时间查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Flight Date").Set "ON"Window("Flight Reservation").Dialog("Open Order").ActiveX("MaskEdBox").Type DataTable("FlyDate", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickWindow("Flight Reservation").Dialog("Open Order").Dialog("SearchResults").WinButton("OK").ClickElse if iselectorder=3 then'按时间和姓名查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "ON"Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").SetDataTable("passageName", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Flight Date").Set "ON"Window("Flight Reservation").Dialog("Open Order").ActiveX("MaskEdBox").Type DataTable("FlyDate", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickWindow("Flight Reservation").Dialog("Open Order").Dialog("SearchResults").WinButton("OK").ClickElse if iselectorder=4 then' 按编号查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"print DataTable("OrderNum",dtLocalSheet)print orderidWindow("Flight Reservation").Dialog("Open Order").WinEdit("Edit_2").SetDataTable("OrderNum",dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickEnd ifEnd ifEnd ifEnd IfDataTable.GetSheet("Action1").SetNextRowNextEnd Sub(4)测试执行报告图3 运行结果(1)图4 运行结果(2)图5 运行结果(3)。
机票预订系统(测试分析报告)

测试分析报1引言编写目的测试分析报告是在测试分析的基础上,对测试的结果以及测试的数据等加以记录和分析总结。
它也是测试过程中的一个重要环节,同时,它也是对软件性能的一个总的分析和认可及对不足之处的说明。
因此,测试分析报告对于今后对软件的功能的加强,不足之处的弥补等都起着十分重要的提纲作用。
另外,它还有利于今后软件开发者阅读原程序,根据测试提供的数据和结果,分析原代码,掌握各函数的功能和局限性。
从而缩短软件开发者的再开发时间和所耗费的精力、资金。
从这方面上,我们不难发现,测试分析报告所指明的对象主要是针对于软件开发者。
背景说明:1.被测试软件系统的名称:XX航空公司机票预订系统;2.此项目是由XX航空公司应顾客需求,要求开发一套实时,有效,完善,安全性好的软件系统。
XXXX软件开发小组应聘对此进行开发。
定义Microsoft Access: 系统服务器所使用的数据库管理系统(DBMS)。
SQL: 一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。
值互不相同。
外部主键:数据库表中与其他表主键关联的域。
ROLLBACK: 数据库的错误恢复机制。
参考资料1)张海藩《软件工程导论》(第五版)北京:清华大学出版社;2)《机票预订系统需求分析说明书》 XXXX软件开发小组;3)《机票预订系统可行性分析说明书》 XXXX软件开发小组;4)《机票预订系统概要和详细设计说明书》 XXXX软件开发小组。
2测试概要主界面模块:对输入参数查验,检测数据库数据异常时能否判断并给予适当处理。
测试用例预期结果错误的用户名提示:用户名错误错误的密码提示:密码错误正确的用户名、密码提示:登陆成功并转入相应页面航班管理模块:测试用例:测试用例预期结果错误的用户名提示:用户名错误错误的密码提示:密码错误正确的用户名、密码提示:登陆成功并转入相应页面用户管理模块:测试用例:测试用例预期结果输入显示用户,添加用户,进入下一界面创建订单,更改用户进入退票页,输入相关信息并确认显示退票成功进入订票页面,输入正确的用户信息显示订票成功和打印取票通知进入创建订单页面输入航班班次显示航班信息取票模块:测试用例:测试用例预期结果提交的信息与数据库资料不符提示输入有误,请重新输入提交的信息与数据库资料符合打印机票并更新数据库的机票信息旅客管理模块:测试用例:测试用例预期结果提交的信息与数据库资料不符提示输入有误,请重新输入提交的信息与数据库资料符合打印机票并更新数据库的机票信息3测试结果及发现测试1(标识符)系统登录/注册模块测试:对于无效输入能够做出判断,并提示用户;有效输入能够成功存入数据库中。
航空订票测试实验报告(3篇)

第1篇一、实验目的本次实验旨在通过设计和实施一系列测试用例,验证航空订票系统的功能性和稳定性,确保系统在实际运行中能够满足用户的需求,提高系统的可靠性和用户体验。
二、实验环境1. 操作系统:Windows 102. 浏览器:Google Chrome3. 航空订票系统:自行开发或使用开源订票系统4. 测试工具:Selenium WebDriver三、实验内容1. 系统功能测试(1)航线查询功能测试目的:验证用户能否通过终点站名查询到相应的航班信息。
测试步骤:a. 输入终点站名,点击查询按钮;b. 检查查询结果是否包含航班号、飞机号、星期几飞行、最近一天航班的日期和余票额等信息;c. 检查查询结果是否按照时间顺序排列。
(2)订票功能测试目的:验证用户能否根据航班号和订票数额成功预订机票。
测试步骤:a. 选择航班,输入订票数额;b. 点击预订按钮;c. 检查是否成功预订机票,包括座位号、舱位等级等信息;d. 若余票不足,验证系统是否提示用户重新选择或登记排队候补。
(3)退票功能测试目的:验证用户能否根据日期和航班成功退票,并处理排队候补情况。
测试步骤:a. 输入日期和航班号,点击退票按钮;b. 检查是否成功退票;c. 检查排队候补情况,验证系统是否优先处理排队客户。
2. 系统性能测试(1)并发用户测试测试目的:验证系统在高并发用户情况下的稳定性和响应速度。
测试步骤:a. 使用JMeter工具模拟多个用户同时访问系统;b. 记录并发用户数量、响应时间、系统资源占用等信息;c. 分析测试结果,评估系统性能。
(2)压力测试测试目的:验证系统在极限负载情况下的稳定性和响应速度。
测试步骤:a. 使用JMeter工具模拟极限负载情况;b. 记录系统资源占用、错误率等信息;c. 分析测试结果,评估系统性能。
3. 系统兼容性测试(1)浏览器兼容性测试测试目的:验证系统在不同浏览器上的运行效果。
测试步骤:a. 在Chrome、Firefox、IE等浏览器上分别运行系统;b. 检查系统界面、功能、响应速度等是否正常;c. 分析测试结果,评估系统兼容性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
航空机票预订系统软件编码和测试说明书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 输人项3.1.2输出项1、显示登陆成功,并转入相应页面;2、提示错误,重新输入。
3.1.3 算法点击主界面3个入口中的一个,可进入相应的登录界面。
在登录界面输入帐号与密码,点击确定按钮:内部处理if 用户名不存在提示错误信息:用户名不正确,请重新输入!else if 密码不正确提示错误信息:密码不正确,请重新输入!else 登陆成功并转入相应页面点击取消按钮:返回主界面。
3.1.4 流程逻辑3.1.5编码和界面3.1.6 测试用例对输入参数查验,检测数据库数据异常时能否判断并给予适当处理。
3.2 航班管理模块3.2.1 程序描述航空公司登录成功后进入航空公司管理系统,通过其上6个按钮分别进入航班管理界面、用户管理界面、管理员界面、查询机票界面和取票界面。
航班管理界面有添加航班、取消航班和更改航班按钮可进入与其相应的三个界面。
添加航班界面可添加新的航班信息,取消航班界面可取消因故不能飞的航班,更改航班界面可更改航班原来的因某些原因而变动的信息。
3.2.2 输人项3.2.3 输出项1、成功转入相应页面;2、成功录入,提示添加成功、已取消和更改成功;3、录入错误,提示错误,重新输入。
3.2.4 算法点击航空公司管理系统界面上航班管理按钮,进入航班管理信息界面,可返回主界面。
点击航班管理信息界面的4个按钮分别进入添加航班界面、取消航班界面、更改航班界面以及返回航空公司管理系统界面。
添加航班:依次输入数据if 输入数据格式错误或内容不对提示错误,重新输入else将数据存入数据库提示添加成功返回航班管理信息界面取消航班:依次输入数据if 输入班次不存在提示错误,重新输入else提示核对是否为要取消班次是if 该航班已有预定找出预定该航班的所有旅客信息(及时通知旅客并根据需求分析做出相应处理)后,删除有关该航班所有信息,更新数据库,提示该航班已取消else删除有关该航班所有信息,更新数据库,提示该航班已取消否重新输入返回航班管理信息界面更改航班:输入需要更改的班次,点击更改按钮,原资料显示,再修改需要修改的地方if 输入数据格式错误或内容不对提示错误,重新输入elseif 该航班已有预定找出预定该航班的所有旅客信息(及时通知旅客并根据需求分析做出相应处理)后,将更改后的数据存入数据库取代原有数据,提示更改成功else将更改后的数据存入数据库取代原有数据,提示更改成功返回航班管理信息界面3.2.5 流程逻辑3.2.6编码和界面3.2.7 测试用例否3.3. 用户管理模块3.3.1 程序描述由航空公司管理系统进入用户管理界面。
用户管理界面有添加用户、删除用户、创建订单和修改用户四个按钮,分别进入预订机票界面、退票信息界面、机票销售界面和预订机票界面。
3.3.2 输人项3.3.3 输出项账单的显示取票通知机票销售3.3.4 流程逻辑N3.3.5编码和界面3.3.6 测试计划对输入参数查验,检测数据库数据异常时能否判断并给予适当处理。
检验输出数据是否真确。
3.3.7 测试用例3.4 管理员模块3.4.1 程序描述由航空公司管理系统进入管理员信息管理界面,点击管理员信息管理界面上的3个按钮可进入相应界面。
3.4.2 输人项3.4.3 输出项结果信息框添加成功或修改成功或删除成功3.4.4 算法点击用户管理页面3个按钮进入相应界面:添加管理员信息:输入账号信息if 不存在或有错误再次输入else将新账号添加到数据库,更新数据库中管理员信息,提示添加成功修改管理员信息:输入原账号信息以及修改后的账号信息if 不存在或有错误再次输入else用修改后的账号信息覆盖原账号信息,更新数据库中管理员信息,提示修改成功删除管理员信息:输入账号if 不存在或有错误再次输入else将该账号信息从数据库中删除,更新数据库,提示成功删除3.4.5 流程逻辑3.3.6编码和界面3.4.7 测试计划添加:A、添加已有管理员信息数据库异常处理状况预期结果:数据库内容无变动B、添加新用户数据库异常处理状况修改:A、修改已有管理员信息数据库异常处理状况B、修改不存在的用户数据库异常处理状况预期结果:数据库内容无变动删除:A、删除已有管理员信息数据库异常处理状况B、删除不存在的管理员数据库异常处理状况预期结果:数据库内容无变动3.4.8 测试用例3.5 查询机票模块3.5.1 程序描述由航空公司管理系统进入查询机票界面,可以通过选择航班号、出发时间、到达地点、出发地点和仓位要求来查找自己要乘坐的航班3.5.2 输人项3.5.3 输出项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 输人项3.6.3 输出项3.6.4 算法显示打印机票页面输入需要的数据if 提交的信息与数据库资料不符提示输入有误,请重新输入else打印机票并更新数据库的机票信息3.6.5 流程逻辑3.6.6 编码和界面3.6.6 测试计划数据录入和处理的准确性和实时性,数据库的异常处理,数据的共享与独立性一致性与完整性。
3.6.6 测试用例3.7 旅客管理模块 3.7.1 程序描述由旅客登陆界面登陆后,进入旅客管理界面,点击其上4个按钮分别进行相应操作:1.点击查询航班按钮,进入查询机票界面。