5 实现
5.1 编码
5.1.1 代码约定
1.文件编码
2.自定义的函数名使用通俗易懂,一目了然的名字
4.列长限制
注意花括号的匹配,在代码换行时至少缩进4个空格,缩进不要用tab,增强代码的可读性和美观性。
5.注释
注释应少而精,注释的作用只是用来增加重要的代码段的易读性,代码的关键处应有注释。
6.变量声明
每次只声明一个变量,不要使用组合声明,需要变量时再声明,不推荐同时初始化很多变量,尽快将刚刚定义的变量进行初始化。
7.命名约定
变量命名应遵循见名知意、简洁的原则,变量名的定义要以可读性为主,不要使用模糊的变量名进行定义,同时也要避免中英文混用。
8.成员顺序
每个自定义函数功能模块应该以某种逻辑排序成员,使维护者能解释这种排序逻辑。
9.慎用条件判断。
10.使用大括号合理的囊括循环的代码段。
11.减少代码嵌套
减少嵌套方法:(1)合并初始条件条件相同的代码段;(2)利用return以省略else;
5.1.2 代码编写原则
1)关键代码段的注释应该尽可能全面
对于方法的注释应该包含详细的入参和结果说明,自定义函数的注释应该包含该函数本身功能的说明。
2)多次使用的相同变量最好归纳成常量
多处使用的相同值的变量应该尽量归纳为一个常量,定义为define类型,直接引用,并且可以方便日后的维护。
3)尽量少的在循环中执行方法调用
尽量在循环中少做一些可避免的方法调用,这样可以节省方法栈的创建。
4)常量的定义可以放到define中。以减少常量定义和引用的次数。
5)包装类和基本类型的选择
如果使用基本数据类型来做局部变量类型,尽量使用基本数据类型,因为基本类型的变量是存放在栈中的,包装类的变量是在堆中,栈的操作速度比对快很多。
6)尽早的将不再使用的变量引用赋给NULL
7)如果引用指针的话最后要关闭指针,并对开辟的内存空间进行有效回收,避免内存资源空间的浪费。
8)函数最短原则(不多于30行)。
9)变量单一职能原则(一个变量只允许承担一个责任,针对每次赋值,创建一个独立。对应的临时变量。循环变量和收集结果变量除外)。
10)函数单一职能原则(一个函数只做一件事情)。
11)for循环单一职能原则(一个for循环只做一件事情,也许你会考虑效率问题,但不经过测试是没有发言权的)。
11)三次原则(事不过三,三则重构)。
5.2 测试要点
5.2.1 登录测试要点
登陆测试要点:
使用合理的测试用例对游戏界面的测试
1.按照游戏界面的提示,按下正确的按键。观察程序的反应。
2.输入默认值,空白,空格;
3.如果程序只允许输入字母,尝试输入数字;反之,尝试输入字母,
4.强制输入程序不允许的输入数据,观察程序是否能正确处理非法数据。
5.2.2 主界面测试要点
主界面测试要点:对用户按键输入进行测试。当用户按下错误的按键,系统如何处理。
测试方法:
1)当用户按下指定的按键是观察系统给出的相应。如单击“帮助”,正确执行操作;再按一下帮助按钮,退出帮助界面。
2)对非法的输入或操作给出相应的相应,并应该给出足够的提示说明。
3)对可能造成数据无法恢复的操作必须给出明确的错误提示信息,给用户重新输入的机会。
5.3 测试结果和总结
对该项目的测试结果符合预期的结果,对各个模块都做了相应的单元测试,谈谈个人的一些看法,比如没有需求,也没什么任何文档或有少量不全文档;提交测试大部分是到了开发的后期,有一部分项目是快验收了,才提交测试。面对这些问题,一直未有很好的解决办法,个人觉得测试人员针对这些问题可以自己作一些调整,以期更好的完成测试工作:
1. 得到了测试任务之后,可以首先看看功能能不能正常走通。
1.1 根据功能做一个基本的测试计划,并写明一些测试方法(如边界值,等价类划分等)。
1.2 开始要实施测试了,一边写测试用例一边执行,如果可以最好是先写测试用例然后执行,没时间写完整的用例时,可以列出需求点,针对每个需求点来进行测试。同时在执行中及时的补充与修改。
1.3 要整理出对功能中不明白之处,可以找相关人员可以是PM沟通。这个一定要坚持直到得到明确的答案。
2. 学会换位思考,将自己当成客户
这是非常重要的,在测试中你可能会发现,有时无法关注测试的重点。
有时客户表达的需求,开发团队所理解的需求,以及客户真正使用时的需求,有重大的差别;
这时你需要静下心来,将自己当成客户,如果是客户他会怎样来操作这个界面,同时他要这个功能主要想完成哪些工作,如何才能更方面操作、更快捷的完成工作。
如此反复几次,这种思考方式将对你的测试非常有利。
3. 非常复杂的业务逻辑,学会庖丁解牛,分解成一小块一小块测试
有时你会碰到这种情况,所要测试的模块业务逻辑非常复杂。
这时你该怎么办呢?工作中一定要静下心来,认真仔细的分析这个业务。由简单到复杂,简单的测试通过后才能做复杂的测试。而不是一开始就做复杂的测试。
4. 求助开发或PM
还有一种业务或者服务,因为作为测试开发经验较少,所以有时程序的方法还不是很了解。也不知道这个功能是怎么实现的,但为了做到百分百的测试。你需要求助于开发或PM,让他们来帮你完成测试方法或用例。
同时更重要的是,你要以他们给的方法和用例为基石,设计出更好的更全面的测试方法。
程序源代码:https://coding.net/u/xiaotangyuan/p/heibaiqi/git/blob/master/%E9%BB%91%E7%99%BD%E6%A3%8B.cpp