日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
面向?qū)ο筌浖y試技術(shù)研究

軟件測試是伴隨著軟件的產(chǎn)生而產(chǎn)生的。軟件危機(jī)的頻繁出現(xiàn)促使了軟件測試的地位得到了大幅提升。軟件測試已經(jīng)不僅僅是局限于軟件開發(fā)過程中的一個階段,它已經(jīng)開始貫穿于整個軟件開發(fā)過程,成為軟件產(chǎn)品質(zhì)量控制與質(zhì)量管理的重要手段之一。

成都網(wǎng)站建設(shè)、成都做網(wǎng)站過程中,需要針對客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計方向。成都創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計,包括內(nèi)容管理、前臺展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計和安全保護(hù)等功能。

一、前言

軟件測試技術(shù)作為軟件工程學(xué)科的一個分支,是保證軟件質(zhì)量和可靠性的關(guān)鍵,因此它也是軟件開發(fā)過程中的一個重要環(huán)節(jié)。它的核心思想是:對于輸入域的特定輸入,觀察軟件的執(zhí)行結(jié)果,驗證該結(jié)果與期望結(jié)果是否一致,然后根據(jù)結(jié)果作相應(yīng)的糾錯和調(diào)整。

在測試過程中,測試用例的選擇決定測試的有效性,這也就直接影響到成本,是軟件測試的關(guān)鍵和難點(diǎn)。目前,軟件測試技術(shù)的發(fā)展還不是很成熟,測試人員在選擇測試用例時通常根據(jù)直覺和經(jīng)驗進(jìn)行,給測試帶來很大的盲目性,最終導(dǎo)致的后果是使軟件后期維護(hù)的費(fèi)用在成本中居高不下??茖W(xué)生成測試用例對提高軟件質(zhì)量不僅重要而且必要。

隨著面向?qū)ο筌浖_發(fā)技術(shù)的廣泛應(yīng)用和軟件測試自動化的要求,特別是基于的軟件開發(fā)技術(shù)的逐漸普及,基于模型的軟件測試逐漸得到了軟件開發(fā)人員和軟件測試人員的認(rèn)可和接受。它是一種新興的測試用例生成技術(shù)。有優(yōu)于以前的測試技術(shù)的方面。其中模型以其定義良好、功能強(qiáng)大、普遍適用的優(yōu)點(diǎn),為基于模型的測試提供了非常好的契機(jī)。

二、面向?qū)ο筇卣鲗浖y試的影響

面向?qū)ο蠹夹g(shù)是一個全新的開發(fā)模式,具有以下特點(diǎn):

(1)它要綜合考慮軟件開發(fā)過程所有階段。

(2)在軟件開發(fā)的整個生存周期中,每個階段之間是連續(xù)的。

(3)開發(fā)過程分為面向?qū)ο蠓治觯?0A)、面向?qū)ο笤O(shè)計(OOD)、面向?qū)ο缶幊蹋∣OP)、面向?qū)ο鬁y試(OOT)四個連續(xù)的部分。

Coad和Yourdon給面}向?qū)ο蟮母拍钕铝艘粋€定義:

面向?qū)ο?對象+類+繼承+通信

如果一個軟件系統(tǒng)是使用這樣4個概念設(shè)計和實現(xiàn)的,則認(rèn)為這個軟件系統(tǒng)是面向?qū)ο蟮摹R粋€而向?qū)ο蟮某绦虻拿恳粋€組成部分都是對象,計算是通過對象和對象之間的通信來執(zhí)行的。

面向?qū)ο蠹夹g(shù)的本質(zhì)是定義了類的抽象,將變量和與作用于它的操作封裝到一塊。然后用不同的類和方法組合成一個對象系統(tǒng)。面向?qū)ο筌浖鹘y(tǒng)軟件中的一個過程或一個方法內(nèi)的復(fù)雜性轉(zhuǎn)移到對象之間的交互中。面向?qū)ο笳Z言一些本質(zhì)特征形成了如下的一些新的故障、錯誤風(fēng)險。

1、基本功能模塊

