主题:[原创] 编写测试代码
代码审查也不是万能的,有很大的局限。比如代码审查的效率还是比较低。最重要的一点,代码审查阶段,代码是没有运行起来的。那么代码的实际运行情况是不是和预想的相符就不好说了。所以测试开发还要想办法让代码运行起来,看一段代码的实际运行表现是不是正确的。这时就要编写测试代码了。
比如针对一个函数,北京测试空间软件测评实验室(www.btestsky.com)测试开发要检查这个函数是不是能够完成该做的工作,对于不同的参数组合是不是能够正确处理,是不是做了不该做的事情(多干活也是不对的)等等。为了能够彻底检查这个函数的功能,测试开发就要编写一系列专门针对测试这个函数的代码,故意制造各种各样的环境让这个函数运行,然后分析函数的运行结果。这样经过一系列测试代码的检验,我们对这个函数就会有信心。
再比如,我们想要测试大量客户端同时链接服务器的情况。实际找很多玩家来要花费很多功夫,效率及其低下。而如果等到对外测试,刚开始开放服务器时,又太晚了,而且还不是随时碰到这种情况。这时测试开发就派上用场了。可以写一段程序,专门模拟大量并发的情况,虽然忽略了很多因素,但从中还是可以分析出来一些瓶颈所在。
编写测试代码还有个好处,就是可以经常运行测试。北京测试空间软件测评实验室(www.btestsky.com)程序员每天都在修改代码,如果可以很快运行测试的话,就可以提早发现问题。功能测试就不太容易做到这一点。因为有时开发提交的代码可能在界面上还不能表现出来,而且即时有表现,功能测试也会要安排测试计划,可能不能够即时测试到修改过的部分。
比如针对一个函数,北京测试空间软件测评实验室(www.btestsky.com)测试开发要检查这个函数是不是能够完成该做的工作,对于不同的参数组合是不是能够正确处理,是不是做了不该做的事情(多干活也是不对的)等等。为了能够彻底检查这个函数的功能,测试开发就要编写一系列专门针对测试这个函数的代码,故意制造各种各样的环境让这个函数运行,然后分析函数的运行结果。这样经过一系列测试代码的检验,我们对这个函数就会有信心。
再比如,我们想要测试大量客户端同时链接服务器的情况。实际找很多玩家来要花费很多功夫,效率及其低下。而如果等到对外测试,刚开始开放服务器时,又太晚了,而且还不是随时碰到这种情况。这时测试开发就派上用场了。可以写一段程序,专门模拟大量并发的情况,虽然忽略了很多因素,但从中还是可以分析出来一些瓶颈所在。
编写测试代码还有个好处,就是可以经常运行测试。北京测试空间软件测评实验室(www.btestsky.com)程序员每天都在修改代码,如果可以很快运行测试的话,就可以提早发现问题。功能测试就不太容易做到这一点。因为有时开发提交的代码可能在界面上还不能表现出来,而且即时有表现,功能测试也会要安排测试计划,可能不能够即时测试到修改过的部分。