業務需求驅動的軟體質量管理系統 Rational Quality

myattitude發表於2009-07-07

轉自:developerworks

作者:李 佳慧, 軟體工程師, IBM

軟體質量管理不僅僅是測試、驗證產品的質量,更要關注產品是否滿足真正的業務需求,也就是產品是否滿足的客戶的真正需求。Rational Quality Manager (RQM) 是以業務為驅動的軟體質量管理整合平臺和門戶,它通過強大的從業務需求到測試計劃,設計和執行過程的跟蹤幫助企業有效控制軟體質量。本文主要介紹 RQM 系統如何實現需求驅動的質量管理。

簡介

提到軟體質量管理,您會想到什麼?許多使用者會聯想到一些階段性的測試工具,比如說 Rational Functional Tester、Rational Performance Tester 等等。實際上,軟體質量管理不僅僅是測試,測試關注產品的質量,看其是否能為使用者所使用,它包括功能,效能等方面的驗證,這些都是必要的,但質量管理不僅要關注這些,更要關注產品是否滿足真正的業務需求,也就是產品是否滿足客戶的真正需求。目前,工程師在軟體質量管理方面遇到很多麻煩,那麼針對這些麻煩和困惑,IBM Rational 最近推出了一款全新的企業軟體全生命週期質量管理產品 Rational Quality Manager,簡稱為 RQM。它是基於新一代軟體協作交付平臺 Jazz 開發的一款新產品,因此具有 Jazz 良好的協作性以及資訊透明化等特性。RQM 是以業務為驅動的軟體質量管理整合平臺和門戶,它通過強大的從業務需求到測試計劃,設計和執行過程的跟蹤,幫助企業有效控制軟體質量,優化資源,有效重用現有資源。

大家知道,儘早的將軟體測試團隊引入到軟體開發中,可以從需求階段就發現很多錯誤,從而以最小的代價修復錯誤。所以測試計劃,測試用例與需求的關聯追蹤,能很好的控制軟體的質量,從而使產品很好的滿足使用者的需求。傳統的管理方法,會將需求、測試用例等放在 word 或 excel 文件中管理,然後用 excel 來追蹤需求和測試用例之間的追蹤關係。我們知道,需求沒有一成不變的,所以一旦需求發生改變,使用者需要手工更新該需求與測試用例間的追蹤關係。這樣,使用者耗費巨大的時間和精力在維護兩者之間的關係上,而且效果也不好。

這裡我們來關注一下 RQM 如何完成業務需求驅動的軟體質量管理,實現端到端的測試需求跟蹤和變更管理。圖 1 是軟體生命週期過程中知名的需求追蹤金字塔模型,系統分析師根據業務需求來設計產品特性,需求分析人員從產品特性中提取軟體需求,設計人員由軟體需求來進行設計,測試人員可以根據軟體需求來設計測試用例,從而準確的測試到產品的特徵。所以我們可以看到,測試用例實際上也是追蹤於產品的業務需求的,所以更好的跟蹤需求變更,可以及時修改測試用例。另外,測試人員有著豐富的產品使用經驗,將他們儘早的引入到需求,也可以儘早發現需求方面的問題,從而以最小的代價修復錯誤,從而提高整個軟體的質量。


圖 1. 需求追蹤金字塔模型
需求追蹤金字塔模型 

RQM 系統中的需求獲取方式

那麼如何配置 RQM,從而實現從測試計劃、測試用例到需求的追蹤管理。RQM 有三種方式來獲取需求。首先,RQM 提供了需求模組,使用者可以直接將需求輸入到 RQM 的需求模組中進行管理。另外,RQM 還支援從存有大量需求的 XML 檔案中批量匯入需求;最後,RQM 還可以通過與當前主流的需求管理軟體 Rational RequisitePro 或 Doors 整合,將 RequisitePro 或 Doors 中的需求匯入 RQM 中的需求模組。RQM 匯入需求後,可以根據需求來建立測試計劃、測試用例,從而實現業務驅動的軟體質量管理。

