


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、淺析軟件測試技術在C程序開發中的應用 摘要:隨著軟件產業的蓬勃發展,業務和工作的效率會受到軟件質量的影響。為了保證程序開發質量,可在其中嵌入軟件測試技術。本文著重介紹了黑盒測試技術等價類劃分法,并結合具體開發實例,闡述了在C程序開發過程中軟件測試技術的應用。 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. 關鍵詞:軟件測試;等價類;測試用例 Key words: software testing;equivalence class;test cases 中圖分類號:TP31 文獻標識碼:A 文章編號:1006-4311(2012)11-0159-02 0 引言 隨著軟件產業的蓬勃發展,軟件的質量會影響業務和工作的效率。為了保證開發的程序的質量,關鍵是要依靠軟件測試技術來暴露程序中的錯誤和缺陷。軟件測試技術就是為了發現程序中的錯誤而分析或執行程序的過程。在對不同的程序進行測試時,需要開發不同的測試用例。從哲學的觀點看,軟件測試技術正是從
4、程序的內部結構和實現算法的角度設計測試用例,進而發現程序中錯誤和缺陷的過程。 1 軟件測試技術 軟件測試技術是軟件開發人員進行程序分析時,根據程序的結構和各個開發階段的規格說明書,選取少量的具有代表性的數據作為測試用例來運行程序,以盡可能發現程序錯誤的過程。 軟件測試技術的兩大方法為白盒測試(White-box Texting)和黑盒測試(Black-box Texting)。兩種測試方法相輔相成,白盒測試與黑盒測試一起構成了測試的整體過程。在這里,我們主要討論黑盒測試技術在程序開發中的應用。 1.1 黑盒測試 黑盒測試,也稱功能測試或數據驅動測試,主要用于測試的后期,如圖1所示。不管程序內部
5、的結構是怎樣的,只是從用戶的角度出發,根據程序應實現的功能和需求規格說明書,來檢驗每個功能是否達到預先要求,是否能夠正常使用,是否能夠滿足用戶需求。 開發人員在進行程序測試時,把程序看作是一個不透明的盒子,在完全不考慮程序的控制結構情況下,測試程序的接口和用戶的界面,測試程序的功能是否符合需求規格說明書的要求,是否根據適當的輸入信息產生正確的輸出結果,并且測試同時能夠保證外部信息(如數據庫或文件)的完整性。 黑盒測試方法主要用于測試軟件的功能性需求,其方法有等價類劃分法、邊界值分析法、錯誤推測法和因果圖法等。 1.2 白盒測試 白盒測試,也稱結構測試或邏輯驅動測試,主要用于測試的早期,清楚最終
6、生成軟件產品的計算機程序的結構和語句,按照程序內部的結構測試程序,測試程序內部的變量狀態、邏輯結構、運行路徑等,測試程序中的每條路徑是否都能夠按照要求正確執行,檢查程序內部動作或運行是否符合設計規格要求,所有內部成分是否按規定正常進行。該方法主要用于軟件驗證。白盒測試的主要方法有邏輯覆蓋法、基本路徑測試法等。 2 等價類劃分法 等價類劃分法是黑盒測試用例設計中一種重要的、常用的設計方法,根據對程序的說明和要求設計測試用例。它將不能窮舉的測試過程進行合理分類,從而保證設計出來的測試用例具有完整性和代表性。測試人員不僅要細致分析規格說明書中的各項需求,而且還要區別對待和處理各類輸入和輸出。 所謂等
7、價類劃分法就是把所有可能的輸入數據,即程序的輸入域劃分成若干子集,然后從每個子集中選取出少數具有代表性數據作為測試用例。在等價類劃分法設計測試用例的過程中,需要使用兩個過程:分類和抽象。第一個過程是分類,即按照特性相同或者功能類似的原則將輸入域進行分類;第二個過程抽象,即在各個子類中用實力來表征抽象出來的這個特性。 等價類是指某個輸入域的子集中,各個輸入數據對于暴露程序中的錯誤都是等效的,它們具有等價特性,這樣,對于表征該類的數據輸入將能代表整個子集合的輸入。因此,可以合理地假定:測試某等價類的代表值就是等效于對于這一類其他值的測試。這樣,就把漫無邊際的隨機測試變成有針對性的等價類測試,有可能
8、用少量有代表性的例子來代替大量內容相似的測試,借以實現測試的經濟性。 采用這一技術要注意以下兩點:其一是劃分等價類不僅要考慮代表有效輸入值的有效等價類,還需要考慮代表無效輸入值的無效等價類;其二是每一無效等價類至少要用一個測試用例,不然就可能遺漏掉某一類錯誤,但允許若干有效等價類合用一個測試用例,以便進一步減少測試的次數。 3 等價類劃分法在C程序設計中的應用 例題:輸入三個邊長a,b,c,判斷它們構成哪種三角形(等腰三角形、等邊三角形或一般三角形)。 算法:首先判斷輸入的任意三個數a,b,c能否構成三角形,若能構成三角形,則再進一步判斷是等腰三角形(任意兩邊相等)、等邊三角形(三邊都相等)或
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"); 利用等價類劃分法,首先將輸入域進行等價類劃分,選擇具有代表性的數 據,將各種等價類情況進行測試。這樣能更多的發現程序中的錯誤和缺陷。 根據分析,本程序有13個等價類。如表1。 根據上劃分的述等價類,可設計的如下測試用例以及預期結果。見表2。 將12種情況的數據輸入運行,記錄輸出結果,然后對比期望結果,若完全一致,則證明程序實現了預期功能,若與某種等價類情況輸出不一致,則說明該等價類對應分支的程序段編寫有誤,需要進行修正。 4 結束語 程序員開發的源程序,應該正確可靠,簡明清晰,而且具有較高的效率。但實踐表明即使是富有經驗的程序員,也難免在編碼中發現錯誤。而軟件測試技術正是檢驗開發結果是否接近預期目標的重
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國數據收集器行業投資前景預測研究報告
- 2025屆內蒙古自治區錫林郭勒盟太仆寺旗寶昌鎮第一中學高三最后一卷英語試卷含解析
- 網店運營基礎復習題(含參考答案)
- 中藥炮制考試模擬題與參考答案
- 福建省閩侯第二中學2025屆高考沖刺英語模擬試題含解析
- 廣東省深圳市2024-2025學年高二下學期4月期中考試政治試題(原卷版+解析版)
- 數字化教具發展考核試卷
- 畜牧良種選育與繁殖方法考核試卷
- 精神康復中的壓力管理技巧考核試卷
- 企業信用體系建設考核試卷
- 《食品包裝學(第三版)》教學PPT課件整套電子講義
- 智慧旅游電子票務管理系統整體設計方案
- 焊縫質量檢驗標準匯總
- 單代號網絡圖和雙代號網絡圖(習題)
- 小學班主任工作案例分析4篇(一)
- 教學改革項目立項評審指標體系參考
- 2023年貴州省遵義市中考數學試卷及答案(word版)
- 訂單評審記錄表
- 第二章導體周圍的靜電場
- 光電子學(第三章2)
- CIE-31-76-小工具完整版-V1.0
評論
0/150
提交評論