北大測試全套課件和教案 軟件測試概述課件3_第1頁
北大測試全套課件和教案 軟件測試概述課件3_第2頁
北大測試全套課件和教案 軟件測試概述課件3_第3頁
北大測試全套課件和教案 軟件測試概述課件3_第4頁
北大測試全套課件和教案 軟件測試概述課件3_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Lesson1

軟件測試根本概念與流程胡運(yùn)友Agenda根本概念(Bug,軟件測試,Etc)軟件測試生命周期軟件測試根本方法測試流程概述測試常用文檔在軟件開發(fā)過程中5個(gè)常見的問題是什么?

需求說明差(poorrequirements)不切實(shí)際的時(shí)間表(unrealisticschedule)測試不充分(inadequatetesting)不斷增加功能(featuritis)交流問題(miscommunication)針對軟件開發(fā)過程中的問題,有5個(gè)解決方法:可靠的需求(solidrequirements)合理的時(shí)間表(realisticschedules)適當(dāng)?shù)臏y試(adequatetesting)盡可能堅(jiān)持最初的需求(sticktoinitialrequirementsasmuchaspossible)溝通(communication)WhatisBug?Bug一詞的原意是“臭蟲〞或“蟲子〞。但是現(xiàn)在,在電腦系統(tǒng)或程序中,如果隱藏著的一些未被發(fā)現(xiàn)的缺陷或問題,人們也叫它“Bug〞.Bug的由來從計(jì)算機(jī)誕生之日起,就有了Bug,第一個(gè)有記載的Bug是美國海軍的編程員,編譯器的創(chuàng)造者格蕾斯哈珀〔GraceHopper〕發(fā)現(xiàn)的。哈珀后來成了美國海軍的一個(gè)將軍,主持了著名計(jì)算機(jī)語言Cobol的開發(fā)。1945年9月9日,下午3點(diǎn),哈珀中尉正領(lǐng)著他的小組構(gòu)造一個(gè)稱為“馬克二型〞的計(jì)算機(jī)。這還不是一個(gè)完全的電子計(jì)算機(jī),它使用了大量的繼電器,是一種電子機(jī)械裝置。第二次世界大戰(zhàn)還沒有結(jié)束,哈珀的小組夜以繼日地工作。機(jī)房是一間第一次世界大戰(zhàn)時(shí)建造的老建筑,那是一個(gè)炎熱的夏天,房間沒有空調(diào),所有窗戶都敞開散熱。突然,“馬克二型〞死機(jī)了。技術(shù)人員試了很多方法,最后定位到70號繼電器出錯(cuò)。哈珀觀察這個(gè)出錯(cuò)的繼電器,出現(xiàn)一只飛蛾躺在中間,已經(jīng)被繼電器打死。他小心地用攝子將蛾子夾出來,用透明膠布粘到“事件記錄本〞中,并注明“第一個(gè)發(fā)現(xiàn)蟲子的實(shí)例。〞從此以后人們將計(jì)算機(jī)錯(cuò)誤戲稱為蟲子〔Bug〕,而把找尋錯(cuò)誤的工作稱為〔Debug〕。哈珀的事件記錄本,連同那個(gè)飛蛾,現(xiàn)在陳列在美國歷史博物館中。什么是軟件測試?定義:軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測試用例,并利用這些測試用例運(yùn)行軟件,以發(fā)現(xiàn)軟件錯(cuò)誤的過程。IEEE在1983年提出的:使用人工或自動(dòng)手段來運(yùn)行或測定某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差異軟件測試目的如果測試的目的是為了盡可能多地找出錯(cuò)誤,那么測試就應(yīng)該直接針對軟件比較復(fù)雜的局部或是以前出錯(cuò)比較多的位置。如果測試目的是為了給最終用戶提供具有一定可信度的質(zhì)量評價(jià),那么測試就應(yīng)該直接針對在實(shí)際應(yīng)用中會經(jīng)常用到的商業(yè)假設(shè)。在談到軟件測試時(shí),許多人都引用GrenfordJ.Myers在?TheArtofSoftwareTesting?一書中的觀點(diǎn):(1)軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;(2)測試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)誤(3)一個(gè)好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤(4)一個(gè)成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測試軟件測試的重要性軟件中的錯(cuò)誤密度也需要測試來進(jìn)行估計(jì)測試是所有工程學(xué)科的根本組成單元,是軟件開發(fā)的重要局部。自有程序設(shè)計(jì)的那天起測試就一直伴隨著。統(tǒng)計(jì)說明,在典型的軟件開發(fā)工程中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總本錢中,用在測試上的開銷要占30%到50%如果把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),測試的本錢比例也許會有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開發(fā),乃至屢次開發(fā),其中必定還包含有許多測試工作。軟件所帶來的悲劇“沖擊波〞計(jì)算機(jī)病毒[11]火星登陸事故愛國者導(dǎo)彈防御系統(tǒng)迪斯尼的圣誕節(jié)禮物Windows2000平安漏洞21世紀(jì)什么最貴——軟件測試工程師軟件測試工程師,目前IT行業(yè)極端短缺的金貴人才,未來5年IT行業(yè)最炙手可熱的高薪職位。中國軟件業(yè)每年新增約20萬測試崗位就業(yè)時(shí)機(jī),而企業(yè)、學(xué)校培養(yǎng)出的測試人才卻缺乏需求量的1/10,這種測試人才需求與供給間的差距仍在拉大。軟件測試——產(chǎn)品質(zhì)量的保證軟件測試——控制本錢的關(guān)鍵軟件測試——軟件可靠性確認(rèn)軟件測試——讓企業(yè)具備國際競爭的實(shí)力