多種需求獲取方式的支援使 RQM 可以應用於各種規模的企業。比如,一些中小型企業,可能沒有使用專業的需求管理軟體來做專案的需求管理,只是使用 Excel 來進行需求管理。RQM 系統為使用者提供了需求管理模組,使使用者可以直接將需求輸入到 RQM 系統中的需求管理模組,或是從已有的包含需求的 XML 檔案中,將需求批量匯入到 RQM 系統,從而在 RQM 系統中進行簡單的需求管理。而對於已經使用專業需求管理軟體 Rational RequisitePro 或 Doors 的企業,可以按照下面的步驟,將需求匯入到 RQM 系統中。

RQM 與 RequisitePro7.1 整合時,要求 RequisitePro 安裝了 web client

整合步驟:

  1. 安裝好 RequisitePro 7.1,並且配置了 RequisiteWeb.
  2. 在 RequisitePro 中建立一個 project 來管理專案的需求,並且為這個 project 新增一個或多個使用者。
  3. 在這個 RequisitePro 的 project 中,新增各種型別的需求。
  4. 將 RequisitePro project 中的需求匯入 RQM 的測試計劃中,具體步驟見下面第二小節“如何完成 RQM 與 RequisitePro 的整合,將 RequisitePro 中需求匯入 RQM 中”
  5. RQM 的測試計劃中會包含多個測試用例,這些測試用例是可以關聯一個或多個已經匯入到測試計劃中的需求。

如何完成 RQM 與 RequisitePro 的整合,將 RequisitePro 中需求匯入 RQM 中

  1. 從 RQM 左側的導航欄中,選擇需求按鈕 (需求按鈕),然後點選“Import Requirements”;
  2. 使用者將看到兩種需求匯入方式,選擇從 RequisitePro 中匯入“Import from an external requirement system (e.g. Rational RequisitePro)”;


圖 2. Rational Quality Manager 與 RequisitePro 的整合
Rational Quality Manager 與 RequisitePro 的整合

  1. 如圖 2 所示,在匯入資訊對話方塊中填寫 RequisitePro Server 的主機名和埠,然後點選“Next”進入下一步。
  2. 在該步驟中,可以選擇該 RequisitePro Server 上的 project,並輸入該 project 的使用者名稱和密碼,用於整合。
  3. 接下來,RQM 中將會列出所有該 RequisitePro project 中的需求型別,以及該需求型別下的所有需求。從這些需求中,選擇所需要的,匯入 RQM 系統中。如圖 3 所示,列出 RequisitePro 中的需求型別為”Stakeholder Request”的所有需求。選擇部分需求後,點選”Import”按鈕,將需求匯入到 RQM 系統中。


