999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件測試概論和方法

2015-04-04 18:31:37王佩多
數字通信世界 2015年8期
關鍵詞:程序

王佩多

(中國電子信息產業發展研究院,北京 100048)

軟件測試概論和方法

王佩多

(中國電子信息產業發展研究院,北京 100048)

軟件測試是使用人工或者自動手段來運行或測試某個系統的過程,其目的在于檢驗被測軟件是否滿足規定的需求或弄清預期結果與實際結果之間的差別。本文主要描述常用的幾種軟件測試方法及測試類型,隨后介紹了微軟公司測試過程,以此來探討如何合理、高效率地完成測試工作。

軟件測試;測試方法;黑盒測試;白盒測試

1 引言

隨著計算機應用的普及和信息技術的迅猛發展,軟件產品已應用到社會的各個領域,與人們工作和生活息息相關,軟件產品的質量自然成為人們關注的焦點。軟件測試是軟件質量保證的一項關鍵活動,它是通過對軟件需求、軟件設計和軟件編碼等進行靜態和動態審查,盡可能發現軟件中潛伏的問題。大量的統計表明,軟件測試工作量往往占軟件開發總工作量的40%以上,在極端情況下,甚至可能高達軟件工程其他步驟成本總和的2~4倍。目前,隨著軟件規模不斷擴大,軟件復雜程度不斷提高,軟件測試的難度也在進一步提高。

2 軟件測試發展及背景

軟件測試的發展歷史:20世紀60年代(軟件工程建立前),為表明程序正確而進行測試。1972年,在北卡羅來納大學舉行了首屆軟件測試正式會議。1975年,John Good Enough和Susan Gerhart 在IEEE上發表了《測試數據選擇的原理》的文章,軟件測試被確定為一種研究方向。1983年,Bill Hetzel在《軟件測試完全指南》中認為:測試是以評價一個程序或者系統屬性為目標的任何一種活動,測試是對軟件質量的度量。到了2002年,Rick和Stefan在《系統的軟件測試》一書中對軟件測試做了進一步定義:測試是為了度量和提高被測軟件的質量,對測試軟件進行工程設計、實施和維護的整個生命過程。

軟件無處不在,然而軟件是人編的,所以不夠完美,以下是幾個臭名昭著的軟件測試案例:

⊙ 迪士尼的獅子王(1994~1995)軟件在少數系統中能正常工作,但在大眾使用的常見系統中不行。后來證實,迪士尼公司沒有對市場上投入實用的各種PC機型進行正確的測試。

⊙ 美國航天局火星極地登陸(1999)項目使用前有經過測試,兩個測試小組雙方獨立工作都很好,但從未走在一起。

⊙ 千年蟲,(大約1974年)估計世界各地更換或升級該系統程序解決原有2000年錯誤的費用已經超過數億美元。

3 軟件測試概述

軟件測試使用人工或者自動手段來運行或測試某個系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。它是幫助識別開發完成(中間或最終的版本)的計算機軟件(整體或部分)的正確度(correctness)、完全度(completeness)和質量(quality)的軟件過程,是SQA(software quality assurance)的重要子域。

測試是軟件開發過程的重要組成部分,是用來確認一個程序的品質或性能是否符合開發之前所提出的一些要求。軟件測試的目的,一是確認軟件的質量,一方面是確認軟件做了你所期望的事情(Do the right thing),另一方面是確認軟件以正確的方式來做了這個事件(Do it right);二是提供信息,比如提供給開發人員或程序經理的反饋信息,為風險評估所準備的信息;三是軟件測試不僅是在測試軟件產品的本身,而且還包括軟件開發的過程。如果一個軟件產品開發完成之后發現了很多問題,這說明此軟件開發過程很可能是有缺陷的。

測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產生誤導,認為發現錯誤是軟件測試的惟一目的,查找不出錯誤的測試就是沒有價值的,事實并非如此。首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產生的原因和錯誤的分布特征,可以幫助項目管理者發現當前所采用的軟件缺陷,以便改進。同時,這種分析也能幫助我們設計出有針對性的檢測方法,改善測試的有效性。其次,沒有發現錯誤的測試也是有價值的,完整的測試是評定測試質量的一種方法。

