[游戏测试]基于人工智能博弈树,极大极小(Minimax)搜索算法并使用Alpha-Beta剪枝算法优化实现的可人机博弈的AI智能五子棋游戏。

时间:2023-01-09 19:55:21

  ⬜⬜⬜ ???????????????????????? (*^▽^*)欢迎光临 ????????????????????????⬜⬜⬜

✏️write in front✏️
????个人主页:陈丹宇jmu
????欢迎各位→点赞???? + 收藏⭐️ + 留言????​
????联系作者????by QQ:813942269????
????致亲爱的读者:很高兴你能看到我的文章,希望我的文章可以帮助到你,祝万事顺意????️‍????
✉️少年不惧岁月长,彼方尚有荣光在 ????

[游戏测试]基于人工智能博弈树,极大极小(Minimax)搜索算法并使用Alpha-Beta剪枝算法优化实现的可人机博弈的AI智能五子棋游戏。

[专栏链接] 人工智能项目实战-【AI智能五子棋项目的开发】https://blog.csdn.net/weixin_51989356/category_12160426.html?spm=1001.2014.3001.5482[游戏测试]基于人工智能博弈树,极大极小(Minimax)搜索算法并使用Alpha-Beta剪枝算法优化实现的可人机博弈的AI智能五子棋游戏。https://blog.csdn.net/weixin_51989356/category_12160426.html?spm=1001.2014.3001.5482


⬜⬜⬜ ---????????????????????前言????????????????????---⬜⬜⬜ 


本次的内容是对于先前设计的AI智能五子棋游戏的程序软件测试说明,也是我第一次尝试对软件测试写的一次测试报告,万事开头难,我把我进行软件测试的过程发布在本节内容,大家一起学起来啦,恳请路过的大佬可以在评论中不吝赐教,谢谢啦。

????本篇主要内容


游戏软件测试情况

  1. 测试数据说明
  2. 白盒测试学习
  3. 黑盒测试学习
  4. 测试用例Debug分析
  5. 测试结果总结

????笔记目录 

????本篇主要内容

????一. 游戏软件测试情况

⏳1.1. 测试数据说明

⏳1.2.白盒测试 

⏳1.3.黑盒测试

⏳1.4.测试用例Debug分析

⏳1.5.测试结果分析 

????一. 游戏软件测试情况


⏳1.1. 测试数据说明

实验环境说明:

    硬件配置:CPU 2.70GHz , 内存 16GB

    操作系统:Windows 11 64位操作系统

    Python版本:Python 3.6.8

常见的软件测试阶段的工作主要分为单元测试、集成测试、确认测试和系统测试四个步骤。测试方法有黑盒测试和白盒测试两种方法:黑盒测试(已经知道产品应该具有的功能,可以通过测试来检验是否每个功能都正常);白盒测试(如果知道产品内部工作过程,可以通过测试来检验内部动作是否按照说明书的规定正常进行)。

本游戏测试的主要方法包括黑盒测试和白盒测试,通过个人游玩,观察游戏在运行过程中,所需要实现的功能有没有实现,以及在测试过程中有没有发现新的问题记录在案。然后根据测试后所产生的一系列的问题,对游戏的组织进行改进,然后再进行测试,就这样重复的进行这样的工作,直到游戏的运行与预想时的状况基本一致时,才算通过测试。

[游戏测试]基于人工智能博弈树,极大极小(Minimax)搜索算法并使用Alpha-Beta剪枝算法优化实现的可人机博弈的AI智能五子棋游戏。
游戏完整功能的测试

⏳1.2.白盒测试 

白盒测试通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正,这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

用软件白盒测试产生的测试用例能够: 

1)   保证一个模块中的所有独立路径至少被使用一次;

2)   对所有逻辑值均需测试true和false;

3)   在上下边界及可操作范围内运行所有循环;

4)   检查内部数据结构以确保其有效性。

⏳1.3.黑盒测试

软件黑盒测试也是软件测试的主要方法之一,也可以称为功能测试、数据驱动测试或基于规格说明的测试。测试者不了解程序的内部情况,只知道程序的输入、输出和系统的功能,这是从用户的角度针对软件界面、功能及外部结构进行测试,而不考虑程序内部逻辑结构。

软件黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误:

1)   功能不正确或遗漏;

2)   界面错误;

3)   数据库访问错误;

4)   性能错误;

5)   初始化和终止错误等。

测试方法可以分为以下几种:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。从理论上讲,软件黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。软件黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将 测试行为具体量化的方法之一。

⏳1.4.测试用例Debug分析

下面列出13个测试用例结果达到了预想的目标。

表1.4 测试用例

用例

       操作

     预期结果

    实际结果

      用例1

是否能在不同版本的Python中运行

游戏能够在设计该游戏版本及以上运行

成功

      用例2

运行时能否正常显示主界面

运行时能正常显示主界面

成功

      用例3

鼠标单击棋盘,是否会有棋子落于该位置

棋子落于鼠标点击位置

成功

      用例4

用户落子之后电脑在棋盘不满的情况下可以落子

电脑可以正常落子

成功

      用例5

当人下子出现“活三”、“冲四”,电脑是否会下子堵截

电脑会下子堵截

成功

      用例6

多次游戏测试:在人(黑棋)没有出现“活三”、“冲四”的情况下,电脑(白棋)落子是否存在规律

黑棋没有出现“活三”、 “冲四”的情况下,电脑 (白棋)随机落子,不存 在规律

成功

      用例7

进行对战时,按照规则下棋能否正常输赢

可以正常输赢

成功

用例8

判断在横线上5子能否获得胜利

可以

成功

用例9

判断在竖线上5子能否获得成功

可以

成功

用例10

判断在斜线上5子能否获得成功

可以

成功

用例11

棋盘满时能否成功出现平局字样

可以

成功

用例12

落过棋子的地方是否可以重复落子

不可以

成功

用例13

一方获胜时,能否出现用户获胜或者电脑获胜

正常显示

成功

⏳1.5.测试结果分析 

代码的game部分实现了主要算法,通过记录所有相同颜色棋子的位置来判断是否赢了。每次用户落子后ai都会判断用户落子位置,然后进行落子,如果出现“活三”“冲四”,就会落子进行阻挡。虽然可以正常进行用户与人机下棋,但在时间运行上开销较大,判断的过程会有多次if条件判断,时间复杂度较高,导致多轮落子后,ai判断落子位置时间增加以及判断输赢时间增加。

[游戏测试]基于人工智能博弈树,极大极小(Minimax)搜索算法并使用Alpha-Beta剪枝算法优化实现的可人机博弈的AI智能五子棋游戏。
测试运行质量分析

 

 ????????????我是陈丹宇jum,我也在一直努力提升自己,欢迎大家给我留言,批评指正。

[游戏测试]基于人工智能博弈树,极大极小(Minimax)搜索算法并使用Alpha-Beta剪枝算法优化实现的可人机博弈的AI智能五子棋游戏。