功能列表(function list)是一種功能測試(function testing)的建模方法,在啟發式測試策略模型(heuristic test strategy model)中位於 htsm -> product elements –> function 分支中。雖然它只覆蓋了很小的測試領域,不適合作為主要的測試方法,但是仍不失為一種有啟發、有幫助的測試建模技術。本文將簡介功能列表及其應用。
什麼是功能列表?
cem kaner在black box software testing 中將功能列表定義為:程式功能的大綱(an outline of the program's capabilities)。對於powerpoint的功能,測試人員可以建立如下功能列表:
限於篇幅,該功能列表只列出了powerpoint的部分功能(真實的測試需要更詳細的功能列表),但是它很好的體現了功能列表的特點。
第一,它列出了的主要功能:輸入、操作、應用、輸出、列印和檔案讀寫,使得測試人員能夠在整體上把握被測領域。
第二,它的層次結構提供了可擴充套件的框架,測試人員可以持續地補充細節:具體的功能和針對該功能的測試想法。
第三,它為功能覆蓋提供了覆蓋目標,為制定測試計畫提供了有益的資訊。
第四,功能列表可以包含一些助記符(如標籤)和鏈結。作為大綱,它可以指向更多的資料;作為測試觸發器(trigger),它可以啟發測試思路。
功能列表的形式
我習慣用符號列表(bulleted list)製作功能列表,因為符號列表被大量的文件編輯器和文件格式所支援,能夠快速地編輯、修改和發布。
此外,許多測試人員喜歡用思維導圖(mind map)記錄功能列表、測試設計和測試計畫,也獲得了很好的效果。下圖是思維導圖形式的功能列表。
功能列表與漫遊測試
漫遊測試(tour testing)是一組以漫遊隱喻為核心的測試方法。在應用漫遊測試時,測試人員常常會遊歷被測產品的結構、功能或資料,在此期間運用他的技能和經驗去發掘產品的缺陷。
功能列表為功能漫遊(feature tour)提供了有益的資訊。它像一幅地圖,既描繪了產品的概況,又提供了必要的細節,為探索者提供了指南與參考。測試人員可以漫遊功能列表上的所有元素,以實施全面探索;也可以選擇遍歷某個功能子集,以實施專項測試。
在測試之初,測試人員對被測產品尚不了解,他可以通過功能漫遊來建立功能列表。從這個角度,漫遊的過程就是測試建模的過程,功能列表就是漫遊測試的產出。cem kaner建議,在軟體尚不成熟時,測試人員應該同情地測試(test sympathetically)。此時,測試的目的不是發現所有缺陷,而是提交重大問題,發現風險區域,建立測試模型,為今後的測試奠定基礎。對此,測試專家michael bolton有一番精彩的論述:
同情的測試非常重要,雖然一些測試人員會發現它的反面(全力尋找缺陷)難以拒絕。jon bach(測試專家,其兄弟james bach也是測試專家)指出在探索式測試的早期,他通過測試來發現產品的優點(benefits)。我覺得這很奇怪,直到他指出尋找並記錄缺陷使得他不能專注地漫遊產品並構建產品的模型。
測試人員需要建立產品的大局觀,同時掌握產品的優點、缺點、概念模型和實現邏輯。漫遊測試是很好的學習過程,功能列表是乙個有益的學習成果。
用功能列表啟發測試設計
在測試設計時,測試人員可以將功能列表視作覆蓋率指南。他逐個檢查每個功能,閱讀相關的測試想法,從而設計測試策略。在此過程,他可以自問:
另一種更有威力的方法是綜合功能列表中的多個元素,開發測試策略,以測試它們的互動和影響。隨著產品逐漸成熟,隱蔽的缺陷往往存在於功能的組合,暴露於複雜的流程。這要求測試人員綜合多方面的資訊,來更深入、更多樣地測試系統。當測試人員考慮功能的組合時,他可以自問:
在回歸測試時,功能列表是很好的參考。例如,測試人員可以按如下測試策略對powerpoint的功能進行回歸測試。
1.新建乙個powerpoint文件
2.向文件中插入
1.覆蓋所有支援的格式3.操作文件中的2.覆蓋典型的尺寸
3.覆蓋來自單鏡反光機的大型(該條目顯示隨著硬體的發展,測試策略也需要變化)
1.覆蓋picture tools下的所有命令4.應用文件中的2.一些只被乙個命令修改
3.一些被多個命令修改
4.一些不被修改
1.將與其他元素組合使用5.將文件中的元素另存為2.覆蓋文字框、形狀、smartart、圖表等
1.覆蓋所有可以被輸出的元素:、形狀、smartart、圖表等6.列印該文件2.覆蓋所有支援的格式
1.列印到(黑白和彩色)印表機7.另存該文件並重新開啟2.列印到pdf文件
3.列印到xps文件
1.另存為所有支援的格式利用該測試策略,測試人員可以用乙個很長的流程覆蓋大多數的功能,不但可以測試功能的組合,還可以順便測試程式的穩定性和資源占用。測試結束時,測試人員可以獲得乙個大型的powerpoint文件,它包含各種和相關元素,為今後的回歸測試提供了良好的素材。2.用powerpoint開啟生成的文件
3.用舊版本powerpoint開啟生成的文件
參考資料
cem kaner: black box software testing(第48~56頁)
darren mcmillan: mind map 101
michael bolton: of testing tours and dashboards
測試建模 功能列表(Function List)
功能列表 function list 是一種功能測試 function testing 的建模方法,在啟發式測試策略模型 heuristic test strategy model 中位於 htsm product elements function 分支中。雖然它只覆蓋了很小的測試領域,不適合作為...
測試建模 Google ACC
acc attributes components compatibilities 是google 測試團隊使用的一種建模方法,用來快速地建立產品的模型,以指導下一步的測試計畫和設計。在google內部,acc得到較普遍的應用,一些工程師還開發了支援acc模型的web應用,並將其 開源。本文將介紹a...
測試 功能測試
測試最基本的就是看介面展示是否正確這一類測試。但是,這類測試如果功能點多的情況下,如何有效測試就是乙個問題。1 詳略得當的測試用例,可以用mindmanager去做,也可以用excel等。2 光有測試用例是不夠的,還要根據測試資料,設計測試策略。如 測試的服務端的先後 測試賬號的先後 測試功能的先後...