4 軟件測試方法分類

4.1 常用分類

(1)從是否需要執行被測軟件的角度,可分為:靜態測試和動態測試。

(2)從測試是否針對系統的內部結構和具體實現算法的角度來看,可分為黑盒測試和白盒測試。

4.2 黑盒測試

它是把被測軟件看作是一個黑盒子,我們不去關心盒子里面的結構是什么樣子,只關心軟件的輸入數據和輸出結果。黑盒測試方法是在程序接口上進行測試,主要是為了發現以下錯誤:

⊙ 是否有不正確或遺漏了的功能?

⊙ 在接口上,輸入能否正確地接受?能否輸出正確的結果?

⊙ 是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?

⊙ 性能上是否能夠滿足要求?

⊙ 是否有初始化或終止性錯誤?

用黑盒測試發現程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數據,來檢查程序是否都能產生正確的輸出,但這是不可能的。黑盒測試的測試用例設計有等價劃分法、邊界值法、錯誤推測法、因果圖法。

4.3 白盒測試

它是把盒子蓋打開,去研究里面的源代碼和程序結構。白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能。使用被測單元內部如何工作的信息,允許測試人員對程序內部邏輯結構及有關信息來設計和選擇測試用例,對程序的邏輯路徑進行測試。基于一個應用代碼的內部邏輯知識,測試是基于覆蓋全部代碼、分支、路徑、條件。

(1)白盒測試的主要方法

基本路徑測試:使用程序設計的控制結構導出測試用例。

邏輯驅動測試:測試覆蓋率,以程序內在邏輯結構為基礎的測試。包括語句覆蓋、判定覆蓋(也稱為分支覆蓋)、條件覆蓋、判定-條件覆蓋、條件組合測試、路徑測試六種類型。

(2)白盒測試的主要目的

保證一個模塊中的所有獨立路徑至少被執行一次,對所有的邏輯值均需要測試真、假兩個分支,在上下邊界及可操作范圍內運行所有循環,檢查內部數據結構以確保其有效性。

在開發階段要保證產品的質量,產品的生產過程應該遵循一定的行業標準。軟件產品也是同樣,沒有標準可依自然談不上質量的好壞。所有關心軟件開發質量的組織、單位,都要定義或了解軟件的質量標準、模型。其好處是保證公司產品的可維護性、可靠性以及可移植性等;在測試階段與軟件產品的開發過程一樣,測試過程也需要有一定的準則,來指導、度量、評價軟件測試過程的質量。

為控制測試的有效性以及完成程度,必須定義準則和策略,以判斷何時結束測試階段。準則必須是客觀的,可量化的元素,而不能是經驗或感覺。

據應用的準則和項目相關的約束,項目領導可以定義使用的度量方法和要達到的覆蓋率。每個測試的測試覆蓋信息和累計信息,用圖形方式顯示覆蓋比率,并根據測試運行情況實時更新,隨時顯示新的測試所反映的測試覆蓋情況。允許所有的測試運行依據其有效性進行管理,用戶可以減少不適用于非回歸測試的測試過程。

4.4 靜態測試

它是指不實際運行被測軟件,而只是靜態的檢查程序代碼、界面或文檔中可能存在錯誤的過程。包括代碼測試、界面測試和文檔測試三個方面。代碼測試主要測試代碼是否符合相應的標準和規范;界面測試主要測試軟件的實際界面與需求中的說明是否相符;文檔測試主要測試用戶手冊和需求說明是否符合用戶的實際要求。

4.5 動態測試

它是指實際運行被測程序,輸入相應的測試數據,檢查實際輸出結果和預期結果是否相符的過程。所以,我們判斷一個測試屬于動態還是靜態測試,惟一的標準就是看是否運行程序。

5 結束語