://軟件測試的認(rèn)識誤區(qū)1〕軟件開發(fā)完成后進(jìn)行軟件測試2〕軟件發(fā)布后如果發(fā)現(xiàn)問題,那是軟件測試人員的錯(cuò)3〕軟件測試要求不高,隨便找個(gè)人都行4〕軟件測試是測試人員的事情,與程序員無關(guān)5〕工程進(jìn)度吃緊是時(shí)少做測試,時(shí)間富裕時(shí)多做測試6〕軟件測試是沒有前途的工作,只有程序員才是軟件高手這些觀點(diǎn)對軟件測試工作是極為不利的,必須澄清認(rèn)識、端正態(tài)度才可能提高軟件產(chǎn)品的質(zhì)量。軟件測試生命周期?

測試信息流軟件測試模型軟件開發(fā)周期軟件測試周期測試信息流

軟件配置:軟件需求規(guī)格說明、軟件設(shè)計(jì)規(guī)格說明、源代碼等;測試配置:測試方案、測試用例、測試程序等;測試工具:測試數(shù)據(jù)自動(dòng)生成程序、靜態(tài)分析程序、動(dòng)態(tài)分析程序、測試結(jié)果分析程序、以及驅(qū)動(dòng)測試的測試數(shù)據(jù)庫等等。

測試結(jié)果分析:比較實(shí)測結(jié)果與預(yù)期結(jié)果,評價(jià)錯(cuò)誤是否發(fā)生。排錯(cuò)(調(diào)試):對已經(jīng)發(fā)現(xiàn)的錯(cuò)誤進(jìn)行錯(cuò)誤定位和確定出錯(cuò)性質(zhì),并改正這些錯(cuò)誤,同時(shí)修改相關(guān)的文檔。修正后的文檔再測試:直到通過測試為止。軟件測試過程模型V模型W模型H模型軟件測試過程模型-V模型軟件開發(fā)瀑布模型的變種,主要反映測試活動(dòng)與分析和設(shè)計(jì)的關(guān)系;軟件測試過程模型-W模型在V模型的根底上,增加千開發(fā)階段的同步測試,形成W模型;測試與開發(fā)同步進(jìn)行,有利用盡早的發(fā)現(xiàn)問題

軟件測試過程模型-H模型在H模型中,軟件測試過程活動(dòng)完全獨(dú)立,貫穿于整個(gè)產(chǎn)品的周期,與其他流程并發(fā)地進(jìn)行,某個(gè)測試點(diǎn)準(zhǔn)備就緒時(shí),就可以從測試準(zhǔn)備階段進(jìn)行到測試執(zhí)行階段

測試模型使用

在實(shí)際工作中應(yīng)靈活地運(yùn)用各種模型的優(yōu)點(diǎn)

V模型:強(qiáng)調(diào)了在整個(gè)軟件工程開發(fā)中需要經(jīng)歷的假設(shè)干個(gè)測試級別,并與每一個(gè)開發(fā)級別對應(yīng);忽略了測試的對象不應(yīng)該僅僅包括程序,沒有明確指出對需求、設(shè)計(jì)的測試W模型:補(bǔ)充了V模型中忽略的內(nèi)容,強(qiáng)調(diào)了測試方案等工作的先行和對系統(tǒng)需求和系統(tǒng)設(shè)計(jì)的測試;與V模型相同,沒有對軟件測試的流程進(jìn)行說明

H模型:強(qiáng)調(diào)測試是獨(dú)立的,只要測試準(zhǔn)備完成,就可以執(zhí)行測試測試階段劃分單元測試主要目的是針對編碼過程中可能存在的各種錯(cuò)誤,例如用戶輸入驗(yàn)證過程中的邊界值的錯(cuò)誤。?集成測試主要目的是針對詳細(xì)設(shè)計(jì)中可能存在的問題,尤其是檢查各單元與其它程序局部之間的接口上可能存在的錯(cuò)誤。?系統(tǒng)測試主要針對概要設(shè)計(jì),檢查了系統(tǒng)作為一個(gè)整體是否有效地得到運(yùn)行,例如在產(chǎn)品設(shè)置中是否到達(dá)了預(yù)期的高性能。?驗(yàn)收測試通常由業(yè)務(wù)專家或用戶進(jìn)行,以確認(rèn)產(chǎn)品能真正符合用戶業(yè)務(wù)上的需要.回歸測試

