飞机票订票系统功能测试项目.docx
《飞机票订票系统功能测试项目.docx》由会员分享,可在线阅读,更多相关《飞机票订票系统功能测试项目.docx(46页珍藏版)》请在冰豆网上搜索。
飞机票订票系统功能测试项目
项目3
飞机票订票系统功能测试项目
项目简介
飞机票订票软件项目组完成了系统的集成工作,根据开发计划将要将程序交给测试组进行功能测试。
测试小组该如何对该软件进行功能测试呢?
项目目标与要求
(1)能制订飞机票订票系统功能测试的测试计划
(2)能根系统需求分析报告编制飞机票订票软件的功能测试的测试用例
(3)能根据测试用例,熟练地对系统的订票功能进行手工测试
(4)能根据测试用例,熟练使用QTP工具,完成系统的打开订票功能的测试
(5)能熟练使用Excel工具管理测试中发现的缺陷(BUG)
(6)能写功能测试报告
项目工作任务
(1)阅读飞机票订票系统的需求分析报告,完成测试小组内容的内容分工,制订单元测试计划
(2)根据飞机票订票系统的需求分析报告,编写订票、查询、修改、删除、打印报表功能的测试用例
(3)根据订票功能的测试用例,用手工的方式进行测试,记录测试结果
(4)根据查询功能的测试用例,使用QTP工具,完成测试工作
(5)用Excel软件完成测试工作日志,用Excel软件管理测试中发现的软件缺陷,并完成功能测试的测试报告
功能测试基本过程
图3-1功能测试基本过程
模块一制订功能测试计划
学习目标
1、理解订票系统的需求分析报告
2、理解功能测试的一般过程、主要方法和策略
工作任务
1、阅读订票系统的需求分析报告
2、选择功能测试的策略
3、编写订票系统功能测试的计划
任务1:
阅读订票系统需求规格说明书
读一读:
订票系统需求规格说明书
一、系统登录功能
系统启动后先显示登录窗体,必须通过输入正确的帐户和对应的密码才能进入系统,如果不正确则给出相应的提示信息。
二、订票功能
1、登录成功后系统自动进入新增订票窗体,同时可以通过“新订票”按钮,或菜单进入新增订票窗框体。
2、在新增订票窗体中,依次输入订票日期、出发地、到达地、航班、订票顾客姓名、订票张数、座位类型,系统能够自动根据用户选择的航班显示航班号、航空公司、志飞时间到达时间和单价,系统能够根据订票的票数、类型和单价自动计算出订单的总计金额。
对用户输入的订票日期要进行验证,对于不满足条件的给出明确的提示信息。
出发地、到达地、航班系统自动显示,用户只要选择就可以。
3、单击“insertorder”按钮,系统保存相关信息并生成并显示此订单的订单号,并给出保存是否成功的信息。
4、当按了“insertorder”按钮后,updateorder和deleteorder按钮可用(没有保存前这二个按钮是不可用的),通过这二个按钮可以对新增加的订单进行修改或删除操作,具体操作同修改订单和删除订单功能。
三、查询订单功能
1、登录成功后在新增订票窗体,可以通过单击“打开订单”按钮,或者菜单,进入查询订单条件对话框。
2、在查询对话框中提供按“顾客姓名”、“订票日期”和订单号三种查询模式。
3、按姓名查询:
输入顾客姓名(能够模糊查询,只要输入姓名的一部分),系统以列表方式结出查询的结果纪录,用鼠标在列表双击(或者选取后,单击OK按钮)所要的订单,系统将在订票主窗口中显示具体的订单信息。
根据需要可以进行修改、删除等操作。
如果没有找到则显示“没有发现订单,请再试一次”。
4、按订票日期查询:
输入具体的订票日期(只能输入数字,日期不完整,“OK”按钮无效),能够对日期的合法性进行检查,如果查到对应的订票则显示一个“查询结果”的列表,用鼠标在列表双击(或者选取后,单击OK按钮)所要的订单,系统将在订票主窗口中显示具体的订单信息。
根据需要可以进行修改、删除等操作。
如果没有找到则显示“没有发现订单,请再试一次”。
5、姓名和日期组合查询:
选择取姓名和日期,在姓名栏输入查询的姓名,在日期栏输入查询的日期,操作同4和5。
6、按订单号查询:
输入指定的订单号(只能输入数字),单击“OK”进行查询,如果查到对应的订票则系统将在订票界面上显示具体的订单信息,根据需要可以进行修改、删除等操作。
如果没有找到则显示“不存在这个数字”。
四、修改订单
1、打开指定的订单(openorder操作,新增订单单击”insertorder”按钮后也可以)。
2、在订单主窗口中,修改订票日期、出发机场、到达机场、航班信息、顾客姓名和订票张数等(要求与新增订票中相似)
3、单击“updateorder”按钮保存修改结果(不单击“updateorder”按钮系统不会保存修改结果)。
4、如果对订单信息进行了修改,没有单击“updateorder”按钮,进行“新建订单”或“打开订单”按钮时系统会提示“信息已修改,是否要保存”。
确认后保存,取消则返回订单主窗口中,不保存则进入“新建订单”界面或“打开订单”界面。
五、删除订单
1、打开指定的订单(openorder操作,新增订单单击”insertorder”按钮后也可以)。
2、在订单主窗口中,单击“deleteorder”按钮或者“删除工具”删除当前订单。
3、系统给出提示“是否要删除此订单?
”,确认后删除,取消则不删除
六、报表统计功能
1、登录成功后在新增订票窗体,单击“报表”的按钮或在“Analysis”菜单中选择”Report”项
2、用纯文本的方式以行的方式(二行一条订单信息,和一行为主要信息,第二为到达时间和到达机场)显示登录代理帐户所有订单的报表,并给出汇总数据。
七、图表统计功能
1、登录成功后在新增订票窗体,单击“图表”按钮或在“Analysis”菜单中选择”Graph”项
2、通过Graph窗体以订单日期为单位显示订单数量。
用户可以选择图表的形式(三维柱形图表、二维柱形图表和三维饼图)显示按订单日期的订票数量统计。
八、系统帮助功能
1、登录成功后在新增订票窗体,单击“帮助”按钮或在“Help”菜单中选择”contents”项
2、系统自动打开”FlightReservationHelpVersion1.0”帮助窗框体,为用户提供有关系统的操作说明。
九、系统版权说明功能
1、登录成功后在新增订票窗体,在“Help”菜单中选择”About……”项
2、系统显示一个窗体,用以显示本系统的版本说明信息。
任务2:
制订订票系统的功能测试计划
做一做:
功能测试也叫黑盒子测试或数据驱动测试,根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
软件的功能测试,用于验证应用程序或网站对目标用户能正确工作,使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
功能测试只需考虑各个功能,不需要考虑整个软件的内部结构及代码.一般从软件产品的界面、架构出发,按照用户需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。
根据系统的需求规格说明书,可以看出这是一个规模比较小的系统,可以采用手工测试和自动化测试相结合的方式进行测试。
可以采用场景法、成效价类划分法、边界类法和常见错误法来编写测试用例。
本系统有8个功能点要测试,比较复杂的功能点是新增订票、查询订票和修改订票三个功能点,每个功能点大约需求10个测试用例,其它均为2-5个测试用例,初步估计有50个测试用例,约有3人天的工作量,执行测试则有8人天的工作量(包括编写测试脚本)。
所需求人员和工作计划如下(回归测试不包括在内):
订票系统功能测试项目小组成员:
甲:
测试小组组长
乙:
测试工程师
丙:
测试员
丁:
测试员
订票系统功能测试计划:
序号
安排日期
工作内容
负责人
备注
1
星期一上午
编写测试计划
测试项目会议
分配工作任务
确定测试策略
甲
全体参与
项目培训
软件开发项目经理
2
星期一下午至星期二下午
阅读需求分析
编写测试数据
编写测试用例
乙
3
星期一下午至星期二下午
搭建测试环境
输入部分测试数据
丙、丁
4
周三上午
测试用例评审会
测试环境验收
甲
全体参加
软件开发项目经理
5
周四、周五、第二周周一、第二周周二全天
执行测试
记录测试缺陷
丙、丁
乙进行指导
6
第二周三
测试分析
撰写功能测试报告
乙
7
第二周周四上午
提交测试报告
甲
交软件开发项目经理
8
第二周周四下午
项目小结
甲
全体人员参与
模块二编写功能测试的测试用例
学习目标
1、掌握等价类划分、边界值、场景等编写功能测试测试用例的方法
2、掌握测试用例的主要内容、编写格式
工作任务
1、根据需求报告编写登录功能的测试用例
2、根据需求报告编写订票功能的测试用例
3、根据需求报告编写查询功能的测试用例
任务1:
编写登录功能的测试用例
做一做:
根据系统需求规格说明书的要求,采用场景法设计测试用例,在订票系统中可以设置登录、新增订票、查询、修改订票、删除订票、打印报表、显示统计图表和帮助等8个大的应用场景。
同时考虑不同的运行环境,如win98/win2000/winXP/winvastar/win7等不同的操作系统,对于不同的操作系统,可以使用相同的测试用例(操作系统地栏不同)。
对于登录场景可以采用有效等价类法编写测试用例,将测试用例分成错误和正确二大类,在正确类中设立用户名和密码小写和大写都正确的2个测试用例。
在错误类中采用边界值法设立用户名和密码为空、用户名小于4个字符、密码小于4个字符、用户名不正确、密码不正确等6个测试用例。
通过采用等价类法和边界值法可以保证测试用例能够覆盖到所有的测试项,测试用例汇总表如下:
测试用例编号
主要测试内容
预期结果
测试结果
F_L_1
用户名、密码为空
显示帐户或者密码不对
F_L_2
用户名少于4个字符,密码正确
显示姓名字符不少于4个字符
F_L_3
用户名正确,密码少于4个字符
显示密码字符不少于4个字符
F_L_4
用户名不正确,密码正确
显示帐户或者密码不对
F_L_5
用户名正确,密码不正确
显示帐户或者密码不对
F_L_6
用户名正确、密码不对
显示帐户或者密码不对
F_L_7
用户名、密码正确(小写)
成功,显示订票窗体
F_L_7
用户名、密码正确(大写)
成功,显示订票窗体
注:
这是一个测试用例的汇总表,在Excel中放在第一个工作表中,表的名称为“登录功能测试用例汇总表”,最后一栏是测试完成后填写,用于总后的统计。
根据测试用例汇总表,编写测试数据,具体如下:
输入项目
测试数据
正确的用户名和密码
test和mercury
错误的用户名和密码
admin和admin
不足4个字符的用户名和密码
te和mer
根据测试用例汇总表、CMMI3对测试用例的格式要求和测试数据表,在Excel中逐个编写测试用例(以用例编号作为工作表的表名)。
下面是F_L_2测试用例的具体内容:
测试用例编号
F_L_2
编写人
赵航涛
编写日期
2011-1-20
测试内容
用户名少于4个字符,密码正确
项目名称
登录功能
操作系统
winXP
操作过程:
1、双击C:
\ProgramFiles\MercuryInteractive\QuickTestProfessional\samples\flight\app目录下的Flight4a.exe
2、在代理帐户栏中输入“te”,在密码栏中输入”Mercury”
3、单击OK按钮
预期结果
显示错误对话框“Agentnamemustbeatleast4characterslong”
实际运行结果
测试人
测试时间
是否有缺陷
缺陷描述
下面是F_L_7测试用例的具体内容:
测试用例编号
F_L_7
编写人
赵航涛
编写日期
2011-1-20
测试内容
用户名密码正确
项目名称
登录功能
操作系统
winXP
操作过程:
1、双击C:
\ProgramFiles\MercuryInteractive\QuickTestProfessional\samples\flight\app目录下的Flight4a.exe
2、在代理帐户栏中输入“test”,在密码栏中输入”Mercury”
3、单击OK按钮
预期结果
自动进入系统订票窗体
实际运行结果
测试人
测试时间
是否有缺陷
缺陷描述
测试用例的重点是操作过程和预期运行结果,操作过程根据需求规格说明书、常规应用程序的操作过程和编写的测试数据来编写,要求操作过程明确,先操作什么后操作什么,在哪儿输入,输入什么都要十分明确,测试人员可以根据这个操作步骤完成登录工作。
在F_L_2中操作过程的三个步骤是一般有软件登录的操作过程,操作过程中输入的te,mercury则来自测试数据表。
预期结果是根据规格说明书和常用软件开发中惯例和系统界面设计而确定的(提示信息的具体内容是根据系统界面设计来确定的)。
实际运行结果、测试人、测试时间、是否是缺陷和缺陷描述是由执行测试的人填写的。
练一练:
参考上述的二个例子,根据测试用例汇总表和测试数据表自己完成F_L_1、F_L_4、F_L_7。
读一读:
1、等价类划分
等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法。
划分等价类
等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:
测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:
有效等价类和无效等价类。
有效等价类:
是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:
与有效等价类的定义恰巧相反。
设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性。
设计测试用例
在确立了等价类后,可建立等价类表,列出所有划分出的等价类:
输入条件有效等价类、无效等价类……,然后从划分出的等价类中按以下三个原则设计测试用例:
①为每一个等价类规定一个唯一的编号。
②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止。
③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止。
2、边界值分析法
边界值分析方法是对等价类划分方法的补充。
(1)边界值分析方法的考虑:
长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.
(2)基于边界值分析方法选择测试用例的原则:
1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少1,比最大个数多1的数作为测试数据。
3)根据规格说明的每个输出条件,使用前面的原则1)。
4)根据规格说明的每个输出条件,应用前面的原则2)。
5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
7)分析规格说明,找出其它可能的边界条件。
任务2:
编写订票功能的测试用例
根据需求规格说明书,可以看出订票功能界面和内部逻辑都比较复杂,为了提高测试的覆盖度,可以采用法设计测试用例,主要包括正确类和不正确类,对于日期栏应采用边界值法来设计测试用例,对于出发地、到达地和航班采用场景法来设计测试用例。
测试用例的汇总表如下:
测试用例编号
主要测试内容
预期结果
测试结果
F_N_1
输入非法日期(日超过31)
显示“InvaliddayEntered.Thedaybevalidforthegivenmonth.”对话框
F_N_2
输入非法月份(月超过12)
显示“InvalidmonthEntered.Themonthbegreaterthan01andlessthan12.”对话框
F_N_3
输入今天以前的日期
显示“Validflightdatesareafter02/10/11”对话框
F_N_4
输入正确日期,保存
没有选择出发地
F_N_5
输入正确日期和出发地,保存
没有选择到达地
F_N_6
输入正确日期、出发地和到达地,保存
没有选择航班
F_N_7
输入正确日期、出发地、到达地和航班,保存
没有输入姓名
F_N_8
输入正确日期、出发地、到达地、航班和顾客姓名,保存
成功保存
F_N_9
修改顾客姓名、票数,保存
总价变化,成功保存
F_N_10
修改座位类别,保存
单价、总价变化,成功保存
F_N_11
修改航班,保存
单价、总价变化,成功保存
F_N_12
修改到达地,保存
航班信息清空,没有选择航班
F_N_13
修改出发地,保存
航班信息清空,没有选择到达地
F_N_14
修改日期,保存
航班信息清空,没有选择到达地
F_N_15
修改日期、出发地、到达地、航班、票数、顾客姓名和座位类别,保存
成功保存
根据订票测试用例汇总表,编写测试数据,具体如下:
输入项目
输入数据
修改数据1(没保存)
修改数据2(保存)
用户名
test
密码
mercury
日期
03/02/11
03/03/11
03/03/11
日期(日错误)
03/32/11
日期(月错误)
13/02/11
日期(在今天之前)
02/02/11
出发地
Denver
Paris
Paris
到达地
London
LosAngeles
Denver
航班号(自动显示)
20262
20253
17077
起发时间(自动显示)
10:
21AM
8:
12AM
10:
24AM
降落时间(自动显示)
05:
23PM
03:
23PM
12:
54AM
航空公司名称(自动显示)
AA
AA
AF
顾客姓名
MarkJon
MarkLi
票数
1
2
座位类别
Economy
Business
单价(自动显示)
$112.20
$224.40
$222.94
总金额(自动显示)
$112.20
$448.80
$445.88
订单号(自动显示,保存后才显示)
11
注:
由于系统日期不同,在具体测试时要根据实际情况对日期进行调整,或者将系统日期改为02/05/11,这样才能保证测试数据是有效的。
根据测试用例汇总表、CMMI3对测试用例的格式要求和测试数据表,在Excel中逐个编写测试用例(以用例编号作为工作表的表名)。
下面是F_N_1测试用例的具体内容:
测试用例编号
F_N_1
编写人
赵航涛
编写日期
2011-1-20
测试内容
日期输入错误(日超过31)
项目名称
登录功能
操作系统
winXP
操作过程:
1、启动Flight4a.exe程序,帐户名输入test,密码输入mercury,进入订票系统窗体
2、在dateofflight中输入:
03/32/10
3、在FlyFrom中选择“Denver”
预期结果
显示“InvaliddayEntered.Thedaybevalidforthegivenmonth.”对话框
实际运行结果
测试人
测试时间
是否有缺陷
缺陷描述
下面是F_N_8测试用例的具体内容:
测试用例编号
F_N_8
编写人
赵航涛
编写日期
2011-1-20
测试内容
成功订票
项目名称
登录功能
操作系统
winXP
操作过程:
1、启动Flight4a.exe程序,帐户名输入test,密码输入mercury,进入订票系统窗体
2、在dateofFlight中输入:
03/02/11
3、在FlyFrom中选择“Denver”
4、在FlyTo:
中选择”London”
5、单击Flights按钮,选择“20262”航班
6、在name栏中输入:
MarkJon
7、在Tickets栏中输入:
1
8、在Class栏中选择:
Economy
9、单击“insertorder”按钮
预期结果
单价和总价显示:
$112.20,状态栏显示:
InsertDone,OrderN0显示:
11
显示“insertingorder.”对话框(此对话框大约5秒钟后自动消失)
数据库中增加相应的订单记录
实际运行结果
测试人
测试时间
是否有缺陷
缺陷描述
下面是F_N_12测试用例的具体内容:
测试用例编号
F_N_12
编写人
赵航涛
编写日期
2011-1-20
测试内容
保存后修改到达地
项目名称
登录功能
操作系统
winXP
操作过程:
1、接着F_N_11的界面
2、在FlyTo:
中选择”LosAngeles”
3、单击“Updateorder”按钮
预期结果
到达地、航班信息、座位类别、单价和合计清空
弹出“请选择到达城市”
实际运行结果
测试人
测试时间
是否有缺陷
缺陷描述
练一练:
参照上面二个测试用例,自己课后完成F_N_3、F_N_7、F_N_15测试用例。
读一读:
场景法:
通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果。
场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。
下面是场景法的基本设计步骤
1.根据说明,描述出程序的基本流及各项备选流
2.根据基本流和各项备选流生成不同的场景
3.对每一个场景生成相应的测试用例
4.对生成的所有测试用例重新