QA 该具备什么要的能力?(1)

2014-07-22   出处: kojenchieh.pixnet.net  作/译者:kojenchieh

每次在面试QA时, 很多人都不知道QA是什么, 它需要什么样的能力. 所以每次我都要很多时间来一一解释.

其实这也不能怪面试者, 软件测试本来在台湾就不是显学, 学校根本就不会教, 并且说不定连软件工程的课都没有开, 所以大家都不会.

其实这另一方面也显示了台湾软件界落后, 大多人只知道软件开发里, 只有写程序和项目经理两种角色, 事实上台湾业界大多也只有这两种.

让我们回归正题, 首先, 对于QA所要具备的能力, 我第一要提当然是软件测试.

很多人觉得测试很简单, 人人可以做好软件测试. 是这样吗? 撇开复杂的测试理论不说, 让我们来看看一个简单的范例, 看看是否测试向你说的这么简单.

有一个程序, 会读入三个变量, 这三个变量是代表三角形的三个边的长度. 然后这程序会决定这个三角形是正三角形, 等腰三角形, 普通的三角形, 或是不是三角形.

若是有人写出这样的程序, 你要准备哪些数据来确保这个程序能够运作正确?

一开始有些面试者根本不懂甚么是测试, 所以把受测程序的内容用C 或是其他语言写出来给我

若是我看到这里, 我就十分肯定他完全不懂测试.

接下来有些面试者, 他会回答: 写个程序自动产生测试数据, 输入所有input的组合, 去测试这个程序.

那我会知道这个面试者认为test automation是无所不能的, 可以cover任何测试.

我会问他, 若是这个input的type是integer(32bits长), 那2147483647 X 2147483647 X 2147483647会有多少组合, 要跑多久你的测试程序才会结束.

并且你没有产生expected result, 那测试程序跑完后, 你还要一个个检查actual result是否正确, 你觉得你这样做可行吗? ROI高吗?

比较好一点的面试者, 便会回答我, 他会将input分成不同状况, 每个状况找些代表性的value来做测试. 因此他会列出
  (3,3,3) 正三角形 
  (3,3,4) 等腰三角形
  (4,5,6) 普通的三角形
  (2,1,4) 不是三角形

我接着会问这样就够了吗?

更厉害的会回答   
  (-1, -1, 4) 
  (0,4,3)
  (0,0,0)
开始处理一些错误的状况, 包括负数, 0, 等等 

到这里我会问他还有吗? 是否这样就可以了, 大部分的到此就停住了. 那我会问他以下状况是否需要考虑
  ('a', 60, 62)
   
所以大部分的面者听到这里,就会知道软件测试是远远比他所想的复杂. 因为这里不但有复杂的测试理论, 还需要有创造力, 否则你不会想到有这些test data要加入.

此外, 除了上述的functional testing外, 还有performance testing, stressing, security testing等等, 这些都是有他的学问在的.

所以要当一个好的QA, 他必须要花时间去研读软件测试相关知识, 而不是很单纯认为测试很简单, 任何人都可以来做的, 不需要有测试的knowledge.


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
469° /4691 人阅读/0 条评论 发表评论

登录 后发表评论