在IPD咨詢過程中,很多創新型企業對于產品開發過程中的測試活動一知半解,對于測試活動在產品開發過程中的重要性知之甚少。客戶經常和顧問抱怨,產品開發過程中,很多問題無法發現,很多時候都是在產品賣給消費者后,問題大爆發,造成大量投訴,客戶滿意度低。
當顧問帶領客戶審視企業產品開發流程時,會有令人吃驚的發現:企業中關于產品測試的意識非常淡漠!比如有的企業在產品開發過程中,只是開發人員兼做測試的工作,有的企業雖然配置了測試人員,但是測試人員只有2、3人,更有的企業連測試的意識都沒有,只是在某個環節開展簡單的產品測試……沒有測試計劃,沒有測試人員,沒有測試流程,測試不規范。沒有充分的測試,當然無法在產品開發過程中充分發現問題,這樣就會帶來產品問題遺留到后端,甚至當產品到達消費者手中后,產品問題集中爆發。
我們為什么要在產品開發過程中設置測試活動?因為產品的質量問題是隱性的,當我們沒有及時發現它,它就會隱藏起來,不會主動顯性化。因此,我們設置測試活動不是證明測試對象沒有問題,而是必須確保產品在明確定義的使用環境下滿足:
1. 明確定義的使用需求
2. 明確定義的功能說明
3. 明確定義的非功能性指標
在IPD理論中,產品開發是基于市場的創新活動。而這就要求我們,開發產品是按照產品包需求開發,既不“蔓延”也不要“鍍金”,我們只是按照產品包需求進行產品開發。我們的產品就要滿足我們定義的產品需求、滿足定義的產品功能以及定義的非功能特性,比如安全性、穩定性等。
當企業將產品推向市場前,企業要做到心里有數,我們的產品是否符合要求?這就要求我們企業,在產品開發的每個環節,必須按照我們定義的產品包需求進行檢驗,驗證是否達到了預期目標,如果沒有達到目標,發現了什么樣的問題?開發人員要及時改正這些問題,避免問題流入后端,確保問題及時閉環,交付符合需求的產品,這就是產品測試活動的目的。
了解了測試的目的,那么,該如何進行產品測試?產品開發是一個系統工程,同樣測試也是要有系統性的概念,業界總結了IPD-PTM,見下圖。
從上圖可以看出,測試活動是產品質量保證的一個重要環節。根據產品開發計劃,制定產品的測試計劃,明確產品的測試策略以及產品質量標準,通過產品測試管理子流程、產品測試工程子流程,對測試計劃、測試策略進行監控。
在IPD產品開發流程中設置了7個TR點,見下圖。
TR1–TR3,是測試需求分析與計劃階段。TR1,在產品包需求中,測試代表提出產品可測試性需求。TR2,在產品系統設計時,提出產品測試規格。TR3,在產品子系統設計時,提出特性測試規格/總體測試策略/測試與驗證計劃。
TR4–TR6,按照測試計劃,開發測試用例、搭建測試環境,并執行測試計劃,分析測試問題,反饋測試結果。
1、構建模塊功能確認BBFV(Building Block Functional Validation):構建模塊是指設計單元,例如一個單元電路,一個軟件函數,一個結構零件等。BBFV通常是以設計人員為主,測試人員參加;
2、系統設計驗證SDV(System Design Verification):子系統或模塊級測試,包括基本功能、性能的常規測試、以及各種可靠性類測試,例如針對電子產品的容錯/容限測試、EMC測試、安全測試、噪聲測試、熱測試、環境可靠性測試等。若是機械結構類產品或部件,SDV應增加疲勞測試、結構強度測試、結構剛性測試等。SDV工作通常是以測試人員為主,設計人員參加;
3、系統集成測試SIT(System Integration Test):產品整機測試,測試內容與SDV大致相同,但增加可用性測試、可維護性測試和包裝測試。SIT在開發階段后期,由測試人員負責完成;
4、系統驗證測試SVT(System Verification Test):小批量試制情況下的測試,測試內容與SDV大致相同,但強調從試制生產線隨機抽檢,關注產品質量一致性,SVT必須在SIT完成后在驗證階段完成。SVT工作以測試人員為主,試制人員參加即可。
結合IPD-PTM架構,測試人員可以確定產品測試的目標,根據產品開發過程中BBFV、SDV、SIT、SVT,明確測試范圍、測試標準、測試環境、測試工具,并結合產品開發計劃,制定產品測試計劃。在產品開發階段,開發測試用例、測試腳本,按計劃執行測試,并根據測試結果進行分析,發現問題,提交測試報告。
下圖概要性介紹各測試活動的主要測試內容。
以上簡單介紹了基于IPD的產品開發中測試管理的架構、測試的簡要流程。企業如何提升產品的質量,在產品開發過程中充分發現問題,靠簡單的執行測試工作是不夠的,要將測試活動當成管理來開展,這樣就需要企業做到如下幾點:
1、建立測試的準入和準出標準,對于設計部門如何提交測試任務,以及測試部門如何完成測試工作做出書面的明確規定,并大家一致評審通過,在執行時嚴格遵守;
2、建立產品問題提交和處理的流程規范,并實現IT化以做好記錄,避免問題提交和處理過程的隨意性;
3、建立產品問題和缺陷庫;
4、組建跨部門的產品開發團隊,打通部門與部門之間的界限;
5、獎懲分明,對于責任心不強的開發人員及測試人員要罰,對于測試過程中表現突出者要獎勵;
6、提升全員的質量意識,加強每個環節的質量把關,包括設計,測試,生產等。
如前文介紹,測試活動是一個體系化的工作,要有系統工程的思維,可以介紹的內容非常多,本文只是進行了簡單概要性的描述,歡迎對產品測試有興趣的朋友提供你們的想法、意見和建議,在交流中碰撞火花,為高質量的產品開發保駕護航。