近期,老师给我们布置了一个任务,那就是软件的测试报告,刚刚接触测试报告的我,并不是很了解测试报告怎么写,我们又是如何进行测试的,这里,我将自己对测试的想法写在这里。

一、概述
本软件是根据一个简单的商场系统为主的管理系统,我们主要测试软件的一些功能需求吧!其实对于软件测试,我了解的不是很多,从而对软件的测试并不是很了解,但是在这里我还是硬着头皮上吧,没办法,网络上找不到一个我感觉很棒的软件测试计划书,所以我就只能硬来呗。

1、项目背景
《商场管理系统》是一款主要围绕商品买卖,解决管理员和客胡需求的系统,我们主要围绕商品的交易,和管理员对商品的增删改查为主,然后管理员可以查看客户的一些交易情况等等。

2、测试目标
《商场管理系统》

3、测试概要

标识符

测试内容

差别

改变原因

open

使用浏览器打开网站页面查看网站显示

网站用户名在个别浏览器上显示不全

浏览器配置不同

user -register

通过输入账号,证件号码,密码,手机号码,并在管理用户界面查看用户是否注册

并无差别


user - login

用户通过注册的账号进行登录,且管理员能在后台看到在线的用户

并无差别


user-add

用户通过点击添加商品到购物车

并无差别


user - remove

用户从购物车移除不想要的商品

并无差别


user - buy

用户选择购物车中的商品去支付,后台在用户支付的同时将会产生一个订单记录

并无差别


admin - login

管理员登录商场系统,通过正确的账号和密码进行登录

并无差别


admin - add goodstype

管理员添加商品商品类型,且在用户界面能查到管理员添加的商品类型

并无差别


admin - add goods

管理员添加商品信息,包括商品的数量啊,商品的价格,商品的介绍,商品隶属于那个类别

并无差别


-

-

-

-

等等,表格一时半会总结不完,我就只列举一部分了,嘿嘿,算是我偷了懒呗。表格上大致是我们测试的目标,事实上我希望我的结果就都是无差别,毕竟这样我的项目测试就是没有瑕疵的。但是事实上,这是不太可能的事情。别问我怎么知道的。

二、测试范围和目的:
测试范围 包括对外接口(用户接口,软件接口)和内部接口。
用户(管理员)接口值采用可视化窗口
软件接口指JDBC与数据库的链接
内部接口指的是各个功能和模块直接的接口(登录,注册,更新等等)。
对接口进行测试的目的是为了发现接口的弊端,增强软件的可用性和软件的容错性,增强对商场管理系统的功能和健壮性。

接口测试用例(JDBC):
接口(外部接口) SQL数据库接口

管理员添加和删除商品信息的测试,注意,这里我们以管理员登录,添加商品类型,添加商品,删除商品,修改商品为例。其他的我们不进入深究,要是全部写下来,没几万字,那是搞不定的。

数据库连接测试

输入/动作

希望的输出/相应

本质情况

结果

链接时候 Connection con = DriverMannager.getConnection(url,“root”,“a”)

成功链接数据库

正确

成功链接数据库

连接时候 Connection con = DriverMannager.getConnection(url,“root”,“123131”)

连接数据库失败

正确

数据库密码错误,连接失败

管理员登录测试(这里我就不一一测试账号和密码了,其实都是一样的,账号或者密码一个正确测试,一个错误测试)

输入/动作

希望的输出/相应

本质情况

结果

输入账号 : xh 密码 :“123321”

数据库比对账号密码,正确,显示登录成功,进入管理员界面

确定

登录成功

输入账号 : xh 密码 :“123312”

数据库比对账号密码,错误,显示登录失败,账号或者密码错误

确定

登录失败

添加商品类型 oppo手机

类型添加成功

数据库商品类型表查询到添加的字段

添加成功

添加商品 名字:‘‘oppoA11’, 价格:4598, 类型选择 :Oppo手机,库存:800件,介绍:“oppo为拍照而生”

商品添加成功

数据库商品表中产生相应的记录

添加成功

再次添加商品 名字:‘‘oppoA11’, 价格:4598, 类型选择 :Oppo手机,库存:800件,介绍:“oppo为拍照而生”

商品添加失败

确定

商品已经存在,请勿重写添加,如需修改商品,请进入修改界面,请勿重复添加(主键约束商品名字unique not null)

修改商品 商品名为:“oppoA11” 更新价格为“3000”

修改成功

商品信息修改成功

修改成功

修改商品 商品名为:" " 更新价格为“3000”

修改失败

正确

