軟件測(cè)試軟件測(cè)試的基礎(chǔ)知識(shí)



單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,軟件測(cè)試,第,1,講 軟件測(cè)試基礎(chǔ),1,機(jī)遇和挑戰(zhàn)并存,2,Test Engineer,QA/Supervisor,Project/Quality Manager,Senior Engineer,軟件行業(yè)是朝陽行業(yè),軟件測(cè)試是軟件行業(yè)的朝陽行業(yè)。
軟件行業(yè)由賣方市場(chǎng)轉(zhuǎn)入買方市場(chǎng),激烈的競(jìng)爭(zhēng)要求軟件的產(chǎn)品質(zhì)量越來越高歐美國家的軟件項(xiàng)目,軟件測(cè)試的工作量占項(xiàng)目總工作量,40%,,軟件測(cè)試的經(jīng)費(fèi)占項(xiàng)目總經(jīng)費(fèi),30%,測(cè)試人員和開發(fā)人員的比例 國外:,1,:,1-2,:,1,,國內(nèi),1,:,51,:,3,,當(dāng)前國內(nèi)高素質(zhì)軟件測(cè)試人員的市場(chǎng)需求大約,50,萬人左右主要內(nèi)容,第,1,部分 軟件測(cè)試概述(,What,),第,2,部分 軟件測(cè)試基礎(chǔ),(,概念、原理、方法、步驟、工具),(How),第,3,部分 軟件測(cè)試實(shí)踐,(Application),3,網(wǎng)絡(luò)資源,UML,軟件工程組織 (技術(shù)文章),51Testing,軟件測(cè)試(注冊(cè)下載需技術(shù)分),中國軟件測(cè)評(píng)中心,中國測(cè)試員網(wǎng)站,中國軟件測(cè)試在線,4,教材,參考書目:,軟件測(cè)試方法和技術(shù),(,第,2版),,朱少民,清華大學(xué)出版社,,2010,軟件測(cè)試大學(xué)教程,,蔡建平,,清華大學(xué)出版社,,2009,軟件測(cè)試,,Ron Patton,著,張小松等譯,機(jī)械工業(yè)出版社,,2006,5,第,1講,軟件測(cè)試基礎(chǔ),為什么要進(jìn)行軟件測(cè)試?,什么是軟件測(cè)試?,軟件測(cè)試的分類,測(cè)試階段,軟件測(cè)試的工作范疇,SQA,與軟件測(cè)試的關(guān)系,6,7,為什么要進(jìn)行軟件測(cè)試?,軟件缺陷與軟件故障案例,迪斯尼并不總是帶來笑聲,英特爾奔騰浮點(diǎn)除法缺陷,火星探測(cè)飛船墜毀,愛國者導(dǎo)彈防御系統(tǒng),2008,北京奧運(yùn)會(huì)售票系統(tǒng),8,迪斯尼并不總是帶來笑聲,1994,年圣誕節(jié)前夕,迪斯尼公司發(fā)布了第一個(gè)面向兒童的多媒體光盤游戲“獅子王童話”,圣誕節(jié)后的第一天,迪斯尼客戶支持部電話開始響個(gè)不停,不斷有人咨詢、抱怨為什么游戲總是安裝不成功,或沒法正常使用,這個(gè)游戲軟件只能在少數(shù)系統(tǒng)中正常運(yùn)行,9,兼容性問題,英特爾奔騰浮點(diǎn)除法缺陷,如果答案不為,0,,說明計(jì)算機(jī)使用的是帶有浮點(diǎn)除法軟件缺陷的老式英特爾奔騰處理器。
1994,年,10,月,30,日,弗吉尼亞州的,Thomas R.Nicely,博士在用奔騰,PC,進(jìn)行計(jì)算問題時(shí)得出了一個(gè)錯(cuò)誤的結(jié)論,因此發(fā)現(xiàn)了這個(gè)問題,后來在互聯(lián)網(wǎng)上引起一場(chǎng)風(fēng)暴他們的軟件測(cè)試工程師在芯片發(fā)布之前進(jìn)行內(nèi)部測(cè)試時(shí)已經(jīng)發(fā)現(xiàn)了這個(gè)問題,英特爾的管理層認(rèn)為這沒有嚴(yán)重到保證要修正,甚至公開的程度當(dāng)軟件缺陷被發(fā)現(xiàn)時(shí),英特爾試圖低調(diào)解決問題,但為時(shí)已晚,最終拿出,4,億多美元來支付所有維護(hù)費(fèi)用,10,(,4195835,3145727,),3145727-4195835=,?,火星探測(cè)飛船墜毀,機(jī)械震動(dòng)在大多數(shù)情況下也會(huì)觸發(fā)著地開關(guān),設(shè)置錯(cuò)誤的數(shù)據(jù)位設(shè)想飛船開始著陸時(shí),計(jì)算機(jī)極有可能關(guān)閉推進(jìn)器,而火星登陸飛船下墜,1800,米之后沒有反推進(jìn)器的幫助,沖向地面,必然會(huì)撞成碎片,兩個(gè)小組,本身的工作都沒什么問題,就是沒有合在一起測(cè)試,其接口沒有被測(cè),而問題就在這里,11,系統(tǒng)測(cè)試,銜接問題,愛國者導(dǎo)彈防御系統(tǒng),當(dāng)愛國者導(dǎo)彈防御系統(tǒng)的時(shí)鐘累計(jì)運(yùn)行超過,14,小時(shí)后,系統(tǒng)的跟蹤系統(tǒng)就不準(zhǔn)確,從而導(dǎo)致,攔截伊拉克飛毛腿導(dǎo)彈,的幾次失敗,,其中一枚在沙特阿拉伯的多哈爆炸的飛毛腿導(dǎo)彈造成,28,名美國士兵死亡,12,系統(tǒng)時(shí)鐘誤差積累,2008,北京奧運(yùn)會(huì)售票系統(tǒng),2007,年,10,月,30,日上午,11,時(shí),,2008,北京奧運(yùn)會(huì)售票系統(tǒng)軟件癱瘓。
北京奧運(yùn)會(huì)的指定獨(dú)家票務(wù)供應(yīng)商,-,北京歌華特瑪捷票務(wù)有限公司成立于,2006,年,9,月,由美國特瑪捷公司、中體產(chǎn)業(yè)股份有限公司及北京歌華文化發(fā)展集團(tuán)三家出資構(gòu)建而成售票系統(tǒng)癱瘓事件發(fā)生后,公眾普遍質(zhì)疑歌華特瑪捷公司是否具備承擔(dān),2008,北京奧運(yùn)會(huì)的票務(wù)銷售能力用戶常常在軟件開發(fā)初期就發(fā)現(xiàn)軟件可能跟他們的需求有不一致的地方在開發(fā)軟件之前,需要進(jìn)行必要的需求分析開發(fā)完成之后,也要進(jìn)行必要的測(cè)試工作雖然這些軟件故障的后果程度不一,但可以肯定的是,通過嚴(yán)格的軟件測(cè)試可以極大地降低故障及因此而引發(fā)的種種惡果13,14,為什么要進(jìn)行軟件測(cè)試?,軟件總存在缺陷,只有通過測(cè)試,才可以發(fā)現(xiàn)軟件缺陷也只有發(fā)現(xiàn)了缺陷,才可以將軟件缺陷從軟件產(chǎn)品或軟件系統(tǒng)中清理出去軟件失敗時(shí),也許僅僅給我們帶來了不便,也可能是災(zāi)難性的我們需要,軟件測(cè)試,,來保障軟件質(zhì)量15,什么是軟件測(cè)試?,軟件測(cè)試學(xué)科的形成,正反兩方面的爭(zhēng)辯,軟件測(cè)試的定義,軟件測(cè)試的其它觀點(diǎn),16,軟件測(cè)試學(xué)科的發(fā)展,從測(cè)試的思想導(dǎo)向來劃分為,4,個(gè)階段,:,1957,1978,年,以功能驗(yàn)證為導(dǎo)向,測(cè)試是證明軟件是正確的(正向思維)1978,1983,年,以破壞性為為導(dǎo)向,測(cè)試是為了找到軟件中的錯(cuò)誤(逆向思維)。
1983,1987,年,以質(zhì)量評(píng)估為導(dǎo)向,測(cè)試是提供產(chǎn)品的評(píng)估和質(zhì)量度量1988,年起,以缺陷預(yù)防為導(dǎo)向,測(cè)試是為了展示軟件符合設(shè)計(jì)要求,發(fā)現(xiàn)缺陷、預(yù)防缺陷17,更好的階段劃分,分為,3,個(gè)階段,初期階段、發(fā)展階段和成熟階段,初級(jí)階段,(,1957,1971,)測(cè)試通常被認(rèn)為是對(duì)產(chǎn)品進(jìn)行事后檢驗(yàn),缺乏有效的測(cè)試方法,發(fā)展階段,(,1972,1982,),,1972,年第一次關(guān)于軟件測(cè)試的正式會(huì)議,促進(jìn)了軟件測(cè)試的發(fā)展,成熟階段,(,1983,到現(xiàn)在),國際標(biāo)準(zhǔn),Std 829-1983,,形成一門獨(dú)立的學(xué)科和專業(yè),成為軟件工程學(xué)科中的一個(gè)重要組成部分,18,軟件測(cè)試的正面性,Bill Hetzel,博士(正向思維的代表):,軟件測(cè)試就是為程序能夠按預(yù)期設(shè)想那樣運(yùn)行而建立足夠的信心,軟件測(cè)試是一系列活動(dòng)以評(píng)價(jià)一個(gè)程序或系統(tǒng)的特性或能力并確定是否達(dá)到預(yù)期的結(jié)果,”,測(cè)試是為了驗(yàn)證軟件是否符合用戶需求,即驗(yàn)證軟件產(chǎn)品是否能正常工作,19,軟件測(cè)試的反面性,Glenford J.Myers,(反向思維的代表):,測(cè)試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)誤,一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤,一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試,20,軟件測(cè)試定義的兩面性,21,評(píng)價(jià)一個(gè)程序或系統(tǒng)的特性或能力并確定是否達(dá)到預(yù)期的結(jié)果,測(cè)試是為發(fā)現(xiàn)錯(cuò)誤而針對(duì)某個(gè)程序或系統(tǒng)的執(zhí)行過程,軟件測(cè)試,正向思維,驗(yàn)證軟件正常工作,逆向思維,假定軟件有錯(cuò)誤,在設(shè)計(jì)規(guī)定的環(huán)境下運(yùn)行軟件的所有功能,直至全部通過,。
尋找容易犯錯(cuò)誤的地方和系統(tǒng)的薄弱環(huán)節(jié),試圖破壞系統(tǒng),直至找不出問題軟件測(cè)試是什么?,測(cè)試,=“,測(cè)”,+“,試”,什么是“測(cè)”?,Measure,、測(cè)量,知道結(jié)果的驗(yàn)證行為,測(cè),什么是“試”?,Try,、試驗(yàn),不知道結(jié)果的嘗試行為,試,軟件測(cè)試,測(cè):驗(yàn)證軟件功能、性能,試:驗(yàn)證軟件是否有非功能性的異常,在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)程序錯(cuò)誤,對(duì)其是否能滿足設(shè)計(jì)要求進(jìn)行評(píng)估的過程,Myers,軟件測(cè)試的定義,軟件測(cè)試是為了發(fā)現(xiàn)軟件缺陷而執(zhí)行程序或系統(tǒng)的過程23,Q:,我按照用戶的需求測(cè)試了實(shí)際的系統(tǒng),卻一個(gè)缺陷也沒有發(fā)現(xiàn),我所做的測(cè)試工作有意義嗎?,1979,年,Glenford J.Myers,在,軟件測(cè)試藝術(shù),(,The art of software testing,)書中給出的定義:,傳統(tǒng)意義上的測(cè)試定義,是狹義的A:,當(dāng)然有意義,因?yàn)槲抑辽僮C明了該系統(tǒng)基本符 合用戶的需求IEEE,軟件測(cè)試的定義,1983,年,IEEE,的定義,:,使用人工或自動(dòng)手段運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過程,其目的在于,檢驗(yàn)它是否滿足規(guī)定的需求,或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別24,明確提出軟件測(cè)試以檢驗(yàn)是否滿足需求為目標(biāo)。
軟件測(cè)試的定義,軟件測(cè)試,也可以定義為是“驗(yàn)證(,Verification,)”和“有效性確認(rèn)(,Validation,)”活動(dòng)構(gòu)成的整體驗(yàn)證,:是檢驗(yàn)軟件是否已正確地實(shí)現(xiàn)了產(chǎn)品規(guī)格書所定義的系統(tǒng)功能和特性,有效性確認(rèn),:是確認(rèn)所開發(fā)的軟件是否滿足用戶真正需求的活動(dòng),25,驗(yàn)證:“我們是否正確地完成了產(chǎn)品?”,確認(rèn):“我們是否完成了正確的產(chǎn)品?”,-,Boehm,軟件測(cè)試的其它觀點(diǎn),軟件測(cè)試被認(rèn)為是對(duì)軟件系統(tǒng)中潛在的各種風(fēng)險(xiǎn)進(jìn)行評(píng)估的活動(dòng),基于風(fēng)險(xiǎn),的軟件測(cè)試可以被看作是一個(gè)動(dòng)態(tài)的監(jiān)控過程,對(duì)軟件開發(fā)全過程進(jìn)行檢測(cè),隨時(shí)發(fā)現(xiàn)問題、報(bào)告問題,測(cè)試的,經(jīng)濟(jì)觀點(diǎn),就是以最小的代價(jià)獲得最高的軟件產(chǎn)品質(zhì)量,經(jīng)濟(jì)觀點(diǎn)也要求軟件測(cè)試盡早開展工作,發(fā)現(xiàn)缺陷越早,返工的工作量就越小,所造成的損失就越小26,問題討論,玩電腦游戲是不是軟件測(cè)試?,玩手機(jī)是不是軟件測(cè)試?,用戶使用軟件是不是軟件測(cè)試?,27,軟件測(cè)試的分類,方法,目標(biāo),/,特性,單元測(cè)試,系統(tǒng)測(cè)試,驗(yàn)收測(cè)試,性能測(cè)試,強(qiáng)壯性測(cè)試,功能測(cè)試,白盒測(cè)試,黑盒測(cè)試,測(cè)試階段或?qū)哟?適用性測(cè)試,可靠性測(cè)試,集成測(cè)試,安全性測(cè)試,軟件測(cè)試的分類,按測(cè)試的對(duì)象或范圍分類,,如單元測(cè)試、文檔測(cè)試、系統(tǒng)測(cè)試等,按測(cè)試目的分類,,如功能測(cè)試、回歸測(cè)試、性能測(cè)試、可靠性測(cè)試、安全性測(cè)試和兼容性測(cè)試等,根據(jù)測(cè)試過程中被測(cè)軟件是否被執(zhí)行,,分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試,根據(jù)是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法來完成測(cè)試,,可分為白盒測(cè)試和黑盒測(cè)試,按測(cè)試方法分類,數(shù)據(jù)庫測(cè)試、壓力測(cè)試、恢復(fù)測(cè)試、安全測(cè)試、兼容性測(cè)試等,注意:,不要在術(shù)語上糾纏,因?yàn)椴煌臏y(cè)試小組可能使用不同的術(shù)語。
理解其含義及其在小組中的應(yīng)用是軟件測(cè)試人員的職責(zé)Ron Patton,軟件測(cè)試,軟件測(cè)試的各個(gè)階段,開發(fā)生命周期,.,維護(hù),需求定義,應(yīng)用定義,應(yīng)用開發(fā),修訂,建立,建立,測(cè)試生命周期,.,執(zhí)行,.,執(zhí)行,執(zhí)行,.,測(cè)試計(jì)劃,缺陷跟蹤,測(cè)試開發(fā),測(cè)試設(shè)計(jì),評(píng)估,好處:可以找到軟件的,Bug,,提高軟件可靠性!,不好:這些,Bug,可能讓開發(fā)人員瘋掉!可能項(xiàng)目延期!,軟件測(cè)試是“不得不做”!,軟件測(cè)試階段,階 段,輸 入,輸 出,需求分析,需求定義,市場(chǎng)分析文檔,相關(guān)技術(shù)文檔,市場(chǎng)需求分析會(huì)議記要,功能設(shè)計(jì),技術(shù)設(shè)計(jì),設(shè)計(jì)審查,市場(chǎng)需求文檔,技術(shù)設(shè)計(jì)文檔,測(cè)試計(jì)劃,測(cè)試用例,功能驗(yàn)證,代碼完成文件包,功能詳細(xì)設(shè)計(jì)說明書,最終技術(shù)文檔,完整測(cè)試用例,完備的測(cè)試計(jì)劃,缺陷報(bào)告,功能驗(yàn)證測(cè)試報(bào)告,系。
