前言:想要寫出一篇引人入勝的文章?我們特意為您整理了軟件測試中的集成測試分析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:現(xiàn)如今全球已經(jīng)進(jìn)入數(shù)字化時代,任何行業(yè)都在向著自動化、智能化的方向發(fā)展,這樣的發(fā)展離不開硬件的支持和軟件的配設(shè)。如果一套設(shè)備單有硬件沒有驅(qū)動軟件程序,那么這臺設(shè)備就無法實現(xiàn)自能化生產(chǎn)。為了使軟件能夠正常配套于硬件設(shè)備,軟件工程師需要對軟件進(jìn)行深入測試,從而判斷出該軟件是否存在漏洞,而集成測試是軟件測試中最為主要的方式之一?;诖?,本文對集成測試進(jìn)行了簡單的概述,并提出集成測試的具體策略,同時深入探討了集成測試的具體類型,以供相關(guān)人員參考,從而推進(jìn)軟件測試行業(yè)的發(fā)展。
關(guān)鍵詞:集成測試;軟件測試;具體策略;具體類型
引言
第三次工業(yè)革命也被稱為“科技革命”?,F(xiàn)如今,人類的生活已經(jīng)因為科學(xué)技術(shù)而發(fā)生了巨大的改變。在當(dāng)今二十一世紀(jì),計算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)、信息技術(shù)等大力發(fā)展,讓我們的生活變得個加便捷。而軟件工程便是這些技術(shù)當(dāng)中不可或缺的一部分。因此,作為保障軟件質(zhì)量的軟件測試技術(shù)得到了全球科學(xué)界的高度關(guān)注。目前,軟件測試方式多種多樣。根據(jù)研究發(fā)現(xiàn),根據(jù)任何測試方式均能夠設(shè)計處一套行之有效的測試方案,但沒有任何一套方案能夠容易的將軟件中的所有漏洞、錯誤都找出。因此,在實際的測試過程中,測試工程師往往將多種測試方式結(jié)合起來,從而對軟件進(jìn)行深入測試,進(jìn)而滿足不同階段對軟件測試的需要。
軟件測試是軟件質(zhì)量的保障。由于軟件系統(tǒng)大部分使由多個子系統(tǒng)構(gòu)成的,因此為了使軟件測試有效進(jìn)行,測試過程需要嚴(yán)格按照步驟進(jìn)行,而測試步驟分為:單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。集成測試作為單元測試的后一步和確認(rèn)測試的前一步對于軟件系統(tǒng)的質(zhì)量保障有著重要的意義。因為軟件系統(tǒng)的各個子單元能夠正常運(yùn)行并不意味著將這些子單元集合在一起還能夠正常運(yùn)行,并且在集合后比較容易出現(xiàn)錯誤。很多公司因為該原因成立了專門的集成測試的測試小組,如果對軟件系統(tǒng)進(jìn)行了深入的集成測試,將會找到軟件中存在的大部分漏洞,從而為后續(xù)測試運(yùn)行工作提高了強(qiáng)而有力的幫助。
1.1集成測試的定義
集成測試的主要目的是對已通過運(yùn)行測試的單元組件集合在一起而進(jìn)行的整體測試。該種測試技術(shù)屬于一種構(gòu)建整體軟件結(jié)構(gòu)的技術(shù),其具有全面性和系統(tǒng)性的特點,同時集成測試能夠找到一些關(guān)于接口錯誤的漏洞。
1.2集成測試遵循的原則
集成測試是整個軟件測試中最為重要的一環(huán),它的測試結(jié)果很大程度上體現(xiàn)該軟件的成功與否。軟件工程師如果要進(jìn)行集成測試,為了提高測試的準(zhǔn)確性,需要遵循以下原則:①測試過程中需要對所有接口進(jìn)行測試;②對主要的單元模塊要進(jìn)行深入測試;③測試時應(yīng)當(dāng)按層次進(jìn)行,不可跳躍測試;④在測試方案的選擇中,應(yīng)當(dāng)將成本、測試準(zhǔn)確度、測試進(jìn)度等因素考慮在內(nèi);⑤集成測試方案應(yīng)當(dāng)基于軟件的總體設(shè)計而設(shè)置,并且應(yīng)當(dāng)在軟件開發(fā)過程中盡早進(jìn)行;⑥測試工程師與開發(fā)工程師應(yīng)當(dāng)相互溝通,確定好模塊與接口的劃分;⑦如若因為某些原因需要對接口進(jìn)行修改,這些改變的接口需要進(jìn)行再次測試;⑧對于測試結(jié)果應(yīng)當(dāng)準(zhǔn)確記錄;⑨集成測試應(yīng)當(dāng)嚴(yán)格遵循測試方案進(jìn)行,不能夠隨意更改測試方案。
1.3集成測試的任務(wù)
集成測試作為整個軟件測試過程中的關(guān)鍵一環(huán)其主要任務(wù)有以下幾部分:①將各個子單元模塊集合在一起,并進(jìn)行相互調(diào)用功能,在傳輸數(shù)據(jù)的過程中檢查是否出現(xiàn)接口丟失的情況;②在各個子單元模塊集合在一起后,進(jìn)行系統(tǒng)性的運(yùn)行,從而檢測各項子模塊功能是否達(dá)到設(shè)計要求;③在進(jìn)行單元模塊調(diào)用時,是否會出現(xiàn)單元模塊功能互斥的現(xiàn)象;④在進(jìn)行全面測試時,是否會出現(xiàn)數(shù)據(jù)不正常修改情況;⑤如果單個單元模塊有漏洞,是否會形成錯誤積累現(xiàn)象,使漏洞越來越大,從而使軟件不符合設(shè)計要求。
2集成測試的策略
集成測試中需要設(shè)置諸多模塊來輔助集成測試的進(jìn)行。這些模塊包含樁模塊和驅(qū)動模塊。驅(qū)動模塊是將一些數(shù)據(jù)傳輸給待測模塊,從而得出模塊的功能和特性,最總找出漏洞并打印出結(jié)果。其中樁模塊也被稱為存根程序,用來取代被調(diào)用模塊的模擬。該模塊進(jìn)行的數(shù)據(jù)處理較少,而且其調(diào)用是又待測模塊調(diào)用的。例如為了檢驗?zāi)K直接的借口,需要入口和返回進(jìn)行打印。在集成測試的方式中,一般可以將其分為兩種,分別是增量集成和非增量集成。其中增量集成由于是通過小增量的方式對軟件系統(tǒng)進(jìn)行測試的,因此這樣能夠更好、更徹底的檢測接口。
3集成測試的主要類型
3.1基于功能分解的集成
在進(jìn)行軟件集成測試時,將功能分解并進(jìn)行測試時最為重要的測試方式之一。該種測試方式一般都是采用文字或樹狀圖的形式來進(jìn)行功能分解的。進(jìn)這種測試方式進(jìn)行深入討論時,將要按照集成模塊的順序進(jìn)行測試。(1)自頂向下集成方式(樹狀圖中由頂端開始進(jìn)行)。此種方式是將軟件結(jié)構(gòu)中的主控制體系進(jìn)行優(yōu)先集成,而后對其路徑下的模塊進(jìn)行分組集成測試。(2)自底向上集成方式(樹狀圖中由底端開始進(jìn)行)。該種集成測試方式與自頂向下集成方式恰巧相反。但其中具體步驟仍有所不同,具體不同之處在于該種集成方式中由分解樹上層單元的模塊來取代具有模擬功能的樁。反過來說,自底向上集成需要從“樹”中的“葉子”處開始,并且需要用特殊方式編寫的模塊開進(jìn)行驅(qū)動測試。在模塊當(dāng)中,一次性驅(qū)動代碼相比較樁中的驅(qū)動代碼較少。在軟件系統(tǒng)設(shè)計中,大部分系統(tǒng)在葉子節(jié)點處都有著較高的扇出數(shù)。因此,由該種集成順序?qū)嵤┑姆桨钢袃?yōu)點便是驅(qū)動模塊數(shù)量相對較少,但缺陷便是驅(qū)動模塊都較為復(fù)雜。
3.2基于功能分解方法的優(yōu)缺點
(1)自頂向下集成方式(樹狀圖中由頂端開始進(jìn)行)。該方式的優(yōu)點在于能夠讓測試工程師在測試開始時便了解系統(tǒng)的框架,從而能夠使測試過程逐漸精細(xì)化。缺點在于在進(jìn)行測試前需要提供樁模塊來模擬被調(diào)用的子模塊。由于樁模塊僅僅是進(jìn)行模擬,可能無法反映出實際情況,因此測試可能不全面。就另一方面來講,裝模塊并不能對數(shù)據(jù)進(jìn)行模擬,如果模塊間的數(shù)據(jù)流不能構(gòu)成有向無環(huán)圖,便無法生成模塊的測試數(shù)據(jù)。并且,對測試結(jié)構(gòu)的觀察和結(jié)果的表達(dá)也存在著一定的難度。(2)自底向上集成方式(樹狀圖中由底端開始進(jìn)行)。該種方式的優(yōu)點便是對驅(qū)動模塊的所有參數(shù)都進(jìn)行了模擬調(diào)用,并且在數(shù)據(jù)生成方面也是比較容易的。如果軟件系統(tǒng)的關(guān)鍵驅(qū)動模塊在結(jié)構(gòu)體系底部,那么該種方式便有著其他方式?jīng)]有的測試優(yōu)勢。缺點:系統(tǒng)的整個框架需要在最后的過程再能看到。
3.3基于調(diào)用圖的集成
調(diào)用圖集成是集成測試中常用的測試類型之一,可以分為兩種,一種是相鄰集成,另一種是成對集成。該種集成方式的優(yōu)點是以行為基礎(chǔ)為主,并且還不用開發(fā)驅(qū)動模塊和樁模塊。缺點:有大量鄰居的情況下有隔離缺陷,并且在清除缺陷后需要對相鄰的代碼進(jìn)行重新測試。
3.4基于路徑的集成
基于路徑的集成是將單獨開發(fā)測試重點轉(zhuǎn)移到單元交互(單元模塊的“協(xié)同功能”)上,而這種轉(zhuǎn)移需要通過各模塊單元的接口進(jìn)行。在此,單元模塊接口是結(jié)構(gòu)性的,而單元模塊交互卻是功能性的實現(xiàn)。就以MM--路徑測試而言,這是一種功能性與結(jié)構(gòu)性相結(jié)合的測試方式,其優(yōu)點:不需要利用分解或圖集等結(jié)構(gòu)性便可以開展測試,與軟件系統(tǒng)聯(lián)系緊密。并且該測試方式可以被用于面向?qū)ο蟮能浖y試。缺點:需要大量的路徑標(biāo)識,這樣的工作量較大,并且與樁模塊和驅(qū)動模塊的開發(fā)不同。
3.5面向?qū)ο蟓h(huán)境中的集成測試
兩種不同的策略:基于線程的測試(thread—basedtesting)?;谑褂玫臏y試(use—basedtesting)。驅(qū)動程序和樁程序:驅(qū)動程序和樁程序?qū)崿F(xiàn)的功能有所不同。驅(qū)動程序能夠在顯示界面前就開始進(jìn)行系統(tǒng)測試,而且其也能夠?qū)︻惡偷蛯拥牟僮鬟M(jìn)行測試;而樁程序測試能夠在缺少類的情況下對類協(xié)作進(jìn)行測試。
參考文獻(xiàn)
[1]楊培培,趙海生,李振星.實用軟件測試方法研究[J].計算機(jī)應(yīng)用,2015,35(S1):166-167+173.
[2]牛穎蓓,左蕓.基于VC33航天軟件集成測試技術(shù)研究[J].計算機(jī)測量與控制,2020,28(01):26-29.
[3]黃天開.計算機(jī)軟件測試方法及應(yīng)用研究[J].中國新通信,2020,22(16):56-57.
作者:謝曉麗 單位:四川九洲電器集團(tuán)有限責(zé)任公司