2,? 按照文档说明和,填写下表 Start room 示例A A A A A B B B B B C C C C C D D D D D E E E E E Input Goto A Goto B Goto C Goto D Goto E GotoA Goto B Goto C Goto D Goto E Goto A Goto B Goto C Goto D Goto E Goto A Goto B Goto C Goto D Goto E Goto A Goto B Goto C Goto D Goto E Output B,C ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???????? 3,? 针对扩展需求1和2,测试背包功能,描述你的测试思路和方法。
一道AS3面试题的解答
题目:
对一批编号为1-100全部开关朝上(开)的灯进行以下操作:
开关编号凡是1的倍数反方向拨一次开关;若该编号也是2的倍数反方向又拨一次开关;若该编号又是3的倍数反方向又拨一次开关……以此类推一直计算到100为止。
目的:请trace出经过反复开关操作后所有关闭的灯的开关编号。
这是我写给大家看的易懂版本:
var?n:int,?m:int; var?range:int?=?100;
for(var?i:int?=?1;?i?<=?range;?i?++){ ??n?=?1; ??while(true){ ????if(n?>?i?/?n){ ??????break; ????}
????if(i?%?n?==?0){ ??????if(i?/?n?==?n){ ????????trace(\结果\ ????????break; ??????} ????} ????n?++; ??} }
下面是写着玩的缩写版本,不过正常写项目代码,我不会这样干的,在这儿只是娱乐一下而已。下面这段代码想玩就看看,不想玩的看上面就行了,判断原理是一样,没区别!
var?n:int?=?1,?range:int?=?1000;
for(var?i:int?=?1;?i?<=?range;?i?+=?n?=?1){
??while(n?>?0)?n?=?n?>?i?/?n???0?:?!(i?%?n)???i?/?n?==?n???-1?:?n?+?1?:?n?+?1; ??if(n?==?-1)?trace(\结果\ }
我将range都改成100000后,第一种方法耗时7233毫秒,第二种缩减的写法耗时1840毫秒。对于易读易懂,你会选择那种方法呢?
对于暗泪同学的回复,下面增加一点内容:
其实上面写的是正常算法,如果2亿次,通过分析题目,可以得出只要该数能被开平方时,就是关闭状态,因此这道题目如果是写在项目里面,可以这样写:
var?range:int?=?00; var?num:int?=?(range,;
for(var?i:int?=?1;?i?<=?num;?i?++){ ??trace(\结果\ }
我测试过10亿次的效率,仅需要6毫秒~何其快啊!
游戏软件功能测试——测试用例的编写方法浅谈
一、 游戏软件与通用软件的区别
a) 通用软件的需求明确,游戏软件需求理想化
i. 通用软件中用户每步操作的预期结果都是明确且有规范可参考的,而网游中并不是所有的需求都有一个明确的预期结果,拿技能平衡性来说,我们所谓的平衡也只是相对的平衡,而非绝对的平衡。没有什么明确的参考参数。只能根据以往游戏的经验获得一个感知的结果。
ii. 网络游戏中的某些功能是有预期结果可参考的。例如组队、交易,而另外一些带有策划创意的功能,却是根据策划个人的理解,来确定其预期结果的。人的思考力都是有限的,所以不能保证在他的创意中会考虑到各种各样复杂的细节。也不能够保证这个创意就可以完全被用户所接受。
当你作为游戏测试人员时,很多时候你需要做的不仅仅是验证功能。也需要帮助开发者和用户找到一个互相容忍的平衡点。游戏软件的测试员带有对策划需求的怀疑,力求通过自己的努力在玩家和开发者之间将可能产生的矛盾减小。
b) 通用软件开发过程中需求变更少,游戏软件开发过程中需求便更快
i. 通用软件的使用人群和软件的功能针对性,决定软件从开始制作就很少再有新的需求变更。而游戏软件,为了满足玩家对游戏的认可度,策划需要不断的揣摩玩家的喜好,进行游戏功能的改进。加之网游制作本身就是一个庞大复杂的工程,开发者不可能做到在开发的前期,就对游戏架构及扩展性做出最好的评估。所以导致为了满足用户的需求而不断的进行一些基础架构的修改,基础架构的修改必然导致某些功能的颠覆。所以就出现了,游戏开发过程中的一个恶性循环,当基础架构修改到满意了,玩家的需求又有了新的变化,随之而来的又要进行新的调整,再进行新的修改。最终导致了游戏软件的开发周期不断加长。任何一个有经验的团队,对于每一个影响基础的改动都应该做出正确的评估。
二、 网游有哪些测试内容
a) 性能 i. 客户端性能 ii. 服务器端性能 1. 服务器 2. 数据库 iii. 网络 b) 功能
i. 从运行完 打开游戏界面后可进行的各种操作、玩法 ii. 界面 iii. 音乐 c) 自动化
i. 测试工作组织实施中需要的工具、软件、平台的开发
ii. 自动化的回归测试作用:游戏中基础的、变动不大的、出错率高的、可进行 checklist 重复测试的功能、性能等自动化是一个好方法
iii. 任何时候自动化都取代不了人脑,它只是将一些重复性的劳动从我们测试人员身上去掉,让我们有更多的时间做更有意义的事情,如果你觉得你做一件事情是重复的,且有规律可行的,不防考虑自动化
三、 游戏中针对功能性测试测试用例编写浅谈
先了解下游戏中有哪些功能:
a) 游戏发开中的功能有哪些
i. 不同的游戏对于功能的划分不同,但是目前主流一些功能划分中有以下内容: 1. 基础操作
2. Npc 3. 地图
4. 装备 5. 剧情 6. 技能 7. 人际
8. PVP 9. ……
这样我们很简单的将整个游戏的功能进行了划分,划分完毕,下来的工作就是针对某个功能的测试了。很多人都问过一个问题,游戏测试中测试用例到底有什么用。下面继续 ~
b) 游戏测试的测试用例有什么作用
i. 测试执行过程中,按照用例指示的操作检查操作结果是否正确,记录测试过程中发现的 bug ii. 按照用例的执行结果确认功能的通过与否,也有的按照用例的覆盖率来确定单服测试的通过与否
iii. 便于回归测试的执行 这样讲应该比较明白了吧。
c) 测试用例应该包括什么——测试执行过程中所需的所有信息,举例说明下。例如: i. 表头:功能名称、案例编写人员、编写时间、测试人员、测试时间 ii. 正文:功能点、测试点、测试输入、预期结果、实际结果 iii. 用例执行结果统计 d) 功能点模块化理念
都知道一个复杂庞大的系统,程序在实现时会将其分成若干模块按照模块功能优先级进行实现。我们测试过程中也采用这种方法,将复杂的功能点按照实现功能进行分类,分类后的测试点,再进行分类,直至细分成为一条条用例。就像庖丁解牛那样。