提升提測質量之研測共建 | 京東雲技術團隊

京东云开发者發表於2023-11-17

一、序

日常研測工作演繹

你是否也有同樣的困惑?

跟進的需求,就在提測前一秒,被告知不能如期提測了,研測計劃被打亂;

提測的功能,猶如遇到不好的購物體驗,缺斤短兩,與prd預期不符;

產研測三方需求理解不一致,臨時組會討論,出臨時解決方案;

等等。。。

你是否也遇到了以下的挑戰?

1.時間約束:敏捷開發週期較短,迭代速度快,使得測試人員很難在可用的時間內徹底測試軟體;

2.迴歸測試:在不斷地迭代中,系統功能大大小小的功能點,多如牛毛,如何能準確確定迴歸範圍?

3.測試自動化:敏捷開發通常需要高度的測試自動化來跟上快速的開發節奏,測試case的開發和維護,都需要投入大量的時間和精力。

面對這些困惑、挑戰,我們該如何去推動、提升研發的提測質量呢?有沒有前置的動作,能夠提高提測質量呢?

二、提測質量研測共建

軟體專案中,影響產品質量的因素很多:需求質量、設計質量、編碼質量測試質量,甚至釋出時的配置,都會影響最終的交付質量。提測前的工作佔比高,為核心環節,過程、質量的好壞,直接決定最終的結果。

1. 責任與使命

參與者的參與度、責任感,都會直接影響整個產品質量:

目標管理:"心之所向,行之所往,未來可期",在軟體專案中,也同樣適用,有明確的目標,即把工作做好、做極致、做完美,才會有好的結果。

越位思考,本位做事:每個參與除了要考慮崗位職責範圍的工作,還要將自己置身於整個過程、整個鏈路中,思考上、下游銜接點,做好無縫銜接。

擁抱變化:軟體研發管理中,變化是常態,參與者要善於調整計劃,適應變化。

自我提升:在工作中,不斷地提升自身的技術能力,擴充業務知識,提高溝通和協作能力,透過持續的提升,提高工作效率,提升工作質量。

2. 專案管理

2.1 資源管理

人員是最為重要的專案資源,進行工作安排時,應充分考慮以下幾點:

人員的責任心夠麼?能夠支撐他完成這項任務麼?

人員能力與專案所需能力是否匹配,會小馬拉大車麼?

人員對業務是否瞭解?是否能把握當前需求麼?

人員的工作量是否已飽和?是否能消化當前需求?

2.2 流程管理

在每個迭代實施過程中,形成標準化的協作流,如下圖:

在踐行標準的流程下,還有些細節點可以幫助提升提測質量:

2.2.1 需求評審階段

在敏捷管理中,需求評審是一個關鍵環節。需求是專案實施過程中共同的標準參考,需求的質量很大程度上決定了最終的交付質量,研測要在評審前,做充分的思考:

  1. 評審前,研測人員對需求進行預習,準備待確認問題,對需求問題進行資訊拉齊;

  2. 抽象:從宏觀層面,瞭解業務背景,理解要解決的業務痛點;

  3. 具象:瞭解需求功能,瞭解相關功能的上下文;

  4. 抽離:對功能進行推理、演化、擴充套件,提出需求未明確的場景,進行補充確認;

  5. 控場:對於歧義較大、需求缺失資訊較多的情況,合理拒絕。

  6. 對評審的問題,形成待辦,落實責任人。對問題進行跟進,對結論進行同步。

2.2.2 研發設計評審階段

在敏捷管理中,設計方案評審是一個重要的環節,旨在確保專案的設計方案符合專案需求、技術標準,準確評估影響範圍。

  1. 研發人員需要編寫清晰、具體、可驗證的設計文件,資料庫設計,介面文件,以便在評審過程中更好地理解和評估設計方案;

  2. 測試人員評審前對相關文件進行預習:包含但不限於以下文件,設計文件、依賴的內部、第三方、企微介面文件、數倉表、上下游功能等;

  3. 測試人員準備待確認問題,不限於設計問題,也可包含業務場景補充、影響範圍補充;

  4. 測試人員提合理的物料要求:比如造數、日誌關鍵字支援,在測試環境進行冒煙測試,配置依賴的配置資訊,透過業務流完成冒煙測試;

  5. 測試人員,可以提前識別複雜造數場景,與研發溝通,協商採用指令碼或其他工具提前完成;

  6. 研發技改需求,研發為了追求完美,方案可能會改多版,改動隨意,要求明確改動點,影響範圍,迴歸範圍;

2.2.3 研發開發、自測階段

  1. 頻繁溝通,保持頻繁、及時、有效的溝通,確認需求理解一致性,確保對專案的需求和進展有清晰的理解;

  2. 對業務背景及需求理解透徹,避免開發方向性錯誤;

  3. 合理設計方案,具備靈活擴充套件、足以應對小的需求變更的能力;

  4. 合理工作拆分,儘量減少交叉工作及相互依賴;

  5. 合理評估工作量,細化工作內容,規避工期對質量的影響;

  6. 合理設計自測場景,提前瞭解測試用例,提高自測意識及覆蓋度;

  7. 全面評估及約束影響範圍,避免對已有功能產生不可預知的影響;

  8. 開發細節過程可追溯,避免在測試階段遺漏;

  9. 程式碼評審,透過評審,幫助團隊發現籤潛在的問題,提高提測質量。

2.2.4 測試用例設計及評審階段

  1. 測試用例前置,幫助團隊發現潛在的問題,避免在後期才發現問題,從而降低修復問題的成本;

  2. 充分理解需求,瞭解業務的痛點,從業務層設計,全面覆蓋業務場景;

  3. 理解技術實現過程,瞭解資料儲存及資料處理邏輯,多考慮可能的異常情況,對資料的不同態進行考慮設計;

  4. 自動化測試用例資源盤點,複用自動化用例,提高測試效率,擴大測試迴歸範圍,保證測試質量;

  5. 測試物料準備工作前置,環境的構建,資料的準備,指令碼的開發,資源的協調等;

  6. 充分進行需求變更,透過改動點,精準圈定變更範圍;

2.2.5 冒煙測試階段

  1. 嚴格按照約定的標準進行准入、準出;

  2. 根據過往合作情況,靈活調整冒煙策略;

  3. 對冒煙測試不透過的需求,進行記錄;

  4. 可酌情,做必要的冒煙支援工作;

2.2.6 持續改進

質量資料積累

透過積累的度量資料,提供分析,改進過程的資料依據。

質量門禁建設

質量門禁的作用,就是從需求階段開始,儘早的介入需求設計、產品設計和技術方案設計等環節,透過評審、提問等方式,儘可能多的發現存在的問題,透過制定科學合理符合專案實際情況的准入準出標準,來保證每個環節流轉到下一環節的輸出結果,質量更高。

不但測試需要建設質量門禁,研發也同樣需要。

自動化測試用例庫建設

自動化測試用例建設是軟體測試過程中的一個重要環節,幫助測試團隊提高測試效率、減少人工測試的工作量,以及確保軟體質量。測試人員,在專案結束後,要完善響應的case,透過自動化case的不斷積累,來打破時間約束帶來的問題。

覆盤總結+分享

以史明鑑是一種重要的學習方法,定期覆盤總結很有必要,能夠幫助我們避免犯重複的錯誤,在錯誤中吸取教訓,補充缺失點,並形成文件或報告,以供以後的專案參考。

作者:京東零售 王蘭青

來源:京東雲開發者社群 轉載請註明來源

相關文章