什么是黑盒测试(什么是黑盒测试和白盒测试)
什么是黑盒测试和白盒测试?
任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?2、在接口上,输入是否能正确的接受?能否输出正确的结果?3、是否有数据结构错误或外部信息(例如数据文件)访问错误?4、性能上是否能够满足要求?5、是否有初始化或终止性错误?
黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
1、对程序模块的所有独立的执行路径至少测试一遍。2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。3、在循环的边界和运行的界限内执行循环体。4、测试内部数据结构的有效性,等等。
以上事实说明,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。
测试方案:
1:熟悉被测功能,需要从策划的角度来了解功能需求,也同时需要以玩家的角度来思考这个功能对玩家是否有必要。2:设计测试方案的时候需要多考虑各种异常情况,例如是否存在被玩家刷奖励的情况,因为往往规则上设计的漏洞才是游戏最致命的伤害。3:设计测试方案的时候是否考虑自己测试是出于黑盒测试还是其他方式,如果是灰盒测试,估计还需要跟技术上的同事了解清楚代码的实现,看是否有漏洞。4:如果测试的只是大系统,需要考虑性能测试,例如当人数达到一定程度对系统的影响等。设计测试方案是一条很长远的路,即使是有好多年测试经验的人也在摸索,需要慢慢积累。
如何对手机游戏进行优化?
一般分为内存优化帧数优化还有体积优化
帧数优化可以考虑对一个message loop中的逻辑运算进行优化,比如可以考虑A*的剪枝。
使用工具对资源进行打包,使用TexturePacker等工具把多张资源合成一张图片。采用png压缩工具,在打包图片之前对每张图片进行压缩,降低图片质量。针对不同的平台使用特定的压缩格式的图片如果项目中帧序列占的比较多,那么可以采用降帧的方式来优化。缩放图片,将原来图片缩小为原来的70% ~ %80,再对图像进行放大采用编辑器,将大图转化为拼接,那么就可以利用地图编辑器、动作编辑器等从而减少体积,降低内存的使用
如何在对游戏的“手感”进行改进:
游戏手感一般指的是打击感,那么我就在打击到一个游戏对象时,游戏对象要产生击退的效果,产生该对象被打击的感觉。时间控制要恰当,要让某个对象(比如火球,拳头)打击到另一个游戏对象的时候,才产生击退效果,这就需要进行使用消息机制和回调来解决。
如何在数据库中存储一个人的所有装备?
建立一个人物ID和装备ID的关系表。
将人物的所有装备的id序列化为一个JSON字符串存储为人物的一个字段。
这两个最大的区别是在修改装备时,第一个只会影响一条记录,当时第二个会影响所有装备,一旦出现bug还让玩家损失所有装备。两者各有利弊,根据使用场景自己权衡。
网易游戏的产品
pc端
代理
魔兽世界 炉石传说
手游
梦幻西游 大话西游
slogan
游戏它不只是娱乐,你得到的也远不止快乐
手游排行榜
我想说的是,网易游戏取得这样的成绩,可以说是必然,也可以说是偶然。
必然的是因为这两款游戏强大的群众基础和运营超过十年的丰富经验。大话西游是超过梦幻西游更久的游戏。反正我小学的时候已经有人在玩这个游戏了。梦幻西游呢,国产网游的带头羊,鼎盛时期各项数据一直刷榜首,在线游戏玩家几百万之多。虽然现在这两个游戏因为各种原因已经处于萧条的衰落期,都在走下坡路,但是它们都是从02、03年开始就活跃在网游玩家群体,因为受众广、玩家认可度高、技术比较成熟等,是国内网游界的标志性代表作,在跨度近十年的网游飞速发展的时期里作为旗舰,影响了很大批次的国内网游的制作和成长,更加可以说是影响了80、90两代热衷于网游的人的一段青春。直到现在,要是聊起网游,还是可以在人群里听到“嗌,我也玩了很久梦幻大话哎!”拥有超过十年的游戏运营时间可以用来攒经验,这两个游戏的运行团队从中可以堆积起一个庞大的数据库和坚实的运营平台,他们深知玩家需要的是什么,市场需要的是什么,游戏需要的是什么,熟悉游戏运营的每个环节,能准确根据各种反馈数据来调整更新的内容。只要把手游市场的模式弄清楚,后期宣传好的话,这两个游戏不火都对不起我们十年青春。以上是必然。
偶然呢?我个人认为,手游是否能取得成功,关键在于他们吸引新玩家能做到什么程度。其实,端游的衰败,很大程度是因为对新玩家的吸引力变小了,可以说是游戏老化了。因为我没玩过手游,我无法对手游本身作评价,我说说我看到的。我身边几乎玩过端游的梦幻老玩家都多多少少玩了一段时间的手游。评价是比较好的,对端游鼎盛时期的还原程度比较高,画面比较精细趣致,玩起来比较流畅。其实呢,在这个版本推出之前,梦幻就出过一个版本的手游,但是它很大程度是为端游服务的,手游获得的物品和奖励可以通过端游兑现,而且可以用于扩大端游收益,基本上是没有非端游玩家参与进来的。但是,应该是从做这个旧手游,网易的手游研发团队得到了很大的提升,摸清楚了手游的运转和构建,为现在新版本的推出打下良好的基础。在我所知道的没接触过端游的手游版玩家中,有为了泡妞的男生(说明手游的玩家交流系统做的不错,玩家互动一直是梦幻做得好的地方),有觉得可爱才下载的萌妹子(画面做的加分也是很重要的),有被朋友拉近坑的新人(还是老玩家效应的延伸啊)。。。或许,手游发展的势头这样延续下去,即使端游失败了,梦幻会以另外一种形式继续存在于我们的世界中吧。离开梦幻是很多人很无奈的事情,但是在我看来也算是一种成长。能看到它换了一副躯壳,还是跟我一起成长着,还是很欣慰和高兴的。
冒烟测试和回归测试的区别:
冒烟测试是自由测试的一种。冒烟测试(smoketest)在测试中发现问题,找到了一个Bug,然后开发人员会来修复这个Bug。这时想知道这次修复是否真的解决了程序的Bug,或者是否会对其它模块造成影响,就需要针对此问题进行专门测试,这个过程就被称为SmokeTest。在很多情况下,做SmokeTest是开发人员在试图解决一个问题的时候,造成了其它功能模块一系列的连锁反应,原因可能是只集中考虑了一开始的那个问题,而忽略其它的问题,这就可能引起了新的Bug。SmokeTest优点是节省测试时间,防止build失败。缺点是覆盖率还是比较低。 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。
推荐您阅读更多有关于“黑盒测试”的文章