論測試工程師的職責

2020-12-03 慧樂課堂

前言

最近不斷地回顧總結自己這些年作為測試工程師的經歷,作為一名在測試崗位上工作快5年的老師,基本上已經歷完從新手到熟練的階段,做過各終端,供應鏈平臺、業務中臺,內容分發等質量保障的工作以及帶過團隊,朋友問過我在這些業務是幹什麼的,最初我可能會介紹說版本測試、自動化測試、測試工具開發和流程規範,到後面總結為質量保證和效能提升,直到現在我認為簡練但又精粹的總結-測試能力建設,我們看很多招聘信息裡面對測試工程師的職責要求,列了很多項,包括了技術的要求和項目管理的要求等,最後都是能夠用測試能力建設來概括,對於測試能力建設,我們作為測試工程師需要做些什麼,接下來結合我個人的經歷來講一下怎麼做測試能力建設關於測試工作

測試工作,換在4年前我第一反應可能也會認為是幫這個業務在每個版本中找bug,讓版本順利發布,但是作為工程師,我們的工作方式是否已經是以工程的形式開展,或許你看到研發同學敲代碼開發一個業務系統稱謂工程,把系統的各種能力各種服務規劃設計好稱謂架構,回到測試的性質,不是開發一個測試工具就叫測試工程,不是把持續集成自動化測試設計好落地好,把流程規劃好就叫做測試架構,測試工作其實是要求測試工程師能夠把一個業務或者一整塊的業務的質量保障體系給建立起來,質量保障體系需要我們做的就是通過測試能力建設。測試能力建設,還是圍繞質量保障和工程效能的兩個核心,說通俗一些就是業務在質量和效率這兩塊缺什麼,作為測試工程師就需要做什麼,這一點在很多企業中已經作為考核測試工程師的指標在工作中我們往往遇到接手別人的業務或接手新業務的測試工作,或許你對這種業務有經驗,但也會遇到從來沒接觸過的業務,這樣我們如何開展測試工作,不管是你做工程效能還是業務質量,開展任何工作的第一步都是熟悉,熟悉業務,熟悉技術,熟悉團隊協作,對於如何熟悉這一點,我會從這幾點出發

要入手一個業務首先是要了解前世今生,要知道這個業務存在的原因,定位是什麼,發展至今現在又是怎麼樣的形態,什麼樣的地位,將來的發展方向是什麼,這好比需要先認清自己我們的業務如何交付給用戶使用,可以從發布流程入手,其實業務團隊裡面的流程,不管是測試流程還是研發流程,最終結果都會表現在發布流程,發布流程可以推導出業務團隊用的是什麼研發流程,用什麼測試流程,同時通過發布流程我們可以了解到系統的部署,從而推導出系統架構,依賴調用關係等,再深入推導出業務使用的技術棧,發布策略,人員水平等,所以我每加入一個新團隊或接手新業務,我習慣性的會看版本如何發布,發布流程是怎麼樣的,以此為線索,很容易就可以把業務團隊的協作能力和技術能力了解清楚,這個就是了解業務內部用戶怎麼使用我們的業務,其實就是了解我們業務的外部情況,我們的目標用戶是誰,表現形態如何,我們的業務為用戶產出了什麼,解決了什麼,大家可以試一下通過上面的一些方法是否會更容易了解一個業務甚至一整塊業務對於業務了解完之後,那接下來才是測試工程師的主菜,我們怎麼去做測試能力建設測試能力建設

測試能力建設有一個關鍵點,就是如何把測試肉身投入轉換成測試能力投入,我們是人,但我們也是能力的一種,但能力未必是人,他可以是技術,可以是流程,簡單地說就是怎麼把人力轉換成技術能力和流程化在測試能力建設的工作投入中,直白的目標就是業務需要什麼我們就做什麼,所以我們還是需要找到適合業務和團隊的方式,傳統的IT公司習慣走V模型或是雙V模型,到了網際網路行業,大家都開始強調要研測一體,devops,測試移右移等,在我的經歷中大部分在網際網路行業,所以習慣性從方向上會考慮當前業務和團隊要如何左右移,如圖中所示

