QA 該具備什麼要的能力? (2)
第二個我要提的是程式開發的能力.
有人會很好奇, 為何QA需要懂開發呢? 其實不然, 對於你要測試的東西, 你怎麼能不懂它怎麼做出來的呢?
若是你能懂軟體開發, 你會有以下好處:
1. 你可以用RD聽得懂的話, 來跟RD溝通. 不會讓RD你在是講哪國的外星文
2. 你可以挑戰RD的設計, 畢竟多點人一起思考, 一定比一個人周密.
3. 你可以分析debug log, dump和對照source codes, 便可以幫助RD找出可能的roor cause.
4. 你可以撰寫比較好的test automation.
5. 你可以要求RD提高testability
....
好處是說不盡的, 它會讓你的專業受到很大的尊敬, 讓你的辛苦受到認同, 讓別人覺得你是很有價值的.
通常有些面試者會說test automation應該很好寫不是嘛? 我若是RD背景出身的, 不是很容易上手.
其實不見得, 因為這牽扯到你是否很會做架構設計.
這是為什麼呢? 因為測試程式比一般程式更容易受到需求變動的波及.
當過RD的一定知道, 不到最後關頭, interface絕不輕言固定, 之前講好的東西, 常常一直在翻修. 更不用講還包括客戶需求的變動以及UI的小調整.
所以你若是沒有很好的架構設計, 來預防這些變動, 你的測試程式往往一周過後就無法再繼續執行, 不是介面已經不一樣, 就是expected result需要修改.
可是就算都沒有變動, 也不代表你不需要好的設計.
我常舉測試license key的測試程式為例. 你若只是單純的準備一些license key (如2010/09/30過期)來驗證一些功能, 或是是否過期等等, 或許這幾個月可以運作的很好. 但是若是我明年又要執行這個測試程式呢? 相信這些test data應該完全不能用吧, 因為可能全部都是過期的license key. 所以你的測試程式必須要能動態的產生test data以及相關的expected result. 這就需要更進階的設計, 讓你的測試程式有彈性.
此外, Microsoft的QA 99%都是會寫code的, 這件事情更說明了懂軟體開發, 是QA一個不可或缺的武器.
留言列表