qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          聚焦軟件測試過程改進

          實施測試過程改進的五個步驟

            綜合了組織需要進行的所有活動,測試過程改進的實施需要采取以下五個步驟(見圖表1):

            ● 與發起人溝通并理解業務目標

            ● 通過審查和面談來評估當前測試過程

            ● 報告評估結果并建立執行路線圖

            ● 實施建議的改進措施

            ● 測量實施后的效果

            第1步:與發起人溝通并理解業務目標

            發起人是指分配測試過程改進項目的人,或倡導對測試過程進行評估的人,或簽署測試過程咨詢協議的人。開始測試過程評估的首要步驟是與測試過程評估的發起人溝通,詳細了解組織的過程和業務目標。很多企業都認識到必須改進其測試過程,但是對如何改進以及改進的必要步驟卻不是很清楚或者沒有一個清晰地思路。經過與發起人的細致討論,要為測試過程改進定義明確的目標。無論使用什么方式進行測試過程評估,首要考慮的因素都是建立評估的目標。評估的目標根據組織的類型及其需要會有所不同,一些例子如下:

            ● 減少測試費用

            ● 提高測試的有效性

            ● 提高測試的效率

            ● 提高組織總體的測試成熟度

            ● 提高測試收益的可見性。等等

            在組織要求的基礎上,我們必須制定明確的達成的目標,并將其作為測試過程評估的一部分。一旦確定了目標,接下來要做的事情是盡可能的將這些目標轉化為度量指標和數字。使用明確直觀的度量指標能夠幫助企業度量他們的改進效果、認識到他們的位置并為該項目提供方向。作為測試過程改進的一部分,企業明確設定要達成的目標是至關重要的,同時整個改進過程基于目標而劃分為多個階段。

            第2步:通過審查和面談來評估當前測試過程:

            執行評估方法的制定基于測試組織的業務目標與評估目標。通常有兩類執行測試過程評估的方法:

            1、正式的測試過程評估,這是相對有條理,結構化并往往消耗較多時間的。

            2、非正式的、非結構化測試過程評估,這類的評估方法基于特定的需要,消耗較少的時間。

          圖表2 評估的輸入和輸出項

            在組織中,測試通常不是孤立存在的,它與多個業務團隊、開發團隊、供應商、測試環境團隊等共同存在。應首先確定所有主要的干系人(在組織中最能夠影響測試團隊或者最受測試團隊影響的角色)。同時,應從已存在的項目中收集工件,并脫機檢查這些工件。可以根據業務目標來準備一份調查問卷提供給干系人填寫。當收到來自干系人的反饋后,則可以將這些內容與從項目工件中收集到的信息整合起來。

            圖2給出了測試過程評估的輸入和輸出項的圖形表示。

            在從文檔檢查和調查問卷中獲得了必要的信息后,接下來需要準備一份面向每位干系人的訪談問題列表。應該與每位干系人進行訪談,訪談的焦點要集中于已發現的組織現狀與干系人反饋之間的差異。在訪談中,應該設計更多關于測試組織、組織的測試策略、組織的測試過程、項目的測試過程和測試方法、測試管理和環境管理、測試審查和優化等內容的探索式問題,同時要收集關于待評審測試過程的更多信息。訪談問題的設計可以根據干系人在組織中的角色進行自定義。

          隨著對高效IT過程的需要、客戶期望的提高和對高質量產品的關注,軟件測試的重要性顯得突出起來。出于對成本和質量的重視,大多數企業已經建立起基本的測試過程和測試團隊,但是卻面臨其他挑戰。許多企業雖然對測試進行大量投入,卻不太能獲得相應的收益;大多數同時負責開發和測試的CIO會覺得盡管在測試中進行了相當的投入,最終用戶卻經常抱怨在使用時有太多缺陷,或者他們覺得測試沒有提升產品的質量。

            今天,大多數企業都承認改善和建立高效的測試過程可以解決這些問題,但他們通常很難有效地定義自身當前的進程,也并不知道如何進行必要的改進。以下一些原因使得企業希望進行測試過程咨詢:

            ● 即使建立了測試實踐,企業依舊不能達到足夠的測試覆蓋率或者缺陷發現得太晚以致修正缺陷需要增加大量成本。因此,企業想要檢查自身測試過程與行業標準的差距或依照其設定基準。

            ● 企業關注于提高測試水平,但卻不知道如何提高。

            ● 一些組織想要從第三方處了解到他們的當前狀況以及如何進行改善。

            ● 大多數干系人抱怨測試沒有效果。

            ● 大多數消費者抱怨終端產品中的缺陷。

            ● 想要優化當前的測試過程。

            ● 當前測試團隊不能提供預期的投資回報等。

            企業不能從測試實踐中獲得收益的主要原因是,他們對當前測試過程的有效性和效率缺乏足夠深入的認識。這表現在企業盡管實施了測試過程,他們仍然支出高額的運營費用、不能達到所要求的質量等級或者質量不能完全滿足其業務目標。

            一般情況下,企業面臨各種測試問題且無法實現投資回報可能是由以下原因造成的:

            ● 測試過程與整個軟件開發生命周期不符

            ● 測試活動僅在產品投入使用之前才開始進行,導致了大量的返工和費用的增加

            ● 軟件測試專業知識的缺乏使得很多缺陷沒有被發現

            ● 正在使用的測試過程適合當前需要,但可能不適合不斷變化的業務需求

            ● 所使用測試方法與被測系統的測試重點和開發方法不匹配。

            隨著競爭的日益激烈和業務需求的不斷變化,測試和測試過程需要在組織中持續地進行監控并進行相應的改進。測試過程改進能夠識別出組織當前測試過程的強弱項,并根據實際情況提出必要的改進建議。基本上,所有的成熟度模型都包括了各類測試活動(測試策劃、測試用例設計、缺陷管理等),并能夠協助進行測試過程評估。

            什么是測試過程評估?

            測試過程評估是一種方法或服務,它能夠使組織識別和定義出當前的測試過程、對這些過程進行分析并找出需要改進的區域。它包括對當前測試過程的評估,深入了解測試過程對開發項目的幫助以及測試過程是否被真正應用。它可以幫助組織清楚當前測試過程的成熟度水平,幫助深入了解當前成熟度的狀態,以及提供針對質量和成本改善的改進建議。

            測試過程評估也提供了實施改進建議的必要步驟。這樣做是為了發現哪些過程適合企業的業務需要,而哪些不適合。不同類型的企業的測試過程表現出很大的不同,例如:有的大型企業已經遵循了業界廣泛認可的成熟度模型(如TPI或TMMi),而有的小型企業可能還沒有建立適當的測試實踐。在小型企業或小型企業的決策者中可能存在著這樣的一種意識:測試過程改進只(更)適用于大型企業。事實上,測試過程改善適用于在測試上進行投入的所有企業,并對所有企業都一樣重要,無論是大型的還是小型的。



          實施測試過程改進的五個步驟

            綜合了組織需要進行的所有活動,測試過程改進的實施需要采取以下五個步驟(見圖表1):

            ● 與發起人溝通并理解業務目標

            ● 通過審查和面談來評估當前測試過程

            ● 報告評估結果并建立執行路線圖

            ● 實施建議的改進措施

            ● 測量實施后的效果

            第1步:與發起人溝通并理解業務目標

            發起人是指分配測試過程改進項目的人,或倡導對測試過程進行評估的人,或簽署測試過程咨詢協議的人。開始測試過程評估的首要步驟是與測試過程評估的發起人溝通,詳細了解組織的過程和業務目標。很多企業都認識到必須改進其測試過程,但是對如何改進以及改進的必要步驟卻不是很清楚或者沒有一個清晰地思路。經過與發起人的細致討論,要為測試過程改進定義明確的目標。無論使用什么方式進行測試過程評估,首要考慮的因素都是建立評估的目標。評估的目標根據組織的類型及其需要會有所不同,一些例子如下:

            ● 減少測試費用

            ● 提高測試的有效性

            ● 提高測試的效率

            ● 提高組織總體的測試成熟度

            ● 提高測試收益的可見性。等等

            在組織要求的基礎上,我們必須制定明確的達成的目標,并將其作為測試過程評估的一部分。一旦確定了目標,接下來要做的事情是盡可能的將這些目標轉化為度量指標和數字。使用明確直觀的度量指標能夠幫助企業度量他們的改進效果、認識到他們的位置并為該項目提供方向。作為測試過程改進的一部分,企業明確設定要達成的目標是至關重要的,同時整個改進過程基于目標而劃分為多個階段。

            第2步:通過審查和面談來評估當前測試過程:

            執行評估方法的制定基于測試組織的業務目標與評估目標。通常有兩類執行測試過程評估的方法:

            1、正式的測試過程評估,這是相對有條理,結構化并往往消耗較多時間的。

            2、非正式的、非結構化測試過程評估,這類的評估方法基于特定的需要,消耗較少的時間。

          圖表2 評估的輸入和輸出項

            在組織中,測試通常不是孤立存在的,它與多個業務團隊、開發團隊、供應商、測試環境團隊等共同存在。應首先確定所有主要的干系人(在組織中最能夠影響測試團隊或者最受測試團隊影響的角色)。同時,應從已存在的項目中收集工件,并脫機檢查這些工件。可以根據業務目標來準備一份調查問卷提供給干系人填寫。當收到來自干系人的反饋后,則可以將這些內容與從項目工件中收集到的信息整合起來。

            圖2給出了測試過程評估的輸入和輸出項的圖形表示。

            在從文檔檢查和調查問卷中獲得了必要的信息后,接下來需要準備一份面向每位干系人的訪談問題列表。應該與每位干系人進行訪談,訪談的焦點要集中于已發現的組織現狀與干系人反饋之間的差異。在訪談中,應該設計更多關于測試組織、組織的測試策略、組織的測試過程、項目的測試過程和測試方法、測試管理和環境管理、測試審查和優化等內容的探索式問題,同時要收集關于待評審測試過程的更多信息。訪談問題的設計可以根據干系人在組織中的角色進行自定義。

           

          圖表1 測試過程改善的五個步驟


          第3步:報告評估結果并建立執行路線圖:

            通過從不同領域和不同干系人收集來的數據,我們可以對組織的當前過程、能力和他們想要達成的目標有了清楚的認識。改善措施要建立在組織需要的基礎上。例如,有些過程可能成熟度并不高,但是由于它們對組織的目標沒有任何影響,所以可以忽略。

            對所有相關因素加以考慮有助于推薦出一套可以立即實施于組織中幾個項目團隊的必要改進措施和度量指標。

            改進建議可進一步分為短期、中期和長期實施措施。

            第4步:執行建議的改進措施:

            在建立了基于業務和組織的測試目標的必要改進措施后,下一步行動包括對改善措施排序優先級,即明確出希望哪些改善措施能夠立即實施以速見成效、希望哪些改善措施過段時間后再實施,以及他們要如何實施這些改善措施。優先級的排序可以考慮如下一些參數:每個改善措施需要的時間、必要的投入(人力、軟件、硬件)、實施改變的困難度、每個改善措施對測試過程分別的影響等等。基于如上的參數,可以給測試過程改進發起人提供一份改善措施優先級的列表。

            通常情況下,改善項目可以分為短期(0-3個月)、中期(4-6個月)和長期(達1年)。應該建立改善項目的計劃,并與組織就他們想要做什么、希望如何去做達成一致。

            第5步:測量實施后的效果:

            一旦實施了測試過程改進,改進團隊應該定期從各位干系人處收集反饋信息。分析收集到的反饋信息以了解改進的效果并識別出進一步的調整。

            形成通過實施改進取得收益的詳細報告,并提交給主要負責人和其他干系人。

            實施測試過程改進中的最佳實踐

            測試過程改進應以循序漸進的方式進行,希望采用一步到位的方法來實現過程改進是不正確的。一些準則有助于成功的實施測試過程改進:不要嘗試太多改變而是實施幾個有意義的改變來推動組織向前發展;分析優先級高的域并處理它們;針對能產生較大影響的域進行改變。首先,應在一個試點項目或一個組織單元實施過程改進,因為這屬于試驗階段并且能夠使風險降到最低。接下來,在試點項目中獲得的經驗可以作為案例應用于其他項目的測試過程改進。這樣,當針對其他域進行改進時,可以使用這些可見的結果支持測試過程改進。

            改進措施應徹底按照計劃執行,并定期監控,以確保這些改進符合要求或業務目標。測試過程改進應考慮使用業界普遍認可的測試成熟度模型,如測試過程改進模型(TPINext) 作為參照。這樣,可以很好分析測試過程的當前情況。

            測試過程改進模型提供的成熟度基準可以幫助組織評估其測試過程的質量、識別必要的改變,并提供改進的方向,最終導向項目的成功。

            樣本展示:

          評估結果的SWOT分析

          開展評估&改進能帶來什么好處?

            測試過程改進能夠幫助企業實現所需的測試成熟度級別和更合理、更高效的測試過程。它能夠使企業優化他們的測試能力和測試過程的交付時間,并確保IT系統的整體質量。它包括了其他幾個子元素,如缺陷管理、測試技術、測試工具、自動化測試、測試策略、測試環境、測試覆蓋率、測試過程創新、測試遠景和目標、角色和職責等。企業明確要改善的重點領域非常重要,因為不可能所有領域都處于同一成熟度級別。

            測試過程評估&改進的好處列出如下,但不僅限于此:

            ● 對組織的強弱項做出明確的評估以及把軟件開發生命周期與業界最佳實踐進行比較

            ● 明確的路線圖指出改進建議優先級

            ● 為后續的改進和度量建立基準

            ● 設置了切合實際的目標和基于這些目標的度量指標

            ● 提供了經實踐驗證的框架能夠滿足不同的需要

            ● 建立良好的測試過程,由于質量的提高以及與業務目標保持一致,因此能產生良好的ROI

            ● 提供了一個框架以確測試過程改進中對預期的ROI進行監控并實現

            ● 更有效和高效的業務運營

            ● 增強對測試過程和相關費用的控制

            ● 減少空閑時間

            ● 減少錯誤

            ● 降低生產維護的管理費用

            ● 從長遠來看,減少測試的成本

            ● 從長遠來看,減少測試過程的長度

            ● 提高開發和測試的生命周期以及支持過程的效率

            ● 提升代碼的發布質量以及每個測試階段的代碼質量

            測試過程評估與改進的總體目標是確保通過持續的改進來優化公司的投資回報率,并增加商業價值。

            樣本展示:

          改善建議–測試域:測試度量

          posted on 2013-06-24 11:23 順其自然EVO 閱讀(382) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2013年6月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 济宁市| 阿瓦提县| 莲花县| 江门市| 黄龙县| 三穗县| 怀来县| 安徽省| 镇康县| 喀喇| 克东县| 福清市| 阳新县| 凌云县| 府谷县| 镇远县| 鄯善县| 林芝县| 奎屯市| 美姑县| 定日县| 广饶县| 武强县| 马关县| 西华县| 射阳县| 西安市| 湖北省| 平陆县| 息烽县| 包头市| 威远县| 梨树县| 雅江县| 遵化市| 政和县| 罗定市| 榆中县| 商都县| 牙克石市| 方城县|