2006年7月的一天,我在CSDN博客上寫了一篇題為 “軟件測試架構師——衆裡尋她千百度” 的文章,但那時打着燈籠都很難找到一位測試架構師。16年過去了,今天國内不少公司設置了“軟件測試架構師”、“資深測試架構師”的頭銜,看到這種令人高興的變化。
開發架構師做的事情相對明确,但測試架構師做什麼事情,卻不是那麼清楚,各個公司所設置這樣崗位的差異性很大,1000家企業也許有1000種解釋。據我了解,某家公司的測試架構師隻是資深測試開發工程師的代名詞,甚至有一家公司的測試架構師的開發能力的确很強,會根據測試人員的要求獨立開發測試工具或測試平台,但對測試幾乎一竅不通。這樣的測試架構師差不多等同于開發架構師,但實際上兩者還是有顯著差别的,雖然有相同的部分。
1. 什麼是測試架構?
為了更好地闡述測試架構師做的工作,先說說什麼是測試架構?
衆所周知,“架構(architecture)”一詞來源于建築,具有 “建築學、體系結構” 等含義。建築學的内涵要比體系結構豐富得多,但其核心往往關注其造型和體系結構的設計,綜合考慮環境需求和使用者的需求,進行空間上合理的功能分配,滿足安全、經濟、适用、美觀等需求,達到人和環境的和諧。
今天在軟件行業,談到架構,更多是通過高度的抽象來實現體系結構的設計,包括技術架構、産品架構、業務架構等等。那麼測試架構體現在哪些方面呢?主要有:
2. 測試架構對軟件測試有何價值?
就像建築學對建築的價值、軟件系統架構對軟件産品研發的價值,測試架構對軟件測試有重大價值——極大地影響測試效率和質量。可以說,測試需求分析在前,測試架構在後,然後才是測試用例設計、測試執行和測試評估。具體說,其價值有以下幾點:
所以有必要設置測試架構師職位。
3. 測試架構師究竟在做什麼?
了解了什麼是測試架構,不說,你大概就知道測試架構師要做哪些工作,如測試過程建模、被測對象建模、測試平台架構體系設計、測試用例/腳本結構設計等,但不局限于這些,例如測試技術(如自動化測試)發展趨勢的把握、測試工具或框架的選型等工作,還包括和業務架構師、開發架構師的對話,即評審業務架構、系統技術架構等,或幫助他們優化業務架構、系統技術架構等。
測試架構師是測試團隊的技術帶頭人,在系統非功能特性的測試設計上(如全鍊路壓力測試、混沌工程實驗設計等)、自動化測試框架等方面發揮着主導作用;通過一個全局的觀點、宏觀的視角來理解軟件系統作為一個整體是如何工作的,可以将具體問題抽象為一個模型,從而解決一類問題,并通過不斷創新,找到解決問題的新方法,推廣新的測試技術。
測試架構師的具體工作有:
最後,如果你對軟件測試感興趣,歡迎百度搜索“特斯汀軟件測試騰訊課堂”或關注公衆号“特斯汀軟件測試”,裡面涵蓋很多精彩免費視頻或幹貨知識
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!