• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      計(jì)算機(jī)軟件測(cè)試技術(shù)及其應(yīng)用研究

      2023-01-19 02:15:37郭學(xué)君
      科學(xué)與信息化 2022年1期
      關(guān)鍵詞:白盒黑盒測(cè)試法

      郭學(xué)君

      北京賽迪軟件測(cè)評(píng)工程技術(shù)中心有限公司 北京 100004

      引言

      現(xiàn)代信息技術(shù)的發(fā)展給當(dāng)代人們的生活帶來了極大的便利,各種各樣的軟件改變了人們的生活方式,人們利用軟件進(jìn)行購(gòu)物、買房、在線學(xué)習(xí)等活動(dòng),而在計(jì)算機(jī)軟件研發(fā)的過程中,軟件測(cè)試是一個(gè)不可省略的環(huán)節(jié),通過軟件測(cè)試,可以有效發(fā)現(xiàn)計(jì)算機(jī)軟件中的漏洞,并對(duì)軟件的適用性進(jìn)行評(píng)估,從而保證軟件的質(zhì)量。

      1 計(jì)算機(jī)軟件測(cè)試的目的及原則

      1.1 計(jì)算機(jī)軟件測(cè)試的目的

      計(jì)算機(jī)軟件測(cè)試的主要目的就是為了查找軟件程序中的各種漏洞,這些bug能夠影響軟件的正常運(yùn)行,從而影響用戶的體驗(yàn)效果。要想將這些問題和錯(cuò)誤全面的檢測(cè)出來,就需綜合利用多種檢測(cè)手段來進(jìn)行發(fā)現(xiàn),并針對(duì)問題做出一些優(yōu)化,改善軟件性能和質(zhì)量[1]。當(dāng)然,軟件檢測(cè)技術(shù)還能對(duì)軟件的后續(xù)性能優(yōu)化提供了一定的借鑒價(jià)值,比如軟件的運(yùn)行速度、運(yùn)行穩(wěn)定性等,均可以通過軟件測(cè)試來進(jìn)行修正。此外,軟件測(cè)試還有一個(gè)重大的功能,就是可以檢測(cè)系統(tǒng)是否攜帶病毒,如果系統(tǒng)軟件受到病毒入侵,而沒有及時(shí)發(fā)現(xiàn)的話,很可能對(duì)整個(gè)系統(tǒng)造成不可逆轉(zhuǎn)的損害。因此,測(cè)試人員要對(duì)軟件的安全性進(jìn)行測(cè)試,查看軟件對(duì)病毒的抵御能力,防止病毒攻擊,保證軟件的正常及安全運(yùn)行。

      1.2 計(jì)算機(jī)軟件測(cè)試的原則

      1.2.1 實(shí)用原則。計(jì)算機(jī)軟件在研發(fā)之時(shí),要先進(jìn)行市場(chǎng)需求調(diào)查和分析,保證軟件的性能和結(jié)構(gòu)符合市場(chǎng)需求,然而研發(fā)人員在編寫軟件時(shí),會(huì)由于受到主觀因素的影響,導(dǎo)致最終成型的軟件存在一些需求誤差,因此,為了保證計(jì)算機(jī)軟件的實(shí)用性,必須對(duì)軟件的結(jié)構(gòu)與性能進(jìn)行測(cè)試,也就是說,計(jì)算機(jī)軟件要保證在已有的測(cè)試方法中進(jìn)行適應(yīng)性分析,對(duì)軟件自身的特質(zhì)和性能與現(xiàn)有技術(shù)之間進(jìn)行兼容性考量,從而在軟件開發(fā)過程中,有針對(duì)性的降低各種影響測(cè)試過程的因素影響[2]。這從一定程度上,呈現(xiàn)出了軟件測(cè)試必須遵循實(shí)用性原則,即需要采取一些特定的策略來簡(jiǎn)化測(cè)試流程,以便測(cè)試人員在較短的時(shí)間內(nèi)完成測(cè)試工作。

      1.2.2 科學(xué)性原則。當(dāng)前,市面上的軟件測(cè)試方法多種多樣,在進(jìn)行軟件測(cè)試時(shí),必須依據(jù)具體情況來選擇適宜的測(cè)試方法,以保證軟件測(cè)試結(jié)果的準(zhǔn)確性。比較常用的軟件測(cè)試方法分為黑盒測(cè)試和白盒測(cè)試,而這兩種方法均有不同的應(yīng)用條件,比如針對(duì)黑盒測(cè)試,主要適用于軟件的具體功能性問題;針對(duì)白盒測(cè)試,主要適用于軟件中存在的代碼邏輯結(jié)構(gòu)問題,便于迅速定位問題??傊?,軟件測(cè)試要具有科學(xué)性,相關(guān)技術(shù)人員應(yīng)當(dāng)在分析軟件功能以及結(jié)構(gòu)的基礎(chǔ)上,選擇恰當(dāng)?shù)臏y(cè)試方法。

      2 計(jì)算機(jī)軟件測(cè)試方法

      由上文可知,目前計(jì)算機(jī)軟件測(cè)試方法主要是黑盒測(cè)試法和白盒測(cè)試法,兩種方法需要針對(duì)具體軟件特性來進(jìn)行分別選用。

      2.1 黑盒測(cè)試法

      黑盒測(cè)試法是一種較為有效的測(cè)試方法,由于其對(duì)軟件的功能進(jìn)行專項(xiàng)測(cè)試,因此也叫作功能性測(cè)試,主要測(cè)試目的就是看計(jì)算機(jī)軟件是否在使用過程中基本功能有漏洞。從其字面意思上來進(jìn)行理解,測(cè)試者可以將軟件看作一個(gè)黑盒,其內(nèi)部狀態(tài)無法得知,測(cè)試人員從用戶角度輸入輸出來進(jìn)行考慮,對(duì)軟件的內(nèi)部程序及其接口進(jìn)行測(cè)試[3]。從另外一個(gè)角度來看,如果軟件運(yùn)行的外部環(huán)境存在問題,此時(shí)不進(jìn)行黑盒測(cè)試,就沒有辦法直接反映出軟件存在的諸多漏洞。由于受到黑盒測(cè)試的特性所限制,黑盒測(cè)試無法對(duì)軟件功能進(jìn)行全面測(cè)試,只有針對(duì)明確且具體的問題時(shí),進(jìn)行窮舉法進(jìn)行測(cè)試,才具有較為明顯的效果,因此,其具體測(cè)試項(xiàng)目主要包括檢測(cè)軟件在開發(fā)中存在的功能性錯(cuò)誤、軟件運(yùn)行界面存在的問題以及軟件初始化錯(cuò)誤等,相關(guān)測(cè)試人員應(yīng)當(dāng)在適當(dāng)時(shí)候選用這種測(cè)試方法。

      2.2 白盒測(cè)試法

      白盒測(cè)試也叫作結(jié)構(gòu)性測(cè)試,主要測(cè)試計(jì)算機(jī)軟件程序內(nèi)部的結(jié)構(gòu),測(cè)評(píng)軟件程序的結(jié)構(gòu)是否與規(guī)定一致,程序通路是否與預(yù)期相符。稱其為白盒測(cè)試,正是因?yàn)槠跈z測(cè)方法與黑盒測(cè)試相對(duì)立[4]。如果說進(jìn)行黑盒測(cè)試時(shí)將軟件視為無法打開的黑盒,在進(jìn)行白盒測(cè)試時(shí)則將軟件視為被完全打開的盒子,然后考察軟件程序的邏輯路徑,從而對(duì)軟件程序能否達(dá)到預(yù)期狀態(tài)進(jìn)行評(píng)估,確保軟件程序的安全性。

      2.3 靜態(tài)測(cè)試法

      靜態(tài)測(cè)試法相比于黑盒測(cè)試、白盒測(cè)試來說,具有全面性的優(yōu)勢(shì),其主要測(cè)試項(xiàng)目包括代碼走查、技術(shù)評(píng)審等方面,特別是對(duì)程序的接口、過程等進(jìn)行全面的測(cè)試來說,具有不可比擬的優(yōu)勢(shì)。此外,針對(duì)程序結(jié)構(gòu)的查找、程序符號(hào)與設(shè)計(jì)說明書是否保持一致、不匹配參數(shù)的存在等方面也有測(cè)試優(yōu)勢(shì),是一種比較常用的測(cè)試方法。

      2.4 動(dòng)態(tài)測(cè)試法

      動(dòng)態(tài)測(cè)試法是與靜態(tài)測(cè)試法相對(duì)應(yīng)的計(jì)算機(jī)軟件測(cè)試方法,主要通過軟件運(yùn)行,在動(dòng)態(tài)過程中對(duì)軟件運(yùn)行行為及結(jié)果進(jìn)行測(cè)試,以確定軟件是否與設(shè)計(jì)標(biāo)準(zhǔn)相符合。在采用動(dòng)態(tài)測(cè)試法時(shí),要使軟件完整運(yùn)行,從而對(duì)其運(yùn)行狀況進(jìn)行全面檢查,然后形成軟件測(cè)試的相關(guān)數(shù)據(jù),推動(dòng)計(jì)算機(jī)軟件測(cè)試工作的開展。

      3 計(jì)算機(jī)軟件測(cè)試技術(shù)的應(yīng)用

      計(jì)算機(jī)軟件測(cè)試方法及原理雖然并不是很多,但是隨著社會(huì)經(jīng)濟(jì)的發(fā)展,現(xiàn)代科學(xué)技術(shù)得到了極大的進(jìn)步,這種情況催生出了較多的軟件測(cè)試技術(shù),這些技術(shù)極大的促進(jìn)軟件測(cè)試行業(yè)的可持續(xù)發(fā)展,接下來本文對(duì)這些技術(shù)的應(yīng)用進(jìn)行詳細(xì)的闡述。

      3.1 單元測(cè)試技術(shù)的應(yīng)用

      單元測(cè)試技術(shù)是一種比較基礎(chǔ)的測(cè)試技術(shù),但是這種技術(shù)在獲取程序狀態(tài)、Mock技術(shù)等方面的應(yīng)用十分有效。

      首先,針對(duì)獲取程序狀態(tài),由于單元測(cè)試代碼和程序代碼鏈接到了一起,但是單元測(cè)試代碼從一定程度上來說,可以獲得程序內(nèi)部的所有代碼,當(dāng)然,在一些特定的應(yīng)用場(chǎng)景下,程序代碼的獲取方式并不那么直接。比如,對(duì)于C++語言,由于內(nèi)部語言進(jìn)行了各種形式的封裝,從語言層面實(shí)現(xiàn)了對(duì)程序狀態(tài)的隱藏,從而導(dǎo)致測(cè)試代碼無法獲得所有的狀態(tài)。這在C++中,其內(nèi)部隱藏代碼就如同一個(gè)私密成員,測(cè)試代碼無法直接獲取這些信息,當(dāng)然,為了實(shí)現(xiàn)這種“私密成員”的可測(cè)試,可以將一些public的一些函數(shù)直接暴露出來,構(gòu)建一種friendclass訪問類,這樣就可以實(shí)現(xiàn)繞開private的限制,直接訪問類里面的所有成員[5]。總之,這種封裝性較為嚴(yán)密的語言難以有效進(jìn)行測(cè)試,但是可以通過一些技術(shù)手段來將一些private成員進(jìn)行外顯,當(dāng)然,要想實(shí)現(xiàn)可測(cè)試性,就必須對(duì)封裝進(jìn)行破壞,而這明顯不利于軟件運(yùn)行的穩(wěn)定性,因此技術(shù)人員要想對(duì)此進(jìn)行有效應(yīng)用,需要掌握好測(cè)試的度,盡量保證封裝性的同時(shí)采用單元測(cè)試技術(shù)。

      其次,針對(duì)Mock技術(shù),是單元測(cè)試的一種延伸,主要是對(duì)程序內(nèi)部的行為代碼進(jìn)行檢驗(yàn),并對(duì)其行為進(jìn)行模擬。在ZBS中,Mock技術(shù)是一種極其常用的技術(shù)手段,其測(cè)試原理其實(shí)十分簡(jiǎn)單,就是利用Mock技術(shù)屏蔽上層代碼的感知,從而修改下層代碼的邏輯結(jié)構(gòu)。當(dāng)然,針對(duì)下層代碼邏輯的變化主要是利用函數(shù)指針來進(jìn)行實(shí)現(xiàn),此外,還可以用繼承和模板來進(jìn)行修改,比如繼承,要想實(shí)現(xiàn)Mock技術(shù)的功能,就需要將類分解成為基類和子類,將子類全部放在實(shí)現(xiàn)類別中,那么在具體的測(cè)試代碼構(gòu)建時(shí),就可以直接繼承基類,達(dá)到實(shí)現(xiàn)Mock功能的目的。

      3.2 系統(tǒng)測(cè)試技術(shù)的應(yīng)用

      系統(tǒng)測(cè)試技術(shù)具有自身獨(dú)特的應(yīng)用范圍,主要針對(duì)的是軟件系統(tǒng)的功能、性能及易用性進(jìn)行測(cè)試,對(duì)這些功能、性能等進(jìn)行測(cè)試的主要目的就是為了迎合市場(chǎng)需求,最大程度的滿足用戶的一切需求。系統(tǒng)測(cè)試技術(shù)要與黑盒測(cè)試結(jié)合使用,并將用戶的需求清單與軟件編程系統(tǒng)進(jìn)行一一對(duì)比,從中找出一些需求上的不足,進(jìn)而針對(duì)不足和漏洞采用具體的方法進(jìn)行優(yōu)化。在應(yīng)用系統(tǒng)測(cè)試技術(shù)時(shí),也需要注意一些問題,比如軟件的安全與精度,測(cè)試人員要全程監(jiān)控好系統(tǒng)運(yùn)行的速度,避免運(yùn)行速度過快導(dǎo)致測(cè)試出現(xiàn)一些誤差。

      3.3 集成測(cè)試技術(shù)的應(yīng)用[6]

      集成測(cè)試技術(shù)也是一種比較常見的計(jì)算機(jī)軟件測(cè)試技術(shù),其應(yīng)用極其廣泛,目前,集成測(cè)試技術(shù)主要分為兩種,一是漸增測(cè)試,這種測(cè)試主要是將待測(cè)模塊與已測(cè)模塊相連接,連接之后等待一段時(shí)間,等測(cè)試完成后再進(jìn)入下一階段,這樣做的主要原因是在測(cè)試過程中,測(cè)試模塊會(huì)越積越多,如果不等待,貿(mào)然進(jìn)行下一階段的測(cè)試會(huì)導(dǎo)致測(cè)試失效,如此多的測(cè)試模塊,技術(shù)人員也必須保證集成方式的適宜性,保證模塊能夠切實(shí)地連接到軟件程序之中;二是非漸增測(cè)試,這種測(cè)試相比于前者來說,從另外一個(gè)角度來對(duì)模塊進(jìn)行連接,通過與其結(jié)構(gòu)圖進(jìn)行全面連接,并參照相應(yīng)標(biāo)準(zhǔn)從整體上進(jìn)行測(cè)試,這是其測(cè)試的基本內(nèi)在邏輯??傊?,集成測(cè)試技術(shù)在計(jì)算機(jī)軟件測(cè)試上的應(yīng)用已經(jīng)相對(duì)成熟,并逐漸對(duì)測(cè)試形式進(jìn)行了創(chuàng)新,切實(shí)地增強(qiáng)了測(cè)試效率,提升了測(cè)試速度。

      3.4 用戶驗(yàn)收測(cè)試技術(shù)的應(yīng)用

      用戶驗(yàn)收測(cè)試主要是針對(duì)軟件的可用性及功能進(jìn)行的,目的在于驗(yàn)證軟件的運(yùn)行程序是否符合業(yè)務(wù)要求。用戶驗(yàn)收測(cè)試可分為α測(cè)試和Beta測(cè)試。α測(cè)試過程中,需要在開發(fā)環(huán)境下進(jìn)行測(cè)試,完善的受控環(huán)境是該測(cè)試必備的條件之一,如此才能保證軟件測(cè)試的有效性。Beta測(cè)試是在進(jìn)行功能及系統(tǒng)測(cè)試之后進(jìn)行的,是技術(shù)測(cè)試的最后階段。因此,在進(jìn)行Beta測(cè)試時(shí),要明確用戶場(chǎng),通過對(duì)測(cè)試記錄的分析,將計(jì)算機(jī)軟件中的潛在問題反饋給開發(fā)者。

      4 計(jì)算機(jī)軟件測(cè)試技術(shù)應(yīng)用的展望

      計(jì)算機(jī)軟件測(cè)試是軟件開發(fā)成功的前提和基礎(chǔ),它能保證軟件開發(fā)的可靠性、實(shí)用性和安全性,因此,在編寫軟件程序后,相關(guān)人員還必須對(duì)軟件程序進(jìn)行一系列測(cè)試,以確定軟件在功能、運(yùn)行效果和安全性方面是否符合預(yù)期,一般在基本軟件開發(fā)完成后,測(cè)試人員還會(huì)檢測(cè)軟件的運(yùn)行環(huán)境,他們將一些隨機(jī)數(shù)據(jù)輸入計(jì)算機(jī),經(jīng)軟件程序核算后,判斷數(shù)據(jù)是否符合相應(yīng)的級(jí)別和核算要求,為保證軟件程序核算的準(zhǔn)確性和可靠性,會(huì)插入一些特殊參數(shù),隨機(jī)選取要采集的數(shù)據(jù),如果輸出結(jié)果與軟件功能一致,則軟件通過測(cè)試;相反,如果測(cè)試結(jié)果與軟件的功能不一致,則意味著軟件與開發(fā)應(yīng)用需求存在差距,不能超越測(cè)試,近年來,隨著中國(guó)信息化進(jìn)程的加快和計(jì)算機(jī)技術(shù)的進(jìn)步,我國(guó)軟件開發(fā)的數(shù)量和水平有了很大的提高,一些專門用于計(jì)算機(jī)軟件測(cè)試的程序相繼出現(xiàn),這種類型的測(cè)試軟件由于開發(fā)環(huán)境的不同和技術(shù)上的局限性,仍然存在一定的問題,比如一個(gè)測(cè)試軟件只能測(cè)試一個(gè)固定類型的軟件,所以檢測(cè)的準(zhǔn)確性會(huì)大大降低,因此,在軟件投放市場(chǎng)之前,有必要增加一個(gè)測(cè)試工具,對(duì)被測(cè)軟件進(jìn)行二次測(cè)試,以保證計(jì)算機(jī)測(cè)試的準(zhǔn)確性。

      5 結(jié)束語

      總之,測(cè)試軟件是保證軟件安全有效運(yùn)行的前提。軟件測(cè)試技術(shù)能夠快速識(shí)別軟件設(shè)計(jì)和應(yīng)用中的缺陷,及時(shí)修復(fù)和更新,避免軟件應(yīng)用缺陷等風(fēng)險(xiǎn)因素,在計(jì)算機(jī)軟件測(cè)試中,必須嚴(yán)格尊重實(shí)用性和科學(xué)性,并從用戶需求和應(yīng)用實(shí)踐兩方面保證軟件的功能效果,在計(jì)算機(jī)開發(fā)和應(yīng)用過程中,要進(jìn)行設(shè)計(jì)、開發(fā)和維護(hù)以及其他環(huán)節(jié)來保證軟件開發(fā)的質(zhì)量和效率。軟件程序編寫完成后,利用測(cè)試技術(shù)對(duì)軟件的功能、性能和安全性進(jìn)行測(cè)試,為軟件開發(fā)提供更多的過濾和科學(xué)的檢查。

      猜你喜歡
      白盒黑盒測(cè)試法
      一種基于局部平均有限差分的黑盒對(duì)抗攻擊方法
      面向未來網(wǎng)絡(luò)的白盒交換機(jī)體系綜述
      DWB-AES:基于AES 的動(dòng)態(tài)白盒實(shí)現(xiàn)方法
      網(wǎng)絡(luò)“黑”“白”之爭(zhēng)
      通信世界(2018年29期)2018-11-21 06:34:44
      伊士曼展示其耐受醫(yī)用消毒劑的新一代聚酯——四步測(cè)試法顯示伊士曼MXF221共聚酯具有出色的耐化學(xué)性
      上海建材(2018年3期)2018-03-20 15:28:22
      新型混合材料咀嚼效率測(cè)試法
      電氣化鐵路軌道電路絕緣電壓測(cè)試法的研究
      基于D-最優(yōu)化理論的陀螺儀力矩反饋測(cè)試法
      基于EEPROM數(shù)據(jù)讀寫的智能電能表白盒測(cè)試方法
      黑龙江省| 闽清县| 宁都县| 仲巴县| 雅安市| 巩留县| 定西市| 元朗区| 迁西县| 岫岩| 达日县| 永仁县| 台湾省| 贵港市| 喀喇| 临桂县| 云龙县| 金门县| 台州市| 黎城县| 临猗县| 东丽区| 留坝县| 宜昌市| 偃师市| 武宁县| 玉龙| 合山市| 昌邑市| 铁岭市| 子长县| 九江县| 安化县| 永顺县| 启东市| 镇安县| 黑河市| 广东省| 含山县| 龙州县| 来凤县|