企业网上电子商务系统测试报告.docx
《企业网上电子商务系统测试报告.docx》由会员分享,可在线阅读,更多相关《企业网上电子商务系统测试报告.docx(16页珍藏版)》请在冰豆网上搜索。
企业网上电子商务系统测试报告
网上电子商务系统
测试分析报告
[v1.0]
1引言
1.1编写目的
本文档的编写是出于测试网上电子商务系统工程项目,主要通过几个步骤来完成测试的过程。
对于检测出来的错误,通过提交给程序员和管理人员进行修正;如果出现实在修正不了的问题(比如说在需求分析阶段就埋下的隐患),依据问题的大小给出评估,从而使管理人和客户有一个认识,得到改变功能设计或者是摒除功能模块甚至是放弃项目的决定。
首先是代码测试。
代码测试通过代码编写人员来完成,同时生成记录文档。
接下来是单元测试。
主要由程序员和管理人一起进行,进行调整和记录。
、
再之后是模块测试。
同样有程序员来完成。
在前三个测试中程序员起来的作用是最大的。
这点值得注意。
最后是系统测试和功能测试。
本工程主要分为两个系统,速购网子系统和网上银行子系统。
在这个部分生成本测试分析报告。
1.2背景
开发软件名称:
网上电子商务系统
项目任务提出者:
林怀忠
项目开发者:
软件工程第八开发小组
用户:
网上银行,商家,个人用户
本项目的程序是使在WindowsXP系统上在客户端以HTML,Javascript,服务器端用jsp语言开发软件进行开发的,同时采用微软公司的SQL数据库为开发软件的数据库服务程序。
测试主要是在开发者的个人电脑上进行,分别通过本地测试,远程测试来完成。
1.3定义
列出本文件中用到的专问术语的定义和外文首字母组词的原词组。
购物网站:
网上商店,普通用户和商家可以在此注册登陆,实现网上商店功能;
网上银行:
功能主体,实现本工程的核心网上支付功能
1.4参考资料
《实践者之路:
软件工程(第五版)》ROGERS.Pressman清华大学出版社
《数据库系统概念》高等教育出版社
《JSP编程概要》
还有部分资料来源于互联网,属于共享资源。
2测试概要
2.1子系统功能分解
购物网站:
注册
登陆
商品检索
商品管理
购物篮
网页跳转
用户
商家
普通用户注册,注册后可以使用网上购物功能
商家注册,通过验证后可以发布商品,进行商品管理
分用户登录和商家登陆两种
通过商品序列号进行商品搜索
商家对商品信息的更新
普通用户功能,提供商品选择和订货单的生成功能
将订货单信息加密后发送到相关的网上银行,跳转到网上银行界面
网上银行:
接受订货单信息
网银账号填写
反馈资金信息
网页跳转
接受购物网站发送的订单信息,通过解密手段得到信息
网上银行身份认证,账号鉴定,鉴别资金是否足够完成转账
发送确认信息给用户,等待用户确认,
实现资金过账,成功后将消息发送到速购网进行确认
2.2测试内容
2.2.1功能测试
按照功能表对速购网进行一步一步地测试,测试的主要目的是发现实现和预期出现不符合的部分。
在发现不符的情况下,按照序号记录发生的问题,问题的概要,发生的条件和推断导致问题的原因。
同上一步的过程一样,对网上银行进行测试。
最后,将两个子系统统和在一起进行测设,同样记录问题。
在整合完毕后将所得的信息生成报告书,存留备份。
2.2.2运行时间测试
测试每步操作及实现其功能所需要的时间。
需要重复进行,确保由于时间延误导致的失败尽可能少。
假如时间延误达到一定阀值,将其作为一个错误记录下来。
2.2.3数据库操作与安全测试
测试对数据库删除,写入,修改的操作,并根据银行数据库对权限的限制的要求,测试操作人员的权限度,进一步测试系统安全性与稳定性的目的。
确保系统的安全机制不出现问题。
2.2.4错误测试
由于错误输入发生的不可避免性质,需要特别强化错误信息的输入。
在此,可以将两个子系统作为互相独立的部分来进行,具体测试举例在下文将会有所提及。
在此还要思考的问题是如果错误输入导致的破坏是不可避免的,应该如何去改进或者怎么去尽量提醒用户不要出现错误的输入。
2.3测试举例
2.3.1功能测试
设定系统的输入值,测试系统的输出值是否与期望值相符合。
在WindowsXP系统上运行系统并采用微软公司的SQL数据库存储数据,在此基础上对系统功能进行测试。
测试系统所需实现的基本功能,根据需求文档的要求设计测试例子。
测试的输入输出举例如下:
速购网:
输入:
用户名,密码(分三组输入,包括正确组,密码错误组,账号错误组)
功能选用:
商品检索,页面跳转,商品查看,购物篮,下定单,商品管理,信息加密
网上银行:
输入:
速购网信息,用户名,密码(分三组输入,包括正确组,密码错误组,账号错误组)
功能实现:
身份验证,消息反馈
数据库安全:
输入:
管理员输入,恶意输入
功能:
数据库的管理和维护
2.3.2运行时间测试
首先可以通过多次重复进行测试,人工估计时间问题。
在发现问题的情况下,进行精化测试,如下。
请测试人员在程序的相应部位加入这个函数,测试相应的操作花费的时间,输入相应的操作,运行程序在显示屏上输出对应的时间,然后记录下问题时间,分析可能存在的问题和引起问题的原因。
2.3.3数据库操作与安全测试
通过应用程序对数据库进行添加,删除,修改的操作,检查应用程序对用户角色的分配,不同角色的权限分配是否符合安全需求。
问题分两个部分,第一部分对银行数据库1)使用银行用户进行测试,2)使用银行管理员(或者说是数据库管理员身份)进行测试;第二部分对速购网数据库1)使用商家进行测试,2)使用网站管理员测试
2.3.4错误测试
分别生成两个子系统的错误输入信息若干组,进行重复输入测试。
举例:
速购网:
用户名:
张三 密码:
123(密码非正确)
商品检索:
商品号(错误商品号输入)
网上银行:
用户名:
张三密码:
123(账号错误)
账号:
账号资金余额不足
3测试结果及发现
3.1购物网站模块测试
把本项测试中实际得到的动态输出(包括内部生成数据输出)结果同对于动态输出的要求进行比较,陈述其中的各项发现。
输入数据
预期输出结果
运行输出结果
结果正常
是
否
正常测试输入数据
1
正常注册
注册成功
注册成功
√
2
用户登陆
登陆成功
登陆成功
√
3
登出
清除cookie
清除cookie
√
4
搜索商品
列出关键字商品
列出关键字商品
√
5
分类查看
分类显示商品
分类显示商品
√
6
查看商品详情
显示商品详细信息
显示商品详细信息
√
7
查看企业详情
显示企业详细信息
显示企业详细信息
√
8
选购商品
购物车出现该商品
购物车一片空白
√
9
修改商品数量
购物车内数量更新
购物车内数量没更新
√
10
移除商品
该商品移出购物车
商品没有移出购物车
√
11
生成订单
订单生成
订单没有生成
√
12
订单查看
显示订单信息
订单信息没有显示
√
13
取消订单
订单取消成功
没有能取消订单
√
14
发短信
发送成功
发送成功
√
15
查看短信
显示短信内容
跳回主页
√
16
删除短信
删除成功
不能删除
√
17
修改用户信息
修改成功
修改成功
√
18
在线付款
跳转到网上银行
有时跳转失败
√
19
企业添加商品
商品添加成功
添加不成功
√
20
企业修改商品
商品修改成功
商品修改失败
√
21
企业删除商品
商品删除成功
商品删除失败
√
导致反常输入数据
1
注册:
某项留空
提示输入不能为空
注册成功
√
2
注册:
用户名重复
提示该用户已被注册
提示该用户已被注册
√
3
注册:
两次密码不一致
提示密码不一致
提示密码不一致
√
4
登陆:
某项留空
提示输入不能为空
正常登陆(空帐号)
√
5
登陆:
密码错误
提示密码错误
提示密码错误
√
6
登陆:
未登录状态查看页面
提示您未登录
顺利查看
√
7
搜索:
关键字留空
提示关键字不能为空
显示所有商品
√
8
购物车:
修改数量至0
移除该商品
不能移除该商品
√
9
购物车:
修改数量至负数
提示商品数量错误
没有提示
√
10
购物车:
修改数量超过库存
提示商品数量不足
没有提示
√
11
短信:
某项留空
提示输入不能为空
没有提示
√
12
修改信息:
某项留空
提示修改内容不能为空
修改成功
√
13
商品添加:
某项留空
提示输入不能为空
没有提示
√
14
商品添加:
数量为负
提示商品数量错误
没有提示
√
15
商品添加:
商品重复
提示商品重复
没有提示
√
16
商品修改:
某项留空
提示输入不能为空
没有提示
√
17
商品修改:
数量为负
提示商品数量错误
没有提示
√
18
商品修改:
商品重复
提示商品重复
没有提示
√
3.2通讯协议模块测试
通讯协议测试流图如下所示:
1)获取输入
代码段:
代码分析:
Order为从购物网站获取的输入信息,用于加密后传给银行,其中web001表示商户代号,银行通过商户代号获得商户在银行信息系统中相应的其他信息。
001是商户向银行所提出的服务要求,这里表示转帐。
Orid是购物网站端获取的订单号,唯一标实订单。
Price是订单所需花费的总金额,是在银行中由用户帐号转向购物网站帐号的金额数。
测试结果分析:
在下订单页面中输入信息后,察看变量值无误,获取结果正确。
2)Encode
Encode.jsp位于myweb\WEB-INF\classes\message下面,由make()函数将输入明码进行转换,结果如下
输入
输出
预计
分析
Web001
001
50
0
bPcUc%EobUUlzRRRUoU%o
M%oPo%EPnnnU%oUoM%%c
UooRRRRlEoU%%oUU%UUnn
nnzPRnRnRncoo%RRRRRnRnRn
Rn%MM%nnnnRnRnRnRnE%%o
RRRRRnRnRnRnoo%Unnnn
bPcUc%EobUUlzRRRUoU%o
M%oPo%EPnnnU%oUoM%%c
UooRRRRlEoU%%oUU%UUnn
nnzPRnRnRncoo%RRRRRnRn
RnRn%MM%nnnnRnRnRnRnE%
%oRRRRRnRnRnRnoo%Unnnn
编码结果无误正确
3)传输
在购物网站端发送之后,半秒钟以内能在银行段接受到结果,并且结果与传输之前一致无变化
4)Decode与检查输出
Decode.jsp位于RECEIVE\message下,可以放于不同服务器中。
错误界面:
若加密解密结果不正确时,会出现银行系统的提示,并且返回购物网站界面。
银行转帐系统界面:
当加密解密结果一致时正确跳到该界面。
代码段:
解码部分三步均按照编码的反向过程完成,检查输出结果为web001%001%50%0,正确无误。
3.3银行转帐系统模块
以下分别对在银行转帐页面的几组不同的操作来检验功能正确性:
1)在这个jsp页面得到前一个页面传过来的信息时,传过来的一共是5个信息。
其中有三个信息在这个jsp页面上要直接显示出来。
即:
用户银行账户号,订单号,金额。
这样给用户一个回馈。
其余的两个信息是:
购物网的代号和用户银行帐号的密码。
在测试中,传过来的银行代号是web001,经过数据库的查询后,返回的内部生成数据是800。
这和数据库中的信息是一致的。
传过来的用户银行帐号是3042211155,密码是321。
经过查询数据库并对这两对数据进行验证。
通过验证。
传过来的金额是1000块。
在转帐前,银行帐号3042211155上的金额为2000,转帐后经过查询数据库,其金额为1000。
同时查询购物网的帐号上的余额,则从原来的0变成了后来的1000。
并且进行转帐的函数返回的中间参数i=5。
则说明转帐成功。
对应页面上显示的支付结果也是成功。
2)在这个jsp页面得到前一个页面传过来的信息时,传过来的一共是5个信息。
其中有三个信息在这个jsp页面上要直接显示出来。
即:
用户银行账户号,订单号,金额。
这样给用户一个回馈。
其余的两个信息是:
购物网的代号和用户银行帐号的密码。
在测试中,传过来的银行代号是web001,经过数据库的查询后,返回的内部生成数据是800。
这和数据库中的信息是一致的。
传过来的用户银行帐号是3042211155,密码是321。
经过查询数据库并对这两对数据进行验证。
通过验证。
传过来的金额是20.38块。
在转帐前,银行帐号3042211155上的金额为1000,转帐后经过查询数据库,其金额为979.62。
同时查询购物网的帐号上的余额,则从原来的1000变成了后来的1020.38。
并且进行转帐的函数返回的中间参数i=5。
这说明转帐成功。
对应页面上显示的支付结果也是成功。
这个测试案例验证了当金额存在小数时的正确性。
3)在这个jsp页面得到前一个页面传过来的信息时,传过来的一共是5个信息。
其中有三个信息在这个jsp页面上要直接显示出来。
即:
用户银行账户号,订单号,金额。
这样给用户一个回馈。
其余的两个信息是:
购物网站的代号和用户银行帐号的密码。
在测试中,传过来的银行代号是web001,经过数据库的查询后,返回的内部生成数据是800。
这和数据库中的信息是一致的。
传过来的用户银行帐号是3042211155,密码是546。
经过查询数据库并对这两对数据进行验证。
没有通过验证。
传过来的金额是50块。
在转帐前,银行帐号3042211155上的金额为979.62,转帐后经过查询数据库,其金额为979.62。
同时查询购物网的帐号上的余额,则从原来的1020.38仍旧为原来的1020.38。
并且进行转帐的函数返回的中间参数i=2。
则说明密码错误。
对应页面上显示的支付结果是失败并显示了失败的原因,即:
输入密码错误。
这个测试案例验证了当密码不正确时情况。
4)在这个jsp页面得到前一个页面传过来的信息时,传过来的一共是5个信息。
其中有三个信息在这个jsp页面上要直接显示出来。
即:
用户银行账户号,订单号,金额。
这样给用户一个回馈。
其余的两个信息是:
购物网的代号和用户银行帐号的密码。
在测试中,传过来的银行代号是web001,经过数据库的查询后,返回的内部生成数据是800。
这和数据库中的信息是一致的。
传过来的用户银行帐号是3042211156,密码是321。
经过查询数据库并对这两对数据进行验证。
没有通过验证。
传过来的金额是50块。
在转帐前,银行帐号3042211155上的金额为979.62,转帐后经过查询数据库,其金额为979.62。
同时查询购物网的帐号上的余额,则从原来的1020.38仍旧为原来的1020.38。
并且进行转帐的函数返回的中间参数i=1。
则说明无此银行帐号。
对应页面上显示的支付结果是失败。
且把出错的原因也显示在了上面,即:
无此银行帐号。
这个测试案例验证了当银行帐号不存在时的情况。
5)在这个jsp页面得到前一个页面传过来的信息时,传过来的一共是5个信息。
其中有三个信息在这个jsp页面上要直接显示出来。
即:
用户银行账户号,订单号,金额。
这样给用户一个回馈。
其余的两个信息是:
购物网的代号和用户银行帐号的密码。
在测试中,传过来的银行代号是web001,经过数据库的查询后,返回的内部生成数据是800。
这和数据库中的信息是一致的。
传过来的用户银行帐号是3042211155,密码是321。
经过查询数据库并对这两对数据进行验证。
没有通过验证。
传过来的金额是2050块。
在转帐前,银行帐号3042211155上的金额为979.62,转帐后经过查询数据库,其金额为979.62。
同时查询购物网的帐号上的余额,则从原来的1020.38仍旧为原来的1020.38。
并且进行转帐的函数返回的中间参数i=3。
则说明用户账户余额不够。
对应页面上显示的支付结果是失败。
且把出错的原因也显示在了上面,即:
用户账户上余额不够。
这个测试案例验证了当用户账户余额不够时的情况。
4对软件功能的结论
4.1购物网站模块
4.1.1能力
实现网上购物的基本功能:
1)用户注册:
分为企业用户和顾客用户,企业用户需管理员验证。
2)用户登录:
cookie的记录。
3)用户资料:
包含资料查看及修改。
4)商品展示:
包括单独店铺展示以及全站搜索信息,搜索方式多样化。
5)企业用户商品管理:
商品的增减及信息修改。
6)顾客用户订单管理:
显示订单信息。
7)购物车功能:
顾客用户当前会话的购物记录,可修改。
8)短信交流功能:
用来实现企业与顾客或顾客之间的互动。
4.1.2限制
经过一段时间的测试,本购物网站还是发现了一些问题:
1)用户注册:
对空帐号的注册没有屏蔽掉。
2)用户登录:
未登录状态时也能查看全部页面。
3)用户资料:
资料修改时对某项留空没有顾及到。
4)商品展示:
搜索时关键字为空的情况没考虑。
5)企业用户商品管理:
商品的信息细节未考虑周全。
6)顾客用户订单管理:
订单的处理不够严谨。
7)购物车功能:
购物车功能不完整。
8)短信交流功能:
对留空情况未作考虑。
4.2通讯协议模块
4.2.1能力
通讯协议模块能准确的将购物网站输入信息由明文加密传递给银行转帐系统并进行解码获得原始输入。
经过三层加密保证了信息的安全性,能检验信息是否经过了修改,增加删除,以及该信息是否为他人恶意伪造冒充购物网站。
消息传递内容无误的保存于银行端便于日后维护。
4.2.2限制
本系统实现的是信息传输的安全性,没有加入客户端与服务器端的安全性保证,比如实现用ssl等技术来加密,但在本系统日后的版本中,会越来越成熟,并予以实现。
4.3银行转帐系统模块
4.1.1能力
1)功能1为对用户银行帐号的验证。
为满足此功能,软件必须要对相应的数据库进行查询。
然后把查询出的结果与上一个页面传过来的银行帐号和密码进行匹配。
当两个量都匹配时,则表示的确有此用户的银行帐号。
并且帐号名和密码一致,这样就完成了对用户身份的验证。
测试中,当上一个页面传过来的银行帐号是3042211155,密码是321时,则经过测试,返回的结果为验证通过。
当上一个页面传过来的额银行帐号为3042211156时,经过对数据库的查询,数据库中没有这个帐号。
则此断程序返回的结果表示无此银行账户。
当上一个页面传过来的额银行帐号为3042211155,密码为4841时,经过对数据库的查询,对应的这个帐号的密码为321,经过匹配,发现密码不一致,则返回的结果为密码错误。
当验证通过后,才能进行下一步的转帐。
当验证通不过时,则直接返回相应的错误消息。
不再进行转帐。
2)功能2主要进行转帐。
为满足此功能,软件要先查看用户银行帐号上的余额是否足够。
当余额足够时,进行下一步的转帐。
如果不够时返回页面,显示余额不够,并不进行转帐。
转帐时,要查询数据库。
并把用户账户上的相应的金额转到购物网的账户上去。
当成功转帐后,返回页面,并显示转帐成功信息。
在此页面停顿若干秒后,跳转到购物网的相应的页面,并把转帐的结果也同时传过去。
4.1.2限制
1)因为在数据库中,定义的用户名的长度为10位的varchar2形变量。
当上一个页面传过来的帐号的长度大于10时,则返回无此帐号的信息。
所以上一个页面传过来的帐号的长度要在10位一下。
而且上一个页面传过来的密码也要是阿拉伯数字的。
因为数据库中定义的密码位long形的。
这两个限制是此功能对系统的两个限制。
当然这两个限制是可以通过上一个页面的一些限制条件解决的。
也不算系统级的大限制。
2)因为在数据库中,对应的金额属性在用户的账户上和购物网的账户上都设置成了10位的一个实数,小数位最多为3位。
这样的话,限制条件也显而易见得为:
商品的金额最小为货币金额的小数后3位,金额一共为一个10位的数字。
这就成了此功能的限制。
当然,这个限制是可以通过改变数据库的金额这个属性来去除的。
我们可以增加金额的最大位数,也可以增加小数位后的数。
但一般来说,对于网上购物。
一个10位数的金额已经是足够大了。
5分析摘要
5.1能力
陈述经测试证实了的本软件的能力。
如果所进行的测试是为了验证一项或几项特定性能要求的实现,应提供这方面的测试结果与要求之间的比较,并确定测试环境与实际运行环境之间可能存在的差异对能力的测试所带来的影响。
5.2缺陷和限制
陈述经测试证实的软件缺陷和限制,说明每项缺陷和限制对软件性能的影响,并说明全部测得的性能缺陷的累积影响和总影响。
5.3建议
对每项缺陷提出改进建议,如:
a.各项修改可采用的修改方法;
b.各项修改的紧迫程度;
c.各项修改预计的工作量;
d.各项修改的负责人。
5.4评价
说明该项软件的开发是否已达到预定目标,能否交付使用。
6测试资源消耗
总结测试工作的资源消耗数据,如工作人员的水平级别数量、机时消耗等。