在面向?qū)ο笙到y(tǒng)中,系統(tǒng)的基本構(gòu)造單元是封裝了數(shù)據(jù)和方法的類和對象,而不再是一個個能完成特定功能的功能模型。每個對象有自己的生存期,有自己的狀態(tài)。消息是對象之間相互請示或協(xié)作的途徑,是外界使用對象方法及獲取對象狀態(tài)的唯一方式。對象的功能是在消息的觸發(fā)下,由對象所屬類中定義的方法與相關(guān)對象的合作共同完成,并且對象在不同狀態(tài)下對消息的響應(yīng)可能完全同。

工作過程中,對象的狀態(tài)可能被改變,產(chǎn)生新的狀態(tài),即發(fā)生狀態(tài)的轉(zhuǎn)移。對象中的數(shù)據(jù)和方法是一個有機(jī)的整體,在軟件測試過程中,不能僅僅檢查輸入數(shù)據(jù)產(chǎn)生的輸出結(jié)果是否與預(yù)期結(jié)果相吻合,還要考慮對象的狀態(tài)變化。因此,除了要對對象的狀態(tài)與方法間的相互影響進(jìn)行測試,還要進(jìn)行狀態(tài)測試。

2、系統(tǒng)的功能實現(xiàn)

在面向?qū)ο笙到y(tǒng)中,系統(tǒng)的功能體現(xiàn)在對象間的協(xié)作上,而不再是簡單的過程調(diào)用關(guān)系。面向?qū)ο蟪绦虻膱?zhí)行實際上是執(zhí)行一個由消息連接起來的方法序列,方法的實現(xiàn)與所屬對象本身的狀態(tài)有關(guān),各方法之間可能有相互作用。為實現(xiàn)某一特定的功能,可能要激活調(diào)用屬于不同對象類的多個成員函數(shù),形成成員函數(shù)的啟用鏈。因此,基于功能分解的自頂向下或自底向上的集成測試策略不適用于面向?qū)ο筌浖到y(tǒng)的測試。

3、封裝對測試的影響

封裝是指在詞法單位之中或之間決定名字可見性的訪問控制機(jī)制。它支持信息的隱蔽和模塊化,有助于防止全局變量訪問的問題。盡管封裝不會直接促成錯誤的發(fā)生,它卻給測試帶來了障礙。封裝使對象的內(nèi)部狀態(tài)隱蔽,如果類中未提供足夠的存取函數(shù)來表明對象的實現(xiàn)方式和內(nèi)部狀態(tài),則類的信息隱蔽機(jī)制將給測試帶來困難。

4、繼承對測試的影響

繼承也是面向?qū)ο笳Z言中的一個本質(zhì)特征。繼承可用于一般與特殊關(guān)系,并目方便編碼。但繼承削弱了封裝性,產(chǎn)生了類似于非面向?qū)ο笳Z言中全局?jǐn)?shù)據(jù)的錯誤風(fēng)險。由于繼承的作用,一個函數(shù)可能被封裝在具有繼承關(guān)系的多個類中,子類中還可以對繼承的特征進(jìn)行覆蓋或重定義。

5、多態(tài)對測試的影響

多態(tài)性是指一個引用可以與多個對象綁定的能力。多態(tài)能減少代碼的復(fù)雜性和規(guī)模,同時還可以實現(xiàn)動態(tài)綁定。但依賴于不規(guī)則的類層次的動態(tài)綁定可能產(chǎn)生編程人員沒有想到的結(jié)果。某些綁定能正確的工作但并不能保證所有的綁定都能正確地運(yùn)行。以后綁定的對象可能很容易將消息發(fā)送給錯誤的類,執(zhí)行錯誤的功能,還可能導(dǎo)致一些與消息序列和狀態(tài)相關(guān)的錯誤。

三、面向?qū)ο筌浖y試的層次劃分及內(nèi)容

面向?qū)ο筌浖y試的測試工作過程與傳統(tǒng)的測試一樣,分為以下幾個階段:制定測試計劃、產(chǎn)生測試用例、執(zhí)行測試和評價。目前,面向?qū)ο筌浖y試劃分方法是:方法測試、類測試、類簇測試、系統(tǒng)測試。

1、方法測試

