观点1:测试只是开发的附庸
我的理解:回答这个问题其实很简单,只需要反问一下为什么需要设置测试这个岗位,让开发人员自己来验证为什么不行。首先开发人员在开发工程中是存在一些思维定势的,在测试的时候有意无意有可能会绕开一些坑,因此必须引入其它人员来做测试验证。由此可见,测试人员的独立思维非常重要,需要考虑到测试覆盖的广度和深度。对于开发给出的测试建议只能是作为参考,测试人员必须形成对产品的应用场景和容易出问题的地方有自己的理解。从项目的角度来看,测试(或者叫QA)最终给出的测试报告和建议,应该是项目经理决定是否推荐客户使用该版本的重要参考。
观点2:测试人员不需要代码能力
我的理解:这个要看具体的测试工作。有些工作可能只是鼠标点点,看看视频的画质和流畅度,看上去确实不需要什么代码能力。但是考虑到测试的自动化,测试工具都是需要用代码堆起来的。即便是有现成的测试工具,积累测试用例(脚本)也是需要一定的代码能力。当然,如果测试人员本身对硬件对代码有更深的理解,绝对会体现在测试质量上,也是成长为“老鸟”的一条康庄大道。
观点3:测试的自动化程度越高越好
我的理解:测试自动化确实可以提高验证效率,尤其是体现在版本快速迭代急需反馈的时候体现的更为突出。但是自动化测试是无法代替手动测试的。这是由自动化测试的天然缺陷导致:
- 测试脚本覆盖点较为固定,步骤也较为固定
- 测试脚本难以覆盖一些复杂模块交互的情况
- 测试脚本的更新可能会滞后
-
有一些场景是很难自动化
虽然引入随机变量或是将一些脚本的测试步骤打乱可以缓解上述缺陷,但是并没有从本质上解决缺陷。当然,任何一种测试方法都不是完美的,具体的方法,需要根据所处行业的实际情况进行摸索和归纳。