
前文講到自動(dòng)化測(cè)試的概念,今天我們來談?wù)勛詣?dòng)化測(cè)試的意義,也即為什么要做自動(dòng)化測(cè)試。
通過觀察業(yè)界的自動(dòng)化測(cè)試實(shí)踐,總結(jié)有大致這么幾個(gè)點(diǎn):
一 . 它可以縮短測(cè)試周期,提高效率
前兩天聽羅輯思維,講到一個(gè)例子,有一位朋友的女兒剛剛學(xué)會(huì)說話,就接管了他的iPad,還沒怎么學(xué)會(huì)走路,就可以用iPad里的App畫畫,并操作一些復(fù)雜的任務(wù)。有一天,朋友將一張打印出來的照片放在咖啡桌上。他注意到女兒走上前去,努力拖放照片想使它變大。她嘗試了幾次,都沒有成功,然后困惑地看著他:“爸爸,壞了。”
人類已經(jīng)養(yǎng)成了一種做一件事情能夠得到反饋的習(xí)慣,并且這個(gè)趨勢(shì)會(huì)繼續(xù)下去,并且反饋速度越快越好。就像我們的工資能否變?yōu)榘刺靵戆l(fā)或者按照每小時(shí)來發(fā),這樣人類的工作是否更加有干勁呢?
軟件開發(fā)中的人們也希望寫好代碼快速得到反饋,越快越好,靠手工測(cè)試驗(yàn)證,反饋速度是無法接受的,一個(gè)轉(zhuǎn)測(cè)試版本測(cè)試1周甚至2,3周,人們已經(jīng)沒有耐心了,能否有什么辦法在1小時(shí),5分鐘,甚至秒級(jí)得到反饋,自動(dòng)化測(cè)試是一種較好的解決辦法,充分利用機(jī)器,集群替代人工,縮短測(cè)試周期,快速反饋結(jié)果。
二 . 避免人為出錯(cuò) 說到自動(dòng)化測(cè)試,與之對(duì)應(yīng)的就是手工測(cè)試,所謂“人非圣賢,孰能無過”,傳統(tǒng)的手工測(cè)試很大部分依賴于人,簡(jiǎn)單概括起來出錯(cuò)的可能性會(huì)有:
- 用例執(zhí)行方法出錯(cuò)
- 輸入數(shù)據(jù)出錯(cuò)
- 用例執(zhí)行步驟出錯(cuò)
- 測(cè)試報(bào)告數(shù)據(jù)出錯(cuò)
- 忘了執(zhí)行某些用例
- 忘了設(shè)置預(yù)置條件
- 錯(cuò)誤的理解被測(cè)系統(tǒng)的行為
通過實(shí)現(xiàn)自動(dòng)化,可以避免出現(xiàn)這些錯(cuò)誤,同時(shí)人類可以把精力投入到更有個(gè)價(jià)值的工作中。
三. 測(cè)試信息存儲(chǔ) 自動(dòng)化測(cè)試主要通過自動(dòng)化腳本實(shí)現(xiàn),和傳統(tǒng)的手工用例相比,腳本中可以記錄測(cè)試點(diǎn),測(cè)試拓?fù)鋱D,測(cè)試設(shè)計(jì)思路等信息,是非常理想的測(cè)試信息存儲(chǔ)處,即“腳本體現(xiàn)思路”。
同時(shí)帶來的好處是新人接收測(cè)試時(shí),可以快速掌握已測(cè)試點(diǎn),因?yàn)榭梢酝ㄟ^運(yùn)行了解測(cè)試。進(jìn)而如果對(duì)待測(cè)試用例像對(duì)待代碼一樣,做好版本管理,將達(dá)到測(cè)試可回溯的目的。
四. 輕易獲取覆蓋率 在較好的自動(dòng)化框架下,測(cè)試執(zhí)行完自動(dòng)化腳本,可以輕易的獲取到代碼覆蓋率,進(jìn)而根據(jù)覆蓋情況分析,進(jìn)行測(cè)試用例補(bǔ)充。
五. 其他 比如:自動(dòng)生成清晰的測(cè)試報(bào)告,定時(shí)執(zhí)行測(cè)試套,數(shù)據(jù)驅(qū)動(dòng)測(cè)試的測(cè)試套重用等。
最后, 自動(dòng)化測(cè)試增強(qiáng)軟件人員的幸福愉悅感。