基于 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年【制冷与空调设备运行操作】最新解析及制冷与空调设备运行操作免费试题

题库来源:安全生产模拟考试一点通公众号小程序 制冷与空调设备运行操作最新解析是安全生产模拟考试一点通生成的,制冷与空调设备运行操作证模拟考试题库是根据制冷与空调设备运行操作最新版教材汇编出制冷与空调设备运行操作仿真模拟考试。2024年【制冷…

不只有 Spring,这四款Java 基础开发框架同样值得关注!

Java 开发不只有 Spring ,今天给大家推荐几个同样优秀的 Java 基础开发框架,为日常项目开发提供更多的选择。答应我,请不要再叫我 Spring 小子了,​好吗? 项目概览: Guice:轻量级依赖注入框架 …

构建本地大语言模型知识库问答系统

MaxKB 2024 年 4 月 12 日,1Panel 开源项目组正式对外介绍了其官方出品的开源子项目 ——MaxKB(github.com/1Panel-dev/MaxKB)。MaxKB 是一款基于 LLM(Large Language Model)大语言模型的知识库问答系统。MaxKB 的产品…

Intelij Idea Push失败,出现git Authentication failed(验证失败)

目录 1、出现问题的原因 2、解决之法 1、出现问题的原因 能出现这种问题,最主要的原因是链接对上了,但用户验证失败了,即登录失败。 因为服务器转移或者换了git项目链接,导致你忘记了用户名密码,随意输入之后&…

P44,45 属性预处理,执行后游戏效果回调,附录指定区域内修改变量

这节课主要是怎么对Attribute进行在进行到游戏角色前先进行处理,以及游戏效果如何回调 AuraAttributeSet.h // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "AttributeSet.h&…

如何禁用WordPress的自动更新(包括主题、插件和核心文件)

这几天发现我的一个网站突然打不开了,提示“此站点遇到了致命错误”,如图: 这个网站一直都是正常运行的,最近也没有过什么更新,按理说不应该会出现问题,我担心可能是主机方面做了什么调整导致,所以联系了Ho…

品鉴中的个人偏好:如何找到适合自己的红酒风格

品鉴红酒时,个人偏好起着至关重要的作用。不同的人对红酒的风格、口感和特点有着不同的喜好和需求。对于云仓酒庄雷盛红酒而言,如何找到适合自己的红酒风格,是品鉴过程中需要关注的问题。 首先,了解自己的口味和喜好是找到适合自己…

spi接口的基本概念、引脚定义及注意事项

目录 基本概念 引脚定义 注意事项 SPI(Serial Peripheral Interface)是一种同步串行接口技术,广泛应用于微控制器和各种外围设备之间的短距离通信。 基本概念 SPI接口允许微控制器以串行方式与一个或多个外围设备进行通信。它是一种高速、…

B端:销售投入远超研发投入,想让B端漂亮体验好,非常难。

足够的研发费用是确保B端系统研发体验好、品质佳的重要条件之一。在B端系统研发过程中,足够的研发费用可以用于以下方面: 1.人才投入: 招聘高素质的研发团队成员,包括开发工程师、测试工程师、产品设计师、运维工程师等&#xf…

【进程通信】利用管道创建进程池(结合代码)

文章目录 什么叫进程池进程池的优点 创建进程池代码实现: 什么叫进程池 我们知道,一个进程创建子进程通常是为了让这个子进程去为它完成某个任务。例如我们使用的指令,其实就是bash进程创建子进程让子进程去执行的。但是我们需要考虑这样一个…

RLDP协议原理与应用

RLDP概述 l RLDP全称是Rapid Link Detection Protocol(快速链路检测协议),是锐捷网络自主开发的,用于快速检测以太网链路故障的链路协议。 l 一般的以太网链路检测机制都只是利用物理连接的状态,通过物理层的自动协…

React | classnames

classnames 这个库在我们的项目中有大量的使用到,它不仅很实用,还非常好用,但还有人不知道这个库,我真的是十分心痛。 通过 classnames,我们可以给组件设置多个 className,还可以根据需要动态设置 classNa…

机器学习中的CatBoost算法

我们经常遇到包含分类特征的数据集,为了将这些数据集拟合到Boosting模型中,我们对数据集应用各种编码技术,例如One-Hot编码或标签编码。但是应用One-Hot编码会创建一个稀疏矩阵,这有时可能导致模型的过拟合,我们使用Ca…

Oracle中rman使用记录

最近在项目中,遇到使用RMAN的操作来恢复数据库中某个时间归档日志,RMAN的原理和理解,网友们百度了解一下。我重点将实操部分了。直接上实验环节,让网友更懂。(特别提醒:我是1:1用VMware克隆数据库进行RMAN还…

分布式与一致性协议之Paxos算法(三)

Paxos算法 兰伯特关于Multi-Paxos的思考 领导者 我们可以通过引入领导者(Leader)节点来解决第一个问题。也就是说将领导者节点作为唯一提议者,如图所示。这样就不存在多个提议者同时提交提案的情况,也就不存在提案冲突的情况了。这里补充一点:在论文中…

开发规范:API安全

开发规范:API安全 API是现代移动、SaaS和web应用程序的关键组成部分,可以应用在面向客户、合作伙伴和内部应用程序中。API可以暴露应用程序逻辑和敏感数据。不安全的API很容易成为黑客攻击的目标,使他们能够访问安全的服务器或网络。攻击者可…

NXP i.MX8系列平台开发讲解 - 3.9 Linux PCIe协议相关介绍(二)

目录 1. PCIe 传输层协议 2. TLP介绍 2.1 TLP包格式 2.2 TLP包的种类 2.3 TLP 包传输例子 2.4 TLP 路由规则 根据上一章的知识,对于PCIe的发展和基础知识有了大概了解,本章节将会讲解PCIe的一些工作原理,使用的协议,通信交互…

挑战一周完成Vue3项目Day2:路由配置+登录模块+layout组件+路由鉴权

一、路由配置 经过分析,项目一共需要4个一级路由:登录(login)、主页(home)、404、任意路由(重定向到404)。 1、安装路由插件 pnpm install vue-router 2、创建路由组件 在src目…

dremio数据湖sql行列转换及转置

1、行转列 (扁平化) 数据准备 表 aa 1.1 cross join unnest 在Dremio中,UNNEST 函数用于将数组或复杂类型的列(如JSON、Map或Array类型)中的值“炸裂”(分解)成多行. with aa as ( select 上海 as city, ARRAY[浦东…

2024程诺申论突击理论刷题班

2024程诺申论突击理论刷题班,为备考者提供了系统而高效的申论学习平台。在这个班里,程诺老师以其深厚的理论功底和丰富的教学经验,引导我们深入理解申论的本质和技巧。刷题环节精心设计,让我们在实战中巩固知识,提升能…