网上书店软件测试报告参考模板.docx

上传人:b****8 文档编号:9724542 上传时间:2023-02-06 格式:DOCX 页数:23 大小:847.12KB
下载 相关 举报
网上书店软件测试报告参考模板.docx_第1页
第1页 / 共23页
网上书店软件测试报告参考模板.docx_第2页
第2页 / 共23页
网上书店软件测试报告参考模板.docx_第3页
第3页 / 共23页
网上书店软件测试报告参考模板.docx_第4页
第4页 / 共23页
网上书店软件测试报告参考模板.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

网上书店软件测试报告参考模板.docx

《网上书店软件测试报告参考模板.docx》由会员分享,可在线阅读,更多相关《网上书店软件测试报告参考模板.docx(23页珍藏版)》请在冰豆网上搜索。

网上书店软件测试报告参考模板.docx

网上书店软件测试报告参考模板

网上书店

 

一、实验目的与要求

本测试报告为网上书店的测试报告,目的在于总结测试阶段的测试情况以及分析测试结果,描述系统是否符合用户需求,是否已达到用户预期的功能目标,并对测试质量进行分析。

测试报告参考文档提供给用户、测试人员、开发人员、项目管理者、其他管理人员和需要阅读本报告的人员阅读。

测试主要根据用户需求说明书和软件需求规格说明书以及相应的文档进行系统测试,包括功能测试、性能测试、安全性和访问控制测试、用户界面测试以及兼容性测试等,而单元测试和集成测试由开发人员来执行。

二、需求分析

首先对现有系统进行分析,现有系统是信息的重要来源。

分析已有系统的功能和实现,从而确定新系统的设计目标和模型。

设计出程序,再对已编译的程序进行软件测试。

1、从用户角度

用户通过在线注册成为网站的用户,可以获得以下功能:

书目浏览,购买图书,查看订单,修改订单,修改密码,修改个人信息,书籍简介,投票箱等。

另外,用户注册成功后,可以进入到网站的留言板块进行留言等。

2、从网站角度

(1)网站应该包含商品搜索功能:

按书名(模糊)查询。

(2)订单处理功能,确认订单方式:

a).电话通知方式

b).E-mail方式

(3)管理员管理:

查看用户信息,并根据用户信息和用户订单对商品进行发派。

(4)书目浏览

a).书名b).出版社c).作者d).价格e).订购号

(5)好书的投票

查看用户好书投票的信息及投票百分比的评比。

(6)论坛

用户进行信息交流的地方,可以在留言板进行留言,为查找图书提供好的网站等等。

根据以上的需求分析,可以画出用户的用例图,

图1.1用户的用例图

根据需求也可画出管理员的用例图,

图1.2管理员用例图

系统的类图:

图1.3系统类图

三、系统分析与设计

1、系统结构设计

根据需求分析与系统功能设计目标,结合实际情况本系统功能模块设计分为如下几个模块:

(1).主页:

在这里我们可以看见本系统的主要功能和信息。

(2).用户注册:

在这里我们可以注册我们的基本信息,其中电话和Email是比较重要的,因为我们需要对这些信息进行处理,以方便用户的付款和邮购。

详细过程如下图所示:

图2.1.1用户注册活动图

(3).用户登陆:

为了方便用户的付款,邮购和管理,我们需要变成会员后才可以进行消费。

(4).书目浏览:

成功登陆后的用户可以分页浏览图书书目,并将想要的图书提交到填写订单页面。

如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”。

具体过程如下图所示:

图2.1.2查询书籍活动图

(5).订购图书:

成功登陆的用户可以在该页面定购所需要的图书。

如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。

登录之后的用户,选购自己想要的图书,加入购物车,申请结账,详细过程如图所示:

图2.1.3:

购书序列图

(6).查看订单:

成功登陆的用户可以在该页修改已经订购的图书。

如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。

订单的状态图如图所示:

图2.1.4订单状态图

(7).修改订单:

成功登陆的用户可以在该页修改或删除已经订购的图书。

如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到

“用户登陆页面”。

(8).书目查询:

成功登陆的用户可以在该页查找自己需要的图书。

如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。

(9).修改密码:

成功登陆的用户可以在该页修改自己的密码。

如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。

(10).修改个人信息:

成功登陆的用户可以在该页修改自己当初注册时的信息。

如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。

(11).留言板:

成功登录的用户可以在该页留言。

(12).管理员登陆:

管理员要想管理网上书店,应先登录,详细过程如图所示:

图2.1.5:

管理员登录顺序图

(13).管理员:

查看用户订单,查看用户信息,并根据用户信息和用户订单对商品进行发派。

详细过程如图所示

