基于 SpringCloud 的在线交易平台乐优商城的设计与实现(六)

目录

第六章 系统测试

6.1  功能性测试

6.1.1  商家后台功能测试

 6.1.2  前台功能测试

 6.2  非功能性测试

6.3  本章小结 

结束语

参考文献


前面内容请移步

基于 SpringCloud 的在线交易平台乐优商城的设计与实现(五)

相关免费源码资源

乐优商城

第六章 系统测试

        系统测试是整个项目开发生命周期的一个重要环节, 也是系统上线之前  必须要完成的步骤。测试的目的是对系统进行整体检验, 发现系统设计中存  在的 bug  。通过系统测试 ,开发人员能够及时修复和升级 bug,确保系统  在上线运营时能够完成用户的各项业务需求, 进而提升用户体验和用户粘性。

        本章主要从系 统功能性测试和系统非功能性测试两方面进行说明 。        

6.1  功能性测试

        系统功能性测试包括运营商后台功能测试 、商家后台功能测试和前台功能测 试三个部分。本小节将结合测试用例分别对三个部分进行说明

6.1.1  商家后台功能测试

        表 6-1  是针对商家后台的测试用例 ,主要验证商家登录 、商家登出和 商品管理功能。

6-1商家后台测试用例表

用例编号

用例名称

测试流程

预期结果

测试结果

结论

T1

商家登录

在商家后台

登录页填写

信息登录

信息正确可

以登录, 

则不能登录

信息正确进

入商家后台

首页 ,信息

输入错误跳

回到登录页

通过

T2

分类管理

商家在后台

管理页面点

击分类管理

可以展示分

类查询结果

点击完成正

常展示分类

信息

通过

T3

品牌管理

商家在后台

管理页面点

击 品 牌 管

理,切换页

容量,切换

页面,在搜

索框键入搜

索条件

可以展示品

牌查询结果

切换页面正

常展示, 

换页容量正

常展示, 

入搜索条件

正常展示

通过

T4

商品新增

点击新增按

钮,选择分

类,品牌,

填写商品名

称,商品描

述,规格参

可以实现商

品保存

按照表单要

   

容, 商品信

息正常保存

通过

T5

商品上下

点击上下架

按钮,实现

对应 spu  

sku  信息

的上下架

可以完整对

应实现, 

变商品的上

下架状态

Spu      

Sku  对应状

态可以变更

通过

 6.1.2  前台功能测试

        前台功能测试包括门户首页功能测试 ,商品搜索功能测试 、商品详情 页功能 测试、用户中心功能测试 、单点登录功能测试、购物车模块功能测 试和秒杀频道 功能测试 。由于篇幅原因, 在此不再全部列出前台全部模块 的功能测试用例 ,以 商品搜索功能测试、用户中心功能测试和购物车模块功能测试为 例进行说明。

 6-2 是针对商品搜索的测试用例 ,主要验证关键宇搜索 、条件过滤筛选和商品排序功能 。

6-2 搜索功能测试用例表

用例编号

用例名

试流程

预期结果

试结果

结论

T6

关键字搜

搜索框内,

输入商品

关键字,点

击搜索

可以显 

出于关 

字有关 

商品列 

和搜索 

包,搜索面

板中办 

商品分类,

商品品牌,

规格等

成功展 

出于关 

字有关 

商品列 

和搜索 

包,搜索面

板中办 

商品分类,

商品品牌,

规格等

通过

T7

条件过滤

筛选

在搜索面

板,按 

商品分类、

商品品牌、

规格、价格

区间等进

行条件筛

可以查 

到条 件过

滤筛选 

的商品 

成功查 

到条 件过

滤筛选 

的商品 

通过

T8

商品排序

在搜索结

果页,  

照价格、销

量等对 

品列表进

行排序

可以显 

排序后 

商品列表

成功显 

排序后 

商品列表

