基于Web的航空机票售票管理信息系统 联系客服

发布时间 : 星期四 文章基于Web的航空机票售票管理信息系统更新完毕开始阅读

(论文)

器端显示。

(2)浏览器端输入验证码图片上的字符,然后提交服务器端,提交的字符与服务器端保存的字符进行比较,若一致就继续,若不一致就显示错误,不能进入操作的主界面。

攻击者编写的robot程序很难识别验证码字符,所以不能顺利完成登录以及其它操作。用户可以识别填写,这就实现了阻挡攻击的作用。就实际的效果来说,验证码只是增加攻击者的难度,而不可能完全的防止。

27

(论文)

5 系统测试与调试

当程序完成时,对程序的测试必不可少,为使程序有效运行,测试与调试是唯一的手段,测试的目的是为了发现尽可能多的缺陷。这里的缺陷是一种泛称,它可以指功能的错误,也可以指性能低下、易用性差等。

5.1软件测试常识

软件测试过程按测试的先后次序可分为4个步骤进行:单元测试、集成测试、确认测试和系统测试,最后进行验收测试。

单元测试:分别完成每个单元的测试任务,以确保每个模块能正常工作。单元测试大量的采用了白盒测试方法尽可能发现模块内部的程序差错。

集成测试:把已测试过的模块组装起来,进行集成测试。其目的在于检验与软件设计相关的程序结构问题。这是较多的采用黑盒测试方法来设计测试用例。

确认测试:完成集成测试以后,要对开发工作初期制定的确认准则进行检验。确认测试是检验所开发的软件能否满足所有功能需求的最后手段,通常采用黑盒测试的方法。

系统测试:完成确认测试以后,给出的应该是合格的软件产品,但为检验它能否与系统的其它部分(如硬件、数据库及操作人员)协调工作,需要进行系统测试。

验收测试:检验软件产品质量的最后一道工序是验收测试,它突出了客户的作用,同时软件开发人员也应有一定程度的参与。

鉴于程序自身的特点做了单元测试和集成测试。

5.2系统功能测试计划

软件测试并不单纯等同于程序测试。软件测试应该贯穿整个软件定义与整个开发周期。因此需求分析、概要设计、详细设计以及程序编码等各个阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试的对象。

28

(论文)

在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环节发生了问题都可能在软件测试中表现出来。

在这部分中,为了确保每个阶段功能的实现,在系统完成后,每个分支都走了一遍,也有发现的问题,但经过改正和查阅资料都解决了。

5.3系统功能模块测试

5.3.1管理人员模块的测试

管理员进入系统主界面后,可以点击添加信息,在弹出的下一个页面中选择要添加哪一类信息,在弹出的信息表中键入相应的数据,点击确定按钮,系统将对输入信息进行判定,判断输入是否为空及输入信息类型是否符合要求,如果正确系统将返回操作成功提示界面,否则返回错误提示信息。

例如:输入信息点击确定按钮返回操作成功提示后,查询该表在数据库中的信息,如果表中存在添加信息,就表明测试成功。

5.1.2乘客模块测试

乘客用户进入自己所有权限的操作界面后,点击要查询的项目,在弹出请输入身份证号码后就可以查询到自己的相关信息。若该项目没有记录则输出为空。

例如,要查询自己预订机票的情况,就要点击个人预订信息查询输入身份证号和密码就显示出自己所有预订机票的相关信息,这样就表明测试成功。

5.1.3售票员模块测试

售票员进入该权限下的主界面后,根据乘客的订票需求通过售票系统买票给乘客以及退票,还可以查询各种与机票相关的信息,成功获得信息证明测试正确。

5.4调试中的问题

(1)在访问系统时,发现不用登录直接访问程序中的Servlet或者某些jsp页面也可以直接进入主页面,最后为了保证访问的安全性,除了登录页面其他页面全放在WEB-INF目录下,并且在Servlet加判断语句用户是否登录,如果没登录自动跳会登录页面。

29

(论文)

(2)在系统的用户登录模块,开始时不能进行信息的提示,如果不输入用户名、密码或验证码中的某一项只能是进入错误的界面,后来加上了判断的语句,就能及时提示用户填写否则不能进入下一个界面。

(3)在刚开始具体编写程序时,经常把整型和字符串相混淆,还有一些类似的错误。后来经过熟悉以后就变得越来越熟练。

(4)在编写代码的初期,出现错误最多的地方就是用SQL语句实现添加、修改、查询和删除数据。首先是SQL语句书写错误,由于数据库表中各列的数据类型不同,所以在书写SQL语句时需要注意相关列的数据类型是否一致,其次是执行这些语句时出现的错误,例如executeQuery()方法只能执行查询语句,其余的操作都需调用executeUpdate()方法来执行,刚开始对这两个方法不是很理解,总是调用错误导致功能无法实现。

(5)在更新信息时,更改的信息如果是汉字就会出现乱码,后来才发现没有在程序中添加支持汉语的语句(Request.setCharacterEncoding( ))。

30