是在軟件維護(hù)階段,對軟件進(jìn)行修改之后進(jìn)行的測試。其目的是檢驗(yàn)對軟件進(jìn)行的修改是否正確。軟件測試的根本方法從測試是否針對系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度劃分:白盒測試黑盒測試ALAC(Act-like-a-customer)測試黑盒測試功能測試〔或數(shù)據(jù)驅(qū)動(dòng)測試〕把程序看作一個(gè)不能翻開的黑盆子完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用黑盒測試方法主要有等價(jià)類劃分、邊值分析、因—果圖、錯(cuò)誤推測等,主要用于軟件確認(rèn)測試。白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試產(chǎn)品內(nèi)部工作過程按照程序內(nèi)部的結(jié)構(gòu)測試程序白盒測試的主要方法有邏輯驅(qū)動(dòng)、基路測試等,主要用于軟件驗(yàn)證。ALAC(Act-like-a-customer)測試

一種基于客戶使用產(chǎn)品的知識開發(fā)出來的測試方法測試的過程及組織測試的過程及組織:隨著軟件開發(fā)規(guī)模的增大、復(fù)雜程度的增加,以尋找軟件中的錯(cuò)誤為目的的測試工作就顯得更加困難。然而,為了盡可能多地找出程序中的錯(cuò)誤,生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,加強(qiáng)對測試工作的組織和管理就顯得尤為重要當(dāng)設(shè)計(jì)工作完成以后,就應(yīng)該著手測試的準(zhǔn)備工作了一般來講,由一位對整個(gè)系統(tǒng)設(shè)計(jì)熟悉的設(shè)計(jì)人員編寫測試大綱,明確測試的內(nèi)容和測試通過的準(zhǔn)那么,設(shè)計(jì)完整合理的測試用例,以便系統(tǒng)實(shí)現(xiàn)后進(jìn)行全面測試。軟件測試流程一般而言,軟件測試從工程確立時(shí)就開始了,前后要經(jīng)過以下一些主要環(huán)節(jié):

需求分析→測試方案→測試設(shè)計(jì)→測試環(huán)境搭建→測試執(zhí)行→測試記錄→缺陷管理→軟件評估→RTM.

需求分析

需求分析〔RequirmentAnalyzing〕應(yīng)該說是軟件測試的一個(gè)重要環(huán)節(jié),測試開發(fā)人員對這一環(huán)節(jié)的理解程度如何將直接影響到接下來有關(guān)測試工作的開展。一般而言,需求分析包括軟件功能需求分析、測試環(huán)境需求分析、測試資源需求分析等。

測試方案測試方案〔TestPlan〕一般由測試負(fù)責(zé)人來編寫。測試方案的依據(jù)主要是工程開發(fā)方案和測試需求分析結(jié)果而制定。測試方案一般包括以下一些方面:測試背景測試依據(jù)測試資源測試資源測試日程測試設(shè)計(jì)

測試用例編寫測試場景設(shè)計(jì)測試執(zhí)行

單元測試→集成測試→系統(tǒng)測試→出廠測試,其中每個(gè)階段還有回歸測試等。缺陷管理缺陷管理方面,很多公司都采取缺陷管理工具來進(jìn)行管理,常見缺陷管理工具有TestDirector、Bugfree等。測試記錄BUG的提交和描寫缺陷管理–Bug狀態(tài)改變軟件評估這里評估指軟件經(jīng)過一輪又一輪測試后,確認(rèn)軟件無重大問題或者問題很少的情況下,對準(zhǔn)備發(fā)給客戶的軟件進(jìn)行評估,以確定是否能夠發(fā)行給客戶或投放市場。軟件評估小組一般由工程負(fù)責(zé)人、營銷人員、部門經(jīng)理等組成,也可能是由客戶指定的第三方人員組成。測試總結(jié)每個(gè)版本有每個(gè)版本的測試總結(jié),每個(gè)階段有每個(gè)階段的測試總結(jié),當(dāng)工程完成RTM后,一般要對整個(gè)工程做個(gè)回憶總結(jié),看有哪些做的缺乏的地方,有哪些經(jīng)驗(yàn)可以對今后的測試工作做借鑒使用,等等。測試總結(jié)無嚴(yán)格格式、字?jǐn)?shù)限制。應(yīng)該說,測試總結(jié)還是很總要的。測試維護(hù)由于測試的不完全性,當(dāng)軟件正式release后,客戶在使用過程中,難免遇到一些問題,有的甚至是嚴(yán)重性的問題,這就需要修改有關(guān)問題,修改后需要再次對軟件進(jìn)行測試、評估、發(fā)行測試常用文檔與用法測試方案整個(gè)測試需要那些資源,時(shí)間安排,需要產(chǎn)生哪些文檔

測試用例根據(jù)需求編寫對應(yīng)功能模塊的測試案例,熟悉系統(tǒng)

測試報(bào)告對每一個(gè)完成的模塊進(jìn)行詳盡的測試,完成測試報(bào)告bug跟蹤bug跟蹤,并且進(jìn)行數(shù)據(jù)統(tǒng)計(jì)和回歸軟件測試的復(fù)雜性與經(jīng)濟(jì)性程序測試只能證明錯(cuò)誤的存在,但不能證明錯(cuò)誤不存在-E.W.Dijkstra不充分的測試是愚蠢的,而過度的測試是一種罪孽

軟件測試

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論