自動化測試的錯誤定位[1] 自動化測試工具
做自動化測試的人,經常碰到這樣的問題:
上司:“腳本跑得如何了?找到BUG沒有?”
員工:“沒有!
上司:“沒找到BUG?!不可能吧?是不是你腳本寫得不夠好?”
員工:“自動化是拿來確保后期產品的質量的,不是來找BUG的”(心里一百個不情愿,埋怨上司不懂什么叫自動化,網上都這么說)
上司:(我給你哪么多時間你搭建的自動化就給我一個這樣的結果?)
自然,這樣的對話會讓上司覺得普及自動化的意義的存在與是否再愿意投入。
自動化測試的意義,在很早以前就被自動化老手定位在回歸測試中,或者說是由于主流的測試工具帶來的負面影響,目的在于確保工程質量。因此這個理念也隨著時間的推移根深蒂固,很多人不愿意思考,自動化就是回歸測試的人力代替品,這樣也導致了自動化普及成了一個瓶頸。敢說現在很多公司對自動化的重視遠遠沒有手工測試來得多,在這里與自動化的定位脫不了干系。
在這里先說下場景測試用例與功能測試用例,場景用例是測試建立在某種已模擬的環境上,包括數據準備,數據傳遞等的流程用例。而功能測試用例更偏重的是某個環節,控件等的可操作性與功能的測試用例。
普遍按照剛才的自動化回歸論,就是基本建立在場景用例的基礎上,“錄制-回放”的模式。我們需要的是產品的定型,穩定后,我們的自動化工作才能展開。自然,在團隊開發中,自動化工程師就成了一個單打獨斗的角色,并且自動化的優勢被這樣的定位完全弱勢化,自動化工程師早期就在哪里涼菜,后期又跟著別人后面跑,如果你是領導,你會被說服去讓產品如此自動化嗎?
我們在長期的實踐中,我們慢慢摸索出如何讓自動化的更為容易被大家所接受,普及并改進。在這里我們重新對自動化測試定位:
獨立于產品的成熟與穩定
早期能建立在功能測試用例基礎上,并開展測試,后期建立于場景用例基礎上
更大的貫穿軟件生命周期
可維護性
通用性
敏捷性
高效性
為什么如此定位而且我們要如何做到呢。 軟件測試
一、定位能獨立與產品的成熟與穩定,這點是很多自動化工程師所期望的,與第二點其實有著必然的聯系,也是因為我們建立在功能測試用例的基礎上,讓我們能不局限于產品的現態。關于產品的穩定,我們使用了基于功能測試的自動化腳本,主要需要把握的是對異常的捕獲,它越不穩定,我們抓到的BUG會更多,自然也需要考慮到錯誤恢復。
文章來源于領測軟件測試網 http://www.kjueaiud.com/