本系统只设置一个管理员,当管理员登录成功后,左侧面通过一个导航菜单列出管理员的所有功能:买家信息、卖家信息、退出。在查到买家信息后可以对其进行删除操作。对卖家可以查看商品信息和对卖家进行删除操作。退出功能是管理员退出到登录界面。管理员模块设计如图4.7所示。
图4.7 管理员模块图
2. 实现过程
(1) 创建母版页:使用顶部左侧框架进行设计母版页面,新建admin_main.jsp、admin_top.jsp、admin_wel.jsp和admin_left.jsp来实现此框架。
(2) 创建其它jsp页面:在引入母版页的情况下创建买家信息、卖家信息、删除卖家、查看卖家商品信息、删除卖家、退出等页面来实现管理员的显示功能。
(3) 创建action:在action文件夹中创建六个action,分别是AdminSearchBuyerInfoActionAdminSearchSellerInfoAction
、
AdminSearchSellerGoodsInfoAction、
AdminDeleteBuyerAction
、、
AdminDeleteSellerAction。这些action用于实现数据库和jsp页面的控制。
(4) 进行配置:在WEB-INF下的struts-config.xml进行相应的配置,来实现页面的跳转。
4.6 接口设计
在总体设计中,对数据接口进行了描述,但是,在本章中要通过文字及数据库语句对数据接口的设计进行更详尽、更具体的阐述。
1.在买家进入后,查询全部商品,就会从数据库的商品信息表中读出所有的商
21
品信息。SQL语句为:select * from goods。
2.当按分类进行模糊查询时,就会按类别到数据库中的商品信息表中进行查询,并对其进行分页。SQL语句为:selelct * from goods where gtype like keyword limit pageStart,pageCount。
3.当买家购买商品时就会把买家和商品相应的编号插入到买家商品这个关系表中。SQL语句为:insert into buyergoods (bid,gid) values(bid,gid);
4.当买家进行个人信息修改时,会把数据库中的买家档案表修改。SQL语句为:update buyer set bpassword = password,brealname = realname,btel = tel,bmobile = mobile,bqq = qq where bname = username。
5.在卖家进入后,查询自己出售商品信息,就会按关键字和类别从数据库的商品信息表中读出商品信息。当增加、删除或者修改商品信息时,就会向数据库里的商品信息表中添加、删除和修改商品信息信息。
6.在管理员进入后,查询买家和卖家相关信息,就会从数据库中相应表中读出买家和卖家的个人信息,进而可以对卖家商品进行查看,当对买家和卖家进行删除操作时,会在数据库相应的表中进行删除。当对卖家进行删除时,先要删除关系表中信息。SQL语句为:delete from sellergoods where sid = sid,delete from seller where sid =sid,delete from goods where gid not in (select gid from sellergoods)。
22
5 系统的测试
系统测试是系统编码完成之后所进行的最后步骤,通过测试可以检测出系统功能是否完善,系统的运行是否稳定,运行过程中是否出现异常状况。测试工作没有做好将会给系统的后期的维护带来不便。
5.1 测试目的
测试是为了发现程序中的错误而执行程序的过程。软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。第二是提供信息,比如提供给开发人员的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。明确测试的目的是一件非常重要的事,因为在现实世界中对测试工作存在着许多模糊或者错误的看法,这些看法严重影响着测试工作的顺利进行。
5.2 测试方法
按照软件设计过程,测试方法采用内部流程分析和不考虑程序内部结构两种方法,即“黑盒测试法”与“白盒测试法”。在各功能子模块中,主要采用以内部流程分析为主的白盒测试法,根据内部程序执行过程进行数值输入,而在系统集成测试中则采用不考虑内部结构的黑盒测试法,即根据输入输出数据条件来测试软件运行效果。
5.3 测试过程
首先对每个模块进行单元测试,这部分测试的作用是检测数据的输入与输出产生的漏洞以保证数据的完整性。它解决5个方面的问题:模块接口、局部数据结构、边界条件、重要路径和错误处理。
本系统涉及到的检测主要以数据库校验和界面校验为主。首先对系统进行“人
23
工走查”,再以“白盒法”为主,选用的覆盖标准为条件覆盖。
5.3.1 登录模块测试
如表5.1所示,输入账号及密码的同时可能出现的非法操作有:账号未输入、账号不存在、账号存在但密码未输入以及账号输入正确但密码输入错误等四种错误。程序设计过程中必须考虑到这四种情况的存在,一旦忽略了其中一项,就可能在系统运行中产生漏洞。
表 5.1 用户登录模块用例 功能 登陆 输入正确的账户和密码。 进入登陆界面,输登陆成功,进入测试用例描述 操作过程及数据 预期结果 用例类别 数据库入正确值,然后登陆。 系统,显示主界面。 校验 不能登陆,系统提示:账号不能为空。 不能登陆,系统提示:密码不能为空。 不能登陆,系统提示:用户名或密码错误。 不能登陆,系统提示:用户名或密码错误。 登陆 账号不输入。 进入登陆界面,不输入账号,然后登陆。 进入登陆界面,不输入密码,然后进行登陆。 进入登陆界面,输入正确账号和错误密码,然后登陆。 进入登陆界面,输入错误账号。 数据库校验 登陆 账号输入正确,但密码不输入。 数据库校验 登陆 对于输入正确账号和错误密码进行登陆。 数据库校验 登陆 输入不存在的账号。 数据库校验 5.3.2 搜索模块测试
首先进到卖家的模糊查询页面中,可以进行商品关键字和商品类别的组合查询。如只输入商品关键字时,只按照商品关键字查询,输入关键字“安踏”,单机查询按钮后,系统显示出所要查找的商品,说明查找成功,如果显示没有您要查询的商品,说明没有与此关键字相匹配的商品。如只输入商品类别,只按商品类别进行查询,输入关键字“运动鞋”,单击查询按钮后,系统显示出所要查询的商品,说明查找成功。如商品关键字和类别一起输入,则进行组合查询,输入“安踏”和“运动鞋”,单击查询按钮后,系统显示查询的商品。通过对系统的反复大量的测试,该模块测试成功。
24
5.3.3 添加商品模块测试
首先卖家登录进入到卖家功能界面,点击添加商品信息按钮后,进入添加商品界面,输入相应的产品信息,在输入商品图片信息时,要求图片路径在200个字符以内并且必须是字母表示,在输入商品单价以及商品数量时只能输入数字,产品信息添加好后,点击确定按钮,如果输入的所有信息都正确,会提示添加产品信息成功,测试通过。
5.4 测试评价
通过上述模块测试,我对本系统做了一个测试评价,在搜索模块测试中,我根据不同的查询条件逐一测试,通过测试,我发现在查询某些条件的商品时,where查询条件的代码不齐全,缺少代码,因此查不到结果,也并不显示“没有您要查询的商品”的字样,通过仔细的比对后,将代码补充完整,完成了该模块的测试。在卖家添加商品模块测试中,最初我填写图片信息时把路径弄得过长,点击修改按钮时,却发现没有修改成功,通过该模块测试,我发现此处存在一定得限制,于是在数据库中修改了图片字段的长度,该模块测试成功。
我在测试时是按照竭力证明程序中有错误不能按照预定要求正确工作原则来进行的,在测试时也确实发现了此系统中存在潜藏的错误,并尽可能地排除了这些错误,最终完成了一个质量较高的软件系统。
25