修改失败,请填写正确的商品名或者商品不存在

退出管理员界面

退出成功

正确

成功退出,返回登录页面





路径检查表

检查项

结论

数据种类问题 1 种类的数据类型有错误吗? 2,存在不同的数据类型赋值吗? 3,存在不同的数据类型种类的比较吗?

1,有(数据类型种类书写错误),2 有 3 无

变量值问题(1)变量的初始化或缺省值有错误吗?(2)变量发生上溢或下溢吗?(3)变量的精度不够吗?

1,无,2 发生 3 够

辑判断问题(1)由于精度原因以致比较无效吗?(2)表达式中的优先级有误吗?(3)逻辑判断结果颠倒吗?

无 有 有

循环问题(1)循环停止条件不正确吗?(2)无法正常停止(死循环)吗?(3)错误地更正循环变量吗?(4)存在误差累积吗?

正确 是 否 无

内存问题(1)内存没有被正确地初始化却被使用吗?2)内存被释放后却连续被使用吗?(3)内存泄露吗?(4)内存越界吗?(5)出现指针越界吗?

无 无 不泄露 未越界 未出现

文件/O问题(1)对不存在的也许错误的文件进行操作吗?(2)文件以不正确的方式打开吗?(3)文件结束判断不正确吗?(4)没有正确地关闭文件吗?

无 无 无 无

三、具体测试用例
这里我说明一下,这里测试基本上如二里边的基本一样,但是二我主要测试几个点,在这里我们将会直接测试用例,而且是测试全部用例,事先说明,全部测试完成要我全部写完,那不太可能,故此,我这里只举个例子。 另外如果你用例都不知道是什么,建议,补一下知识点。

管理员登录测试

软件测试报告_用例


接下来就是 用户登录测试 ,用户注册测试 ,用户添加购物车测试,用户支付测试,点击支付后是否生成订单测试,管理员添加商品测试,管理员删除商品测试,管理员协助用户修改信息测试,管理员更新商品信息测试 …等等。我这里不在具体列出,绘图难绘,做表更烦。

四、强健壮性测试
强壮性测试是用于该商场管理系统系统在出现故障时,包涵错误数据处理、异常情况办理和非法操作办理的测试可否能够自动恢复、也许忽略故障连续运行。即指在异常情况下,该系统还能够正常运行的能力。强壮性有两层含义:一是容错能力,二是恢复能力。

测试范围:容错性测试平时构造一些不合理的输入来引诱软件出错,例如:

(1)输入错误的数据种类。
(2)输入定义域之外的数值。
(4)系统可否重新运行;
(4)有无重要的数据扔掉;
(5)可否损坏了其余相关的软件硬件。

测试目的:
保证软件在办理错误数据和异常问题时各个功能模块工作正常,提高终端软件的容错能力。进行异常测试的目的和依照以下,我们从前的测试案例都是在考据这三条特点:

  • 成熟性:终端软件为防范由软件中错误而以致无效的能力
  • 容错性:终端软件在错误数据也许违规操作的情况下,软件保持规定的性能级其余能力
  • 易恢复性:在发生故障的情况下,终端软件重建规定的性能级别并恢复受直接影响的数据的能力

容错能力/恢复能力测试用例

异常输入动作

容错能力/恢复能力

造成的危害、损失

用户名输入:jjkjkdf

容错能力强,正常恢复

未造成危害

正在增加商品时,关闭窗口

重启时,系统正常

未造成危害

更正密码:输入错误的原始密码

系统停止正常工作

造成危害

更正密码:输入新密码和确认密码不一致

系统停止正常工作

造成危害

关闭数据库

系统报错

系统不能正常工作,没有造成损失

正在使用系统时,关闭电源

重启时系统正常工作

未造成危害

-

-

-

下边的自己脑补吧。

补充一下:
健壮性是指在异常情况下,软件还能正常运行的能力。健壮性考虑的主要部分是预期输出,而不是输入。健壮性测试是边界值分析的一种简单扩展。除了变量的5 个边界分析取值还要考虑略超过最大值(max)和略小于最小值(min)时的情况。健壮性测试的最大价值在于观察处理异常情况,它是检测软件系统容错性的重要手段。

五、性能测试用例被测试对象的介绍
软件的性能是软件的一种非功能特点,它关注的不是软件可否能够完成特定的功能,而是在完成该功能时显现出来的及时性。

测试范围与目的

性能测试的范围控制在商场管理系统,测试系统的集成功能。目的是测试商场管理系统的集成功能可否都正常。

测试方案