測試左強調的是儘早介入測試,提前發現問題這時候還是從工程化和流程優化那兩個點去打,我之前所在的業務,我投入測試時一般會先規範代碼的管理分支,在多位研發並行開發的時候我們需要怎麼規避一些由於切分支帶來的問題,我們明確好開發分支,提測分支,發布分支和主幹,測試只接受提測分支的版本測試,發布的版本只能用發布分支等,同時接入靜態代碼掃描等代碼精準測試的能力,研發每次提交代碼後基本上都經歷了一層代碼掃描的質量保障過程,同時在接口和端功能層面,作為測試我會去建立自動化回歸測試的能力,我們可以用接口測試框架或UI測試框架等自己手打自動化測試用例,把持續集成的流程建設起來,也可以通過更成熟的工具或平臺如線上流量引流回歸等等,其實就是通過大規模的自動化等能力來從最根本的代碼層面,接口層面等保障起來,為了就是儘可能不帶bug提測,所以這個過程就是要做如何把這些自動化的能力建設起來,缺乏工具和平臺的時候,我們就得去找合適的工具和平臺,找不到就得自己設計開發,這也是作為測試開發乃至所有的測試工程師都需要具備的能力,有了工具和平臺之後就結合業務的特徵進行相應能力的建設,做到懂得用,懂得做,懂得落地在流程上,左移的方式是通過提前交付測試用例或測試方案實行研發自測,為了還是不要把bug帶到測試階段這個目標,或許研發會質疑說研發來測試,要測試來幹嘛,我們從ROI的角度去思考,研發自測花大概0.5到1個人天,但如果出現bug導致版本阻塞,可能影響的就不是0.5到1個人天,測試包來來回回幾次,測試找bug,定位bug原因等,一不小心幾天就過去了,這時候就會出現版本延期的風險,所以我們要把問題扼殺在搖籃之中,這需要代價,但這也給我們帶來了更好的結果,研發自測和產品驗收很大程度就是依賴了測試用例或測試方案,所以這個時候我們就不僅僅是把當前的需求要點或技術改動點給覆蓋,當然不是說所有的用例產品研發都要過完,測試工程師是測試執行的兜底,研發基本上都是把核心鏈路和功能過完後就提測,這時我們更多的是實踐探索性的測試,測試執行和研發分工,節省的時間做更有深度的測試工作,包括把版本的一些測試需求自動化,或者考究安全性性能等,我在寫測試用例或方案的時候基本上會使用這個大綱

每個版本的測試,不是簡簡單單把測試用例執行完,功能執行完就完成的,每做一件事情,必須明確這件事情的目標或背景,因為接下來所做的一切都會圍繞著這個目標去開展,對於目標不清晰的,設計出來的方案或用例,存在偏差的概率就會增大,也就會存在漏測的風險,二來我們需要明確版本的改動範圍,尤其是多組件多服務組成的業務,在加上相關依賴關係,這個是可以用來明確我們的測試範圍,測試成本永遠都是有限的,要做到即充分又低成本的那就需要明確測試範圍,目標和範圍都明確之後我們就可以進行相關的用例設計,需求的用例,技術性的用例,都需要在測試用例中體現,具體的如接口的邏輯是如何的,緩存的邏輯如何,如遇到數據遷移等情況,我們也需要把對應的數據驗證和數據同步用例等設計好把測試階段的驗證都設計好之後,那就是發布階段和運營階段的一些質量保障手段,大家都了解有灰度發布,流量隔離,線上監控,線上驗收等一些測試能力,這些就是在測試中採取的一些質量保障策略,所以在設計階段我們就要把作為線上驗收能力的一些打點和日誌輸出設計好,監控項給明確好,甚至設計好質量相關的數據報表,通過這些採集監控數據進行分析和配置告警,來觀察版本發布的情況,從而建立了一個線上的業務健康度模型有些情況確實是通過測試右移的方式來執行,我在做中臺業務的時候,經常遇到業務方由於環境等原因,功能必須在線上驗收,所以這個時候我們就需要有線上驗證的能力,線上驗證的原則是儘可能的不要影響到原有功能和使用業務的用戶,這個就需要做好很好的隔離,所以從研發一開始的設計就從線上可測性角度就需要考慮到這一點,功能做好隔離,數據做好隔離,一旦出現問題,我們有相對應的風險預案,如何清除髒數據,如何將功能降級等,前期的設計都要考慮好,發布完成以後我們還需要考慮運營層面的事情,運營事故在各大網際網路公司中也是屢見不鮮,比如暴露了一些敏感數據等,對於這方面作為業務的測試我們也是需要建立其相關的防範機制,不管是流程上和從技術上去杜絕,這往往也會在我們的風險預案中體現,當然故障都沒有是最好的,但一旦出現故障的時候我們就要能夠快速的發現和解決,這也是我們作為測試能力建設中的一個重要環節,下面就是我根據上面的一些方法論所建立的項目流程

