什么是軟件測試_第1頁
什么是軟件測試_第2頁
什么是軟件測試_第3頁
什么是軟件測試_第4頁
什么是軟件測試_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件測試相關(guān)知識軟件測試相關(guān)知識 大綱大綱1、什么是軟件測試2、軟件測試工作內(nèi)容和流程3、測試方法案例案例千年蟲問題千年蟲問題l20世紀(jì)70 年代,人們所使用的計(jì)算機(jī)存儲空間很小,程序員為了節(jié)省存儲空間,將存儲日期只存儲2位,如1974存儲為74。工資系統(tǒng)經(jīng)常依賴于日期的處理,因此他們節(jié)省了大量的空間,他們知道在2000年到來時(shí)會(huì)出現(xiàn)問題,比如銀行在計(jì)算利息時(shí),用當(dāng)前的日期(如“2000年1月1日”)減去客戶的存款日期(如“1974年1月1日”),如果年利息為3%,那么,每一百元銀行應(yīng)付給客戶78的利息。如果與年份存儲問題沒有得到糾正,其存款年數(shù)就變?yōu)?74年,客戶反而應(yīng)該付給銀行利息了,這顯

2、然是不合理的。但他們認(rèn)為在20多年內(nèi)程序肯定會(huì)更新或升級,而且眼前的任務(wù)比計(jì)劃遙不可及的未來更加重要。為此,全世界付出了數(shù)千萬美元的代價(jià)來更換或升級類似程序以解決千年蟲的問題,特別是金融、保險(xiǎn)、軍事、科學(xué)、商務(wù)等領(lǐng)域,花費(fèi)了大量的人力,物力對已有的各種各樣的程序進(jìn)行檢查,修改和更新。Intel 奔騰處理器芯片缺陷奔騰處理器芯片缺陷l在pc機(jī)的“計(jì)算器”中輸入以下模式:(4195835/3145727)X 3145727 4195835 l如果答案不為0,就說明計(jì)算機(jī)使用的是帶有浮點(diǎn)除法軟件缺陷的老式Intel奔騰處理器。l1994年,美國佛吉利亞州Lynchburg學(xué)院的以為博士在用奔騰PC機(jī)

3、解決一個(gè)除法問題時(shí),發(fā)現(xiàn)了這個(gè)問題。他將發(fā)現(xiàn)的問題放在internet上,引發(fā)了一場風(fēng)暴,成千上萬的人發(fā)現(xiàn)了同樣的問題,以及其他的出錯(cuò)誤結(jié)果的情形。萬幸的是,這種情況很少出現(xiàn),僅在精度要求很高的數(shù)學(xué),科學(xué)和工程計(jì)算中才會(huì)出現(xiàn)。l這個(gè)事件引起人們關(guān)注的原因并不是這個(gè)軟件缺陷,而是Intel公司解決問題態(tài)度。lIntel公司的測試工程師在芯片發(fā)布之前已經(jīng)發(fā)現(xiàn)了這個(gè)問題,但管理層認(rèn)為還沒有嚴(yán)重到一定要修正,甚至公開的程度。l當(dāng)這個(gè)軟件缺陷被發(fā)現(xiàn)時(shí),Intel公司通過新聞發(fā)布和公開聲明試圖弱化問題的嚴(yán)重性。l當(dāng)壓力增大時(shí),Intel承諾可以更換有問題的芯片,單要求用戶必須證明自己受到缺陷的影響。l結(jié)果

4、輿論嘩然,internetshang 充斥著憤怒的客戶要求Intel公司解決問題呼聲,新聞報(bào)道將Intel公司描繪成不誠信者。最后,Intel公司為自己處理軟件缺陷的行為道歉并拿出4億多美元來支付更換芯片的費(fèi)用。由此可見,一個(gè)小小的軟件缺陷造成的損失可能有多大。軟件測試背景軟件測試背景l(fā)早期:軟件開發(fā)過程中,將測試等同于“調(diào)試”。目的是糾正軟件中已經(jīng)知道的故障,通常由開發(fā)人員自己完成這部分的工作。常常是等到形成代碼,產(chǎn)品已經(jīng)基本完成時(shí),才進(jìn)行測試。l直到1957年,軟件測試區(qū)別于調(diào)試,成為一種發(fā)現(xiàn)軟件缺陷的活動(dòng)。l1972年在北卡羅來納大學(xué)舉行了首屆軟件測試正式會(huì)議。l1975年在IEEE上發(fā)

