測試老兵整理的一整套實戰心法

最近訂閱了「eBay中國研發中心測試基礎架構技術主管」 茹炳晟的測試專欄,老師就面對勢不可擋的ABC(AI + Big Data + Cloud)技術浪潮和軟件測試的變革,給出了一些總結和建議,現分享給你們:安全

第一,自動化測試在軟件質量工程中的地位發生了質的變化,從本來的「以自動化測試爲輔」變成了「以自動化測試爲主」。架構

因此,你不只須要從業務自己出發來對軟件進行手工測試驗證,還須要掌握完整的自動化測試開發技術來設計自動化測試用例。併發

第二,傳統軟件企業的產品發佈一般以「月」爲單位,所以,測試執行總時間不會成爲關鍵問題。可是,對於互聯網企業,尤爲是大型電商網站,產品上線週期一般都是以「天」甚至是以「小時」爲單位,留給測試的時間很是有限,這也就對測試執行總時間提出了極大的挑戰。爲了解決這個難題,你須要一套完善的高併發測試執行基礎架構的支持。框架

因此,做爲測試工程師,你就必須掌握設計開發測試基礎架構的關鍵技術。ide

第三,隨着自動化測試的規模化,測試數據準備的各類問題被逐漸暴露並不斷放大,成爲影響自動化測試效率以及穩定性的「攔路虎」。早期的傳統測試數據準備方法,不管是從測試數據準備的時間成本,仍是從測試數據的穩定性和測試數據建立的便利性上看,都已經很難適應大規模自動化測試的要求。高併發

因此,你必須系統性地思考如何才能將測試數據的準備工具化,服務化,最終實現平臺化。工具

理想是美好的,但道路每每是曲折的,由於你和我都很是清楚,技術人想要「一口吃成胖子」幾乎是不可能的。可是,不要氣餒,下面這個「三步走」的策略,助你破繭成蝶。性能

第一步,成爲互聯網時代合格的測試工程師。學習

若是你是入行不滿3年的測試工程師,必定對此有迫切需求。此時,你必須具備快速學習的能力,能迅速掌握被測軟件的業務功能與內部架構,並在此基礎上運用各類測試方法,儘量多地發現潛在缺陷,並可以在已知缺陷的基礎上進一步發現相關的連帶缺陷。測試

從知識體系上看,你須要有比開發人員更全面的計算機基礎知識,還須要瞭解互聯網的基礎架構、安全×××、軟件性能、用戶體驗和常見缺陷等知識。從測試技術上看,你須要可以使用常見的測試框架或者工具,須要具備必定的自動化測試腳本的開發能力,這能夠把你從大量重複的工做中解放出來,而後你纔能有時間去作更有意思的工做。

第二步,成爲互聯網時代優秀的測試工程師。

若是你想從「合格」變爲「優秀」,那必須先認識到二者的差距在哪裏。

首先,合格的測試工程師關注的是純粹的測試,而優秀的測試工程師關注更多的是軟件總體的質量,須要根據業務風險以及影響來制定測試策略,有效控制測試的時間和成本,而且可以對測試框架以及工具作出適合項目需求的選型。

以新房裝修爲例,合格的測試工程師就是各個工序的裝修師傅,他們只管按照設計要求作好本身的工序,而優秀的測試工程師更像是個包工頭,他們關心的是總體交付的質量。

其次,優秀的測試工程師不只能夠嫺熟地運用各種測試工具,還很是清楚這些測試工具背後的實現原理,以及多個同類測試工具各自的優缺點和適用場景。

在遇到問題時,你還須要可以經過二次開發解決工具和框架層面的問題,對於沒有合適可用工具的場景,能夠自行設計開發一些小工具來更好地展開測試工做。

固然這個階段,你頗有可能會接觸到一些代碼級的測試,這就要求你具備必定的開發背景,並可以很好地理解代碼級的測試技術。

最後,隨着自動化測試用例的不斷增加,自動化測試的關注點也從本來的「如何把手工測試步驟用自動化腳本實現」變成了「如何構建低維護成本,能夠靈活組裝的自動化腳本」,這就要求你理解自動化腳本的分層設計、頁面對象模型以及業務流程模型,而且可以把這些設計應用到你的測試框架裏。

第三步,成爲互聯網時代的測試架構師。

當你經歷了各類類型的測試項目,就會發現這些項目自己雖然差別巨大,可是有不少東西是相通的。

好比,面對大量測試用例的執行,不管是GUI仍是API,都須要一套高效的可以支持高併發的測試執行基礎架構;再好比,面對測試過程當中的大量差別性數據要求,須要統一的測試數據準備平臺。

這樣的例子還有不少,若是你已經可以站在這樣的高度看待軟件測試,那麼恭喜你,你已經具有了測試架構師的視野。固然,你還必須對一些前沿的測試方法和技術有本身的理解,並可以在恰當的時候、因地制宜地把它們應用到實際項目中。

相關文章
相關標籤/搜索