測試過程中我們經(jīng)常會強調(diào)可追溯性的重要性。本文和大家聊聊可追溯性的話題。
什么是可追溯性?我們可以先看看ISTQB術(shù)語的定義:根據(jù)ISO 19506和GBT 11457定義,可追溯性指的是在兩個或更多工作產(chǎn)品之間建立聯(lián)系的深度。通常我們會將可追溯性分為垂直可追溯性和水平可追溯性。
垂直可追溯性指的是貫穿開發(fā)文檔到組件層次的需求可追溯。以典型的V模型為例,垂直可追溯性表現(xiàn)為開發(fā)后一個階段的輸出工作產(chǎn)品,需要保證可追溯到前一個階段的工作產(chǎn)品,例如:系統(tǒng)需求需要覆蓋用戶需求、架構(gòu)設(shè)計覆蓋系統(tǒng)需求、詳細設(shè)計覆蓋架構(gòu)設(shè)計、代碼覆蓋詳細設(shè)計等。從V模型中可以看出,垂直可追溯性可以看成是開發(fā)生命周期中前后階段的可追溯性。
水平可追溯性指的是指定測試級別的需求和相應(yīng)測試文檔之間的可追溯性。以系統(tǒng)測試為例,測試條件需覆蓋對應(yīng)的測試依據(jù)(例如:系統(tǒng)需求)、測試用例覆蓋測試條件、測試規(guī)程覆蓋測試用例,再到發(fā)現(xiàn)的缺陷對應(yīng)相關(guān)的測試規(guī)程(更多的會體現(xiàn)在測試用例的對應(yīng)上)。假如對應(yīng)的測試用例執(zhí)行通過,就可以說明已經(jīng)實現(xiàn)了對應(yīng)的系統(tǒng)需求。假如測試用例發(fā)現(xiàn)了缺陷,那么該缺陷與對應(yīng)的系統(tǒng)需求直接對應(yīng)。因此,水平可追溯性可以通過測試級別過程實現(xiàn),其可追溯性主要表現(xiàn)在V模型左邊與右邊的對應(yīng)。
測試過程中輸出的工作產(chǎn)品名稱差別很大,在不同組織中也可能會有不同的類型和形式。但是不管差異如何,為了實施有效的測試監(jiān)督與控制,在測試依據(jù)的每個元素和與該元素相關(guān)聯(lián)的各種測試工作產(chǎn)品質(zhì)量建議和維護整個測試過程的可追溯性是很重要的。良好的可追溯性可以支持:
1、評估
通過可追溯性提供提供的信息,幫助評估測試覆蓋率、產(chǎn)品質(zhì)量、過程能力和項目進度等;以系統(tǒng)測試為例,根據(jù)水平可追溯性,以產(chǎn)品風險作為測試依據(jù),其可追溯性體現(xiàn)為:基于識別的每條產(chǎn)品風險,得到測試條件,再到測試用例,再構(gòu)建為按照風險級別排序的測試規(guī)程。然后在測試執(zhí)行過程中首先運行優(yōu)先級別高的測試用例,假如沒有發(fā)現(xiàn)缺陷,說明對應(yīng)的產(chǎn)品風險已經(jīng)消失;而在測試執(zhí)行中出現(xiàn)了失效,那么該產(chǎn)品風險已經(jīng)成為一個問題,確定之后需要提交缺陷報告已幫助開發(fā)人員進行定位和修復(fù)問題。通過針對產(chǎn)品風險的水平可追溯性,根據(jù)對應(yīng)測試用例的狀態(tài),可以評估產(chǎn)品風險的覆蓋率。另外,也可以分析被測對象的剩余風險以評估產(chǎn)品質(zhì)量、過程能力和測試執(zhí)行進度。
2、支持
通過可追溯性可以幫助審計測試的完整性,判斷測試過程是否符合IT管理標準,特別是幫助進行變更的影響分析。由于確定了垂直可追溯性,在出現(xiàn)變更時,例如需求變更,那么可以清晰地知道對后續(xù)開發(fā)工作產(chǎn)品的影響程度,從而對變更可能導致的風險、工作量、項目進度等作出分析與決策。另外,基于水平可追溯性,在需求出現(xiàn)變更時,可以從測試角度分析對測試工作量等因素的影響。
3、理解
通過可追溯性可以幫助利益干系人更好的理解測試進度報告和測試總結(jié)報告,同時在為干系人提供其他信息時,減少測試技術(shù)方面的不可理解性。例如:對于客戶而言,你和他們說測試用例的執(zhí)行通過率是95%,肯定不如需求覆蓋率已經(jīng)達到95%更好理解?;蛘哒f剩余風險還有5%,也肯定比和客戶說還有5個測試用例沒有執(zhí)行,更好地幫助客戶做出決策。
為了更好的收集與分析可追溯性相關(guān)的數(shù)據(jù),以實施更加高效的測試監(jiān)督與控制,通常會需要測試管理工具的支持。從組織層面建立自己的測試管理系統(tǒng)來管理工作產(chǎn)品,并提供它們所需的可追溯性信息。