王川+杭佳祺+殷靜
摘要:如今,面向對象軟件測試是計算機編程開發領域中的重要方面,對整個行業發展有著重要的促進作用。具體而言,在軟件開發過程中,面向對象軟件測試技術也是保證軟件質量的重要環節。對于面向對象的軟件測試技術,我國的發展比較緩慢。但在國際上針對面向對象測試技術,已經取得一定的發展。基于此,本文將對面向對象技術進行簡單介紹,重點研究測試技術的模型和測試方法。
關鍵詞:面向對象;軟件測試;技術;發展研究
中圖分類號:TP311.53 文獻標識碼:A 文章編號:1007-9416(2017)09-0209-02
以計算機技術為平臺的軟件技術得到不斷發展,為人們的提供了特有的互聯網式方便。然而,近年來關于軟件的使用出現一定的質量問題,這無疑對用戶造成嚴重的影響。為提高軟件質量與性能,通過加強對軟件測試,可以發現其中的問題并采取一定的措施及時解決,從而避免問題擴大化。其中,面向對象軟件測試技術在實際應用中不斷發揮重要作用,對其發展進行研究具有重要的現實意義。
1 面向對象技術概述
1.1 面向對象技術的內涵和特點
對象概念、類概念、繼承概念以及通信概念是面向對象軟件的幾個主要概念。面向對象技術主要指的是對類進行抽象的定義,將直觀無法呈現的變量以及作用于變量的操作綜合形成一個對象系統。并通過對象語言對變量以及變量操作的變化進行了解。面向對象技術的主要特點體現在以下幾個方面:應該對面向對象開發所有階段進行統一考慮;保證開發過程中環節之間的連續性;整個開發過程包括分析、設計、編程以及測試四個環節。各個環節之間相互獨立又相互聯系,有機形成一個整體。
1.2 面向對象技術的功能模塊
(1)模塊組成。面向對象系統的功能模塊組成擺脫了單一完成任務特定功能模式的束縛,而是將數據、對象以及方法的類進行封裝的綜合功能模型。在整個功能模型中,每一個對象都具有獨立的數據反映自身的狀態和生存期。可以通過對消息的掌控,了解對象狀態以及對象與對象之間的聯系。通常情況下,對象功能需要借助消息的作用完成與關聯對象的功能演化,并不能自身發生作用。使用面向對象技術進行軟件測試時,除了要核查測試結果與預期結果的一致性以外,還應該對對象的狀態進行測試。這是因為對象在工作過程中易發生狀態的轉移,從而形成新的狀態,影響整體的結構質量。
(2)模塊實現。通過不同對象之間的請示和協作可以完成對象系統的功能。本質上來講,面向對象程序的運行是使用消息的處理過程。消息的連接和處理方式不同,反應的對象狀態也不同。消息與對象狀態總而言之是一種相互聯系、相互影響的關系。面向對象系統在實現某種功能時,除了要對直接相關的對象進行激活外,還應該對系統中不同性質對象的成員函數進行全面激活,在成員函數之間形成一個能夠啟動的鏈接。
1.3 面向對象技術存在的問題
封裝障礙。封裝問題是面向對象技術存在的一種問題。本意上封裝代表的是一種控制機制,功能體現在詞法單位的名字可見性方面。這種控制機制可以將信息隱蔽或者對信息進行模糊化處理,而不會直接造成面向對象系統的錯誤。這種控制機制會對軟件測試造成一定的影響,主要通過對對象狀態的影響,阻礙測試進度。
多態影響。多態性體現的是一種能力,具體指的是獨立引用與對象進行捆綁作用的能力。多態性的應用可以將多個對象進行捆綁,從而將不同的對象綜合成一個整體。這種效應會引起代碼超標問題,對象相互之間的聯系變得更加復雜。并且多態性也會對測試的進行造成影響,影響信息的傳遞作用。
繼承風險。繼承是面向對象系統中的重要組成結構。繼承的作用通常體現在快速完成編碼任務上,并且繼承適用于一般關系和特殊關系。只是在使用過程中,繼承本身會出現一種錯誤風險,對語言的完整性造成影響。具體而言,繼承風險體現在將單一函數封裝在不同的類中,對測試結果造成不同程度的影響。
2 面向對象軟件測試模型
本部分主要分析面向對象軟件測試模型的構建,為后期分析奠定基礎。
2.1 面向對象分析(OOA)的測試
面向對象分析的測試具有基礎性作用,在后續階段類的選定與實現工作中,需要對基礎測試結果進行分析。OOA的分析具體指的是對問題空間的分析,這種基礎性分析不到位,會引起軟件功能無法完全實現,進而為開發后期增加不必要的工作量。面向對象分析的測試工作是一項系統的工作,相關環節之間有一定的聯系,因此不可以分割進行。進行OOA階段測試時,主要以Coad方法為基礎,通過以下幾個步驟完成測試工作。第一,認定對象的測試工作,在OOA測試中,需要對認定對象的結構、被記憶的事件進行分析,并確定測試對象是否具有全面性、屬性方面的特征。第二,認定結構的測試工作,認定結構具體指的是不同對象之間經過一定的組織形成的結構。其中對象之間的復雜關系以及復雜實例會通過測試反應出來。第三,認定主題的測試工作。通過主題的作用,OOA結構具備了可視性的特征,具體的測試工作需要通過對主體數量的確定完成測試。第四,進行定義屬性和實例關聯的測試工作。第五,對定義服務和消息關聯的測試工作。
2.2 面向對象設計(OOD)的測試
OOD測試工作應該以OOA測試工作為基礎,具體的測試工作需要從三個方面進行。第一,認定類的測試工作。被測試的類中,既可以是OOA中認定的對象,也可以是服務的抽象,主要測試內容涵蓋類的完整性、OOA的定義屬性的體現情況。第二,對構造的類進行層次結構的測試工作。由于在OOA測試過程中形成了一定的層次機構,因此進行OOD測試時應該以先前的層次結構為基礎,重點對涵蓋的類的全面性進行測試。第三,類庫支持的測試工作。類庫支持的測試可以單獨進行,主要是對再次軟件開發的重用。
2.3 面向對象編程(OOP)的測試
面向對象程序在實現功能時,通過類的作用體現。因此在程序出現錯誤時,可以將問題定位到某一具體的類中。在面向對象編程的測試工作中,重點的測試內容在類功能的實現上,同時還還應該對程序寫作的具體情況進行考慮。endprint
3 面向對象軟件測試方法
面向對象軟件測試方法主要有正交試驗設計法、前置條件測試方法以及面向對象類的測試方法。
3.1 正交試驗設計法
作為黑盒測試方法的一種,正交試驗設計法對于面向對象的軟件測試具有較好的適用性。使用正交試驗方式測試時,具體需要測試的用例較少。因此使用正交試驗測試法的效率較高。正交試驗測試法具體而言就是一種軟件測試中的設計方法。由于在研究工作中,因素和水平較多,因此在全面測試中,按照正交性為依據,選擇部分區域進行測試。正交試驗設計過程主要包括三個步驟:第一,確定影響結果的因素和水平。第二,選用合適的正交表。第三,將正交表進行轉化,形成測試具體使用的方案。
3.2 前置條件測試方法
在面向對象的軟件測試技術中,前置條件測試方法也是一種重要的測試方式。使用前置條件測試方式進行工作時,主要是對所有可能出現的組合結果進行分析。并通過創建測試用例的方式對可能存在的結果進行實現。通過合理的輸入和輸出完成測試工作。測試用例的數量跟組合的結果有很大關聯,因此還要對每個邏輯關系進行分析,最終完成面向對象的軟件測試。
3.3 面向對象類的測試方法
類是面向對象中的基礎構件,可見面向對象類的測試也是基礎的測試手段。目前針對類的測試方式比較完善的有六種:基于狀態的類測試、基于方法序列的類測試、基于UML的類測試、基于數流的測試、變異測試以及基于使用的測試,這六種方式由于在技術上已經比較成熟,因此無論那種方式都可取得較好的測試效果。
4 結語
總而言之,面向對象軟件測試技術的發展會對整個計算機技術的發展起到重要的推動作用。當前面向對象軟件測試技術還在不斷完善和發展中。使用的模型和測試技術也在不斷優化。為改善我國在計算機領域中的發展狀況,應該不斷增加在面向對象軟件測試技術研發中的投入,不斷掌握核心技術,提高競爭力。
參考文獻
[1]蔡立志.大數據背景下軟件測試的挑戰與展望[J].計算機應用與軟件,2014,(02):45.
[2]趙榮利.面向對象軟件測試技術的研究與應用[J].計算機技術與發展,2013,(01):72.
[3]吳蕾.面向對象的軟件測試技術研究[J].電腦知識與技術(學術交流),2015,(02):92.
[4]羅娜.面向對象軟件測試的方法研究[J].東北師大學報(自然科學版),2014,(01):54.
[5]龔紅仿.面向對象的軟件測試技術[J].長沙理工大學學報(自然科學版),2014,(02):92.endprint