方法測試主要考察封裝在類中的一個方法對數(shù)據(jù)進(jìn)行的操作,它與傳統(tǒng)的單元模塊測試相對應(yīng),可以將傳統(tǒng)成熟的單元測試方法。但是,方法與數(shù)據(jù)一起被封裝在類中,并通過向所在對象發(fā)送消息來驅(qū)動,它的執(zhí)行與對象狀態(tài)有關(guān),也有可能會改變對象的狀態(tài)。因此,設(shè)計測試用例時要考慮設(shè)置對象的初態(tài),使它收到消息時執(zhí)行指定的路徑。

2、類測試

主要考察封裝在一個類中的方法與數(shù)據(jù)之間的相互作用。一個對象有它自己的狀態(tài)和依賴于狀態(tài)的行為,對象操作既與對象狀態(tài)有關(guān),又反過來可能改變對象的狀態(tài)。普遍認(rèn)為這一級別的測試是必須的。類測試時要把對象與狀態(tài)結(jié)合起來,進(jìn)行對象狀態(tài)行為的測試。類測試可分以下兩個部分:

(1)基于狀態(tài)的測試

考察類的實例在其生命期各個狀態(tài)下的情況。這類方法的優(yōu)勢是可以充分借鑒成熟的有限狀態(tài)自動機(jī)理論,但執(zhí)行起來還很困難。一是狀態(tài)空間可能太大,二是很難對一些類建立起狀態(tài)模型,沒有一種好的規(guī)則來識別對象狀態(tài)及其狀態(tài)轉(zhuǎn)換,三是可能缺乏對被測對象的控制和觀察機(jī)制的支持。

(2)基于響應(yīng)狀態(tài)的測試

從類和對象的責(zé)任出發(fā),以外界向?qū)ο蟀l(fā)送特定的消息序列來測試對象。較有影響的是基于規(guī)約的測試方法,和基于程序的測試。基于規(guī)約的測試往往可以根據(jù)規(guī)約自動或半自動地生成測試用例,但未必能提供足夠的代碼覆蓋率。基于程序的測試大都是在傳統(tǒng)的基于程序的測試技術(shù)的推廣,有一定的實用性但方法過于復(fù)雜且效率不高。

3、系統(tǒng)測試

系統(tǒng)測試是對所有類和主程序構(gòu)成的整個系統(tǒng)進(jìn)行整體測試,以驗證軟件系統(tǒng)的正確性和性能指標(biāo)等滿足需求式樣說明書和任務(wù)書所指定的要求。它與傳統(tǒng)的系統(tǒng)測試一樣,包括功能測試、性能測試、余量測試等,可套用傳統(tǒng)的系統(tǒng)測試方法。

四、面向?qū)ο筌浖y試的覆蓋準(zhǔn)則

測試覆蓋標(biāo)準(zhǔn)是對軟件測試充分性的度量,任何測試策略都應(yīng)該有相對應(yīng)的覆蓋標(biāo)準(zhǔn),在此基礎(chǔ)上選擇測試用例,通過覆蓋率來說明測試結(jié)果的可信性。傳統(tǒng)的軟件測試的覆蓋標(biāo)準(zhǔn)對基于代碼的測試而言,主要是代碼覆蓋,可細(xì)分為語句覆蓋、路徑覆蓋、分支覆蓋、判定分支覆蓋,其中判定分支是最強(qiáng)的覆蓋標(biāo)準(zhǔn)。

對于面向?qū)ο筌浖臏y試而言代碼的覆蓋只對方法級測試適用,為了測試面向?qū)ο蟪绦蛟O(shè)計機(jī)制帶來的錯誤風(fēng)險,必須引入新的覆蓋標(biāo)準(zhǔn)。對于繼承而言,要求達(dá)到繼承的上下文覆蓋;多態(tài)性要求覆蓋所有可能的消息綁定;基于代數(shù)規(guī)約的測試要求能達(dá)到公理的覆蓋;基于狀態(tài)的測試要求能覆蓋所有的狀態(tài)和轉(zhuǎn)換。


文章名稱:面向?qū)ο筌浖y試技術(shù)研究
本文來源:http://www.5511xx.com/article/djgoopg.html