版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网上书店一、实验目的与要求- 2 -二、需求分析- 2 -三、系统分析与设计- 4 -1、系统结构设计- 4 -2、数据设计- 8 -2.1 概念结构设计- 8 -2.2 逻辑结构设计- 9 -2.3 数据库的并发- 10 -2.4 存储过程的创建- 10 -四、程序设计- 11 -1. 主页面模块- 11 -2.用户注册模块- 11 -3用户登录模块- 12 -4查看订单模块- 12 -五、软件测试- 13 -1、测试项目- 13 -2.测试步骤- 18 -六、实验总结- 23 -七、参考资料- 24 -一、实验目的与要求本测试报告为网上书店的测试报告,目的在于总结测试阶段的测试情况以及分析
2、测试结果,描述系统是否符合用户需求,是否已达到用户预期的功能目标,并对测试质量进行分析。测试报告参考文档提供给用户、测试人员、开发人员、项目管理者、其他管理人员和需要阅读本报告的人员阅读。测试主要根据用户需求说明书和软件需求规格说明书以及相应的文档进行系统测试,包括功能测试、性能测试、安全性和访问控制测试、用户界面测试以及兼容性测试等,而单元测试和集成测试由开发人员来执行。二、需求分析首先对现有系统进行分析,现有系统是信息的重要来源。分析已有系统的功能和实现,从而确定新系统的设计目标和模型。设计出程序,再对已编译的程序进行软件测试。1、从用户角度用户通过在线注册成为网站的用户,可以获得以下功能
3、:书目浏览,购买图书,查看订单,修改订单,修改密码,修改个人信息,书籍简介,投票箱等。另外,用户注册成功后,可以进入到网站的留言板块进行留言等。2、从网站角度(1)网站应该包含商品搜索功能:按书名(模糊)查询。(2)订单处理功能,确认订单方式:a). 电话通知方式b). E-mail方式(3)管理员管理:查看用户信息,并根据用户信息和用户订单对商品进行发派。(4)书目浏览a).书名 b).出版社 c).作者 d).价格 e).订购号(5)好书的投票查看用户好书投票的信息及投票百分比的评比。(6)论坛 用户进行信息交流的地方,可以在留言板进行留言,为查找图书提供好的网站等等。 根据以上的需求分析
4、,可以画出用户的用例图,图1.1用户的用例图 根据需求也可画出管理员的用例图, 图1.2管理员用例图系统的类图:图1.3系统类图三、系统分析与设计1、系统结构设计根据需求分析与系统功能设计目标,结合实际情况本系统功能模块设计分为如下几个模块:(1). 主页:在这里我们可以看见本系统的主要功能和信息。(2)用户注册:在这里我们可以注册我们的基本信息,其中电话和Email是比较重要的,因为我们需要对这些信息进行处理,以方便用户的付款和邮购。详细过程如下图所示:图 用户注册活动图(3)用户登陆:为了方便用户的付款,邮购和管理,我们需要变成会员后才可以进行消费。(4)书目浏览:成功登陆后的用户可以分页
5、浏览图书书目,并将想要的图书提交到填写订单页面。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”。具体过程如下图所示:图 查询书籍活动图(5)订购图书:成功登陆的用户可以在该页面定购所需要的图书。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。登录之后的用户,选购自己想要的图书,加入购物车,申请结账,详细过程如图所示:图: 购书序列图(6)查看订单:成功登陆的用户可以在该页修改已经订购的图书。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。订单的状态图如图所示:图 订单状态图(7)修改订单
6、:成功登陆的用户可以在该页修改或删除已经订购的图书。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。(8)书目查询:成功登陆的用户可以在该页查找自己需要的图书。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。(9)修改密码:成功登陆的用户可以在该页修改自己的密码。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。(10)修改个人信息:成功登陆的用户可以在该页修改自己当初注册时的信息。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。(11)留言板:成功登录
7、的用户可以在该页留言。(12).管理员登陆:管理员要想管理网上书店,应先登录,详细过程如图所示:图:管理员登录顺序图(13)管理员:查看用户订单,查看用户信息,并根据用户信息和用户订单对商品进行发派。详细过程如图所示:图管理员活动图2、数据设计2.1 概念结构设计1)根据需求分析,可知系统中的实体主要有管理员admin、用户member、书本book、订单orderbook等。部分实体属性图如下图所示:AdminIdAddtimePasswordName图2.2.1 admin属性图2)、根据实体间的关系,可以画出系统的全局E-R图,如下图所示:会员购买图书审核订单审核购物车购买评价发表游客注
8、册浏览图 系统E-R图2.2 逻辑结构设计 根据概念结构设计的结果,设计出“网上书店系统”数据库的逻辑关系模型,将系统E-R图转化为关系模型:书籍(书号,书名,图片,作者,出版社,价格,类别)用户(注册号,登录名,密码,用户名,性别,电话,邮件地址)管理员(管理员编号,用户名,密码,添加时间)订单(订单号,书号,数量,总价) 根据用户的需求分析和系统设计的总体过程,下面介绍几个主要的数据表的结构和用途。分别为图书书目表book, 用户注册表member, 管理员表admin订单表order。2.3 数据库的并发 两个用户同时请求一本书的时候,一个人完成后,要等待update更新完毕后,另一个人
9、才可以执行,即要等待5秒。具体过程如下图所示:2.4 存储过程的创建 存储过程是一组完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行存储过程。以在购物车显示加入的书为例,显示加入到购物车里所有书的书名及数量等信息,具体过程如下图所示:图 创建存储过程四、程序设计1. 主页面模块 主页面中上部包含:标题:欢迎光临网上书店此刻访问的时间和访问本站的人数等部分。图3.1 系统主界面2.用户注册模块 用户注册是为第一次登录网站的用户所设计的。在用户成为本站用户之前一定要注册才可以访问我网站的其它网页。用户注册包括:登录名称,真实姓
10、名,设置密码,电子邮件等。注册成功后,才可以访问本站的其他页面。图3.2 用户注册界面3用户登录模块 用户登录包括:登录名称,输入密码。当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。图3.3用户登录界面4查看订单模块查看订单:成功登陆的用户可以在该页修改已经订购的图书。可以查询我的订单,看已经购买的书籍。图3.6用户个人中心界面五、软件测试1、测试项目该测试项目主要针对网上书店系统用户登录界面的注册、登录功能进行测试。用户注册、登录界面包括了网上书店系统标题,用户名、密码标签,用户名、密码输入框,以及登录、取消按钮。界面功
11、能由Java编程实现,包括输入、登录、取消功能。假设该系统只有一个用户,因此只有一个用户名和一个密码(用户名admin,密码111111),该测试项目在这个基础上,对用户名、密码输入的各种情况进行测试,之后比较最后结果与预期结果,达到测试这个登录功能的目的。用户注册界面如下:用户登录界面:主要实现的功能如下:用户登录包括:登录名称,输入密码。当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。注册功能实现代码如下:(1)用户注册 userRegister,jsp:<%String str=response.encodeUR
12、L("userRegister.jsp");%><H3><P>输入您的信息,带*号项必须填写:<FORM action="<%=str%>" Method="post"><BR>登录名称<Input type=text name="logname">*<BR>真实姓名<Input type=text name="realname">*<BR>设置密码<Input type=pa
13、ssword name="password">* <BR>电子邮件<Input type=text name="email"> *<BR>联系电话<Input type=text name="phone">*<BR>通信地址<Input type=text name="address">*<BR><Input type=submit name="g" value="提交">&
14、lt;/Form><jsp:useBean id="login" class="book.Register" scope="request" ></jsp:useBean><% Stringlogname="",realname="",password="",email="",phone="",address=" if(!(session.isNew() logname=request.ge
15、tParameter("logname"); if(logname=null) logname="" logname=codeString(logname); realname=request.getParameter("realname"); if(realname=null) realname="" realname=codeString(realname); password=request.getParameter("password"); if(password=null)passwo
16、rd="" password=codeString(password); email=request.getParameter("email"); if(email=null) email="" email=codeString(email); phone=request.getParameter("phone"); if(phone=null) phone="" phone=codeString(phone); address=request.getParameter("addres
17、s"); if(address=null) address="" address=codeString(address); %> <%if(!(logname.equals("")&&!(address.equals("")&&!(phone.equals("")&&!(realname.equals("")&&!(password.equals("")%> <jsp:setPr
18、operty name= "login" property="logname" value="<%=logname%>" /> <jsp:setProperty name= "login" property="realname" value="<%=realname%>" /> <jsp:setProperty name= "login" property="password" value
19、="<%=password%>" /> <jsp:setProperty name= "login" property="email" value="<%=email%>" /> <jsp:setProperty name= "login" property="phone" value="<%=phone%>" /> <jsp:setProperty name= "login
20、" property="address" value="<%=address%>" /> <% login.addItem(); elseout.print("你还没有填写信息,或信息填写不完整"); %> <% if(!(session.isNew() %><jsp:getProperty name= "login" property="message" />本程序用了Bean: Rigister.javamport java.s
21、ql.*;public class Register String logname,realname,password,email,phone,address; String message; Connection con; Statement sql; ResultSet rs; public Register() tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e);public void addItem()trycon=DriverManager.getCon
22、nection("jdbc:odbc:shop","",""); sql=con.createStatement(); Strings="'"+logname+"'"+","+"'"+realname+"'"+","+"'"+password+"'"+","+"'"+email+&q
23、uot;'"+","+"'"+phone+"'"+","+"'"+address+"'"String condition="INSERT INTO user VALUES"+"("+s+")"sql.executeUpdate(condition);message="注册成功了"con.close();catch(SQLException e)me
24、ssage="你还没有注册,或该用户已经存在,请你更换一个名字" (2)登录功能实现代码如下:用户登录 userLogin.jsp:<%String string=response.encodeURL("userLogin.jsp");%><H3><P>输入用户名和密码:<FORM action="<%=string%>" Method="post"><BR>登录名称<Input type=text name="logname&
25、quot;><BR>输入密码<Input type=password name="password"><BR><Input type=submit name="g" value="提交"></Form><jsp:useBean id="login" class="book.Login" scope="session" ></jsp:useBean> <% String messag
26、e="",logname="", password="" if(!(session.isNew() logname=request.getParameter("logname"); if(logname=null) logname="" logname=codeString(logname); password=request.getParameter("password"); if(password=null) password="" password=
27、codeString(password); %> <%if(!(logname.equals("")%> <jsp:setProperty name= "login" property="logname" value="<%=logname%>" /> <jsp:setProperty name= "login" property="password" value="<%=password%>"
28、/> <p> <%message=login.getMessage(); if(message=null) message="" %> <% if(!(session.isNew() if(message.equals("ok") String str=response.encodeURL("buybook.jsp"); response.sendRedirect(str); else out.print(message);%>2.测试步骤1)分析及等价类划分该程序的用户名admin,密码11
29、1111,只有输入正确,才能登录成功。而登录不成功有几种情况。用户登录输入时,有以下几种情况(即等价类划分情况):(1)用户名admin,密码111111,有效等价类(2)用户名为空,密码为空,无效等价类(3)用户名非空,密码为空,无效等价类(4)用户名为空,密码非空,无效等价类(5)用户名非空非admin,密码非空非111111,无效等价类(6)用户名非空非admin,密码1234,无效等价类(7)用户名admin,密码非空非1234,无效等价类2)根据边界值条件确定测试用例以上等价类划分了1个有效等价类,6个无效等价类。为此,确定1个有效等价类测试用例,无效等价类(2)仅能确定一个测试用例
30、,其余5个无效等价类各两个测试用例,总共确定12个测试用例。调试数据范围期望结果用户名admin 密码111111有效等价类(1)有效用户名null 密码null无效等价类(2)无效用户名admin 密码null无效等价类(3)无效用户名a 密码null无效等价类(3)无效用户名null 密码111111无效等价类(4)无效用户名null 密码111无效等价类(4)无效用户名a 密码12无效等价类(5)无效用户名ad 密码1111无效等价类(5)无效用户名a 密码111111无效等价类(6)无效用户名ad 密码111111无效等价类(6)无效用户名admin 密码11无效等价类(7)无效用户名admin 密码111无效等价类(7)无效3) 、使用因果图法设计测试用例,并设计对应的预期输出结果。根据等价类划分,可假设:原因:c1用户名为admin c2用户名为空 c3密码为111111 c4密码为空结果:e1登录成功,当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农耕合同范本(2篇)
- 初中生研学旅游合同
- 乌鲁木齐市实验学校2023-2024学年高三上学期1月月考地理试题(解析版)
- 摩托车铝合金载物架项目可行性研究报告
- 2025广告模特摄影及肖像使用合同 范文
- 2024年度天津市公共营养师之二级营养师题库练习试卷B卷附答案
- 2025建筑施工员聘用合同
- 2024年度四川省公共营养师之三级营养师自我检测试卷A卷附答案
- 2025猪粪购销合同书
- 2025泥工装修合同
- 人教版(2024)数学七年级上册期末测试卷(含答案)
- 医院护理10s管理
- 北京市东城区2023-2024学年八年级上学期期末生物试题
- ISO28000:2022供应链安全管理体系
- 人教版六年级数学下册全册分层作业设计含答案
- 进化生物学第3版课后习题答案
- 2022《义务教育数学课程标准(2022版)》解读
- 2022年新媒体编辑实战教程试题带答案(题库)
- 在一日活动中培养幼儿亲社会行为的实践研究报告
- 【课文翻译】新人教必修三 Unit 1-Unit5 课文翻译(英汉对照)
- 高三数学集体备课记录《函数的单调性与最值》
评论
0/150
提交评论