從軟件測試和軟件可靠性理論入手,對現有的軟件測試方法進行了系統的研究。通過研究意識到測試并非是想像的簡單運行軟件、驗證軟件功能正確性,而是通過系統的軟件測試方法,從軟件各方面進行驗證和確認。目的是盡可能發現軟件中存在的錯誤,提高軟件產品質量,降低軟件維護成本。

[1]James A. Whittaker.實用軟件測試指南.北京:電子工業出版社

[2]Ron Patton.軟件測試.北京:機械工業出版社

[3]張克東等.軟件工程與軟件測試自動化教程.北京:電子工業出版社

[4]Edward Kit.軟件測試過程改進.北京:機械工業出版社

Introdaction and Methods of Software Testing

Wang Peiduo
(China Center for Information Industry Development, Beijing, 100048)

Software testing is a process which can run or test systems by manual or automatic methods. Propose of software testing is clarify that whether the tested software satisfy the standard, or find out the difference between expect and fact results. In this report, there are describe some usual testing methods and types. At last, there are present the software testing process about Microsoft, then discuss how to complete the whole software testing efficiently.

software testing; testing methods; black box testing; white box testing

10.3969/J.ISSN.1672-7274.2015.08.012

TP31文獻標示碼:B

1672-7274(2015)08-0043-03

王佩多,女,1988年生,四川廣元人,研究生,商務信息管理專業,現任就職于中國電子信息產業發展研究院。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 免费啪啪网址| 国产91在线|中文| 九九九精品视频| 久久久久无码精品| 一级一毛片a级毛片| 亚洲aⅴ天堂| 亚洲人成电影在线播放| 亚洲人精品亚洲人成在线| 欧美亚洲另类在线观看| 国产精品自拍合集| 在线五月婷婷| 91视频国产高清| h网站在线播放| 亚洲色成人www在线观看| 波多野结衣的av一区二区三区| 欧美亚洲国产精品久久蜜芽| 欧美97欧美综合色伦图| 波多野结衣一区二区三视频| 毛片基地视频| 日本一区中文字幕最新在线| 国产理论一区| 91美女在线| 免费国产好深啊好涨好硬视频| 91精品视频网站| 国产毛片高清一级国语 | 久久综合亚洲鲁鲁九月天| 国产丝袜无码精品| 久久久久免费精品国产| 国产精品无码AV中文| 高清无码不卡视频| 日韩视频免费| 日本午夜精品一本在线观看| 日韩毛片视频| 波多野结衣国产精品| 国产一区二区三区在线无码| 国产无码精品在线播放| 亚洲精品手机在线| 精品一区二区三区自慰喷水| 国产精品香蕉在线| 99热最新在线| 亚洲自拍另类| 婷婷六月天激情| 亚洲欧洲日产无码AV| 99国产在线视频| 五月综合色婷婷| 久久永久精品免费视频| 伊人色在线视频| 丁香综合在线| 国产精品自在自线免费观看| 亚洲无卡视频| 国产在线91在线电影| 国产一级在线观看www色| 一级爱做片免费观看久久| 国产原创自拍不卡第一页| 97久久人人超碰国产精品| 欧美精品一区在线看| 青青草国产精品久久久久| 国产裸舞福利在线视频合集| 一级毛片免费观看久| 欧美成人精品在线| 国产精品手机视频| 国产美女在线观看| 97成人在线视频| 成人午夜视频免费看欧美| 亚洲精品第五页| 国内精品手机在线观看视频| 久久人人爽人人爽人人片aV东京热 | 国产凹凸视频在线观看| 欧美日韩一区二区在线免费观看| 福利姬国产精品一区在线| 亚洲欧美日本国产专区一区| 亚洲欧洲国产成人综合不卡| 黄色三级毛片网站| 精品一区二区三区波多野结衣 | 99在线观看精品视频| 国产精品女熟高潮视频| 国产日韩AV高潮在线| 国产另类视频| 在线人成精品免费视频| 久久久久青草大香线综合精品 | 日本免费a视频| 麻豆精品在线|