自动化测试如何保证产品质量

2018-01-30  籽藤 

测试人员思考最多的问题,恐怕就是如何才能发现更多更有价值的 Bugs?如何才能更好地避免产品质量上的风险?谈到自动化测试这个话题,出于职业本能,人们往往会第一时间想到的就是:自动化测试如何保证产品质量?


别着急,咱们要追本溯源。在回答这个问题之前,先想想看:测试如何保证产品质量?


对于测试,存在两种极端认识:一种是“测试无用论”,认为开发人员就可以搞定所有测试工作,不需要专业测试人员;第二种是认为“待测产品的所有问题都应该被测试人员发现”。


对持有这两种观点的人,笔者并不能苟同。我们可以把测试人员比作医生,拿医生治病来举例。第一种人否定测试人员的价值,好比此人只是小病小疼,自己吃点药就搞定了,不需要看医生;又或者这人接触过的大多是庸医,根本没有提供过有效的帮助,以致于他对医生失去信心。第二种人把产品质量的全部责任都压在测试人员头上,好比他以为医生是万能的,能发现他身上所有的问题。


正因为没有放之四海之内皆准的测试,测试人员本身也面临不少误解,那么对于“自动化测试如何保证产品质量”这种问题就更要留个心眼。笔者非常认同 Cem Kaner 教授的观点,“软件测试是一种技术调查,目的是向相关干系人提供产品相关质量的实验信息”( http://testingeducation.org/wordpress/ ) 。测试人员不是“质量卫士”,测试既不会提高质量,也不会降低质量。尽管有不少公司会把测试人员称为 QA ( Quality assurance ),直译就是“质量保证”。但质量是构建出来的,不是测试人员测出来的。因此,测试人员不能保证产品质量,质量保证应当来源于整个产品团队。

既然通过测试不能保证质量,靠自动化测试更无法保证。


综上所述,关于自动化测试保证产品质量的说法,本身就是个伪命题。


那么,应该如何看待自动化测试与质量的关系?

Cem Kaner 的观点给了我们不少启发,笔者认为测试是一项服务性的工作,测试人员在经过一系列信息收集、技术调查后,应当对产品提供质量反馈。而合理有效的自动化测试,则能够快速获得反馈,从而帮助产品快速迭代。这正是自动化测试的价值所在。


NOTE:上文摘自《Selenium 自动化测试之道》跳转门

635°/6351 人阅读/0 条评论 发表评论

登录 后发表评论