而面向對象設計(OOD)采用"造型的觀點",以OOA為基礎歸納出類,并建立類結構或進一步構造成類庫,實現分析結果對問題空間的抽象。OOD 歸納的類,可以是對象簡單的延續,可以是不同對象的相同或相似的服務。由此可見,OOD不是在OOA上的另一思維方式的大動干戈,而是OOA的進一步細化和更高層的抽象。所以,OOD與OOA 的界限通常是難以嚴格區分的。OOD確定類和類結構不僅是滿足當前需求分析的要求,更重要的是通過重新組合或加以適當的補充,能方便實現功能的重用和擴增,以不斷適應用戶的要求。因此,對OOD的測試,本文建議針對功能的實現和重用以及對OOA結果的拓展,從如下三方面考慮:
☆ 對認定的類的測試
☆ 對構造的類層次結構的測試
☆ 對類庫的支持的測試
1 對認定的類的測試
OOD認定的類可以是OOA中認定的對象,也可以是對象所需要的服務的抽象,對象所具有的屬性的抽象。認定的類原則上應該盡量基礎性,這樣才便于維護和重用。參考[4][5]中所提出的一些準則,測試認定的類:
1.1 是否含蓋了OOA中所有認定的對象。
1.2 是否能體現OOA中定義的屬性。
1.3 是否能實現OOA中定義的服務。
1.4 是否對應著一個含義明確的數據抽象。
1.5 是否盡可能少的依賴其他類。
1.6 類中的方法(C++:類的成員函數)是否單用途。
2 對構造的類層次結構的測試
為能充分發揮面向對象的繼承共享特性,OOD的類層次結構,通;贠OA中產生的分類結構的原則來組織,著重體現父類和子類間一般性和特殊性。兩者概念上的差異,請參見[1]。在當前的問題空間,對類層次結構的主要要求是能在解空間構造實現全部功能的結構框架。為此,測試如下方面:
2.1 類層次結構是否含蓋了所有定義的類。
2.2 是否能體現OOA中所定義的實例關聯。
2.3 是否能實現OOA中所定義的消息關聯。
2.4 子類是否具有父類沒有的新特性。
文章來源于領測軟件測試網 http://www.kjueaiud.com/