5、表了“測試數(shù)據(jù)選擇的原理”的文章,軟件測試才被確定為一種研究方向 。l1979年Glen ford Myers的軟件測試藝術(shù)中,定義“測試是為發(fā)現(xiàn)錯(cuò)誤而執(zhí)行的一個(gè)程序或者系統(tǒng)的過程”測試過程測試過程發(fā)展的里程碑發(fā)展的里程碑l軟件測試背景,國外軟件測試人員與開發(fā)人員的比例l微軟的開發(fā)工程師與測試工程師的比例1 2,國內(nèi)一般公司是6 1;軟件測試概念軟件測試概念l軟件測試就是在軟件投入運(yùn)行前,對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。 軟件測試階段軟件測試階段l需求測試l單元測試l集成測試l確認(rèn)測試l系統(tǒng)測試l回歸測試l驗(yàn)收測試

6、l需求測試:需求規(guī)格說明說,概要設(shè)計(jì)文檔,詳細(xì)設(shè)計(jì)文檔,是否描述不準(zhǔn)確,需求定義模糊等問題;l單元測試:又叫“模塊測試”檢測程序模塊中有無故障存在l集成測試:發(fā)生在模塊與模塊、接口l確認(rèn)測試:按需求說明書的功能要求l系統(tǒng)測試:在軟、硬件、網(wǎng)絡(luò)環(huán)境下l回歸測試:重復(fù)執(zhí)行集成和系統(tǒng)測試的測試用例 l驗(yàn)收測試:按照項(xiàng)目任務(wù)書或合同、供需雙方約定的驗(yàn)收依據(jù)文檔進(jìn)行的對整個(gè)系統(tǒng)的測試與評審,決定是否接收或拒收系統(tǒng)?!皹渖嫌惺圾B,開槍打死一只,樹上有十只鳥,開槍打死一只,還剩幾只?還剩幾只?”需求測試單元測試回歸測試驗(yàn)收測試集成測試系統(tǒng)測試軟件測試流程:軟件測試流程:lV模型和W模型軟件測試模型軟件測試

7、模型lV模型:強(qiáng)調(diào)軟件開發(fā)的協(xié)作和速度,反映測試活動(dòng)與分析設(shè)計(jì)關(guān)系,清楚描述了測試階段和研發(fā)過程間各階段對應(yīng)關(guān)系l局限性:忽視測試活動(dòng)對需求分析,系統(tǒng)設(shè)計(jì)等活動(dòng)的驗(yàn)證和確認(rèn)功能lW模型:雙V模型組成,分別代表測試和開發(fā)過程強(qiáng)調(diào)測試伴隨整個(gè)軟件開發(fā)周期,測試開發(fā)同步進(jìn)行,有利于盡早發(fā)現(xiàn)問題,測試不僅是程序,包括需求和設(shè)計(jì)l優(yōu)點(diǎn):有利于及時(shí)了解項(xiàng)目難度和測試風(fēng)險(xiǎn),及早制定應(yīng)對措施,顯著減少總體測試實(shí)踐,加快項(xiàng)目進(jìn)度V模型軟件測試模型軟件測試W模型軟件測試模型軟件測試軟件測試模型軟件測試模型lV模型:強(qiáng)調(diào)軟件開發(fā)的協(xié)作和速度,反映測試活動(dòng)與分析設(shè)計(jì)關(guān)系,清楚描述了測試階段和研發(fā)過程間各階段對應(yīng)關(guān)系l

8、局限性:忽視測試活動(dòng)對需求分析,系統(tǒng)設(shè)計(jì)等活動(dòng)的驗(yàn)證和確認(rèn)功能lW模型:雙V模型組成,分別代表測試和開發(fā)過程強(qiáng)調(diào)測試伴隨整個(gè)軟件開發(fā)周期,測試開發(fā)同步進(jìn)行,有利于盡早發(fā)現(xiàn)問題,測試不僅是程序,包括需求和設(shè)計(jì)l優(yōu)點(diǎn):有利于及時(shí)了解項(xiàng)目難度和測試風(fēng)險(xiǎn),及早制定應(yīng)對措施,顯著減少總體測試實(shí)踐,加快項(xiàng)目進(jìn)度軟件測試范圍軟件測試范圍l功能測試l易用性測試l兼容性測試l負(fù)載壓力測試l安裝卸載測試l安全性測試l接口測試l數(shù)據(jù)庫測試軟件測試方法軟件測試方法l靜態(tài)測試l動(dòng)態(tài)測試l黑盒測試l白盒測試l靜態(tài)測試:主要是查看的方法,包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等 ;如:單元測試。l動(dòng)態(tài)測試:主要是當(dāng)軟件系

