國內(nèi)大互聯(lián)網(wǎng)公司如何做測試
這里說的測試不單純是某些測試書上常說的測試, 也包括測試開發(fā)。我理解測試的職責主要包括:
2V+EP: validition+verification+Engineer productivity
流程管理: 介紹下傳統(tǒng)流程和敏捷流程
從這兩方面介紹下測試需要做的事情。
validition即正確性檢查
可以概括為以上幾點,每個工作都可以做很多事情
verification+Engineer productivity 效果驗證和工程師生產(chǎn)力(效果級別的目前接觸的不多, 所以放在一起說了)
這里面的效果驗證一直沒有挖掘出太多可以做的地方, 我針對的是后臺測試相關(guān)的, 作為后臺的一個模塊或者一些算法, 很難直接在用戶的層面驗證程序的效果。 所以大多只是所一些監(jiān)控。
EP解釋下,就是能節(jié)約人力成本的工作。這方面有很多工作可以做, 還可以挖掘更多,通過自動化減少手工的工作;服務(wù)化讓qa的工作前置,避免bug發(fā)現(xiàn)過晚;通過流程規(guī)范化可以在整個項目甚至整個公司對流程達成共識,減少因為流程的不規(guī)范導致的線上問題和時間浪費;敏捷可以讓我們持續(xù)繼承,持續(xù)發(fā)布, 迭代更快,效率更高。
項目流程方面:
傳統(tǒng)的流程大概可以概括為:調(diào)研,立項,需求討論,詳設(shè),詳設(shè)評審,編碼,自測,代碼review,提測,測試設(shè)計,測試報告,根據(jù)上線單上線,最后線上進行確認和監(jiān)控。不同的項目可以根據(jù)項目級別進行流程裁剪。比如D類項目或者小需求就不需要測試或者詳設(shè),直接自測了就上線等;不同公司略有差異。 上面所有的流程QA都需要參與, 并了解自己的職責,怎么樣能更好的提高效率和避免風險。
在往敏捷方向發(fā)展的過程中,流程差不多是這樣:
從我做的PPT中拷貝過來的,知道這個圖畫的挺丑,請原諒我的偷懶.
這里面的quick job 和slow job 即為比較快的自動化case, 例如單測,靜態(tài)掃描,功能測試等。
slow job表示比較慢的case, 比如性能測試,系統(tǒng)測試,大數(shù)據(jù)測試等。
沙盒和預(yù)上線都是能模擬線上的mini環(huán)境,沙盒qa維護和測試使用,預(yù)上線環(huán)境op維護和預(yù)上線驗證使用,預(yù)上線也可以成為ab test。 這里也因不同公司而有差異
因為迭代比較快,qa的壓力也會更大, 整個過程中的自動化建設(shè), 持續(xù)繼承的case等都需要完善,才能更好的避免風險,并且加快項目發(fā)布。