圖 3. 選擇要匯入的 RequisitePro 中的需求
選擇要匯入的 RequisitePro 中的需求

  1. RQM 從 RequisitePro 中匯入需求成功後,可以從 RQM 左側的導航欄中,選擇需求按鈕 (選擇需求按鈕),然後點選“All Requirements”,由此來驗證需求是否匯入成功。

    如何將 RQM 中的需求與測試計劃和測試用例進行關聯

    通過第一部分的介紹後,使用者已經可以將 RequisitePro 中的需求已經被匯入到 RQM 中,接下來介紹的是:如何將這些需求與 RQM 系統中的測試計劃和測試用例關聯,來實現測試用例、測試計劃到需求的追蹤。

    這種追蹤帶來的好處是:首先使用者可以方便的檢視是否所有需求被測試計劃和測試用例覆蓋,其次是能及時根據需求的變動狀態來更新測試用例、測試計劃,更好的保證軟體質量。

    1. 在 RQM 中開啟一個已建好的測試計劃,並展開其中的需求部分
    2. 在需求部分中,點選新增需求的按鈕(新增需求的按鈕),RQM 會列出該系統所有的需求
    3. 選擇該測試計劃所要覆蓋的需求,將這些需求與該計劃關聯。至此,該測試計劃所要覆蓋的需求已經關聯。
    4. 在該測試計劃中,會包含多個測試用例,每個測試用例可以追蹤於一個或多個需求。開啟其中的一個測試用例,在該測試用例的需求部分,關聯一個或多個測試計劃已關聯的需求。
    5. 至此,在 RQM 系統中,需求與測試計劃和測試用例已經關聯成功。

    這裡舉一個實際應用中的例子,我們知道在 RequisitePro 中的需求有很多中型別,這樣能更好的描述不同階段的需求。比如一個專案 Project 1 中的需求型別有 Product Feature 和 Supplementary Requirement,這兩種需求型別用於描述產品的特性需求,以及後期的補充需求。

    1. 在 RQM 中,匯入 RequisitePro 專案 Project 1 中的這兩種型別的所有需求。這樣在 RQM 需求管理部分,我們可以看到所有匯入的這兩種型別的所有需求。
    2. 在 RQM 的測試計劃 Plan 1 中,選擇“Requirement”section,將匯入的需求與該測試計劃關聯。
    3. 在該測試計劃中建立新的測試用例,為了能讓該測試用例更好的對產品特性進行測試,我們讓每個測試用例關聯一個相應的產品的特性需求,讓每個測試用例專門測試產品的某個特性。例如,讓 test Case1 與需求 Feature1 關聯。

    這樣,我們就建立了測試計劃、測試用例與需求的追蹤關係。在下面的章節中,繼續我們的這個例子:在 RequisitePro 中,更新產品的特性需求,從而看到 RQM 系統如何跟蹤需求的變化,來更新相應的測試計劃、測試用例。

    三.RQM 系統中的需求變化追蹤

    眾所周知的,需求是不斷變化的,怎麼樣能在測試過程中更好的追蹤需求變化,從而降低需求變化所帶來的風險?

    RQM 系統提供了需求變更的自動通知功能,當需求在需求管理工具 RequisitePro/Doors 中變動時,RQM 為需求提供了“Status”標識位,該標識位會自動更新為“Updated”。從而通知使用者需要更新相關的測試計劃、測試用例,更好的測試需求的變更。例如,當 RequisiteRro 中的原始需求被更新或是被刪除時,匯入 RQM 中的需求狀態標識位“Status”會被相應的標成”Updated”或是”Deleted”。關聯了該需求的測試用例會自動更新其狀態為”Suspect”,測試人員可以及時看到需求變化對哪些測試計劃和測試用例產生影響,從而及時對測試計劃或測試用例進行準確的更新和修改,達到更好的控制軟體質量的目標。

    在第二部分中,我們做了一個例子,讓測試計劃 Plan 1 中的 test case1 與匯入的需求 Feature1 建立關聯。我們繼續這個例子,來看 RQM 系統如何追蹤需求的變更。

    1. 使用者的需求發生變化了,在 RequisitePro 系統中,需求管理人員修改了產品特性需求 Feature 1 的內容,而且該需求的優先順序也被相應提高了。
    2. 這時在 RQM 系統中,如圖 4 所示,我們會發現匯入的需求 Feature 1 的狀態發生了變更,由 Status 表示位自動更新,由原先的”normal”變成了”Updated”。這樣可以讓使用者及時得到資訊,需求發生變化了。

    圖 4. 需求的狀態標識位
    需求的狀態標識位
    1. 與這個需求相關聯的 Test case 1 的狀態會自動變成”Suspect”,所以,使用者可以及時知道:需求的變更讓這個測試用例受到了影響。
    2. 使用者可以檢視需求的變化,根據這些變化,修改相關聯的測試用例 test case 1,這樣才能更好的測試產品的特性。

    除此之外,RQM 還提供了豐富的需求覆蓋分析方面的報表,比如“Plan Requirements Coverage by Test Case”, “Requirements Traceability”,以此來幫助使用者來追蹤需求與測試用例,缺陷之間的關係。如圖 5 所示,使用者可以清晰的檢視出哪些需求被測試用例所覆蓋,哪些測試用例沒有被覆蓋到。一旦需求有變動,兩者之間的關係會變成“Suspect”,提示使用者來進行需求變更的處理。


    圖 5. 需求與測試用例覆蓋關係圖
    需求與測試用例覆蓋關係圖 

    總結

    綜上所述,使用者可以根據本文介紹的方法,在 Rational Quality Manager(RQM)系統中,建立測試計劃、測試用例與需求的追蹤關係。一旦需求發生變更,RQM 系統會提示使用者調整相關聯的測試計劃和測試用例。使用者可以根據需求的變化,對相關聯的測試計劃和測試用例做出準確的調整,從而實現端到端的測試需求跟蹤和變更管理;更好的監控產品質量,使產品滿足客戶的真正需求。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780914/viewspace-608531/,如需轉載,請註明出處,否則將追究法律責任。

相關文章