<dd id="dbjz6"><noscript id="dbjz6"></noscript></dd>
    <th id="dbjz6"></th>
      1. <dd id="dbjz6"></dd>
        1. 資深大佬帶你換個角度認識軟件測試

          本文將從崗位要求看軟件測試軟件測試技術的認識和理解質量保障與軟件測試的關系構建質量保障系統的要點這四個方面簡單聊一聊作者的理解,帶你換個角度來認識軟件測試。

          從崗位要求看軟件測試

          首先,我想請大家和我一起思考一個問題:我們要以什么標準來區分初級、中級、高級軟件測試工程師、測試專家這幾個崗位。

          也就是這4個職位怎么去界定,我們自己屬于哪個級別呢?(為什么選這4個呢?因為現在整個行業基本都是這么去劃分軟件測試工程師崗位級別的。)

          從眾多的招聘信息上看到,似乎是可以用工作年限來界定的:

          1年以下是初級、1-3年是中級、3-5年是高級、5年以上是專家。

          那有的人就會想了,我已經工作5年了,是不是我可以去應聘測試專家了呢?答案是不一定。

          為什么呢?因為先不說以工作年限作為判斷的標準是對還是不對,僅僅簡單地依據年限來判斷這個方法就是會有偏差的。

          不是有個段子嘛,說是10年工作經驗,其實是用1年的經驗工作了10年。

          資深大佬帶你換個角度認識軟件測試

          繼續從眾多的招聘信息上看到,似乎是可以用工作技能來界定,功能測試是初級、會用工具是中級、能開發自動化腳本是高級、能開發自動化框架是專家

          那又有人會想了,現在這么多培訓,線上線下都有,各種方面的,比如python編程,自動化測試培訓等等。

          那是不是我參加這些培訓班,學會了python、學會了自動化測試框架的使用,那我至少可以應聘高級軟件測試工程師了吧?

          答案還是不一定,為什么這么說?我們先把這個問題記下,繼續往下,看完我后面的認知理解,我們再回來看這個問題應該就能有答案了。

          軟件測試技術的認識和理解

          現在我們稍微轉換個話題,討論一下什么是軟件測試,什么是軟件測試技術

          很多時候,很多從業者一提到軟件測試技術,想到的就是自動化測試、測試開發這樣的字眼,比如接口自動化、UI自動化、性能測試;

          什么postman、Jmeter、selenium、appium、RobotFramework、Cucumber等等,似乎簡歷里不帶有這些字眼就體現不出技術能力。

          不過呢,如果把這些信息從簡歷里拿掉后,我們又會發現絕大部分簡歷似乎都一樣了。難道說軟件測試技術真的就是通過上面所說的測試類別或內容、測試工具或框架來體現的?

          我個人認為這個理解沒有錯,但是呢不全面。

          這個理解是站在狹義的技術上去看,讓我們換個角度,從廣義的技術上來看軟件測試應該是什么樣。

          我理解的軟件測試技術包括四個方面:工藝、工序、方法、手段。這四個方面環環相扣、是個有機的整體。其中工藝、工序是一對,理解起來略顯抽象;方法和手段是一對,這一對是我們經常談到的。

          這里先舉個例子做下說明,便于大家對我接下來要說的內容能更好地理解。

          我們大家都有過體檢的經歷,體檢就是對人體這個復雜的系統進行一項項的檢驗,來確認健康或者是有什么問題。

          體檢的時候我們要驗血、驗尿等,化驗的有很多細分項,比如血小板、紅細胞、白細胞、血紅蛋白、(尿糖、尿蛋白)等,每項都有個正常的指標范圍;

          然后查心臟會拍心電圖、查肝脾腎會做B超、查肺會拍X光等等,影像或者片子出來后,醫生會以他腦子里記憶的正常標準的影像圖來進行比對,從而確定是否健康。

          講到這兒,思維比較活躍的人是不是已經感覺到體檢和咱們測試很像了?只不過體檢測的是人體系統;而咱們測試呢,測的是軟件系統,被測物不一樣、指標不一樣、方法手段不一樣而已,但道理是一樣的。

          好了,我們回來接著聊廣義的軟件測試技術。

          首先來說工藝,它是指測試的指標體系,也就是標準。構建指標體系,就是針對測試對象,從多個方面,不同維度,構建一個測試指標項的集合。

          測試的指標項簡單地來看,就是我們常說的測試點或檢查點或checklist再加上針對這些點的指標要求,它是工藝的核心,更是軟件測試技術的根本。

          就好比我們體檢時要做哪些檢查項,每項檢查中細分哪些指標的檢測。體檢結果準不準,主要就看檢查的指標全不全、細不細。同理,我們的測試做得好不好,就要看我們的指標體系構建的合理不合理、完整不完整了。

          接著來說工序,它是指測試的工作項的順序,也就是流程

          就像我們體檢的時候要先查什么、后查什么,哪些項可以沒有順序,哪些項又必須串行,查某項的時候有什么前提,比如空腹、憋尿等等。

          我們有不少從業者一說起測試流程就是參加需求評審、評估測試周期、設計測試用例,有的流程嚴謹些的會有測試用例評審,有的可能沒有,然后是執行測試,記錄、跟蹤并驗證bug,測試總結報告,就完了。

          太粗獷!不妨借鑒某些食品或者飲品廣告里說的“經過21道工序加工而成”來仔細琢磨一下,我們還做了什么必不可少的環節?

          比方說功能需求or軟件需求到測試需求的轉換、梳理上下游系統的關聯和交互、根據調用鏈or數據流圈定回歸測試范圍、結合業務設計全流程覆蓋的測試場景并造數據等等。

          當你把工序細化到每一項有明確產出物的工作項時,你就會清楚哪做得到位,哪做得還不夠;同時,對應這些工序要做到什么程度也就有了目標了。

          在工藝和工序上深入思考,就能基本上搞清楚“測什么”這個問題。下面我們再繼續來談談怎么測。

          先說方法,它是指測試的方法和策略,也就是思路。這個是大家經常討論,有很多借鑒和參考,并且已經有很多方法論可供學習的。

          核心也基本上都是從軟件產品質量六性出發,劃分出測試類別,然后針對測試類別思考采用什么測試方法。

          需要注意的是對于測試方法的靈活運用,以及考慮投入和產出的平衡。這部分內容在網絡上或者測試專業書籍都有大量的、詳細的介紹,大家有興趣可以自行搜索閱讀。

          再說手段,它是指我們測試方法的具體落實,也就是實操。大多數情況下工具就代表了手段,畢竟咱們人類使用工具基本上已經成了一種本能。

          做什么事之前都會想想有什么可用的工具沒有,這正是工欲善其事,必先利其器。它和測試方法經常被一起提及,我相信大家說起來也是如數家珍。

          手段這方面是目前大多數軟件測試職業培訓主打的一點,也是大多數想入行或者入行后想迅速提升的同學們可以選擇的路徑。但是請大家注意,手段只是軟件測試技術中的一個方面,應該重視,但不能過于重視。

          不能因為會用工具、會些自動化測試就鄙視手工測試,因為兩者沒有優劣之分。

          上一頁123下一頁
          ?

          留言

          chinesemature老熟妇oldman