《MFQ&PPDCS》學習心得--TCO(測試覆蓋大綱)

TCO 即Testing Coverage Outline 測試覆蓋大綱,做TCO是從測試的角度分析當前被測系統有哪些測試需求、測試要點。

一.爲什麼需要TCO:

在日常的工作交流(需求、方案、實現)或是在做KYM的時候,我們面臨着大量的碎片化信息需要梳理。我們需要將碎片化的信息進行提煉、重組和結構化,這就是TCO的過程。(一個好的結構化的TCO也應該便於日後原始信息的還原。)在這樣過程中我們就能夠對被測系統、測試點做到心中有數。

二.做TCO的形式和內容:

形式上,目前用的比較多的是思維導圖(腦圖),也可以是其他任何便於交流和理解的方式。
內容根據項目的上下文特點可能會有一些差異:

1.基於探索的方式學習被測系統和TCO的梳理:

對於小型項目沒有規範的研發文檔、甚至連方便交流的開發人員、需求人員都找不到時如何獲取信息?不妨做一輪ET(探索性測試),邊測試邊學習被測系統,TCO可以借鑑James Bach的HTSM(啓發式的探索性測試模型)中的產品元素SFDIPOT作個模板進行梳理:
這裏寫圖片描述

2.基於MFQ的TCO梳理:

MFQ可能更傾向於有相對健全的研發規範的團隊,有着可供學習的研發文檔(需求文檔、設計文檔等)和可以交流的DEV、BA、PO,學習文檔和與人交流的過程中不斷記錄、提煉、重組和機構化。在邰曉梅提出的MFQ模型中:
這裏寫圖片描述

- M即基於模型的單功能(Model based Discrete function):

M來源於對被測對象的學習;源於KYM的產出;單功能是被拆分出來的可以被獨立測試的功能單元。它可以基於流程拆分、可以功能的細化、可以是基於場景的,根據被測對象和項目的特點沒有絕對的標準。

- F功能交互(Function Interaction):
有些功能無法被獨立被驗證與其他功能存在依賴關係時,這樣的功能是認爲存在功能交互的。
(M和F有時沒有絕對的界限,一個功能在LLT,比如單元測試或基層測試層可以容易的找到M,但在系統測試層面可能無法明確的拆分出單功能。)

- Q質量屬性(Quality Characteristic):
指的是軟件的非功能測試的相關指標,性能、可靠性、安全…..它的啓發模型如下圖所示:
這裏寫圖片描述

三.關於基於MFQ的測試管理:

前端測試團隊可以在LLT的層面(UT/FT、IT)更多的關注M單功能的測試,測試成本更低。而在後端ST測試中着重關注F和Q的測試。但MFQ也可以分層來做,比如並不是只有ST才能做Q,LLT同樣也可能有需要關注的Q,比如一個接口的性能,一個算法函數的性能這些都更適合用 LLT的方式來進行測試。