干测试也有一年多了,偶尔也会静下心来思考一些问题,但很多思考的结果都似灵光一现——过后就忘掉了,实在可惜,以后就记在这里吧。
正文:
技术类思考
软件工程的任何一个部分——从需求分析、架构设计到最后的Debug——都能引入Bug,有时候是单个引入,而有时候则是一窝一窝地引入。所以,优秀的测试员理应掌握丰富的软件工程知识。很难想象一个不懂材料力学和结构力学的工程师能够验收刚刚建好的大厦。
测试员不但需要学习编程,而且需要学习各种编程。初级测试员可以站在用户的角度上去观测和使用软件,以期找出Bug所在,但高级程序员更需要借助程序的原理来剖析更深刻的东西。毫不夸张地说:如果想深度测试Web程序,你应该学学Hacker;如果想研究.NET的程序,你应该学会MSIL;如果想深度Debug原生代码,你应该学习汇编、了解PE文件格式;如果想深度测试软件的安全性,你应该学学破解;如果……总之,理想的测试员应该比程序员更深一个层次。