关于软件测试的谈话

来源:互联网 发布:阿里云简单应用 编辑:程序博客网 时间:2024/04/30 20:49

最近,其实是一直,在思考关于软件质量、测试以及QA这个工作的价值和发展相关的问题。除了看书和思考,也和很多人聊天,公司的朋友,还有网上的同行。从他们那里听到很多好的经验和见解。今天正好和一位资深人士(以下称为My Friend)聊天,觉得蛮认同他的一些看法。这里贴出一些聊天记录,和大家分享。不涉及隐私,应该还好,如果不小心伤及他人请原谅,因为有时候聊天的心态是“我喜欢激烈一点的有价值的看法胜过正确的废话”。聊天的东西比较随意和口语化,不过我觉得也是更直白的讲出了很多的道理。如果你有什么comments,也欢迎交流  :)

 

很多事情不会自然的变清楚,只有不算的去思考,去学习,还有最重要的,去交流。下面是今天看到的一句很深刻的话。
“不是笨,而是懒;不是懒,而是骄傲;不是骄傲,而是封闭。”

 

......
My Friend 说:
 我个人觉得,做 QA 最好的结果是,专业的 Consultant
 看专长在哪里
Ricky Q. 说:
 你是说testing相关的consultant吗?
My Friend 说:
 testing 领域很广
Ricky Q. 说:
 恩,我的意思是说不是product domain相关的consultant?
My Friend 说:
 testing methdology development, 像 tool design and development
 像 database performance tuning
Ricky Q. 说:
 是的,国外好像这样的蛮多的,有自己的著作,工具,甚至公司和业务
My Friend 说:
 像 security assessment
 像 tool evaluation and purchase
Ricky Q. 说:
 嗯,是蛮多的
My Friend 说:
 再大,可能就是 TQM, 一个公司可能只有一两个的 quality manager, 统看 operation 的 quality
 可大可小
Ricky Q. 说:
 只是目前大家的观念还没有把这样的专长当成是job track,或者说是还没有人能做到那么专深的程度
 TQM?
My Friend 说:
 total quality management
Ricky Q. 说:
 哦
My Friend 说:
 TQM 好像是从日本做起来的,他们的汽车工业吧。。。好像
Ricky Q. 说:
 不过现在业界都要求测试要往开发周期的更前面走,去做 prevention
My Friend 说:
 如果简单翻译成测试,大概就是事后做的,但是如果是模拟测试,就是在设计是就做 prototype 来 simulation test 了,那种才能 prevent
 当然,根据过去的数据来修改 process 也算是 prevent 啦
 不过,方法已经不同
 其实,就是设计的时候就要做模拟测试啦
Ricky Q. 说:
 嗯,是的,前段时间做个尝试,找了几个人把几个主流产品的最近release的所有install相关的tracker分析了一遍
 发现还是有相当多的共性,算是fail pattern吧,觉得以后应该可以在design和设计case的时候做得更好。不过目前类似的尝试还很少
 目前QA会很早期involve去参与讨论design,但是去prototype验证还做得不多
My Friend 说:
 这些其实是该给 design 和 coding 的人,建立 design 和 coding 的 discipline, 但是现在才不会 garbage-in, garbage-out, 但是现在,大都是给 QA 做 test case, 一点鸟用也没有,
 Dev/QA 比例不对,主因是 garbage-in 太多,如果 Dev 太过于 junior 还有理由,如果 Dev 很 senior, 就有很大的问题
 哈哈,个人看法
Ricky Q. 说:
 你觉得比例应该是怎样的?
My Friend 说:
 QA 多是很浪费的
Ricky Q. 说:
 呵呵,没事,我喜欢激烈一点的有价值的看法胜过正确的废话
My Friend 说:
 这跟 Dev 的 senior 程度有很大的关系
Ricky Q. 说:
 嗯,最近听了一个Google QM的演讲,他也是类似的看法
 认为code出来本身就应该有很高的quality,而不是QA去测最基本的feature
My Friend 说:
 只能说,Dev 越是 senior, QA 应该越是少
Ricky Q. 说:
 我们的QA 现在大部分时间还是function测试,包括manual和auto,这样去研究产品,domain knowledge,竞争对手,测试工具和方法的时间都比较不够
My Friend 说:
 QA 有 level, junior 的叫 technician, senior 的叫 engineer
 回归到 what is engineering? what is engineer?
Ricky Q. 说:
 嗯,很好的思考
My Friend 说:
 如果只是做 function testing, 恐怕还不是 engineer 该做的,只是 technician 做的,就是技工吧?照着操作手册( test case),一步一步做
 技工是什么概念?高中毕业,受训后拿专业证书就是了
Ricky Q. 说:
 本质上很多东西和传统行业是一样的
My Friend 说:
 对啊
 是一样
Ricky Q. 说:
 现在其实很多人都有上进心,或者危机感,但是很多东西还想得不清楚,方向也不是太明确
My Friend 说:
 QA 要自己搞清楚,不要流为 technician
Ricky Q. 说:
 你的比喻很好,比照这个更容易弄清状况和方向
My Friend 说:
 我们的研发部门,其实不该有 technician 的工作,或是应该很少,这些garbage 工作,其实是 garbage in 的,造成 garbage out 后一大堆
 既然有了,还是要做,但是 QA 不能以为做 garbage out 的 cleanup 工作是正职哦!
Ricky Q. 说:
 嗯,目前大部分工作还是finding garbage 
My Friend 说:
 其实,公司是便宜了 QA, 做 technician 的工作,却付 engineer 的 $$$
Ricky Q. 说:
 嗯,但是这样不会长久
My Friend 说:
 会,我觉得会很久
Ricky Q. 说:
 但是从个人发展角度,青春就浪费了 
My Friend 说:
 本质没有改变,就会持续
 会换人做 cleaner, 然后继续付 engineer 的钱
Ricky Q. 说:
 恩,coding的方面也需要提高,否则还是要很多cleaner
My Friend 说:
 如果 QA 自己搞不清楚,做了 cleaner 后,以为做 cleaner 是正职,这个 QA 以后恐怕也只能做 cleaner
 当然,做久了自然会觉悟啦
Ricky Q. 说:
 听了你说的这些,思考开阔了很多啊!
My Friend 说:
 上次在网上遇到一个ms 的,做过 QA, developer, 然后做 manager 的,她说 "怎么可能那么多bugs,如果developer能写出那么多bugs,那种developer是不会进ms的"
 事实如何?不知道,但是,人家说是就是吧,写那么多 bug 的 developer 是不该存在的
 这种 developer 应该掏腰包付 QA technician 的钱
Ricky Q. 说:
 呵呵,是的
My Friend 说:
 然后 公司付 engineer 的钱给 QA engineer, 哈哈, double pay....
Ricky Q. 说:
 公司可能会说先把QA 砍一半,剩下的double 
My Friend 说:
 那也无妨,但是 garbage-in 的还是要掏腰包。。。哈哈
Ricky Q. 说:
 那样公司就要上black list,没人敢来了
My Friend 说:
 当然,junior 的会比较多 garbage-in 啦
Ricky Q. 说:
 我有时候想如果没有那么多basic function的bug,我们很多东西可以做得更精细,产品可以更好
My Friend 说:
 可是 senior 的恐怕不敢写 code 了
Ricky Q. 说:
 :)

原创粉丝点击