[譯文]HTSM-Product Elements:產品元素

引言

產品元素是指那些你需要進行測試的東西。軟件產品是提供給用戶的問題解決方案,具有復雜性和隱蔽性——軟件產品有多個維度。測試需要覆蓋產品的多個維度,測試那些重要的,而不僅是哪些容易觀察到的。

結構:產品的組成部分

1 代碼結構

2 硬件結構

3 非可執行文件,例如:多媒體文件、幫助文檔等

4 附屬產品,例如紙質文檔、在線文檔、打包文件、許可證書等

功能:產品做的每一件事

1 應用:產品的核心需求的功能

2 計算:產品功能中的算數功能或操作

3 時間相關:超時設定、每日或月末報告、夜晚批處理、時區、工作日節假日、利息計算、項目或權限有效周期、計時功能

4 變化:修改或變更某些東西,例如改變賬戶余額、修改訂單狀態等

5 啟動和關閉:在請求、初始化以及退出服務時,注意方法和接口的處理

6 多媒體:聲音、位圖、視頻等

7 錯誤處理:功能對錯誤的檢測、從錯誤中如何恢復,還有錯誤的信息提示

8 交互:各服務、接口間的交互通訊

9 可測性:輔助測試的功能,例如診斷功能、日志文件、斷言等

數據:產品處理的那些東西

1 輸入:產品處理的輸入數據

2 輸出:產品的處理結構

3 預置:作為產品的一步的數據或者內置的數據,例如:數據庫、程序中寫死的或配置的默認值

4 持久:需要存儲的數據,像記錄、樣式、狀態等

5 順序/組合:有序的數據,例如:字母順序、已排序的數據等

6 基數:對象的個數或值域,例如取值范圍從1到9,有限個枚舉,唯一性

7 大和小:數據的變化區間和集合的最大最小值

8 雜音:無效或具有破壞性的數據、產生于不受控制的或錯誤的處理過程的數據。

9 生命周期:必須覆蓋數據從生成、讀取、修改、刪除的生命周期。

接口:產品可用的通道

1 用戶接口:讓用戶可以改變數據的元素,例如操作面板、按鈕等

2 系統接口:與其他系統、磁盤、網絡等交互的接口

3 api/sdk:可編程的接口或工具

4 導入/導出:可以提供打包數據的功能,導入其他數據的功能

平臺:產品所依賴的

1 硬件:為了使產品能夠提供服務的,非產品本身需要的硬件設備。例如負載均衡器、網絡交換器、加密機等

2 軟件:為了使產品能夠提供服務的,非產品本身需要的軟件設施。例如操作系統、驅動程序等

3 其他組件:庫或者組件,是產品提供服務所需但產生于項目外部的。

操作:產品將如何使用

1 用戶:每類用戶使用產品的特征是什么

2 環境:產品將被使用的物理環境怎樣?噪音、燈光、網絡情況(APP測試特別需要關注)

3 通常的使用:產品通常遇到的輸入的形式和操作順序

4 不受歡迎的使用:不在意的、錯誤的、惡意的輸入形式和操作順序

5 極端的使用:具有挑戰性的輸入形式和操作順序

時間:產品與時間的關系

1 輸入輸出:什么時候輸入,什么時候輸出,輸入輸出間延遲多少

2 快和慢:使用“快”和“慢”的輸入操作

3 改變速率:一會快一會慢,例如平緩加快輸入、突然加大輸入、掛起處理導致瓶頸、中斷操作)

4 并發:多用戶、時間片、多線程、信號量、共享數據


翻譯說明:之前介紹的HTSM模型,弱化了模型的詳細內容。HTSM本身只是個框架,現在按James Bach 2015年的版本,做一個翻譯。這是譯文的第三部分:產品元素。

有不太清楚和錯漏的,也歡迎大家指正,在此表示感謝。

另外,HTSM本身最重要的是適合自己的使用。James Bach的版本未必就是適合你的。僅作為參考。所以你發現有你不同意的,或者不以為然,都是正常的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容