:

图2.1.6管理员活动图

2、数据设计

2.1概念结构设计

1)根据需求分析,可知系统中的实体主要有管理员admin、用户member、书本book、订单orderbook等。

部分实体属性图如下图所示:

图2.2.1admin属性图

2)、根据实体间的关系,可以画出系统的全局E-R图,如下图所示:

图2.2.5系统E-R图

2.2逻辑结构设计

根据概念结构设计的结果,设计出“网上书店系统”数据库的逻辑关系模型,将系统E-R图转化为关系模型:

书籍(书号,书名,图片,作者,出版社,价格,类别)

用户(注册号,登录名,密码,用户名,性别,电话,邮件地址)

管理员(管理员编号,用户名,密码,添加时间)

订单(订单号,书号,数量,总价)

根据用户的需求分析和系统设计的总体过程,下面介绍几个主要的数据表的结构和用途。

分别为图书书目表book,用户注册表member,管理员表admin

订单表order。

2.3数据库的并发

两个用户同时请求一本书的时候,一个人完成后,要等待update更新完毕后,另一个人才可以执行,即要等待5秒。

具体过程如下图所示:

2.4存储过程的创建

存储过程是一组完成特定功能的SQL语句集,经编译后存储在数据库中。

用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行存储过程。

以在购物车显示加入的书为例,显示加入到购物车里所有书的书名及数量等信息,具体过程如下图所示:

图2.4.1创建存储过程

四、程序设计

1.主页面模块

主页面中上部包含:

①标题:

欢迎光临网上书店

②此刻访问的时间和访问本站的人数等部分。

图3.1系统主界面

2.用户注册模块

用户注册是为第一次登录网站的用户所设计的。

在用户成为本站用户之前一定要注册才可以访问我网站的其它网页。

①用户注册包括:

登录名称,真实姓名,设置密码,电子邮件等。

②注册成功后,才可以访问本站的其他页面。

图3.2用户注册界面

3.用户登录模块

①用户登录包括:

登录名称,输入密码。

②当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。

图3.3用户登录界面

4.查看订单模块

查看订单:

成功登陆的用户可以在该页修改已经订购的图书。

可以查询我的订单,看已经购买的书籍。

图3.6用户个人中心界面

五、软件测试

1、测试项目

该测试项目主要针对网上书店系统用户登录界面的注册、登录功能进行测试。

用户注册、登录界面包括了网上书店系统标题,用户名、密码标签,用户名、密码输入框,以及登录、取消按钮。

界面功能由Java编程实现,包括输入、登录、取消功能。

假设该系统只有一个用户,因此只有一个用户名和一个密码(用户名admin,密码111111),该测试项目在这个基础上,对用户名、密码输入的各种情况进行测试,之后比较最后结果与预期结果,达到测试这个登录功能的目的。

用户注册界面如下:

用户登录界面:

主要实现的功能如下:

①用户登录包括:

登录名称,输入密码。

②当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。

注册功能实现代码如下:

(1)用户注册userRegister,jsp:

<%Stringstr=response.encodeURL("userRegister.jsp");%>

输入您的信息,带*号项必须填写:

"Method="post">

登录名称*

真实姓名*

设置密码*

电子邮件*

联系电话*

通信地址*

useBeanid="login"class="book.Register"scope="request">

useBean>

<%

Stringlogname="",realname="",password="",email="",phone="",address=";

if(!

(session.isNew()))

{logname=request.getParameter("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){password="";

}

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("address");

if(address==null)

{address="";}

address=codeString(address);}%>

<%if(!

(logname.equals(""))&&!

(address.equals(""))&&!

(phone.equals(""))&&!

(realname.equals(""))&&!

(password.equals("")))

{%>

setPropertyname="login"property="logname"value="<%=logname%>"/>

setPropertyname="login"property="realname"value="<%=realname%>"/>

setPropertyname="login"property="password"value="<%=password%>"/>

setPropertyname="login"property="email"value="<%=email%>"/>

setPropertyname="login"property="phone"value="<%=phone%>"/>

setPropertyname="login"property="address"value="<%=address%>"/>

<%

login.addItem();}

else{out.print("你还没有填写信息,或信息填写不完整");}

%>

