作为服务端测试人员,查看开发代码是必须的,只有这样才能清楚服务端内部的逻辑,帮助我们了解(1)逻辑是否完整(2)基本路径是否正确(3)完善用例,部分逻辑测试人员从黑盒角度无法考虑到。
开发工具Eclipse或者IDEA都可以,这里主要是讲讲IDEA遇到过的一个坑。一般开发都会用git工具作为代码版本管理的工具,这样方便多人开发以及版本回退。一般情况下,测试人员只需要查看代码,不需要有更新操作,因此使用git工具的话只需要用到pull的功能,不断的下拉新的代码就可以了。不过单纯通过查看代码的方式解读逻辑,是一件很费力的事情,哪怕是开发人员也没法仅仅依靠走查的方法来读懂所有逻辑。为了读懂代码,我们可能需要去调试,调试就涉及到对代码的改动(这里的改动主要是新增一些日志的打印,尽量不要去修改里面的方法)。一旦对代码改动进行改动,下次更新代码的时候就会遇到冲突的问题,我们可能需要回滚的方法把我们修改的地方全部删掉。下拉新的代码后,再次调试又是走之前反复的路。
为了避免这些重复的工作,在不影响开发代码本身的情况下,可以本地新建一个测试的分支,我们再测试的分支上进行调试,开发发布新的代码后合并到测试分支上。
具体步骤如下(TortoiseGit或者git命令都可以):
1. 先使用git工具把开发的代码拉下来,比如开发分支为develop,使用命令git branch可以查看当前本地的分支
2.在开发代码下新建分支 develop_Test,命令:git branch develop_Test。
3.切换到新建的分支: git checkout develop_Test
4 在开发更新代码时,先切换到develop分支,git checkout develop
5.下拉最新的代码,git pull origin develop
6.合并代码到本地测试分支:(1)进入本地测试分支 git checkout develop_Test (2) 合并代码到本地git merge develop
一般情况下测试人员只是添加辅助性的代码,合并不会存在冲突,如果对源码改动较大,可能需要慢慢解决冲突的代码。
在具体实施过程中遇到一个坑,切换分支的时候,从develop切换到develop_Test正常,从develop_Test切换到develop就会遇到错误,提示.idea文件夹下某个文件存在冲突,同时IDEA开发工具上源码文件无法加载。
这个问题跟IDEA这个工具有点关系,IDEA在加载源码的时候,会新增.idea文件夹和*.iml文件,这样的文件是不应该加入版本控制的。由于对这个不了解,在develop_Test代码进行commit的时候,把.idea文件夹和*.iml一并提交了,导致切换分支一直报错。另外需要添加.gitignore,在.gitignore文件中新增 需要忽略版本控制的文件,例:
.gitignore本身也需要忽略的,其他如果发现需要忽略版本的也可以一并提交。
.因此我们再使用IDEA+git新建分支的时候,新建.gitignore文件忽略不需要版本控制的文件,提交本地代码时不要提交这些文件到本地仓库中。