淺析軟件測試技術(shù)在C程序開發(fā)中的應(yīng)用_第1頁
淺析軟件測試技術(shù)在C程序開發(fā)中的應(yīng)用_第2頁
淺析軟件測試技術(shù)在C程序開發(fā)中的應(yīng)用_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、淺析軟件測試技術(shù)在C程序開發(fā)中的應(yīng)用    摘要:隨著軟件產(chǎn)業(yè)的蓬勃發(fā)展,業(yè)務(wù)和工作的效率會受到軟件質(zhì)量的影響。為了保證程序開發(fā)質(zhì)量,可在其中嵌入軟件測試技術(shù)。本文著重介紹了黑盒測試技術(shù)等價類劃分法,并結(jié)合具體開發(fā)實例,闡述了在C程序開發(fā)過程中軟件測試技術(shù)的應(yīng)用。 Abstract: With the booming development of software industry, business and work efficiency is influenced by the software quality. In order to ensure

2、 the quality of programming, the software testing techniques can be embedded. This article focuses on a black-box testing techniques: equivalence class partitioning method, and discusses the application of software testing technology in the development process of C program by combining with the deve

3、lopment of specific instances. 關(guān)鍵詞:軟件測試;等價類;測試用例 Key words: software testing;equivalence class;test cases 中圖分類號:TP31 文獻標識碼:A 文章編號:1006-4311(2012)11-0159-02 0 引言 隨著軟件產(chǎn)業(yè)的蓬勃發(fā)展,軟件的質(zhì)量會影響業(yè)務(wù)和工作的效率。為了保證開發(fā)的程序的質(zhì)量,關(guān)鍵是要依靠軟件測試技術(shù)來暴露程序中的錯誤和缺陷。軟件測試技術(shù)就是為了發(fā)現(xiàn)程序中的錯誤而分析或執(zhí)行程序的過程。在對不同的程序進行測試時,需要開發(fā)不同的測試用例。從哲學(xué)的觀點看,軟件測試技術(shù)正是從

4、程序的內(nèi)部結(jié)構(gòu)和實現(xiàn)算法的角度設(shè)計測試用例,進而發(fā)現(xiàn)程序中錯誤和缺陷的過程。 1 軟件測試技術(shù) 軟件測試技術(shù)是軟件開發(fā)人員進行程序分析時,根據(jù)程序的結(jié)構(gòu)和各個開發(fā)階段的規(guī)格說明書,選取少量的具有代表性的數(shù)據(jù)作為測試用例來運行程序,以盡可能發(fā)現(xiàn)程序錯誤的過程。 軟件測試技術(shù)的兩大方法為白盒測試(White-box Texting)和黑盒測試(Black-box Texting)。兩種測試方法相輔相成,白盒測試與黑盒測試一起構(gòu)成了測試的整體過程。在這里,我們主要討論黑盒測試技術(shù)在程序開發(fā)中的應(yīng)用。 1.1 黑盒測試 黑盒測試,也稱功能測試或數(shù)據(jù)驅(qū)動測試,主要用于測試的后期,如圖1所示。不管程序內(nèi)部

5、的結(jié)構(gòu)是怎樣的,只是從用戶的角度出發(fā),根據(jù)程序應(yīng)實現(xiàn)的功能和需求規(guī)格說明書,來檢驗每個功能是否達到預(yù)先要求,是否能夠正常使用,是否能夠滿足用戶需求。 開發(fā)人員在進行程序測試時,把程序看作是一個不透明的盒子,在完全不考慮程序的控制結(jié)構(gòu)情況下,測試程序的接口和用戶的界面,測試程序的功能是否符合需求規(guī)格說明書的要求,是否根據(jù)適當?shù)妮斎胄畔a(chǎn)生正確的輸出結(jié)果,并且測試同時能夠保證外部信息(如數(shù)據(jù)庫或文件)的完整性。 黑盒測試方法主要用于測試軟件的功能性需求,其方法有等價類劃分法、邊界值分析法、錯誤推測法和因果圖法等。 1.2 白盒測試 白盒測試,也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,主要用于測試的早期,清楚最終

