软件测试目的与质量

1 Star2 Stars (No Ratings Yet)
Loading...
209 浏览

“请大家说说测试的目的是什么?”最有代表性的答案有两个:一个是“测试的目的是找bug”,一个是“测试的目的是为了保证质量”。第一个答案错的具体,找出bug是测试活动的结果,而不是测试目的。第二个答案错在质量观,其实测试是无法保证质量的,这个我会在后面详细解释。

 经过长时间的思考,我觉得测试目的不是单一的,而是有两个目的混合在一起的:测试的目的是双重的,攻守兼备的,守是指代表客户去验证系统功能,避免客户遇到重大质量问题,攻是指评估系统的质量,为是否发布提供必要支撑信息,这个我称为测试双重目的性。 了解了测试的双重目的性,那么,就该谈谈理性质量观了,这是因为测试的成功取决于因地制宜的攻守平衡策略,如果相关领导缺乏理性质量观,那么,就将导致测试的攻守失衡,导致质量灾难或者极大的浪费。 理性质量观认为:  1.软件质量是内建的,主要应由开发人员负责,测试活动只能守护一些关键场景,并给出客观的质量信息评估,不应对软件质量负主要责任;  2.测试应该是一项风险驱动的、需要严格衡量投入产出比的活动,需要根据行业特点,确定合理的质量标准;  3.只有将开发和测试完全地混合在一起,不分彼此,才能够真正获得好的质量,不应试图去隔绝开发测试团队,甚至再区分隔绝不同测试团队; 假如领导持有“测试能保证质量”这种非理性质量观,将会导致在系统出问题就对测试领导问责,测试领导出于自身乌纱帽的考虑,就会倾向去采取一种全守策略,案例全面覆盖,流程全面自动化测试(就是我前文所说的传统自动化测试),不允许任何bug上线。但其实,全面覆盖的成本其实是任何企业的人力都无法覆盖的,这时,具体测试人员只有瞒天过海,冲大测试案例数量,号称全面覆盖,这样做反而容易丢了西瓜捡了芝麻,皇帝的新衣早晚有被揭穿的一天。但是,故事到这里并没有结束,在错误的质量观指导下,领导做出的反应很可能是再加大测试投入,再增加一层测试,结果开发时间不断被压缩,开发更关注于摞代码而更不关注代码质量,最终代码质量更差。 “质量问题零容忍”是另一种非理性质量观,它同样会导致更多的测试人员,更高的成本,甚至是更差的质量。团队还是需要根据产品、行业的实际特点,设定切合实际的质量目标,例如,互联网行业其实就已经利用了灰度发布等技术,降低上线版本的质量要求,缩短测试时间,在上线后再逐步提高质量,提升开发测试效率。 了解更多软件测试相关就业分享及资讯,请关注:http://www.newjob123.com/index.php/zh/weekend-seminar.html?channel=51wenzhang 致电咨询:416-644-1998

阅读其他最新创业天地: