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