天天看点

游戏服务端开发-随想

  最近公司上线了一款游戏,后台服务端出现各种BUG,我简单的将出现的问题做了分类,多线程操作的数据一致性BUG,逻辑BUG,流程BUG。虽然感觉这样分并不能完全表述出现的BUG类型,但我认为至少是这三类问题能概括了目前出现的BUG.  于是大家一起探讨了怎么在上线环境来定位BUG的问题所在。其实,我想更应该在设计开发中来避免这类问题的出现。于是个人总结了一下在开发过程中的一些规范,流程。

 个人认为在服务端的开发工作分这几个阶段:前期--设计  中期--开发 后期--测试,当然一般的系统也是这样的,下面阐述在这三个阶段要解决的一些问题。

前期--设计

   在前期设计中设计好程序的框架,主要解决并发,性能,做出保证多线程操作数据一致性规范。确定网络线程跟逻辑线程是如何交互的,确定逻辑线程是单线程还是多线程,如果是多线程的,那要给出多线程对数据操作一致性规范。

  在这一阶段就从根本上结果多线程的数据一致性问题。

中期--开发

   中期开发主要是在前期的设计前提下,做游戏功能开发。如游戏逻辑,算法。这里要遵循前期设计阶段对数据一致性操作的一些规范,来处理数据。

   在这一阶段主要是开发游戏功能。

后期--测试

   这里要说的是(白盒)单元测试,包括正常游戏的逻辑测试。

   说到测试,我们不按照《软件工程》上讲各种测试,只要我们要涵盖的点:

     1.边界测试

     2.条件测试,保证游戏逻辑中每个分支都要跑到

     2.非法数据测试,测试我们的程序对非法数据的处理能力

     3 .正常数据测试,这里主要测试功能的完整度

在这一阶段,是要确定我们写的游戏的功能逻辑能否正常的跑。

备注:此文章只是说明在游戏开发中的一些个人体会。至于说性能测试,压力测试,稳定性测试这些游戏服务器经常做的测试,是在以上游戏功能正常运行后进行的。

继续阅读