“第三方中立,你会说人总是测不好自己写的东西,因为有思维定式。没错,我同意。但是如果是 Dev 交叉测试呢?你可能会说开发人员会有开发人员的思维定式。那这只能说明开发人员还不成熟,他们还不合格。没关系,只要吃自己的狗食,痛苦了,就会负责的。”
思维定式、个人习惯、自我保护意识是三个魔鬼
当然测试人员也有这三个魔鬼,所以测试负责人在安排测试时,一般会交叉测试,具体的涉及到测试策略的问题,就不在这里说了
越多的测试越能保证产品的质量,所以一般都会要求开发人员对自己的程序进行测试,会有代码评审,会有同行评审,其中的原因也就不言而喻
“磨刀不误砍柴功。如果你开发的东西自己在用,那么自己就是自己天然的 QA,如果有别的团队也在用你开发的模块,那么,别的团队也就很自然地在帮你做测试了,而且是最真实的测试。”
说的没有错,是测试,但是不完全的测试,对于质量我们追求的是质量的零缺陷,虽然那不可能实现,而实现的基础是专业、系统、完整的测试
“关于自动化测试。所谓自动化的意思是,这是一个机械的重复劳动,我想让测试人员思考一下,你是否在干这样的事?如果你正在干这样的事,那么,你要思考一下你的价值了。但凡是重复性比较高的机械性的劳动,总有一天都会被机器取代的。”
知道为什么人没有被机器人替代么?
因为人有无穷无尽的思想
“关于线上测试。我们都知道,无论自己内测的怎么样,到了用户那边,总是会有一些测试不到的东西。所以,有些公司会整出个 UAT,用户验收测试。做产品的公司会叫 Beta 测试。无论怎么样,你总是要上生产线做测试的。对于互联网企业来说,生产线上测试有的玩A/B测试,有的玩部分用户测试,比如,新上线的功能只有 10% 的用户可以访问得到,这样不会因为出问题让全部用户受到影响。做这种测试的人必然是开发人员。”
UAT是用户会要求进行的,如果不做接收测试,客户不满意你的项目,后期的款项如何收回?
Beta测试一方面是通过线上的真实情况,检查程序的功能、性能,同时也是对市场的试探、对用户的试探,观察市场、用户对产品的响应,为公司的后期决策做以参考。
写在结尾:
对于你的耐心,Tester Chen很感谢,成文时间仓促,如有不妥,希望留下你宝贵的意见、建议。