天天看點

《軟體測試技術實戰:設計、工具及管理》—第2章 2.4節運用決策樹設計測試用例

本節書摘來自異步社群《軟體測試技術實戰:設計、工具及管理》一書中的第2章,第2.4節運用決策樹設計測試用例,作者顧翔,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

2.4 運用決策樹設計測試用例

條件組合是軟體測試設計中普遍遇到,而且又是十分頭痛的事情,這裡介紹兩個經常用到的方法:決策樹和正交法。決策樹不太正規,而正交法基于嚴格的數學理論,是以比較正規,但是掌握起來有一定難度。本節介紹決策樹,下一節介紹正交法。

2.4.1 文本編輯軟體

案例2-12:文本編輯軟體。

這是一個簡化版的文本編輯器軟體,僅可以編輯文字的格式和字号,格式分為黑體、斜體和下劃線3種;字号包括1、2、3、4、5共5個字号。圖2-10就是用決策樹設計的測試用例方法:

《軟體測試技術實戰:設計、工具及管理》—第2章 2.4節運用決策樹設計測試用例

 對于3種字型,依次循環取:黑體、斜體、下劃線、黑體、斜體、下劃線……

 對于5種字号,依次循環取:1号、2号、3号、4号、5号、1号、2号、3号……

這樣,每一行就對應一個測試用例,即:

(1)黑體1号字型;

(2)斜體2号字型;

(3)下劃線3号字型;

(4)黑體4号字型;

(5)斜體5号字型;

(6)下劃線1号字型;

(7)黑體2号字型;

……

至于需要取多少行,這由測試能力決定。

2.4.2 機票購買系統

案例2-13:機票購買系統。

下面來看一個機票購買系統的例子,界面如圖2-11所示。

《軟體測試技術實戰:設計、工具及管理》—第2章 2.4節運用決策樹設計測試用例

為了簡化起見,僅假設下面幾種情形:

 第一項包括往返、單程和聯票。

 第二項與第三項出發,到達城市僅為上海、北京、福州、杭州、濟南。

 第四項出發日期僅為 2015-06-15、2015-06-16、2015-06-17。

 第五項傳回日期僅為 2015-06-18、2015-06-19、2015-06-20。

機票購買系統決策樹如圖2-12所示。

《軟體測試技術實戰:設計、工具及管理》—第2章 2.4節運用決策樹設計測試用例

這裡,出發城市與到達城市均為5個,并且相同,如果按照上面介紹的思路,測試用例永遠是上海—上海、北京—北京、福州—福州、杭州—杭州、濟南—濟南。改變一下政策,出發城市依次循環為上海、北京、福州、杭州、濟南;到達城市從北京開始,依次為北京、福州、杭州、濟南、上海;下一次從福州開始,依次為福州、杭州、濟南、上海、北京;再下一次從杭州開始依次為杭州、濟南、上海、北京、福州……依次類推。

對于出發時間與傳回時間也做同樣處理。出發時間仍舊為2015-06-15、2015-06-16、2015-06-17的循環,傳回時間第一個循環以2015-06-18開始:2015-06-18、2015-06-19、2015-06-20;第二個循環以2015-06-19開始:2015-06-19、2015-06-20、2015-06-18;第三個循環以2015-06-20開始:2015-06-20、2015-06-18、2015-06-19的循環。

這裡還要注意以下幾個方面。

如果不是往返票(單程和聯票),傳回時間應該不允許選擇。

如果到達城市與出發城市是一個城市,系統應該給出出錯資訊的提示。

根據上面的設計,得到以下測試用例。

(1)往返,上海到北京,出發時間:2015-06-15,傳回時間:2015-06-18:獲得相應的查詢結果,先讓使用者選擇出發時間的航班,然後選擇傳回時間的航班。

(2)單程,北京到福州,出發時間:2015-06-16,傳回時間:不允許選擇:正常獲得相應的查詢結果。

(3)聯票:福州到杭州,出發時間:2015-06-17,傳回時間:不允許選擇:正常獲得相應的查詢結果。

繼續閱讀