小結

是否會發現,一旦把這些能力都建立起來,測試人員的投入就會變成測試能力的投入,測試工程師就是測試能力的體現,測試能力的建設者,只要安排人員去執行使用測試能力即可,就不一定需要測試工程師的肉身投入,讓業務都具備自我質量保障的能力,從根本上的提效和降低投入成本縱觀我上文所說,其實我作為測試工程師大部分的時間都是在做測試設計測試設計體現一名測試工程師的產出,測試執行不一定需要測試工程師來做,但需要你做好的是在測試能力方面的建設,質量是整個團隊的目標和責任,測試工程師就是專門為這個目標出謀劃策的,我們認清楚自己的職責,把自己的思維轉換過來,把肉身轉化成能力,把人力成本變成技術成本,這是作為測試工程師價值的體現,希望通過此文,能夠對大家在測試工作上有一點點幫助,謝謝本文由terrychow原創,轉載自TesterHome。

原文連結:https://testerhome.com/topics/23727

如有侵權請立即聯繫刪除。

相關焦點

  • 安徽雲藍信息科技公司:測試工程師有哪些主要職責?
    測試工程師有哪些主要職責?在軟體開發做好功能後,我們必須要測試各個功能是否正常使用,這時候就需要測試工程師。對於測試工程師不但要有較強的技術能力而且要有較強的溝通能力,那麼軟體開發裡的測試工程師有哪些主要職責?下面小編來為大家綜合說明下。
  • 產品工程師的崗位職責是什麼?發展前景怎麼樣?
    產品工程師一般屬於技術部範疇,負責產品的技術支持,特別是新品開發時一般都是產品工程師牽頭。那麼產品工程師的崗位職責有哪些呢?下面是小編整理的相關信息,希望可以給大家帶來參考與幫助!1產品工程師的崗位職責1、應用UG或PRO/E等三維軟體,進行產品研究、改進;2、制定和跟蹤項目開發計劃,並保證項目按計劃時間完成並滿足客戶要求;3、為顧客提供技術支持;4、協助採購,物流,質量等部門對原材料及外協供應商的評審;5、全程監督,跟蹤、監督工位器具、檢輔具的進度,推動和及時反饋上報項目執行情況;
  • PE工程師應該具備的工作職責
    這就是PE和ME的區別,當然有些公司把PE也定義為 ME的性質,之前說的設備維護,那是電工做的事,怎麼能和ME和PE來比較來,2者1個是工程師,1個是技師。  PE工程師有一些主要的職責  如:新產品的導入、試產的安排、生產指導,現場異常問題的及時排除(遇到異常立即有臨時對策),生產工藝的改善、產品性能及結構方面的改善、包括工藝指導書的編寫等。
  • 軟體測試工程師前景分析
    1、高級軟體測試工程師,熟練掌握軟體測試與開發技術,且對所測試軟體對口行業非常了解,能夠對可能出現的問題進行分析評估;   2、中級軟體測試工程師,編寫軟體測試方案、測試文檔,與項目組一起制定軟體測試階段的工作計劃,能夠在項目運行中合理利用測試工具完成測試任務;   3、初級軟體測試工程師,其工作通常都是按照軟體測試方案和流程對產品進行功能測驗,檢察產品是否有缺陷
  • 「和而不同」的DQE和測試工程師
    在這裡,我們所說的DQE工程師,是指一個項目中的設計質量管理者。可以看作是項目組質量領域的代表。02從業務的流程和要求來講,DQE和測試都是開發品質的把控環節。所以測試,是一個最保險的手段。測試是一種無差別的設計風險發掘手段。只要有健全的測試流程和測試用例,基本都可以保證一個新設計的主要缺陷都是能被發現的。所以,作為主要的研發品質控制者——DQE,是非常依賴測試這個環節的。而DQE本身,也需要不斷地推進測試的覆蓋率和效率,來更有效地攔截設計缺陷。以至於有些崗位,將DQE與測試視作同一崗位。
  • 建築行業項目工程師崗位職責大全!建議收藏!
    建築行業有很多不同方向的項目工程師,因此崗位職責也各有不同,小編根據築招網的建築企業招聘信息總結出建築行業項目工程師崗位職責大全,希望可以幫助到大家!一、工程施工單位的項目工程師崗位職責1.二、消防單位的項目工程師崗位職責1. 詳細了解設計圖紙,制定施工方案,編制材料計劃、施工進度、用工計劃、確保質量和安全的技術措施,對施工班組進行技術交底;2. 審核材料申請單,對超領浪費材料負主要責任;3. 及時辦理設計變更及工程籤證、工程聯繫單等手續;4. 處理施工質量、安全、進度問題;5.
  • 測試工程師的項目經驗怎麼寫?
    作為三年左右的測試工程師,簡歷上有五六個項目經歷很正常,那如何設計這幾個項目,其實設計好三兩個就行,面試官能關注到的也只有最新的三兩個,兩年前的項目也沒有關注的必要啦,所以在這兩三個項目中一定要體現你絕大部分的能力,一般我們採用逆序排列項目,即最新的項目應該放在最前面,以便面試官查閱
  • 論牙醫的工作流程和軟體測試工程師的工作流程的區別
    做測試時間久了,真的是從各個事件都能得到相同的地方。首先我把牙醫工作和軟體測試工程師的工作做了一個對比其次又想到了牙醫的工作流程和測試的工作流程是不是也是相通的。進行了流程的分析和對比最後還分析了一名軟體測試工程師應該通過哪幾方面對一條褲子進行測試?
  • BIM監理工程師崗位職責是什麼?包括哪些內容?
    BIM監理工程師崗位職責是什麼?包括哪些內容?基於對BIM技術條件下監理工程師監理工作的研究,首先,闡述BIM技術基本內容。然後,分析BIM技術在監理工作中的重要作用。最後,對BIM技術條件下監理工程師的監理進行分析,包括加強項目信息模型構建工作、加強BIM信息管理平臺融入工作、加強BIM信息管理等。1.加強項目信息模型構建工作監理工程師在整個監理工作中發揮著不可替代的作用,為促使監理工作能夠順利展開,要加強對BIM技術平臺的應用。
  • 申請工業電氣自動化中級工程師,園林設計工程師如何取得
    申請工業電氣自動化中級工程師,園林設計工程師如何取得【雨正企業服務集團有限公司】提供【中級工程師職業稱號】諮詢代理評定服務。從業十二年,專注代理【工程師職業稱號】,積累了豐富的人脈資源和經驗,能幫助客戶解決條件不足、不知道該如何評、不清楚該準備哪些資料等問題,讓客戶輕鬆取得職業稱號。
  • 什麼是軟體測試工程師呢?
    近年來,在IT行業衍生出很多新的職業,軟體測試工程師就是其中一種。那什麼是軟體測試工程師呢?軟體測試工程師是指理解產品的功能要求,並對其進行測試,檢查軟體有沒有錯誤,決定軟體是否具有穩定性,寫出相應的測試規範和測試用例的專門工作人員。
  • 軟體測試工程師應該學Python還是學Java?
    對於一個軟體測試工程師來說,選哪一門語言來入手編程一直是件非常糾結的事情,當然立志做一輩子功能測試的人除外。當你學完軟體測試基本理論,掌握業務測試流程,功能測試可以搞定,資料庫和linux玩的也很溜時,接下來想進一步進階,那麼學習一門程式語言必不可少。
  • 遼源造價BIM工程師報考崗位職責
    遼源造價BIM工程師報考崗位職責   遼源造價BIM工程師報考崗位職責    不同專業領域者也可以利用同一個BIM模型進行協調溝通,各專業領域者可同時對自己所負責的領域進行修改更作業,模型完成後進行各項應用模擬,若發生衝突問題,相關專業領域者可以免去現況作業流程必須套檢測的困擾
  • 軟體測試工程師怎樣有效記錄缺陷(Bug)功能測試面試經常問到
    所以對於我們軟體測試工程師第二職責就是如何去提交一個高質量的Bug,(第一職責如何去判斷一個問題是缺陷,或者說我如何來推動缺陷的修改,可以閱讀我往期的文章)怎樣有效記錄缺陷,在這裡我給大家總結了五個點對於這兩類問題我們作為軟體測試工程師應該怎麼樣去處理?
  • 2020四川大學工程科學計算與數據分析中心軟體研發、測試工程師...
    一、招聘崗位(二級單位自聘)軟體研發、測試工程師20-30名(具體包括CAE軟體開發工程師8-10名;CAE軟體測試工程師5-8名;CAE軟體應用工程師5-8名;GUI設計工程師1-2名;網站及網頁設計、新媒體應用工程師1-2名)。
  • 測試工程師到底要不要熟練使用 shell?
    曾擔任某大型全球分布式存儲產品測試負責人,以及某容器雲平臺解決方案公司的 DevOps 產品測試架構師。現就職一家零售業大數據智能解決方案公司,擔任產品質量負責人。掌握這篇 shell 技巧,就能應付 80% 的測試場景需求了引言
  • 安全工程師的崗位職責
    責任編輯:tracy 2021年安全工程師招生已經開始啦,網校總結多年成功輔導經驗,從學員實際需求出發,結合安全工程師考試命題規律、重點、難點,融入先進的教學理念,針對不同學員開設超值精品班、高效實驗班、無憂通關班,為不同學員量身打造,帶你高效備考2021年安全工程師。
  • 軟體測試工程師的前景如何?
    軟體測試到底是什麼?零基礎可以學習件測試嗎?近幾年,軟體測試不斷呈現出火爆發展的勢頭。吸引了越來越多的人加入軟體測試的學習行列。到底軟體測試工程師的前景如何?今天跟著千鋒軟體測試老師來詳細了解!
  • 簡單聊聊產品經理的工作職責
    之前跟大家分享了很多關於市場分析、需求分析、用戶體驗的文章,但是還是有很多產品新人仍然對產品經理的工作職責模稜兩可,甚至感到迷茫。今天就跟大家簡單聊聊產品經理這個崗位到底需要做哪些工作,即產品經理的工作職責。
  • 軟體測試工程師如何判斷Bug如何規範地記錄功能測試面試必問
    軟體測試工程師如何去判斷缺陷(Bug)如何去判斷這個Bug是不是一個缺陷?像這樣一個問題,其實在我們軟體測試工程師面試的時候也會經常被問到。這個是對於我們軟體測試工程師來說必須要具備的一個能力,在之前的文章中我們說到,我們提交Bug是有理有據的。那麼同樣的我們去判斷這個問題是不是一個Bug,我們也是有理有據的。