软件测试 | 斗地主功能测试实战--需求分析,终于知道你们的欢乐豆到底是怎么输光的了?

本文主要是介绍软件测试 | 斗地主功能测试实战--需求分析,终于知道你们的欢乐豆到底是怎么输光的了?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。 

小编整理了一些零基础入门软件测试到精通全套自学资料,还有不少工具和视频的【网盘资源】,

文末有官方推荐微信、申请好友去领取全套软件测试学习资料吧!!! 
————————————————

目录

一、测试需求分析与展示

二、需求分析实战

三、模块拆解

金九银十大礼包来袭!

加入官方推荐微信群聊社区,了解更多软件测试资讯


一期一个知识点

5分钟解答你最关心的软件测试问题

简单明了,清晰易学的干货

你关心的一切软件测试问题,都在这里啦!

  • 笔者之所以选择斗地主,而不选择当下火爆游戏进行讲解的首要原因是斗地主更容易理解且逻辑性清晰、易学习,方便大家进行实操,希望读者能从中受益。
  • 本实战系列只会进行功能测试的相关讲解,在后续的文章中会逐渐介绍接口、自动化、专项测试等维度的内容,敬请期待~

一、测试需求分析与展示

再进入正式的需求分析前,大家必须要了解的就是为何要做需求分析,面对一个逻辑性较强或较大的系统、模块时,需求分析能够帮助我们快速理解策划“想要的”、需求要“做什么”、“怎么做”,更重要的是需求分析是为了给测试用例的设计做铺垫,而用例设计是否优秀的一部分则来源于对需求理解是否足够透彻。

二、需求分析实战

整体的斗地主内容较多,故此只演示部分,部分需求展示如下所示:

分析第一段话的第一句:第一轮先叫地主的玩家由系统随机选定。后续轮如果同一桌没换人则由获胜玩家(先出完牌的玩家)先叫地主,如果换人则继续随机。

如果仅仅是根据需求进行思考分析,那么无法想出异常点,由需求只能够得

实际上,分配地主这个事件本身就是一个随机事件,随机事件就会涉及到概率,那么由此可以新增一条:

只有第一轮的地主是随机指派的,那么会涉及到一个“正反”,即:第一轮和非第一轮:

有人中途退出重新进入新的玩家,就又会走第一轮的随机逻辑,故此也需要清除:

很明显,需求中所提及的“退出”这个概念不明确,断线重连、较长时间的断网恢复后是否也算退出,杀进程恢复,切后台等等是否会计算在“退出”这个范围内

分析第二句需求:如果有玩家在叫地主前选择"明牌",则第一个选择"明牌"的玩家优先获得叫地主权,因此由需求得出:

明牌是一个操作行为,玩家需要手动进行点击选择明牌后,玩家才会明牌,这意味着在地主由系统分配或确定一个地主前,玩家可以随时进行明牌,如果两个玩家在同一时间进行明牌,地主的权利应该会给谁?(真实的情况肯定会有时间差异,由服务端进行计算先后顺序,可能会有微秒的计算差异 ,如果真的出现时间完全一致的情况下,则随机给予一名玩家):

在真实的工作经历中往往边界值更容易出现问题,第一次叫地主的流程顺利,不代表第二次仍然处于逻辑正确的情况(写代码的人懂的都懂),故此我们仍需要对流程进行“边界值”测试

那么现在,让我们来分析第三段需求:如果有玩家在叫地主前选择"明牌",且三名玩家都不选择"叫地主",则系统选择第一个,"明牌"的玩家为地主。无人明牌且无人叫地主则第一位叫地主的玩家为地主。

如需求所示,顾名思义,有玩家明牌的情况且三位玩家均不进行地主争夺,默认地主牌权交给明牌玩家,那么由需求可得:

为了验证代码中的逻辑是否真的是选择了第一个明牌的玩家,在测试过程中需要有两名或三名玩家均进行明牌,来确认代码逻辑是否正确,是否选择的是第一个明牌的玩家:

无任何玩家叫地主、明牌时,第一位拥有叫地主权利的玩家默认为地主,由需求可得:

需求,毕竟也只是需求,会存在遗漏,那么需要根据自己对叫地主的理解,进行用例设计的补充,这往往是最困难的,更依赖测试人员的思维以及对游戏的熟悉程度(知道为啥之前讲解熟悉游戏能够更好的保证测试质量了吧),根据对斗地主的基础认知,大致可以补充以下内容:

上述列举的是测试点,测试用例的设计会在后续的用例设计文章中进行设计,三句需求写出12个测试点,还补充了一些遗漏的需求,这是最后分析对应的需求所得出的结果

三、模块拆解

需求分析完成后的步骤就是对游戏整体进行拆解,拆解游戏整体划分出子模块的分支测试点可以帮助测试人员更好的理解需求,梳理需求,为后续的测试用例设计进行铺垫,大致可以拆解成以下标签(以下的展示非测试用例,只是子模块分支下的拆解分支点):

下述所展示的拆解模块为大部分拆解点,因游戏设计不同,故此拆解模块会存在差异,大多数内容是当下斗地主通用的逻辑和测试点,根据需求划分出拆解点后,在对应的模块划分这里就已经做好了充分的准备

上述所介绍的是斗地主游戏全局的拆解点,如果只针对需求中所提及的叫地主的三点那么它的拆解位置大致是:

游戏中某一个划分子模块的内容按照上述的划分即可,用例设计的结构后续也会按照该结构进行设计~

好啦~以上就是本次文章分享的全部内容啦,你学会了吗?欢迎留言讨论。希望能给大家带来帮助哦!

金九银十大礼包来袭!

接口、自动化、互联网大厂真题

简历模板......统统都有

加入官方推荐微信群聊社区,了解更多软件测试资讯

这篇关于软件测试 | 斗地主功能测试实战--需求分析,终于知道你们的欢乐豆到底是怎么输光的了?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/208796

相关文章

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性