<%if(!

(session.isNew())){%>

getPropertyname="login"property="message"/>

本程序用了Bean:

Rigister.java

mportjava.sql.*;

publicclassRegister

{Stringlogname,realname,password,email,phone,address;

Stringmessage;

Connectioncon;

Statementsql;

ResultSetrs;

publicRegister()

{try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}

catch(ClassNotFoundExceptione){};}

publicvoidaddItem(){

try{con=DriverManager.getConnection("jdbc:

odbc:

shop","","");

sql=con.createStatement();Strings="'"+logname+"'"+","+"'"+realname+"'"+","+"'"+password+"'"+","+"'"+email+"'"+","+"'"+phone+"'"+","+"'"+address+"'";

Stringcondition="INSERTINTOuserVALUES"+"("+s+")";

sql.executeUpdate(condition);

message="注册成功了";

con.close();}

catch(SQLExceptione)

{message="你还没有注册,或该用户已经存在,请你更换一个名字";

}

}

}

(2)登录功能实现代码如下:

用户登录userLogin.jsp:

<%Stringstring=response.encodeURL("userLogin.jsp");%>

输入用户名和密码:

"Method="post">


登录名称


输入密码


useBeanid="login"class="book.Login"scope="session">

useBean>

<%Stringmessage="",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=codeString(password);

}

%>

<%if(!

(logname.equals(""))){%>

setPropertyname="login"property="logname"value="<%=logname%>"/>

setPropertyname="login"property="password"value="<%=password%>"/>

<%message=login.getMessage();

if(message==null)

{message="";

}

}

%>

<%if(!

(session.isNew()))

{if(message.equals("ok"))

{Stringstr=response.encodeURL("buybook.jsp");

response.sendRedirect(str);

}

else

{out.print(message);}}%>

2.测试步骤

1)分析及等价类划分

该程序的用户名admin,密码111111,只有输入正确,才能登录成功。

而登录不成功有几种情况。

用户登录输入时,有以下几种情况(即等价类划分情况):

(1)用户名admin,密码111111,有效等价类

(2)用户名为空,密码为空,无效等价类

(3)用户名非空,密码为空,无效等价类

(4)用户名为空,密码非空,无效等价类

(5)用户名非空非admin,密码非空非111111,无效等价类

(6)用户名非空非admin,密码1234,无效等价类

(7)用户名admin,密码非空非1234,无效等价类

2)根据边界值条件确定测试用例

以上等价类划分了1个有效等价类,6个无效等价类。

为此,确定1个有效等价类测试用例,无效等价类

(2)仅能确定一个测试用例,其余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—登录成功,当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。

e2—登录失败,您输入的用户名或密码错误!

因果图如下(编号9和10为中间节点,是导出结果的进一步原因),

测试用例设计以及预期输出结果如下,

测试用例1,输入数据:

用户名admin密码111111

预期输出结果:

登录成功。

测试用例2,输入数据:

用户名admin密码null

预期输出结果:

登录失败。

测试用例3,输入数据:

用户名admin密码111

预期输出结果:

登录失败。

测试用例4,输入数据:

用户名null密码111111

预期输出结果:

登录失败。

测试用例5,输入数据:

用户名null密码null

预期输出结果:

登录失败。

测试用例6,输入数据:

用户名null密码111

预期输出结果:

登录失败。

测试用例7,输入数据:

用户名ad密码111111

预期输出结果:

登录失败。

测试用例8,输入数据:

用户名ad密码null

预期输出结果:

登录失败。

测试用例9,输入数据:

用户名ad密码1111

预期输出结果:

登录失败。

六、实验总结

软件测试是一款很有用的软件,它的用途非常广泛,各项功能如对象库,同步点,检查点等也非常好用。

通过本次的课程设计,使我对软件测试这门课程有了一个更加深入的了解,经过自己的多次试验,对一些软件的测试有了初步的掌握,更加感受到其独特魅力,虽然谈不上精通,但自己正处在学习的路上,相信这次的实验对自己将来的学习和工作一定会有很大的帮助。

然而,通过这次实验,我也发现了自己的一些不足,由于原来上课没有把握机会问老师问题,导致很多问题不理解,远远没有达到应有的程度,只能靠自己慢慢的摸索,但难免走了好多弯路。

而且平时的缺乏对于这些工具的利用,使得面对如此多的按钮却不知从何做起。

这也是给自己一个警示,想要学好任何一门知识或者工具,都要花大量精力去钻研,没有努力就没有收货。

总之,通过这次的网上书店的软件测试为我今后继

 

七、参考资料

[1]孙一林,彭波.《Java数据库编程实例》.清华大学出版社,2002年8月

[2]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月

[3]耿祥义,张跃平.《JSP实用教程》.清华大学出版社,2003年5月1日

[4]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月

[6]清宏计算机工作室.《JSP编程技巧》.机械工业出版社,2004年5月

[7]朱少民.《软件测试》.人民邮电出版社,2009年8月

友情提示:

范文可能无法思考和涵盖全面,供参考!

最好找专业人士起草或审核后使用,感谢您的下载!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1