使用LoadRunner 工具进行一下几种测试:
(1)负载测试:主要用于描述软件的性能测试,经过模拟生产运行的业务压力和使用途景组合来测试系统的性能可否满足生产要求。针对商场管理系统的登陆、注册、添加购物车、支付、商品添加 等功能,分别设置场景,设置同时使用的用户数量,进行测试。
(2)压力测试:对系统不断施加压力的测试,是经过确定一个系统的瓶颈也许不能够接收用户央求的性能点,来获得系统能供应的最大的服务级其余测试。通俗的讲,压力测试是为了发现在什么条件下应用程序的性能会变得不能接受。使用途景组合的方式,同时进行添加购物车、查看商品等功能。设置场景,不断施加用户数量,进行测试,直到确定系统最大服务级别。
(3)疲倦强度测试平时是采用系统牢固运行情况下能够支持的最大并发用户数或者平时运行用户数,连续执行一段时间业务,经过综合解析交易执行指标和资源监控指标来确定系统办理最大工作量强度性能的过程。设置20,、30、50个用户长时间运行该系统,测试系统故障发生的的时间,和故障的详尽种类,发现系统的问题。

用例编号

001

用例描述

web服务器响应时间

用例目的

打开的web服务器响应时间是否符合标准

步骤

输入/动作

希望性能

其他

1

打开谷歌浏览器

2

127.0.0.1:8080/user/index.html

3

点击跳转页面

< 5

4

关闭浏览器

用例编号

002

用例描述

web服务器响应时间

用例目的

测试登录响应时间是否符合要求

步骤

输入/动作

希望性能(平均性能) 单位 :s

其他

1

打开谷歌浏览器

2

127.0.0.1:8080/user/index.html

3

点击跳转页面

< 5

4

浏览商品

5

点击添加购物车

直接跳转到登录界面(事先未登录状态) 时间 < 2

6

输入用户名 : admin 输入密码 : admin

7

点击登录

8

自动跳转到主页面

< 2

9

点击退出

用户并发测试:

软件测试报告_用例_02

软件测试报告_管理系统_03


…老样子 懒得写了六、单元测试

Junit 是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。是用于单元测试框架系统xUnit 的一个实例(用于java语言)。

这块我提供一小部分测试代码,全部测试并且全部写出来,抱歉,咱做不到。除非给钱。

软件测试报告_用例_04

import org.junit.jupiter.api.Test;
  ....

	@Test
	void testAddAdmin() {
		IAdminInfoBiz biz = new AdminInfoBizImpl();
	    DBHelper db = new DBHelper();
		System.out.println(biz.add("laohei1","123321","276571****@qq.com","159738*****")); //测试类管理员添加成功

	}
	@Test
	void testaddGoodTypes() {
		GoodsTypeBizImpl  biz= new GoodsTypeBizImpl();
		
		GoodsType ty = new GoodsType(0,"OPPO",1);
		System.out.println(biz.add("ty"));
		
	}

这个单元测试我就不一一描述了。

七、图形化测试

这个一般上网页的话,使用框架技术,我相信对于前端技术人员来说,这个图形化测试进行相应的测试就行了,这里给出gui编程的检查表

软件测试报告_用例_05


八、信息安全测试用例

安全性测试检查系统对非法侵入的防范能力。测试期间,测试人员假扮非法入侵者,采用各种方法试图打破防线。

嗯,这个主要是数据传输测试,我们对数据进行加密处理测试,比如使用前端某技术进行加密然后传输到后台,在后台解密,然后例如我们单元测试中对存入数据库的密码进行md5加密处理等等。。。

软件测试报告_管理系统_06


软件测试报告_用例_07


软件测试报告_管理系统_08


软件测试报告_用例_09


软件测试报告_管理系统_10


九、兼容性测试

1.不同样的硬件条件,比方:PC,MAC,PDA、WIFI等

2.不同样的阅读器软件和版本

3.带有不同样插件的阅读器

4.不同样的阅读器选项下的表现

5.不同样的图像分辨率下的测试

6.不同样的系统色彩下的测试

7.不同样的系统字体大小下的测试

8.不同样的网速下的测试

经过人工测试的方式,分别在不同样操作系统(Windows xp、Windows7、Windows8、linux)下的不同样阅读器(IE5、IE6、IE7、IE8、IE9、FireFox,谷歌)进行边界线测试、特别值测试、边缘测试等,看可否能通过

IE5

IE6

IE7

IE8

IE9


windows xp

windows 7

windows 10

windows 11

linux 11

至于集成测试,回归测试,暂时不做。