小程聊微服務-增藝眼中的本身主動化測試

假設說「生活不只僅有眼前的苟且,還有詩和遠方」的話,那麼本身主動化測試能夠說是很是多測試人員心中的「詩和遠方」。數據庫

這裏寫圖片描寫敘述

「詩和遠方」OR「禁果」markdown

測試本身主動化,需要持續改進。但由於其自己是一種過於激動人心的想法:用程序去測試程序——解放了測試人員的生產力。節省大量的人力成本。這就有點「禁果」的意思了。數據結構

一個常見的行動模式是:在實施本身主動化測試時,設定一些量化指標,好比依據業務、接口、模塊設置的覆蓋率。工具

技術團隊在完畢指標的過程當中,以完畢指標爲中心而忘記了爲何要進行本身主動化測試。其結果是各項指標都完畢了,但是沒人能說清本身主動化測試的效果和價值,而技術人員也沒有熱情再繼續下去。終於,本身主動化測試僅僅能「被完畢」了。post

那怎樣避免本身主動化測試的誘惑,或者減小誘惑的影響呢?學習

三觀,你的三觀要正設計

本身主動化測試,有開發的過程,有測試的過程,說究竟,依舊是測試的過程。因此本身主動化測試。依舊遵循測試活動的基本內涵:反饋信息——它是幫助技術團隊得到關於軟件產品質量信息的反饋手段,這是實施本身主動化測試的中心。接口

評判本身主動化測試是否有效的標準,就是本身主動化是否能夠幫助技術團隊獲取質量信息,其關鍵就在於本身主動化測試的測試分析與設計。生命週期

沒錯。本身主動化測試的測試分析與設計圖片

什麼?本身主動化測試也需要進行測試分析與設計嗎?不是就把手動運行的用例本身主動化就好了嗎?

確實,本身主動化測試實施的一個常見的活動模式是:選擇工具或者腳本語言、肯定哪些手工運行的用例需要運行,錄製或編寫運行的腳本。配置測試數據。運行測試。

這個模式中就沒有本身主動化的測試分析和設計。而對工具的研究學習通常是開展本身主動化測試的第一步。特別是對於以往作功能測試的同窗而言,掌握工具比測試分析和設計是更顯而易見的技能加分項。

但工具卻不是本身主動化測試的是否能有效的關鍵。

測試分析與設計是測試活動是否能有效的關鍵,本身主動化測試也不例外。好比,在數據庫表結構變動的場景中,咱們需要分析怎樣確認需要進行驗證的數據特徵?怎樣構造這些測試數據?怎樣驗證數據結構變動先後,程序對數據新老數據的處理是符合需求的?這些均可以使用本身主動化的達到手工測試不一樣的效果。

但這好像和咱們以爲的本身主動化測試不太同樣呀。是的,本身主動化測試並非是將手動運行的用例本身主動化,它有本身的測試領域,像生成大量的測試數據、多組合的測試數據、發起大量的請求、觸發資源競爭、運行嚴格的結果檢查、高速報告結果等等,它在幫助你完畢手工難以完畢的事,而不是幫你完畢手工能夠完畢的事。你的每一次測試活動。假設有手工沒法完畢的事。那麼你就應該考慮本身主動化測試,並對本身主動化進行測試分析和設計。而假設沒有手工沒法完畢的事,咱們則需要考慮是否是遺漏了什麼。

那把手動運行的用例本身主動化做爲迴歸測試不可行嗎?

「啪啪啪」,有多是打臉

看狀況。

本身主動化是否用於迴歸測試?用例是否本身主動化?等等,選擇一個合適的本身主動化測試策略,需要關注:測試需求、軟件系統結構、人員能力。

對於需要從業務的角度進行的迴歸測試而言,更需要關注產品的迭代節奏或者生命週期。畢竟複雜的業務邏輯、改動已失效的測試的時間成本。一般都會給以爲本身主動化測試能夠節省人力成本的人狠狠的一記耳光。

但這並非說業務測試的迴歸就不能本身主動化。其關鍵在於劃定業務範圍。一個經驗是使用「業務邏輯-失效風險」的分析。將業務邏輯依照功能失效後帶來的風險進行分析後,圈定高風險業務邏輯進行本身主動化。嚴格保證高風險業務的可靠性。

還有一種方法則可使用冪律分佈,咱們常說的2/8原則就是其一個體現:依據生產業務的使用狀況,將常用業務邏輯進行本身主動化,保證其可靠性。

這裏咱們依舊堅持的理念是讓本身主動化幫助咱們完畢咱們手工作不了的,而不是替代手工測試。

「沒有兩片一樣的葉子」,也沒有兩次一樣的手工測試

測試,給人的一個錯覺就是反覆性,包含有些公司在招測試人員的時候會有一條叫「能夠勝任反覆性工做」。但試問,誰會手工運行N次一樣的測試呢?一個測試人員,他在運行什麼測試不重要,他爲何要運行這個測試——背後的分析思考才重要。

本身主動化的測試,能夠替代的是一樣的運行。卻沒法替代人的分析與思考。而軟件產品在研發迭代的過程。是團隊不斷地把新的分析思考注入當中的過程。測試工做面對的是始終在不斷變化的測試需求。因此測試的分析思考,包含手工和本身主動化的測試也需要不斷地迭代改善。

「僅僅有改善,沒有成功與失敗」

對於有專門本身主動化測試的小組而言,通常會以項目的形式開展本身主動化,制定任務的行動計劃表或者里程碑等進行跟蹤管理。而我的實施本身主動化,則相對自由寬鬆。

但無論小組仍是我的,爲了能夠保持持續改善的動力。最重要的一點是讓每一步工做是有效的,實施團隊或我的能夠從本身主動化測試的過程當中及時獲得正向反饋。對於小組的負責人而言。這是讓團隊保持動力的關鍵。一個經驗是,任務拆解細化。參考OODA環。週期性進行回想調整。還有一個負責人必須關心的事是。需要週期告知本身主動化測試的利益相關方眼下的狀況。好比技術團隊、領導層、上下游合做方等。讓你們看到一個持續改進的過程,樹立對本身主動化測試的信心。

「生活不只僅有眼前的苟且,還有遠方的苟且」

聊到這。很是多人已經感到本身主動化測試並非是「詩和遠方」,更像是「遠方的苟且」——沒有美感、沒有情懷。對,咱們所面臨的都是一個一個詳細的問題,拆開看很是挫。很是細碎,需要有勇氣去面對。

參禪打坐3分鐘

無論發生什麼都要認真對待,這就是工做的真諦。[1]

[1]摘自《零售的哲學》

相關文章
相關標籤/搜索