1. 程式人生 > >小程聊微服務-增藝眼中的自己主動化測試

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

一次 ide his 和我 包含 設計 最重要的 發的 設置

假設說“生活不僅僅有眼前的茍且,還有詩和遠方”的話,那麽自己主動化測試可以說是非常多測試人員心中的“詩和遠方”。

技術分享

“詩和遠方”OR“禁果”

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

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

技術團隊在完畢指標的過程中,以完畢指標為中心而忘記了為什麽要進行自己主動化測試。其結果是各項指標都完畢了,可是沒人能說清自己主動化測試的效果和價值,而技術人員也沒有熱情再繼續下去。終於,自己主動化測試僅僅能“被完畢”了。

那怎樣避免自己主動化測試的誘惑,或者減少誘惑的影響呢?

三觀,你的三觀要正

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

評判自己主動化測試是否有效的標準,就是自己主動化是否可以幫助技術團隊獲取質量信息,其關鍵就在於自己主動化測試的測試分析與設計。

沒錯。自己主動化測試的測試分析與設計

什麽?自己主動化測試也須要進行測試分析與設計嗎?不是就把手動運行的用例自己主動化就行了嗎?

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

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

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

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

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

那把手動運行的用例自己主動化作為回歸測試不可行嗎?

“啪啪啪”,有可能是打臉

看情況。

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

對於須要從業務的角度進行的回歸測試而言,更須要關註產品的叠代節奏或者生命周期。畢竟復雜的業務邏輯、改動已失效的測試的時間成本。通常都會給覺得自己主動化測試可以節省人力成本的人狠狠的一記耳光。

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

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

這裏我們依舊堅持的理念是讓自己主動化幫助我們完畢我們手工做不了的,而不是替代手工測試。

“沒有兩片同樣的葉子”,也沒有兩次同樣的手工測試

測試,給人的一個錯覺就是反復性,包含有些公司在招測試人員的時候會有一條叫“可以勝任反復性工作”。但試問,誰會手工運行N次同樣的測試呢?一個測試人員,他在運行什麽測試不重要,他為什麽要運行這個測試——背後的分析思考才重要。

自己主動化的測試,可以替代的是同樣的運行。卻無法替代人的分析與思考。而軟件產品在研發叠代的過程。是團隊不斷地把新的分析思考註入當中的過程。測試工作面對的是始終在不斷變化的測試需求。所以測試的分析思考,包含手工和自己主動化的測試也須要不斷地叠代改善。

“僅僅有改善,沒有成功與失敗”

對於有專門自己主動化測試的小組而言,一般會以項目的形式開展自己主動化,制定任務的行動計劃表或者裏程碑等進行跟蹤管理。而個人實施自己主動化,則相對自由寬松。

但不管小組還是個人,為了可以保持持續改善的動力。最重要的一點是讓每一步工作是有效的,實施團隊或個人可以從自己主動化測試的過程中及時得到正向反饋。對於小組的負責人而言。這是讓團隊保持動力的關鍵。一個經驗是,任務拆解細化。參考OODA環。周期性進行回想調整。還有一個負責人必須關心的事是。須要周期告知自己主動化測試的利益相關方眼下的情況。比如技術團隊、領導層、上下遊合作方等。讓大家看到一個持續改進的過程,樹立對自己主動化測試的信心。

“生活不僅僅有眼前的茍且,還有遠方的茍且”

聊到這。非常多人已經感到自己主動化測試並不是是“詩和遠方”,更像是“遠方的茍且”——沒有美感、沒有情懷。對,我們所面臨的都是一個一個詳細的問題,拆開看非常挫。非常細碎,須要有勇氣去面對。

參禪打坐3分鐘

不管發生什麽都要認真對待,這就是工作的真諦。[1]

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

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