如果把测试看作一场战争,那么测试之前,我们需要掌握哪些情报呢?
所谓知己知彼,百战不殆。
测试之前,我们要了解包括测试目标(敌方)和测试团队(我方)两方面的情况。
1. 了解软件的设计原理和实现方式
测试之前,我们必须要了解清楚我们的测试对象。虽然,开发人员会提供软件研制任务书、需求规格说明、设计说明这些文档让测试人员来了解,但这可能还不够。**应当让测试人员多和开发人员沟通,甚至让设计人员和开发人员给测试设计人员进行专门的培训和讲解,**让测试人员尽早全面准确的了解软件的内部情况,比如数据结构元素大小、并发处理方式、异常处理方法等。
2. 了解软件的实际应用环境
测试环境对测试效果有非常大的影响。在测试之前,要了解清楚软件的实际应用环境,以期在搭建测试环境时尽可能地逼近真实的软件应用环境。测试人员一方面通过软件研制任务书和需求规格说明等需求文档了解软件运行环境要求,另一方面测试人员要利用各种到用户现场与用户交流的机会,听取用户未来使用软件时的质量要求,以及了解测试环境的重心。
对于我方,主要了解测试人员的能力特点,做到知人善任。
在常见的测试团队中,通常有4种人员类型:
A类人:擅长做和实施,不擅长想和研究。
B类人:擅长想和研究,不擅长做和实施。
C类人:喜欢写代码,不喜欢找bug。
D类人:擅长沟通和协调。
我们在建立测试团队时,要了解每个成员是哪种类型,以便对其进行合理的测试任务分配。比如选择具有D类特长的人去收集用户的测试需求,选择B类人来进行高质量的测试设计,而让A类人去快速高效地执行设计好的测试,让C类人辅助A类人去编写测试代码和测试脚本。这样,我们就可以发挥出每个测试人员的能力和特长。
所以,正如要打胜仗,需要知己知彼那样,在测试之前按照知己知彼的思路,也能得到一个高效率高产出的测试团队,并由此取得令人满意的测试效果。
这正是:
知己知彼打胜仗,用于测试也应当
测试对象要清楚,人员状况了如掌
参考文献:软件测试精要,董杰,电子工业出版社。