關(guān)于自動化測試的一些思考
時至今日,進項目組已經(jīng)半年了,對自動化測試也有了更深刻的認識和理解。
為什么要進行自動化測試?要回答這個問題,先了解一下測試背景。我們項目所使用的軟件開發(fā)模型是agile,agile開發(fā)的scrum模型,整個大項目分成一個個小team,每個team都有一個scrum master。Scrum master 根據(jù)每個人的情況安排任務(wù),制定sprint plan。我們的測試有兩條線,一條是main line ,一條是branch line,平均每個sprint是一個月(22個工作日),差不多每周要出2個build,每個sprint大概4-7個build。版本迭代非???,周期短;對于QA,每個人要負責(zé)至少一個component,每個component有200-400個case,每個case如果手工測需要2分鐘左右,再加上整理test summary,將測試結(jié)果上傳到ALM,時間往往不夠用。因此單純的依靠手工測試,workload 非常大,占用時間非常多,顯而易見;另外的一個問題是regression,有很多情況下新發(fā)布的版本并未修改你所測component的code。當(dāng)然,除了workload的另外一個因素就是沒玩沒了的meeting,stand up meeting,各種on line meeting,無形中會影響一個人的工作進度。這時候矛盾就凸顯出來,在人員有限,工作量很大的情況下,測試風(fēng)險極大的情況下,急需一種解決方案—就是自動化測試。
自動化測試有什么好處:
a) 節(jié)省人力,只要代碼維護的好,不需要那么多人就可完成測試
b) 節(jié)省時間,測試腳本可以晚上或者是周末跑測試腳本
c) 優(yōu)化資源分配,在運行測試腳本的同時,QA可以做其他事,比如設(shè)計新測試用例
d) 方便regression,極大提高效率
e) 增加軟件的可信度,測試是機器執(zhí)行的,排除了手工測試時因人為情緒而發(fā)生的隨意性或疏忽性,測試結(jié)果更可信
f) 能完成手工不易控制的工作,比如采集系統(tǒng)cpu占有率信息,手工計算很復(fù)雜,還要進行數(shù)據(jù)比對,使用腳本更簡單,更方便。
自動化測試的缺點:
a) 腳本維護成本高,尤其是版本變動比較大,對項目來說,是潛在的風(fēng)險
使用什么自動化測試工具,對于client端的同學(xué)來說,一般是QTP,而對于server端的,我們使用的是perl和shell寫的自動化測試框架。
原文鏈接:http://www.cnblogs.com/tobecrazy/archive/2012/12/18/2824248.html