tft每日頭條

 > 科技

 > 軟件測試技術員是幹什麼的

軟件測試技術員是幹什麼的

科技 更新时间:2024-09-09 16:10:04

2006年7月的一天,我在CSDN博客上寫了一篇題為 “軟件測試架構師——衆裡尋她千百度” 的文章,但那時打着燈籠都很難找到一位測試架構師。16年過去了,今天國内不少公司設置了“軟件測試架構師”、“資深測試架構師”的頭銜,看到這種令人高興的變化。

開發架構師做的事情相對明确,但測試架構師做什麼事情,卻不是那麼清楚,各個公司所設置這樣崗位的差異性很大,1000家企業也許有1000種解釋。據我了解,某家公司的測試架構師隻是資深測試開發工程師的代名詞,甚至有一家公司的測試架構師的開發能力的确很強,會根據測試人員的要求獨立開發測試工具或測試平台,但對測試幾乎一竅不通。這樣的測試架構師差不多等同于開發架構師,但實際上兩者還是有顯著差别的,雖然有相同的部分。

1. 什麼是測試架構?

為了更好地闡述測試架構師做的工作,先說說什麼是測試架構?

衆所周知,“架構(architecture)”一詞來源于建築,具有 “建築學、體系結構” 等含義。建築學的内涵要比體系結構豐富得多,但其核心往往關注其造型和體系結構的設計,綜合考慮環境需求和使用者的需求,進行空間上合理的功能分配,滿足安全、經濟、适用、美觀等需求,達到人和環境的和諧。

軟件測試技術員是幹什麼的(軟件測試架構師究竟幹哪些工作)1

今天在軟件行業,談到架構,更多是通過高度的抽象來實現體系結構的設計,包括技術架構、産品架構、業務架構等等。那麼測試架構體現在哪些方面呢?主要有:

  • 測試過程建模,包括V模型、W模型、TMap模型、TPI模型等;
  • 被測對象建模,包括有限狀态機、業務流程圖、時序圖等;
  • 測試平台或測試技術設施架構體系自動化測試框架等;
  • 測試模式,如分成測試模式(面向接口測試)、契約測試、探索式測試等;
  • 測試用例/腳本結構,如何組織測試用例/測試腳本。

軟件測試技術員是幹什麼的(軟件測試架構師究竟幹哪些工作)2

2. 測試架構對軟件測試有何價值?

就像建築學對建築的價值、軟件系統架構對軟件産品研發的價值,測試架構對軟件測試有重大價值——極大地影響測試效率和質量。可以說,測試需求分析在前,測試架構在後,然後才是測試用例設計、測試執行和測試評估。具體說,其價值有以下幾點

  • 能夠以簡潔直觀的方式講清楚某類複雜的測試問題;
  • 指導後續的詳細的測試設計
  • 基于被測對象的模型可以自動生産測試用例或腳本,提高測試效率;
  • 基于被測對象的模型可以完成充分的測試,确保測試的質量;
  • 如分層測試模式、精準測試,提升測試效率;
  • 良好的測試平台架構,确保測試平台的穩定性、性能和安全性、擴展性等。
  • ......

所以有必要設置測試架構師職位

3. 測試架構師究竟在做什麼?

了解了什麼是測試架構,不說,你大概就知道測試架構師要做哪些工作,如測試過程建模、被測對象建模、測試平台架構體系設計、測試用例/腳本結構設計等,但不局限于這些,例如測試技術(如自動化測試)發展趨勢的把握、測試工具或框架的選型等工作,還包括和業務架構師、開發架構師的對話,即評審業務架構、系統技術架構等,或幫助他們優化業務架構、系統技術架構等。

測試架構師是測試團隊的技術帶頭人,在系統非功能特性的測試設計上(如全鍊路壓力測試、混沌工程實驗設計等)、自動化測試框架等方面發揮着主導作用;通過一個全局的觀點、宏觀的視角來理解軟件系統作為一個整體是如何工作的,可以将具體問題抽象為一個模型,從而解決一類問題,并通過不斷創新,找到解決問題的新方法,推廣新的測試技術。

測試架構師的具體工作有:

  • 了解國内外技術趨勢,做好測試團隊的技術規劃,确保團隊朝着正确的技術方向持續前進;
  • 結合公司具體情況,引入和推廣适合公司需要的測試新技術;
  • 了解業界的普遍實踐,對測試自動化或測試工具所涉及的技術提供很好的支持,或引導團隊向正确的方向努力,不斷地改進自動化測試工作;
  • 制定設計軟件系統的測試策略和方法,特别是幫助團隊在系統的性能、安全性、穩定性、可靠性等方面的測試方法、技術線路和質量标準;
  • 需要以全局的視角來把握軟件測試項目,不僅要關注功能性需求,而且要關注非功能性測試,幫助團隊确定測試的技術方案。
  • 被測對象建模、複雜系統的業務建模等;
  • 測試平台架構體系設計、自動化測試框架設計,包括重要的測試工具的研究、評估與設計;
  • 複雜系統的非功能特性的測試設計(如全鍊路壓力測試、混沌工程實驗設計)等,參與系統的性能、可靠性分析,并提出為改善系統性能、可靠性而進行的設計修改、代碼重構的具體建議;
  • 參與業務架構、系統技術架構的評審,審查系統架構、系統構件/組件及其接口關系等設計是否合理,确保系統的可測試性等。
  • 在複雜的系統測試中,幫助團隊分析、解決測試中出現的技術難題(Troubleshooting),幫助做好缺陷的隔離。
  • 幫助改進測試流程、提高測試效率
  • 4. 測試架構師與開發架構師的區别

軟件測試技術員是幹什麼的(軟件測試架構師究竟幹哪些工作)3

軟件測試技術員是幹什麼的(軟件測試架構師究竟幹哪些工作)4

最後,如果你對軟件測試感興趣,歡迎百度搜索“特斯汀軟件測試騰訊課堂”或關注公衆号“特斯汀軟件測試”,裡面涵蓋很多精彩免費視頻或幹貨知識

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved