美文网首页
测试代码走读的一些思考

测试代码走读的一些思考

作者: 海的那一边 | 来源:发表于2020-09-03 15:28 被阅读0次

在测试的过程中,有时会针对一些前端的代码片段进行走读,发现一些潜在的bug。但是回顾这个过程,发现基本是纯天然的走读,没有代码走读的一些标准或流程作为参考,于是上网搜了一些资料,希望可以在以后的实践中能将代码走读规范应用完善起来。

测试进行代码走读的意义有哪些?

1.发现bug
2.确认公共函数是否变更,评估影响范围,加强影响范围的功能测试
3.扩展了定位问题的思路
4.了解功能内部实现,更加熟悉功能
5.增强测试质量的信心

代码走读要注意哪些事情?

设计
本次变更的代码段与系统的其他部分可以良好地集成吗?这个变更应该属于代码库,还是属于某个包?现在是引入这个变更的好时机吗?
在设计层面上,我理解的是整个代码的架构设计、设计模式方面的东西。具体到实践中的例子,有一些新增的方法可能会影响之前的方法的逻辑,有逻辑重复的地方,需要对两个方法做已调整。或者暂时不用的变量是否需要出现之类的。在这块,我暂时不能提出什么更好的建议,究其原因,还是编程能力太弱,如果熟悉这个东西,提不出更多好的建议也是可想而知的事情。
功能
功能是否正确,逻辑是否全面合理,是否有异常处理,是否对数据的值和范围是否合法进行校验,是否有并发问题等
对于这一块,我认为测试可以做很多工作。对于功能实现,可以查看是否和需求、设计文档或接口文档描述一致,对于一些逻辑分支,可以查看(有流程图的可参考流程图)是否覆盖了所有的逻辑分支、逻辑判断的表达式是否正确。
命名
开发人员是否使用了良好的命名方式?好的命名要能够充分表达一个项(变量、类名等)是什么或者用来做什么,但又不至于让人难以阅读。
这块也可以大概查看一下,看看命名是否有意义,是不是有相似命名的方法或接口,会有混淆之类的。
搜到一个js命名规范,可以看一下:
js命名规范
注释
开发人员有没有用自然语言写出清晰的注释?他们所写的注释都是必需的吗?
这块在逻辑比较复杂、或者重点方法(别的代码中会经常使用)需要详细而且清晰的注释,便于别人阅读。
文档
确保代码实现和相关文档保持一致。
日志
是否记录了关键日志,方便定位问题。
测试
是否有适当的单元测试。
复杂度
是否难以理解,或者过度设计。

综上,测试中可以针对功能(逻辑、数据合法性校验、异常处理)、命名、注释、文档、日志等进行关注。

代码走读进阶

可在以下链接中查看:
代码走读原则
测试如何进行代码走查?
这些文章分别从程序结构、函数检查、资源、服务、架构、程序流程、性能、线程安全、数据库处理等方面做了详细的描述。

目前要全部达到这些还很难,但是有些还是可以来使用和实践,可以向这些方向去思考,看代码中有没有先关的问题。
不同的语言、不同的框架有通用的一些东西,也有自己特别的点,不可能有统一的规范,找到并完善适合的规范流程显得很重要,继续在实践中总结吧。

参考:
测试如何进行代码走查?
代码走读
代码走读原则
谷歌开源内部代码评审规范

相关文章

  • 测试代码走读的一些思考

    在测试的过程中,有时会针对一些前端的代码片段进行走读,发现一些潜在的bug。但是回顾这个过程,发现基本是纯天然的走...

  • 关于单元测试方法论本质的思考

    最近一直在思考单元测试,也研究了一些测试代码中出现的怪现象,当然测试代码中的怪现象和生产代码中的怪现象,和生产代码...

  • neutron\plugins\ml2\drivers\type

    代码走读

  • TestNG框架源码走读三:测试用例执行

    TestNG框架源码走读一:入口TestNG框架源码走读二:测试套执行 上一篇测试套执行主要介绍了SuiteRun...

  • 突然的意外

    模块写好后,自己测试了好几遍,又对照着策划文档和策划同事确认了一些疑问,走读了这个模块,策划验收了,测试同事也测试...

  • dubbo服务发布源码阅读

    写在前面 这里只走读基本流程的代码。保证最少的代码走读,了解dubbo的服务发布流程,至于其扩展特性及服务治理相关...

  • MXNET-Symbol(三)

    动手写一些测试代码

  • 9.pytest用法和调用

    1.pytest的六种退出代码 退出代码0: 收集并成功通过所有测试退出代码1: 收集并运行测试但一些测试失败...

  • Golang RWMutext 代码走读

  • 8. (2.6) TDD

    测试驱动开发 测试驱动开发(TDD)是一种软件开发的方法,它建议你应该为一些代码写测试,然后继续写一些真正的代码使...

网友评论

      本文标题:测试代码走读的一些思考

      本文链接:https://www.haomeiwen.com/subject/hssnsktx.html