10年測試老鳥經驗分享,寫給迷茫的你
轉眼間,10年的光陰轉瞬即逝,在這些年我經歷了許多,也成長了許多!其實軟體測試已經在不知不覺中發生了非常大的改變,前幾年的軟體測試行業還是一個風口,隨著不斷地轉行人員以及畢業的大學生瘋狂地湧入軟體測試行業,目前軟體測試行業“缺口”已經基本飽和。當然,我說的是最基礎的功能測試的崗位需求已經很少了,而自動化、效能、安全乃至於以後可能出現的大資料測試、AI測試仍存在著非常多的機會。許多的年輕人在入行之後很多時候都有就這樣的一段經歷,比如明明自己就很忙,每天忙的像條狗一樣,卻還要被老大批。每個人都是這樣一步步過來得,我在這裡分享一下我得經驗,如何有效得進行測試,
1、驗證需求
為每個需求提供 質量度量標準,具體而言就是針對需求劃分2個分類:滿足需求分類和不滿足需求分類。要明確滿足需求和不滿足需要的具體度量標準,是模糊的需求明確化。對於不易明確化的需求,可以進行需求劃分,把大需求劃分為若干個可以明確的小需求。驗證需求時需要驗證的屬性:
- 正確性:根據使用者的需求進行驗證。是否正確的完成了使用者的真實需求。
- 完整性:用於保證需求中沒有遺漏任何必須的元素。避免遺漏原始需求。
除了功能性需求之外,非功能性需求也需要驗證,具體包括:效能、安全、可用性、相容性、可訪問性等。非功能性需求可以分為系統級需求和功能級需求。非功能性需求檢查表如下:
- 一致性:是否有互相矛盾的情況。排除有歧義的地方。
- 可測性:需求是否可以測試並且有準確的預期輸入和結果。否則需要提醒相關風險。
- 可行性:保證需求可以在有效的資源內被完成。比如:預算、進度、技術等。
- 必要性:確認需求是否為必須,如果去除是否有任何問題。
- 優先順序:為每個需求確定其優先順序,便於後期在必要時對需求進行取捨。
- 明確性:需求的陳述需要精確且可測量。比如:效能指標不能以很快來描述。
- 可追溯性:明確需求被哪些功能模組所呼叫。保證在需求變化的時候可以追溯影響的範圍。
2、注意在現存系統上進行開發和測試
基於現存的系統進行開發或者重構,往往會有很多問題。比如:新舊系統的一致性等。如果要避免2個版本的並行開發的問題,則需要按照如下流程來管理開發專案:
- 使用確定版本作為基準版本
- 把該版本程式進行文件化【如果有則可省略】
- 基準版本有更新時也要文件化
- 固化形成的有效開發過程
- 學習找不到資料?這裡向大家推薦一個學習資料分享群:175317069,裡面有大牛已經整理好的資料,有自動化,jmeter,效能測試,介面等等的資料,歡迎加群一起交流學習哦!
3、瞭解手頭的任務和相關的測試目標
判斷一個程式功能是否正確的要素:
- 合法輸入有正確的返回
- 非法輸入有對應的提示
- 不論何種輸入程式都不應掛起、崩潰或退出
- 可以在預定的時間內一直正常執行
- 實現了功能性、非功能性需求
瞭解測試目標的途徑如下:
- 理解系統。從更高的層次來理解需求,而非獨立的思考需求本身
- 儘早介入
- 理解企業文化和過程。為更好的適應和提出改進意見做準備
- 實現的範圍
- 測試期望。高層、客戶對測試的期望
- 吸取教訓
- 工作量大小
- 解決方案的型別。複雜的解決方案,還是簡單的解決方式
- 技術選擇。根據技術棧確定待測物件
- 預算。根據預算來確定投入的測試工作量
- 時間表。根據時間表來調整測試時間
- 版本提測方式。迭代提測還是大版本提測
在對系統有了全面的瞭解後,就可以知道系統的規模和相應的工作量、客戶的問題及潛在的風險。通過這些資訊來了解當前的測試任務,並據此確定測試目標及對應的測試框架。最終形成測試計劃或者測試策略文件。
4、獲得有效的測試資料
野蠻的遍歷所有的測試輸入資料和測試輸出資料組合是不可取的,所以需要通過合適的測試設計來獲得有效的測試資料。測試資料需要覆蓋系統級的所有功能。而評審測試資料時需要從如下幾點考慮:
- 深度。需要了解測試資料的數量和規模
- 廣度。考慮測試資料的內容變化,比如:劃分型別和區域
- 範圍。對於驗證的結果進行範圍確定,不能多、不能少、不能錯
- 測試過程中保證資料的完整性。避免測試資料互相影響,不同人員操作相互影響。
- 條件。為特定測試場景準備一些基礎資料,從而高效實現測試執行。
最後,如果可以的話儘量使用客戶或者線上已有的測試資料,這樣的資料即豐富有真實,儘可能的模擬了線上使用者操作。
5、根據功能優先順序安排測試工作
功能列表可以按照不同的標準來劃分優先順序:
- 風險由高到低
- 複雜度由高到低
- 客戶的需要
- 預算的限制
- 時間的限制
- 人員的限制
最終可以針對不同維度對某個需求進行打分,然後綜合各維度的得分,最後就可以得到一個功能列表的優先順序綜合得分。
做到這些帶你我不敢說你是個優秀得測試員,但你至少是個合格得測試員,除了這些軟實力方面得在資深得技能掌握方面也是必須要過硬,這樣才能成為一個優秀得測試員,以下是我總結得一些需要提升得技能希望對你能有幫助!這裡向大家推薦一個學習資料分享群:175317069。