• 
    

    
    

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

      軟件測試技術(shù)
      ——計量測試技術(shù)的新領(lǐng)域

      2014-03-22 12:00:55柏文琦
      計量技術(shù) 2014年11期
      關(guān)鍵詞:單元測試測試用例軟件測試

      柏文琦

      (湖南省計量檢測研究院,長沙 410014)

      0 引言

      隨著信息科學(xué)的快速發(fā)展,特別是計算機技術(shù)在各行各業(yè)逐漸得到普遍的應(yīng)用。在現(xiàn)代社會中,人們在生活、勞動、科研及教育等眾多領(lǐng)域都引入了計算機軟件,且對其的依賴性越來越強。同樣,在現(xiàn)代計量檢測工作中,計算機技術(shù)與很多計量儀器的結(jié)合,開辟了全新的、先進(jìn)的工作方法和研究領(lǐng)域。在實際的計量工作中,計算機軟件已經(jīng)成為一種智能的、自動化的計量儀器。然而,由于軟件是由人來設(shè)計開發(fā)的,其實際功能不可能完美無缺,一些人為的錯誤或疏忽不可避免,導(dǎo)致計算機軟件在實際的應(yīng)用中可能會出現(xiàn)這樣或那樣的錯誤,給生產(chǎn)生活造成不必要的麻煩,甚至是無可挽回的經(jīng)濟損失。因此,在軟件投入使用之前應(yīng)對其進(jìn)行認(rèn)真、科學(xué)和全面的測試,盡早發(fā)現(xiàn)軟件中的缺陷,并采取措施對其進(jìn)行改進(jìn),避免將軟件的錯誤帶入實際的生產(chǎn)、生活中。通常來講,在軟件開發(fā)的總開銷中,軟件測試開銷將達(dá)到30%~50%,若再加上軟件投入使用后,由于軟件本身的缺陷而導(dǎo)致的軟件維護(hù)開銷,軟件開發(fā)將會有40%以上的成本和時間要花費在軟件測試上,在一些極端的情況下,軟件測試的費用甚至?xí)鲕浖_發(fā)其他步驟費用總和的若干倍。由此可見,軟件測試在軟件開發(fā)過程中具有非常更重要作用,特別是將計算機軟件應(yīng)用于計量測試這樣對準(zhǔn)確度要求較高的量化工作領(lǐng)域時,軟件測試的地位就顯得更為重要了。

      1 軟件測試與計量測試的關(guān)系

      在計量工作中,科學(xué)儀器具有非常重要的作用,通常一流的科學(xué)研究往往都依賴于一流的科學(xué)儀器。隨著計算機科學(xué)技術(shù)的快速發(fā)展,人們已經(jīng)逐漸接受這樣的一個事實:“計算機軟件就是儀器、就是設(shè)備”[3]。從儀器操作人員的角度來看,所有的操作過程直接接觸的不再是傳感器、電流、電壓等客觀物體或參數(shù),而是變成了觸摸屏、選擇菜單、按鈕等事先由軟件設(shè)置好的程序,以前計量測試過程中所用到的傳感器、電橋等都被封裝在軟件的背后,使操作人員無需也無法知道傳感器的反饋電壓是多少等等這類信息,軟件自動的將這類信息轉(zhuǎn)換成我們能讀得懂的形式展現(xiàn),軟件就像外衣一樣包裹著儀器。

      近年來,隨著計算機技術(shù)的應(yīng)用領(lǐng)域不斷拓寬,軟件應(yīng)用規(guī)模的不斷擴大及復(fù)雜性的不斷增加,ISO、ANSI及IEEE等眾多關(guān)于軟件測試和質(zhì)量控制的國際標(biāo)準(zhǔn)相繼問世,使軟件測試和軟件質(zhì)量得到了廣泛的關(guān)注。人們逐漸意識到軟件測試不單單是發(fā)現(xiàn)錯誤,還應(yīng)包括對軟件質(zhì)量的評價,是保證軟件質(zhì)量的重要手段。2004年,IEC和ISO的第一聯(lián)合技術(shù)委員會在軟件工程標(biāo)準(zhǔn)術(shù)語中將“軟件測試”定義為:是為標(biāo)識軟件問題及缺陷,評價并改進(jìn)軟件質(zhì)量而進(jìn)行的活動。即軟件測試并不僅僅是單純找出軟件系統(tǒng)的錯誤,還要包括對缺陷的評價以及如何改進(jìn),因此測試是一個貫穿于軟件開發(fā)過程始終的、科學(xué)的質(zhì)量控制過程。

      傳統(tǒng)計量測試是對某個系統(tǒng)進(jìn)行測定,判斷其性能是否滿足需求,或者確定實際結(jié)果與預(yù)期結(jié)果之間的差別,與軟件測試技術(shù)的主要區(qū)別在于測量的對象不同。因此,軟件測試是傳統(tǒng)計量測試的拓展與延伸,是現(xiàn)代計量技術(shù)的重要分支。計算機技術(shù)與傳統(tǒng)計量測試技術(shù)的交叉融合構(gòu)成了現(xiàn)代軟件測試技術(shù)的基礎(chǔ)。

      2 軟件測試的原則

      2.1 軟件測試應(yīng)貫穿軟件開發(fā)的全過程

      由于軟件開發(fā)各個階段工作的復(fù)雜性與多樣性,及各階段工作人員間工作的配合關(guān)系,使得開發(fā)的每個階段都可能有錯誤產(chǎn)生。因此軟件測試不是軟件開發(fā)過程中的某個獨立的階段,而是貫穿于軟件開發(fā)各個階段的一個過程,應(yīng)堅持在各個階段進(jìn)行詳細(xì)的測試及技術(shù)評審,盡早發(fā)現(xiàn)并預(yù)防錯誤。軟件測試的W模型能夠具體地表現(xiàn)出軟件測試與軟件開發(fā)的同步性,如圖1所示。

      2.2 合理選擇測試用例

      完整的測試用例包括測試的輸入數(shù)據(jù)和這些輸入數(shù)據(jù)所對應(yīng)的預(yù)期輸出結(jié)果。在設(shè)計測試用例時,還應(yīng)考慮其合理及不合理的輸入條件。在軟件設(shè)計的合理范圍內(nèi)能夠驗證軟件的輸入條件是合理輸入條件;在軟件設(shè)計的合理范圍之外的、臨界的、異常的輸入條件是不合理輸入條件。用不合理的輸入條件對軟件進(jìn)行測試能夠檢測軟件的完整性及容錯能力,常常會比合理輸入條件發(fā)現(xiàn)更多、更全面的錯誤。

      圖1 軟件測試的W模型

      2.3 開發(fā)人員應(yīng)避免測試自己的程序

      由于在軟件開發(fā)中,可能會由于對問題的說明不清或表達(dá)有歧義而引起誤解,導(dǎo)致錯誤,這種情況一般開發(fā)人員自己很難發(fā)現(xiàn)。另外從心理角度來講,開發(fā)人員一般都不希望自己的程序會出錯。因此,軟件測試工作一般應(yīng)由開發(fā)組成員以外的工作人員來完成,這樣會更有效、更客觀。

      3 軟件測試的實施

      3.1 軟件測試方法

      軟件測試方法可以分為靜態(tài)測試和動態(tài)測試兩大類。

      3.1.1靜態(tài)測試

      靜態(tài)測試主要是對被測軟件進(jìn)行特性分析,要是手動測試,采用不在計算機上運行被測試的軟件的其他手段達(dá)到測試目的。靜態(tài)測試能夠有效地發(fā)現(xiàn)軟件中30%~70%的編碼錯誤和邏輯錯誤。

      3.1.2動態(tài)測試

      動態(tài)測試需要在計算機上運行被測試軟件,通過輸入相應(yīng)的測試用例,判定執(zhí)行結(jié)果的合理性,對被測軟件的可靠性、有效性及正確性進(jìn)行判斷。動態(tài)測試包括“白盒”測試和“黑盒”測試2種方法。

      1)“白盒”測試主要從細(xì)節(jié)出發(fā)進(jìn)行測試,為檢查被測軟件的分支及循環(huán)的有效性,為每條邏輯路徑分別設(shè)計測試用例。一般選用最有效,即產(chǎn)生錯誤的可能性最大的路徑進(jìn)行測試,因此,在“白盒”測試中,合理地設(shè)計測試用例是至關(guān)重要的。

      2)“黑盒”測試主要從整體出發(fā),在軟件界面上進(jìn)行軟件測試,并不考慮軟件的處理過程及內(nèi)部結(jié)構(gòu)。其作用是判斷被測軟件的功能是否具有可操作性及有效性,即軟件是否能夠正確接收數(shù)據(jù),并輸出合理的結(jié)果等。

      在實際進(jìn)行軟件測試時,應(yīng)在不同階段為找出不同類型的錯誤而合理地選用“白盒”測試和“黑盒”測試,二者應(yīng)相互補充,而不能相互替代。

      此外,根據(jù)測試的自動化程度,還可將軟件測試分為自動測試和手動測試。軟件測試最初都是手動進(jìn)行的,隨著軟件規(guī)模的不斷增加,自動測試逐漸凸顯出其優(yōu)越性,而漸漸被廣泛認(rèn)可。軟件自動測試效率高、開銷低、還能完成手工測試難以實現(xiàn)的測試。

      3.2 軟件測試的過程

      軟件測試過程一般包括以下4步:單元測試、組裝測試、確認(rèn)測試及系統(tǒng)測試,圖2給出了簡單的測試流程圖。

      圖2 軟件測試流程圖

      3.2.1單元測試

      單元測試是根據(jù)設(shè)計要求,對被測軟件的每個功能對應(yīng)的獨立程序塊進(jìn)行測試,通過對各個單元進(jìn)行檢查,判斷該功能能否滿足設(shè)計需求。一般在某一程序模塊的編程完成后,直接由程序員進(jìn)行相應(yīng)的單元測試,往往采用“白盒”測試的方法對程序內(nèi)部結(jié)構(gòu)進(jìn)行檢查,重點發(fā)現(xiàn)代碼的編寫錯誤,并加以解決。

      3.2.2組裝測試

      單元測試成功完成后,在將若干程序模塊組裝成系統(tǒng)時,對各模塊間的接口及通訊進(jìn)行的檢查稱為組裝測試。一般有兩種方法:增式和非增式方法。把待測試的模塊組裝到已測好的模塊組上進(jìn)行測試的方法為增式方法;把所有已通過單元測試的模塊組合成整個系統(tǒng),然后再對該系統(tǒng)進(jìn)行統(tǒng)一測試的方法為非增式方法。一般在基本完成了軟件開發(fā)編碼工作后,由負(fù)責(zé)不同模塊的開發(fā)人員一起完成組裝測試。

      3.2.3確認(rèn)測試

      確認(rèn)測試也可稱為有效性測試,主要用來驗證軟件的配置是否合理、軟件功能是否完善以及性能是否滿足用戶的所有需求。系統(tǒng)測試通常根據(jù)軟件需求說明書,通過黑盒測試法進(jìn)行測試,在實際測試過程中,將通過確認(rèn)測試的軟件與支持軟件的數(shù)據(jù)、計算機硬件、外設(shè)及相關(guān)人員等結(jié)合在一起,通過實際運行對整個系統(tǒng)進(jìn)行測試。通常應(yīng)有最終用戶代表進(jìn)行實際的系統(tǒng)測試。

      4 結(jié)束語

      現(xiàn)代計量技術(shù)及計算機技術(shù)的發(fā)展與應(yīng)用,使得軟件測試技術(shù)越來越廣泛地應(yīng)用到生產(chǎn)生活的各個方面。但在我國的計量領(lǐng)域,軟件測試技術(shù)的發(fā)展還很落后,這就需要相關(guān)工作者認(rèn)真研究、努力創(chuàng)新,爭取為計量工作及軟件測試工作開拓出新的局面。

      [1]薛賽男,趙偉.軟件測試技術(shù)——計量測試技術(shù)的新領(lǐng)域[J].計量技術(shù),2003(5)

      [2]廚煜,周國慶,奚文駿.軟件測試技術(shù)概述[J].中國測試技術(shù),2005,3(3)

      [3]黃俊.淺談具有計量特色的軟件測試人才培養(yǎng)[J].計算機教育,2008,18:070

      [4]聶長海.關(guān)于軟件測試的幾點思考[J].計算機科學(xué)2011.02(11)

      [5]薛沖沖,陳堅.軟件測試研究[J].計算機系統(tǒng)應(yīng)用.2011(2)

      [6]張云崗,劉春茂.軟件測試技術(shù)淺析[J].技術(shù)與市場.2011(2)

      猜你喜歡
      單元測試測試用例軟件測試
      基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
      基于OBE的軟件測試課程教學(xué)改革探索
      計算機教育(2020年5期)2020-07-24 08:53:20
      EXCEL和VBA實現(xiàn)軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      基于混合遺傳算法的回歸測試用例集最小化研究
      關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      軟件測試工程化模型及應(yīng)用研究
      基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
      一年級上冊第五單元測試
      一年級上冊一、二單元測試
      第五單元測試卷
      泗洪县| 白银市| 大余县| 鸡泽县| 长丰县| 称多县| 开化县| 曲水县| 新巴尔虎右旗| 牟定县| 大兴区| 万宁市| 江孜县| 五大连池市| 邵阳县| 内黄县| 鸡西市| 汶上县| 长葛市| 兰溪市| 丽水市| 砚山县| 布尔津县| 体育| 手游| 朝阳县| 突泉县| 大同市| 昔阳县| 高碑店市| 井陉县| 皮山县| 炉霍县| 蓝山县| 敖汉旗| 特克斯县| 怀安县| 临夏县| 康定县| 于田县| 彰化县|