通过

 6.2  非功能性测试

        系统测试不仅包含功能测试 ,还需要进行非功能性测试,非功能性测 试主要为系统性能测试,

        性能测试也可以称作压力测试。由于该电商平台需要实现高并发特性, 所以需要对系统进行压力测试以此检验该电商平台是否能够达到预期的并发要求。

        压力测试需要通过压力 测试工具模拟用户真实的并发请求 ,本文设计 的电商平台使用 JMeter  进行压力测试问, JMeter  是阿帕奇开发的基于 Java  的开源压力测试软件, JMeter  设计之初被用于 Web  应用测试 ,后续 经过扩展也被用于其他领域测试。使用 JMeter  不但可以对 Java  Servlet   Java  对象、数据库和 FTP  服务器等静态资源和动态资源进行测试, 还可以 通过模拟大量并发负载对服务器 、网络或对象的健壮性和性能进行评估 。 JMeter  的聚合报告中,主要提供平均响应时间,错误晌应率等信息。在系  统压力测试过程中,设置每秒并发量从 2000  开始 ,并以 2000  为增量逐  级递增到 12000  并发量 ,循环次数均设置为 3  次。以搜索页的压力测试  为例 ,商品搜索页压力测试结果如表 5-6  所示。

6-3商品详情页压力测试结果

并发量

循环次数

平均响应时间

错误响应率%

2000

3

589

0

4000

3

790

0.8

6000

3

930

1.2

8000

3

1220

2.0

10000

3

1910

2.7

12000

3

3150

5.9

         在压力测试过程中, 平均响应时间和错误响应率随着平台并发量的增加 而增加,根据表 5-6  得出并发量平均响应时间折线图如图 6-1  所示

6-1  并发量-平均响应时间折线图 

        图 6-1  中,横坐标为每秒的并发访问请求,纵坐标为平均响应时间 。 通过压力测试结果和并发量平均响应时间折线图可以得出,当并发量在 10000  以内时,  该电商平台的商品搜索页,平均响应时间在 2 秒以下,错 误率在 3%以下,当并发量突破 10000  12000  时,该电商平台的商品搜 索页平均响应时间己经在 3 秒以上, 错误率为 5.9%   。由此可见, 该平台己 经达到预期的支撑 10000  的并发访问量,在该并发量下页面平均响应时间 小于 2 秒,响应错误率低于 3%的需求。 

6.3  本章小结 

        本章主要介绍了该电商平台的系统测试 ,包括功能测试和非功能测试。 功能测试又包括商城后台功能测试和前台功能测试。非功能测试主要为系统 性能测试,目的是检验该电商平台是否能够达到预期的并发需求。 

结束语

        本软件的设计目的是使得中小企业可以直接对外提供线上销售服务,解 决从 0  1 的问题。通过这几个月的毕业设计, 我学到很多以前没有学到的 WEB 开发技术, 在软件工程学上更是取得了很大的进步, 同时也基本完成了 乐优商城的设计与开发。系统服务器端, 我采用 MySQL Server5.5 数据库系 统, Elasticsearch  MVC 结构来完成系统, 客户端采用浏览器来商品管理 以及搜索下单全过程。这种模式的系统运用方便、操作简单, 效率很高。现 阶段实现了用户注册、商品管理、规格参数管理、分类管理、品牌管理、索 引库管理,搜索展示,搜索提示,加入购物车,下单支付等重要功能。

        系统其他功能方面, 本系统提供了一些常用的数据操作, 可以比较完整 的对数据库进行增、删、查、改, 但缺乏必要的统计与分析功能,如销售数据统计分析等。

        在整个过程中使我真正体会到了需求分析与总体设计的重要性。由于自 身原因和时间的关系,放弃了一些设想和功能。但是总的来说,这次的毕业 设计对我来说是一次非常难得的锻炼机会。毕业设计使我对几年来所学的专业课知识得到了融会贯通,得到了比任何一门课都大的提高和进步。

参考文献

[1] []Y.Daniel Liang.    Java 语言程序设计, 北京: 机械工业出版社,2009113-150

[2]  厉小军.    Web 编程技术,北京:机械工业出版社, 2009229-348

[3]  贺智明 等.     JavaEE  企业应用开发技术,北京:清华大学出版社,2012:31-106

[4]  朱欣娟 等.    信息系统分析与设计,西安:西安电子科技大学出版社, 200873-94

[5]  江开耀.    软件工程与开发技术, 西安:西安电子科技大学出版社, 2009

[6]  毋国庆 等.    软件需求工程,北京:机械工业出版社, 201038-93