9、統(tǒng)在模擬的或真實(shí)的環(huán)境中執(zhí)行之前、之中和之后,對軟件系統(tǒng)行為的分析:如:人工進(jìn)行的系統(tǒng)測試,自動(dòng)化測試黑盒、白盒測試黑盒、白盒測試l黑盒測試:檢查程序功能是否按照規(guī)格說明書的規(guī)定正常使用,程序是否能接收輸入數(shù)據(jù)而產(chǎn)生正確的輸出信息,并保持?jǐn)?shù)據(jù)庫或文件的完整性;l在測試流程中的應(yīng)用:確認(rèn)測試、系統(tǒng)測試、驗(yàn)收測試 ;l白盒測試:基于覆蓋全部代碼、分支、路徑、條件,使用程序設(shè)計(jì)的控制結(jié)構(gòu)導(dǎo)出測試用例 l測試流程中應(yīng)用:單元測試,集成測試白盒測試幫助測試人員增大代碼覆蓋率,提高代碼質(zhì)量黑盒測試發(fā)現(xiàn)錯(cuò)誤類型黑盒測試發(fā)現(xiàn)錯(cuò)誤類型l功能不對或遺漏l界面錯(cuò)誤l數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯(cuò)誤l性能問題l初始化和終

10、止錯(cuò)誤黑盒測試方法黑盒測試方法l等價(jià)類劃分法:(做計(jì)算器程序)時(shí),在兩數(shù)相加中,1+1,1+2,1+9,1+999l邊界值分析法:如果軟件接受用戶輸入1-1000的數(shù)字,該如何輸入? l錯(cuò)誤推測法:列舉出程序中所有可能的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況。l例子:設(shè)計(jì)一些非法、錯(cuò)誤、不正確和垃圾數(shù)據(jù)進(jìn)行輸入測試是很有意義的。因果圖法:投幣機(jī)的例子: 有一個(gè)處理單價(jià)為1元5角錢的盒裝飲料的自動(dòng)售貨機(jī)軟件。若投入,若投入1元5角錢硬幣,按下“可樂”或“雪碧”,相應(yīng)的飲料酒送出來。若投入的是2元硬幣,在送出飲料的同時(shí)退還5角硬幣。l原因:(1)投入1元5角硬幣;(2)投入2元硬幣 (3)按“可樂”按鈕;

11、(4)按“雪碧”按鈕l中間狀態(tài):(1)已投幣; (2)已按鈕l結(jié)果:(1)退還5角硬幣; (2)送出“可樂”飲料 (3)送出“雪碧”飲料。場景法進(jìn)入審計(jì)系統(tǒng),某用戶設(shè)定策略,有觸發(fā)策略的記錄,產(chǎn)生報(bào)警功能的用例。l基本流:本用例的開始,GNPSJ軟件處于準(zhǔn)備就緒狀態(tài)。 驗(yàn)證用戶:輸入用戶名、密碼,驗(yàn)證碼 添加策略窗口 在添加策略的必填項(xiàng),都輸入正確且完畢 執(zhí)行策略生效 觸發(fā)策略,查詢到報(bào)警 本用例結(jié)束時(shí),GNPSJ軟件又回到準(zhǔn)備就緒狀態(tài)。l備選流1:不存在該用戶l備選流2:用戶驗(yàn)證失敗l備選流3:添加策略的必填項(xiàng)沒有完全輸入,出現(xiàn)輸入提示l備選流4:策略沒有生效l備選流5:策略成功下發(fā),未觸發(fā)

12、策略,但無報(bào)警記錄。問題:問題:l有了黑盒測試為什么還要白盒測試?l系統(tǒng)測試和驗(yàn)收測試內(nèi)容幾乎是相同的,為什么還要驗(yàn)收測試?白盒測試發(fā)現(xiàn)錯(cuò)誤類型白盒測試發(fā)現(xiàn)錯(cuò)誤類型l檢查代碼和設(shè)計(jì)的一致性l代碼對標(biāo)準(zhǔn)的遵循和可讀性l代碼邏輯表達(dá)的正確性l代碼結(jié)構(gòu)合理性l程序編寫與編寫標(biāo)準(zhǔn)符合性l程序中不安全、不明確和模糊部分l編程風(fēng)格白盒測試方法白盒測試方法l代碼檢查法l邏輯覆蓋法l基本路徑覆蓋法代碼檢查法代碼檢查法l代碼檢查法的方式代碼檢查法的方式l桌面檢查:程序員對源文件代碼進(jìn)行分析、檢查并補(bǔ)充相關(guān)文檔,發(fā)現(xiàn)程序中錯(cuò)誤的過程l走查:程序員和測試員組成的審查小組通過邏輯運(yùn)行程序發(fā)現(xiàn)問題的過程l代碼審查:程序員和測試員組成的審查小組通過閱讀、討論、分析技術(shù)對程序進(jìn)行靜態(tài)分析的過程邏輯覆蓋法邏輯覆蓋法l語句覆蓋法:選擇足夠多的測試數(shù)據(jù),使得程序中的每個(gè)執(zhí)行語句至少執(zhí)行一次l判定覆蓋法:設(shè)計(jì)足夠多的測試用例,使得程序中每個(gè)判定至少獲得一次真和假l條件覆蓋法: 設(shè)計(jì)足夠多的測試用例

溫馨提示

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

評論

0/150

提交評論