五子棋对战测试报告

news2024/12/23 23:48:28

目录

一、项目背景

二、项目功能

三、功能测试

1、注册页面测试

测试用例

测试结果

测试总结

2、登录页面测试

测试用例

测试结果

测试总结

3、游戏大厅页面测试

测试用例

测试结果

测试总结

4、游戏房间页面测试

测试用例

测试结果

测试总结


一、项目背景

本项目是一个简单的五子棋对战项目,用户可以在该平台注册登录账号,然后匹配玩家进行五子棋游戏,同时在游戏的过程还支持玩家之间进行聊天。

项目地址:登录

项目代码:gobang: 使用java、Spring Boot、Spring MVC、MyBatis、MySQL编写的五子棋

二、项目功能

1、注册功能——未注册的用户可以输入用户名和密码进行注册。

2、登录功能——用户注册完成账号之后,可以输入正确的用户名和密码进行登录

3、匹配功能——用户在游戏大厅页面点击“开始匹配”按钮,即可进行匹配,匹配到玩家之后会立即进入游戏页面。

4、对战功能——用户在游戏房间页面即可在棋盘中进行对弈。

5、聊天功能——用户在游戏房间页面可以在聊天框中发送信息进行交流。

三、功能测试

1、注册页面测试

测试用例

测试结果

页面显示

通过测试,我们发现页面上左上角的”五子棋对战“字样正常显示,页面的背景图片正常显示,页面中的注册框,以及框中的输入框、提示字样和提交按钮均正常显示。在界面测试上并未发现bug。

正常注册

我们以用户名:章鱼哥;密码:1234为例进行注册。

通过测试我们发现,当输入完用户名和密码,点击提交按钮之后,页面会提示“注册成功!”。正常注册情况下功能正常。

异常注册

异常注册有三个角度进行测试:1.用户名为空时;2.密码为空时;3.用户名已经存在时;

我们先来看一下用户名为空时如果进行注册会发生什么结果:

注册失败!页面提示我们“用户名或密码不能为空!”。接下来我们再看一下密码为空的情况:

同样是注册失败,页面依然是提示我们“用户名或密码不能为空!”,最后我们再来看一下注册一个已经存在的账号的情况:

我们刚才已经注册了一个用户名为章鱼哥的账号,接下来我们再注册一遍。

注册失败!提示我们“用户名或密码不能为空!”,这个提示好像并不那么切合这个场景,不过也有一个好处,这样注册的用户就不知道这账号已经被注册过了。

测试总结

通过对注册页面的界面测试和功能测试,得出以下结论:

  1. 注册页面的背景图片显示正常,页面中的文字样式,和注册框均能正常显示。除此之外,注册框中的字样、输入框和“提交”按钮也能够正常显示。
  2. 正常注册情况,在注册一个并没有注册过的用户名时,可以正常注册成功,并且页面会提示用户“注册成功!”。
  3. 异常注册情况,在用户名为空或者密码为空时,页面会提示用户“用户名或密码不能为空!”,注册会失败。
  4. 注册存在的账号,注册会失败,页面会提示用户“用户名或密码不能为空!”。

通过测试,在注册页面并未发现bug。

2、登录页面测试

测试用例

测试结果

通过测试,我们发现登录页面上左上角的”五子棋对战“字样正常显示,页面的背景图片正常显示,页面中的登录框,以及框中的输入框、提示字样和登录、注册按钮均正常显示。在界面测试上并未发现bug。

异常登录

异常登录有两种情况,一种是用户名错误的情况,另一种是密码错误的情况,我们先看一下用户名错误的情况:

用户名错误时,会登录失败,页面会提示用户“登录失败!”。接下来再看看密码错误的情况:

密码错误时,依然会提示“登录失败!”,同过测试发现,登录页面对于异常登录的情况处理没有bug。

正常登录

我们以刚才注册号的章鱼哥的账号为例,进行登录测试

登录成功之后,页面直接跳转到了游戏大厅页面,在这里我们可以看到正常显示了,章鱼哥的用户名,初始分数,以及比赛场次和获胜场次。登录功能正常。

跳转注册按钮的测试放在了视频中,最后通过视频来看一下整个测试过程。

五子棋登录页面测试

测试总结

通过对登录页面的界面测试和功能测试,得出以下结论:

  1. 登录页面的背景图片显示正常,页面中的文字样式,和登录框均能正常显示。除此之外,登录框中的字样、输入框和登录、注册按钮也能够正常显示。
  2. 异常登录情况,在输入错误的用户名或密码时,都会登录失败,页面会提示用户“登陆失败!”。
  3. 正常登录情况,在输入正确的用户名和密码之后,点击登录按钮,页面会直接跳转到游戏大厅页面。
  4. 注册按钮,点击注册按钮,页面会直接跳转到注册页面,功能正常。

通过对登录页面的界面测试和功能测试,并未在登录页面发现bug。

3、游戏大厅页面测试

测试用例

测试结果

游戏大厅页面的测试我们还是以章鱼哥账号为例:

用章鱼哥的账号登录之后,我们发现在游戏大厅页面的左上角“五子棋对战”字样正常显示,在页面的中间,章鱼哥的用户名,分数(初始分数为1000),比赛场次和获胜场次都正常显示,玩家信息下方的匹配按钮也是正常显示。

接下来我们测试匹配功能,测试匹配功能需要再登 录一个账号一起进行匹配,我们录制视频测试匹配功能

五子棋游戏大厅页面

测试总结

通过测试游戏大厅页面的界面显示和匹配功能,得出以下结论:

  1. 游戏大厅页面的左上角“五子棋对战”字样正常显示,背景图片正常显示
  2. 玩家信息(用户名、分数、比赛场次、获胜场次)正常显示,
  3. 匹配功能正常,两个同级别玩家点击匹配按钮后,会匹配在一起。

通过对游戏大厅页面的界面测试和功能测试,并未在游戏大厅页面发现bug。

4、游戏房间页面测试

测试用例

测试结果

界面显示

通过测试发现,游戏房间页面左上角“五子棋对战”字样正常显示,玩家信息正常显示,由于并没有给玩家设置头像,这里的两个头像只是为了看起来更加丰富,因此头像不视为bug,棋盘正常显示,棋盘下方的提示信息也是正常显示,聊天框正常显示。在界面测试中并未发现bug。

接下来我们首先测试一下对战功能:

首先测试横着五星连珠的情况:

五子棋对战测试(横

回到游戏大厅页面可以看到,双方的信息都已经更新了。

接下来再测试一下竖着五星连珠的情况:

五子棋对战测试(竖

然后测试正对角线五星连珠的情况:

五子棋对战测试(正对角

最后测试反对角线五星连珠的情况:

五子棋对战测试(反对角

正常游戏的四种结局我们已经测试完毕,没有什么问题,接下来再测试一下异常掉线的情况:

五子棋异常测试

最后我们测试一下聊天功能:

五子棋对战聊天测试

测试总结

通过对游戏房间页面的测试,得出以下结论:

  1. 游戏房间页面的左上角“五子棋对战”字样正常显示。
  2. 游戏房间页面的玩家信息正常显示。
  3. 游戏房间页面的棋盘以及棋盘下面的提示信息正常显示。
  4. 横向五子连珠、纵向五子连珠、正对角线五子连珠、反对角线五子连珠判定正常。
  5. 聊天框显示正常,并且聊天功能正常。

通过对游戏房间页面的界面测试和功能测试,在游戏房间页面并没有发现bug。

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

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

相关文章

物联网AI MicroPython传感器学习 之 无源蜂鸣器

一、产品简介 蜂鸣器是一种将音频信号转化为声音信号的发音器件传感器,通过利用压电效应原理,当对其施加交变电压时产生机械振动。应用场景:在家用电器、电子玩具、游戏机等场景下都得到普遍应用,通过设置不同的频率,…

Linux下yum源配置实战

一、Linux下软件包的管理 1、软件安装方式 ① RPM包管理(需要单独解决依赖问题) ② YUM包管理(需要有网络及YUM仓库的支持,会自动从互联网下载软件,自动解决依赖) ③ 源码安装(安装过程比较…

前端面试题之CSS篇

1、css选择器及其优先级 标签选择器: 1类选择器、属性选择器、伪类选择器:10id选择器:100内联选择器(style“”):1000!important:10000 2、display的属性值及其作用 属性值作用none元素不显示&#xff0c…

数据分析实战 | 关联规则分析——购物车分析

目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据预处理 七、生成频繁项集 八、计算关联度 九、可视化 一、数据及分析对象 数据集链接:Online Retail.xlsx 该数据集记录了2010年12月01日至2011年12月09日…

【深蓝学院】手写VIO第8章--相机与IMU时间戳同步--作业

0. 题目 1. T1 逆深度参数化时的特征匀速模型的重投影误差 参考常鑫助教的答案:思路是将i时刻的观测投到world系,再用j时刻pose和外参投到j时刻camera坐标系下,归一化得到预测的二维坐标(这里忽略了camera的内参,逆深…

力扣刷题之优先队列

前言:优先队列底层是由大根堆或小根堆数据结构实现的。 前K个高频元素 347. 前 K 个高频元素 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: …

基于LDA主题+协同过滤+矩阵分解算法的智能电影推荐系统——机器学习算法应用(含python、JavaScript工程源码)+MovieLens数据集(四)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据爬取及处理2. 模型训练及保存3. 接口实现4. 收集数据5. 界面设计 系统测试相关其它博客工程源代码下载其它资料下载 前言 前段时间,博主分享过关于一篇使用协同过滤算法进行智能电影推荐系统的博…

CCF-CSP真题《202305-5 闪耀巡航》思路+python,c++满分题解

想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全 试题编号:202305-5试题名称:闪耀巡航时间限制:5.0s内存限制:512.0MB问题描述: 问题描述 西西艾弗岛旅游公司最近推出了一系列环绕西西艾…

周报4_YMK

FlashAttention 硬件知识 以 A100 (40GB HBM) 为例,下面显示其内存层次结构的粗略图。SRAM内存分布在108个流式多处理器(SMs)上,每个处理器192KB。片上SRAM比HBM快得多,但比HBM小得多,在计算方面,使用Tensor Core的B…

【ARFoundation学习笔记】ARFoundation基础(上)

写在前面的话 本系列笔记旨在记录作者在学习Unity中的AR开发过程中需要记录的问题和知识点。难免出现纰漏,更多详细内容请阅读原文。 本文从原文第二章开始 文章目录 ARFoundation的体系Subsystem的使用跟踪子系统 ARSession & AR Session OriginARSessionARSe…

多目标优化中的“latent action”是什么?

2020 NeurIPS 中的“latent action”: Our model defines latent action as a boundary that splits the region represented by a node into a high-performing and a low performing region. 这里的latent action代表一个边界(分类器)&…

4 网络基础知识

1、 ifconfig: 1.Windows:ipconfig 2.Linux:ifconfigip addr2、 ifconfig 和 ip addr 的区别? 问题:假设你登录进入一个被裁剪过的非常小的 Linux 系统中,发现既没有 ifconfig 命令,也没有 ip…

CCF-CSP真题《202309-2 坐标变换(其二)》思路+python,c++满分题解

想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全 试题编号:202309-2试题名称:坐标变换(其二)时间限制:2.0s内存限制:512.0MB问题描述: 问题描述 对于平面直角坐标…

【Mybatis小白从0到90%精讲】13: Mybatis sql片段,重用SQL的利器!

文章目录 前言SQL片段语句常见应用场景1. select 列字段2. where条件前言 代码复用是优秀程序员的标志之一,它能够减少代码冗余,提高代码可读性和可维护性。 在MyBatis开发中,Mapper中经常会有一些类似的SQL,如果每个语句都单独编写,会使代码冗长且难以维护。 MyBatis提…

Magics测量两个圆形中心点距离的方法

摘要:本文介绍如何使用magics测量两个圆孔之间的距离。 问题来源:3D模型打开后,两个圆孔中心点之间的间距测量无法直接通过测距实现,需要进行一些小小的设置才行。 工具选择“量尺”,如果不设置的话,它会默…

有关我自贡大盐商身世的两篇文章(一)

重游高坑岩瀑布随笔 都市噪杂喧嚣的生活,终于将我暂时逼离网络,决意出游数日,去山里寻找我向往的那些足以鼓舞人斗志的壮观瀑布,并试图从中领受它们那出自天然的,万马奔腾、猛烈撞击、拚抢速度、渲泄激情、永不妥协、…

【数据结构】树与二叉树(一):树(森林)的基本概念:父亲、儿子、兄弟、后裔、祖先、度、叶子结点、分支结点、结点的层数、路径、路径长度、结点的深度、树的深度

文章目录 5.1 树的基本概念5.1.1 树的定义树有序树、无序树 5.1.2 森林的定义5.1.3 树的术语1. 父亲(parent)、儿子(child)、兄弟(sibling)、后裔(descendant)、祖先(anc…

【软件测试】工作内容

测试工程师工作: 阶段:编写测试计划测试用例、测试缺陷报告并执行测试用例;搭建Windows测试环境熟练;使用Bugzilla 提交软件缺陷报告 使用测试技术及工具:白盒测试黑盒测试 Loadrunner、Winrunner 能够运用边界值、等…

go-sync-mutex

Sync ​ Go 语言作为一个原生支持用户态进程(Goroutine)的语言,当提到并发编程、多线程编程时,往往都离不开锁这一概念。锁是一种并发编程中的同步原语(Synchronization Primitives),它能保证多…

【CMake】15分钟带你入门CMake

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…