6、生成軟件產(chǎn)品的計算機程序的結(jié)構(gòu)和語句,按照程序內(nèi)部的結(jié)構(gòu)測試程序,測試程序內(nèi)部的變量狀態(tài)、邏輯結(jié)構(gòu)、運行路徑等,測試程序中的每條路徑是否都能夠按照要求正確執(zhí)行,檢查程序內(nèi)部動作或運行是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分是否按規(guī)定正常進行。該方法主要用于軟件驗證。白盒測試的主要方法有邏輯覆蓋法、基本路徑測試法等。 2 等價類劃分法 等價類劃分法是黑盒測試用例設(shè)計中一種重要的、常用的設(shè)計方法,根據(jù)對程序的說明和要求設(shè)計測試用例。它將不能窮舉的測試過程進行合理分類,從而保證設(shè)計出來的測試用例具有完整性和代表性。測試人員不僅要細致分析規(guī)格說明書中的各項需求,而且還要區(qū)別對待和處理各類輸入和輸出。 所謂等

7、價類劃分法就是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干子集,然后從每個子集中選取出少數(shù)具有代表性數(shù)據(jù)作為測試用例。在等價類劃分法設(shè)計測試用例的過程中,需要使用兩個過程:分類和抽象。第一個過程是分類,即按照特性相同或者功能類似的原則將輸入域進行分類;第二個過程抽象,即在各個子類中用實力來表征抽象出來的這個特性。 等價類是指某個輸入域的子集中,各個輸入數(shù)據(jù)對于暴露程序中的錯誤都是等效的,它們具有等價特性,這樣,對于表征該類的數(shù)據(jù)輸入將能代表整個子集合的輸入。因此,可以合理地假定:測試某等價類的代表值就是等效于對于這一類其他值的測試。這樣,就把漫無邊際的隨機測試變成有針對性的等價類測試,有可能

8、用少量有代表性的例子來代替大量內(nèi)容相似的測試,借以實現(xiàn)測試的經(jīng)濟性。 采用這一技術(shù)要注意以下兩點:其一是劃分等價類不僅要考慮代表有效輸入值的有效等價類,還需要考慮代表無效輸入值的無效等價類;其二是每一無效等價類至少要用一個測試用例,不然就可能遺漏掉某一類錯誤,但允許若干有效等價類合用一個測試用例,以便進一步減少測試的次數(shù)。 3 等價類劃分法在C程序設(shè)計中的應(yīng)用 例題:輸入三個邊長a,b,c,判斷它們構(gòu)成哪種三角形(等腰三角形、等邊三角形或一般三角形)。 算法:首先判斷輸入的任意三個數(shù)a,b,c能否構(gòu)成三角形,若能構(gòu)成三角形,則再進一步判斷是等腰三角形(任意兩邊相等)、等邊三角形(三邊都相等)或

9、一般三角形。 #include main() float a,b,c; scanf("%f,%f,%f",&a,&b,&c); if(a+b<=c|b+c<=a|a+c<=b|a<1e-6|b<1e-6|c<1e-6) printf("Error! It isn't a trianglen"); else if(a=b&&a=c) printf("It is a equilateral trianglen"); else if(a=b|a=c|b=c)

10、 printf("It is a isoceles trianglen"); else printf("It is a general trianglen"); 利用等價類劃分法,首先將輸入域進行等價類劃分,選擇具有代表性的數(shù) 據(jù),將各種等價類情況進行測試。這樣能更多的發(fā)現(xiàn)程序中的錯誤和缺陷。 根據(jù)分析,本程序有13個等價類。如表1。 根據(jù)上劃分的述等價類,可設(shè)計的如下測試用例以及預(yù)期結(jié)果。見表2。 將12種情況的數(shù)據(jù)輸入運行,記錄輸出結(jié)果,然后對比期望結(jié)果,若完全一致,則證明程序?qū)崿F(xiàn)了預(yù)期功能,若與某種等價類情況輸出不一致,則說明該等價類對應(yīng)分支的程序段編寫有誤,需要進行修正。 4 結(jié)束語 程序員開發(fā)的源程序,應(yīng)該正確可靠,簡明清晰,而且具有較高的效率。但實踐表明即使是富有經(jīng)驗的程序員,也難免在編碼中發(fā)現(xiàn)錯誤。而軟件測試技術(shù)正是檢驗開發(fā)結(jié)果是否接近預(yù)期目標的重

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論