程序自测
1.程序自测的目的
开发自测和测试的侧重点是不一样的,开发自测不是为了替代测试的工作,而是在提交测试之前,尽可能找到可能存在的bug,从而降低修复成本
2.开发之前需要做的
- 首先对业务场景一定要弄清楚,有哪些场景会调用将要编写的这段代码;
- 其次对上面的业务场景哪些没有把握,这个是后面要重点自测的;
- 最后需要从代码上考虑各种分支、异常情况,做到一切都在我的掌控中。
可以做个List,等开发完成时,重点测试开发时的问题
3.代码审查
开发之后要对自己的代码进行审查(用bug的分级模式标注)
- 常规项(Major)
- 代码有没有报错?
- 代码能够工作么?有没有实现预期的功能,逻辑是否正确等。
- 所有的代码是否简单易懂?
- 代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释。
- 是否存在多余的或是重复的代码?
- 代码是否尽可能的模块化了?
- 是否有可以被替换的全局变量?
- 是否有被注释掉的代码?
- 循环是否设置了长度和正确的终止条件?
- 是否有可以删除的日志或调试代码?(删除之前一定确认,是否存在依赖关系)
- 安全项(Major)
- 检测是否存在编码问题(检查是否存在乱码)?
- 无效的参数值是否能够处理?
- 检查数据输入不合法或者边界值的情况,对程序的影响(检测正确的类型,长度,格式和范围)?
- 检查一起执行的方法是否包含在同一个事务?包含分布式的事务?
- 考虑是否存在并发的问题?
- 在哪里使用了第三方工具,返回的错误是否被捕获?
- 代码规范(Trivial)
- 是否有注释,并且描述了代码的意图?
- 所有的函数都有注释吗?
- 对非常规行为和边界情况处理是否有描述?
- 第三方库的使用和函数是否有文档?
- 是否有未完成的代码?如果是的话,是不是应该移除,或者用合适的标记进行标记比如‘TODO’?
- 代码优化(Trivial)
- 性能方面的考虑
- 重复代码方面的考虑
4.功能测试
可以在测试的测试用例中选取正常流程的测试用例,测试当前功能是否正常工作,输出值是否符合预期
开发阶段的时间毕竟是很有限的,特别是做小需求和升级版的时候更是如此,开发同学不可能也不能像测试那样先列出用例,再一个个执行。开发自测要做的是从代码角度有重点地测试,有所测,有所不测。
资料搜集于网络