小李飛刀,例無虛發(fā)领舰。只出一刀夫嗓,無人能擋,只因天下武功無堅不摧冲秽,唯快不破舍咖。
相比敏捷開發(fā)的火遍地球,敏捷測試就低調(diào)太多了锉桑,我們所熟知的敏捷宣言又名敏捷軟件開發(fā)宣言排霉,內(nèi)容及其遵循的十二條原則沒有提到關(guān)于敏捷測試的只言片語,作為測試人員出身的我真是感覺莫名的心塞啊民轴。別急攻柠,讓我們仔細(xì)研究研究敏捷宣言,咦后裸,貌似有了新的發(fā)現(xiàn)瑰钮!
“可工作的軟件”、“持續(xù)不斷地及早交付有價值的軟件”微驶,都跟測試有著剪不斷理還亂的關(guān)系浪谴。不同于敏捷宣言的含蓄,工程實踐就直接的多因苹,“測試驅(qū)動開發(fā)”苟耻、“行為驅(qū)動開發(fā)”,哪一個能離得開測試扶檐?既然敏捷追求“快”凶杖,那么“快”當(dāng)然也是敏捷測試所追求的。
敏捷強調(diào)測試與研發(fā)并行款筑,強調(diào)提前測試智蝠,強調(diào)及時反饋提交代碼質(zhì)量,強調(diào)持續(xù)交付可用軟件奈梳。寻咒。。這些強調(diào)颈嚼,無疑增加了測試的工作量毛秘,如果依靠傳統(tǒng)的手工測試,那結(jié)果只有一個阻课,失斀行!那么如何能做到這些強調(diào)呢限煞?答案當(dāng)然是自動化測試抹恳。自動化測試相比手工測試有著不可比擬的優(yōu)越性,執(zhí)行效率高署驻,及時反饋奋献,持續(xù)驗證健霹。。瓶蚂。
自動化測試概念由來已久糖埋,筆者十多年前剛工作時候自動化測試就已經(jīng)很流行,當(dāng)然那時候流行UI自動化測試窃这,即通過模擬人工操作來實現(xiàn)自動驗證瞳别。UI測試工具也有太多選擇,Rational
Robot杭攻、WinRunner祟敛、SilkTest、QTP等等兆解,筆者當(dāng)年做自動化測試的時候選擇了非主流工具Testpartner馆铁,花了大半年的時間實現(xiàn)了80%的覆蓋率,每次版本轉(zhuǎn)測試锅睛,雖然可以起到回歸的作用叼架,但是面對很多的測試失敗也是無能為力,每次都需要手工篩選衣撬,然后再花精力進行腳本維護乖订。筆者的經(jīng)歷還算比較好,起碼每個版本都還在使用具练,能夠起到回歸的作用乍构。比較殘酷的是,超過50%的UI自動化測試嘗試都以失敗告終扛点。UI自動化測試之所以經(jīng)常以失敗告終哥遮,大部分原因都是UI變更導(dǎo)致,UI的頻繁變更陵究,使得自動化測試腳本的維護成了不可承受之重眠饮。
從那張著名的測試金字塔可以看出,UI自動化測試應(yīng)該占到很小的比例铜邮,比例這么小仪召,UI自動化實現(xiàn)的范圍就是個學(xué)問了。該如何選擇呢松蒜?大部分人選擇的是將冒煙測試的內(nèi)容實現(xiàn)UI自動化扔茅,既然冒煙測試每次都會人工驗證,那我們何不實現(xiàn)一些更有價值的內(nèi)容呢秸苗?答案是經(jīng)常變更的TOP10功能召娜。如何得到呢?試試配置管理工具吧惊楼。工具玖瘸?你可以接著用QTP秸讹,當(dāng)然墻裂建議你了解一下CUCUMBER!
除了UI自動化測試雅倒,單元測試和接口測試(業(yè)務(wù)邏輯測試)應(yīng)該實現(xiàn)更高的覆蓋率璃诀,之前我們有一篇文章介紹過接口測試,請回復(fù)“測試”查看屯断。至于單元測試草讶,不會期望測試人員實現(xiàn)吧昆庇?單元測試和接口測試相比UI自動化來說有很多優(yōu)勢:方便定位問題稿饰,運行速度更快测蘑,更穩(wěn)定拭卿,代碼更容易維護妖枚。匾荆。俯在。
自動化測試是敏捷測試不可分割的一部分搔确,無自動化不敏捷彼棍!