[7]  萨师煊 等.     数据库系统概论, 北京: 高等教育出版社, 2008198-231

[8]  王晓悦.    Java-JDK、数据库系统开发、Web 开发, 北京: 人民邮电出版 社, 2007479-512

[9]  吴亚峰 王鑫磊.    NetBeans-Java 桌面、Web 与企业级程序开发详解,  京:人民邮电出版社, 2007379-407

[10]  鲁晓东等.    JSP 软件工程案例精解[M],北京: 电子工业出版社,2005.

[11]  夏欣等.Java 面向对象编程指南,电子工业出版社, 2005

[12]  []万普勒 著,王海鹏 译.Java  UML 面向对象程序设计,北京: 人民邮电出版社, 2002

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/4556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot JPA使用

SpringBoot JPA使用 简介 Spring Data JPA 是 Spring 框架提供的一个模块,用于简化与关系型数据库的交互和数据访问。它基于JPA(Java Persistence API)标准,并提供了一组易于使用的API和工具,帮助开发人员更轻松地进…

深入理解分布式事务① ---->分布式事务基础(四大特性、五大类型、本地事务、MySQL并发事务问题、MySQL事务隔离级别命令设置)详解

目录 深入理解分布式事务① ---->分布式事务基础(四大特性、五大类型、本地事务、MySQL并发事务问题、MySQL事务隔离级别命令设置)详解事务的基本概念1、什么是事务?2、事务的四大特性2-1:原子性(Atomic&#xff09…

(学习日记)2024.04.30:UCOSIII第五十四节:User文件夹函数概览(uCOS-III->Ports文件夹)

之前的章节都是针对某个或某些知识点进行的专项讲解,重点在功能和代码解释。 回到最初开始学μC/OS-III系统时,当时就定下了一个目标,不仅要读懂,还要读透,改造成更适合中国宝宝体质的使用方式。在学完野火的教程后,经过几经思考,最后决定自己锦上添花,再续上几章。 这…

Linux深入学习 - 进程

目录 进程描述符 标识一个进程 进程组织 进程之间的关系 如何组织进程 等待队列 进程资源限制 进程切换 硬件上下文 switch_to宏 创建进程 do_fork 内核进程 撤销有一个进程 do_group_exit do_exit函数 Reference 下面开始讨论一个非常重要的抽象:…

黑烟车智能电子抓拍系统大幅度节约人力物力

黑烟车智能电子抓拍系统大幅度节约人力物力,之前黑烟车监测通过执勤交警人工现场监测会耗费大量人力物力,效率较低,现在通过黑烟车智能电子抓拍系统可以大辅导提升监测效率,遗漏少,效率高,值得大力推广。 黑…

【Python数据库】MongoDB

文章目录 [toc]数据插入数据查询数据更新数据删除 个人主页:丷从心 系列专栏:Python数据库 学习指南:Python学习指南 数据插入 from pymongo import MongoClientdef insert_data():mongo_client MongoClient(hostlocalhost, port27017)co…

红米A2/A2+/POCO C51手机秒解BL+快速获取root权限+解谷歌锁刷机救砖教程

红米A2/A2/POCO C51手机是目前小米公司针对于国外用户的1个独立的品牌,或者和国内的红米手机都非常相似,几款手机由于硬件非常接近,我们这里将其放在一起和大家介绍而从他们的代号中我们可以得知,目前A2/POCO的代号为water&#x…

从零学算法1017

1017. 负二进制转换 给你一个整数 n ,以二进制字符串的形式返回该整数的 负二进制(base -2)表示。 注意,除非字符串就是 “0”,否则返回的字符串中不能含有前导零。 示例 1: 输入:n 2 输出&…

ORAN每个端点和每个C平面消息的限制

O-RU每个端点的处理限制 当O-RU的处理粒度是基于端点的,即,在O-RU中处理C/U平面消息的处理资源被分配给每个端点时,O-RU可以对每个端点施加特定限制,例如,endpoint-section-capacity、endpoint-beam-capacity、endpoi…

ctfshow web78 获取flag

第一种:利用input伪协议 ,获取到flag 第二种:利用flter协议,获取到flag https://21d9e58a-c0fd-47ea-a9c4-d875100f2fdb.challenge.ctf.show/?filephp://filter/readconvert.base64-encode/resourceflag.php 得到的结果PD9waHANCg0KLyoNCiMgLSotIGNvZG…

代码随想录算法训练营第12天:滑动窗口和前缀和

代码随想录算法训练营第12天:滑动窗口和前缀和 这里我参考了西法的博客, 467. 环绕字符串中唯一的子字符串(中等)795. 区间子数组个数(中等)904. 水果成篮(中等)992. K 个不同整数的子数组(困难)1109. 航班预订统计(中等) 前四…

C++ map自定义比较函数遵守严格弱序

问题背景及定位 背景:这个问题是在将tablesaw(一个Java的数据处理项目)迁移到C时出现的。 问题位置:SplitOn()函数,在数据流水线中的aggregate阶段。 问题描述:使用google/benchmark进行了批量化的性能测…

机器学习周报第36周 AT-LSTM

文章目录 week36 AT-LSTM摘要Abstract一、文献阅读1. 题目2. abstract3. 网络架构3.1 LSTM3.2 注意力机制概述3.3 AT-LSTM3.4 数据预处理 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 训练参数4.3.2 数据集4.3.3 实验设置4.3.4 实验结果 5. 基于pytorch的transfor…

asp.net表单上传文件

asp.net表单上传文件 可以用自己的主机搭建服务器环境测试 1.借鉴文章&#xff1a; 原文链接&#xff1a;http://www.cnblogs.com/gxwang/p/4883902.html 2.html端示例代码&#xff0c; 文件名为index.aspx <% Page Language"C#" AutoEventWireup"true…

IDEA那些牛X的插件

activate-power-mode&#xff1a;代码震动效果 Easy JavaDoc&#xff1a;帮你写注释 EASY Code&#xff1a;帮你生成mapper之类的代码 Generate O2O&#xff1a;帮你生成两个类之间复制的代码 GitToolBox&#xff1a;Git工具 IDE Eval Reset&#xff1a;懂得都懂 Java Be…

使用Cesium ion将 Sketchfab 3D 模型添加到您的GIS应用中

您现在可以将 Sketchfab 中的 3D 模型导入 Cesium ion 中以创建 3D 块&#xff0c;从而更轻松地为地理空间体验创建上下文和内容。 Sketchfab 是 Epic Games 的一部分&#xff0c;也是使用最广泛的 3D 资产市场之一。自 2012 年推出以来&#xff0c;已有超过 1000 万用户使用 …

【数据结构】最小生成树(Prim算法、Kruskal算法)解析+完整代码

5.1 最小生成树 定义 对一个带权连通无向图 G ( V , E ) G(V,E) G(V,E)&#xff0c;生成树不同&#xff0c;每棵树的权&#xff08;即树中所有边上的权值之和&#xff09;也可能不同。 设R为G的所有生成树的集合&#xff0c;若T为R中边的权值之和最小的生成树&#xff0c;则T称…

3. uniapp开发工具的一些事

前言 新的一天&#xff0c;又要开始卷起来了&#xff0c;开发程序开发当前离不开开发工具&#xff0c;一个好的开发工具办事起来那必然是事倍功半的...本文主要分享了关于uniapp里开发工具的一些事~ 概述 阅读时间&#xff1a;约5&#xff5e;7分钟&#xff1b; 本文重点&am…

ssh基本功能

SSH&#xff08;Secure Shell&#xff09;是一种安全协议&#xff0c;用于在不安全的网络中为网络服务提供安全的传输。SSH利用公钥加密技术为远程登录会话和其他网络服务提供安全性的协议。可以有效防止远程管理过程中的信息泄露问题。 SSH的主要功能有&#xff1a; 远程登录…

Visual Studio Code基础:打开一个编辑器(文件)时,覆盖了原编辑器

相关阅读 VS codehttps://blog.csdn.net/weixin_45791458/category_12658212.html?spm1001.2014.3001.5482 在使用vscode时&#xff0c;偶尔会出现这样的问题&#xff1a;打开了某个编辑器&#xff08;文件&#xff0c;下面统称文件&#xff09;后&#xff0c;再打开其他文件…