测试工程师的任务
要点
“测试工程师的任务就是为了找到错误而去运行程序或系统。”
——迈尔斯,1979年
心得
只是为了找到缺陷或者单纯为了追求找到的缺陷的数目,这种工作未免太简单了。实际上如我们前面所说,测试工作是质量保证工作。我们认为测试工程师有4大任务。
1.质量测量(Quality measurement)
精确并可量化地确定程序的特性或性能是否满足质量标准,我们要使用有说服力的标准和数据来定义质量,并使其他人能按照该标准的要求进行软件开发。
2.提升软件质量(Drive quality upstream)
帮助软件开发工程师找到问题并提升代码和软件应用质量。
3.预防缺陷(Defect prevention)
在软件设计阶段对软件的可测性提出建议,以及通过正式的规格说明复审(Specification Reivew)和代码复审(Code Review),来预防缺陷。就好像医生一样,一开始我们只能“有病治病”。到后来我们就能发现规律找到病因,并有能力研发疫苗做到提前预防。
4.以客户为中心(Customers focus)
永远要以客户为中心,分析客户的需求,掌握客户资料。微软公司就专门建立了客户反馈收集系统,通过收集PSS数据、Watson数据等措施来帮助提高自己的软件产品质量,以在更新包(Service Pack)和下个版本(Next Release)中让用户更满意。
The evolving role of a test engineer
“Today testers will tell you that their primary job is to find bugs. But, we all know that testing will never find all the bugs, and it is impossible to “test in “quality. Significantly improving product quality requires a change in our engineering practices. In order to impact the future, our testers need to have greater skills and be involved at every stage in the development cycle. Testing needs to evolve to ensure engineering quality from product conception onward. Testing needs to understand how to build a quality infrastructure, , and how to maximize the impact of testing while remaining agile and improving testing efficiency.”
——S. Somasegar (VP DevDiv)