談:面向對象的軟件測試與傳統測試的比較[2] 軟件測試
對認定的對象的測試
對認定的結構的測試
對認定的主題的測試
對定義的屬性和實例關聯的測試
對定義的服務和消息關聯的測試
3、 面向對象設計的測試
通常的結構化的設計方法,用的"是面向作業的設計方法,它把系統分解以后,提出一組作業,這些作業是以過程實現系統的基礎構造,把問題域的分析轉化為求解域的設計,分析的結果是設計階段的輸入"。而面向對象設計(OOD)采用"造型的觀點",以OOA為基礎歸納出類,并建立類結構或進一步構造成類庫,實現分析結果對問題空間的抽象。由此可見,OOD不是在OOA上的另一思維方式的大動干戈,而是OOA的進一步細化和更高層的抽象。所以,OOD與OOA 的界限通常是難以嚴格區分的。OOD確定類和類結構不僅是滿足當前需求分析的要求,更重要的是通過重新組合或加以適當的補充,能方便實現功能的重用和擴增,以不斷適應用戶的要求。因此,對OOD的測試,應從如下三方面考慮:
對認定的類的測試
對構造的類層次結構的測試
對類庫的支持的測試
4、 面向對象編程的測試
典型的面向對象程序具有繼承、封裝和多態的新特性,這使得傳統的測試策略必須有所改變。封裝是對數據的隱藏,外界只能通過被提供的操作來訪問或修改數據,這樣降低了數據被任意修改和讀寫的可能性,降低了傳統程序中對數據非法操作的測試。繼承是面向對象程序的重要特點,繼承使得代碼的重用率提高,同時也使錯誤傳播的概率提高。多態使得面向對象程序對外呈現出強大的處理能力,但同時卻使得程序內"同一"函數的行為復雜化,測試時不得不考慮不同類型具體執行的代碼和產生的行為。
面向對象程序是把功能的實現分布在類中。能正確實現功能的類,通過消息傳遞來協同實現設計要求的功能。因此,在面向對象編程(OOP)階段,忽略類功能實現的細則,將測試的目光集中在類功能的實現和相應的面向對象程序風格,主要體現為以下兩個方面。
數據成員是否滿足數據封裝的要求
文章來源于領測軟件測試網 http://www.kjueaiud.com/