版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件測試技術(shù)授課:孔春波 軟件的缺陷-BUG恐怖的BUG恐怖的BUG千年蟲問題.愛國者導(dǎo)彈防御系統(tǒng).火星登陸事故.高鐵的自動閉塞系統(tǒng).軟件測試的發(fā)展軟件調(diào)試獨(dú)立的軟件測試第一次定義成為專門的學(xué)科與開發(fā)的融合國內(nèi)測試行業(yè)現(xiàn)狀國內(nèi)測試行業(yè)現(xiàn)狀測試人員現(xiàn)狀基礎(chǔ)知識不夠扎實(shí)專業(yè)技術(shù)不夠精通沒有建立起相對完整的測試體系概念國內(nèi)軟件測試未來發(fā)展職業(yè)重視程度正在快速提高企業(yè)對高質(zhì)量的測試工程師需求量越來越大短期將出現(xiàn)測試工程師嚴(yán)重短缺的現(xiàn)象技術(shù)要求 騰訊技術(shù)要求 騰訊技術(shù)要求 百度技術(shù)要求 迅雷測試人員要掌握的技術(shù)1.系統(tǒng)編程語言:C/C+,JAVA,C#.2.腳本語言:PERL,RUBY,PYTHON3.
2、軟件架構(gòu),UML4.數(shù)據(jù)庫5.網(wǎng)絡(luò)協(xié)議,操作系統(tǒng)6.人機(jī)交互認(rèn)知編寫文檔的能力測試技術(shù)測試工具課程目標(biāo)本課程是計算機(jī)或軟件專業(yè)課程,重在培養(yǎng)我們的實(shí)踐能力,適應(yīng)軟件企業(yè)的工作環(huán)境和業(yè)界標(biāo)準(zhǔn),并和國際先進(jìn)的軟件開發(fā)理念和測試技術(shù)保持同步。通過本課程的學(xué)習(xí),了解并掌握軟件產(chǎn)品質(zhì)量保證的基本思想和科學(xué)體系、軟件測試技術(shù)的基本內(nèi)容,以及軟件測試的方法、技術(shù)和工具的使用,為全面掌握軟件技術(shù)和軟件項(xiàng)目管理打下堅實(shí)的基礎(chǔ) 課程內(nèi)容有效的測試策略、方法和技術(shù)測試計劃和測試用例的設(shè)計測試自動化的引入、應(yīng)用 測試團(tuán)隊的建立和測試項(xiàng)目的管理更清楚、準(zhǔn)確地報告測試缺陷 對軟件產(chǎn)品質(zhì)量的正確評估軟件測試和質(zhì)量保證的關(guān)系
3、和區(qū)別 課程培養(yǎng)方向- 測試工程師 Test engineer QA工程師/經(jīng)理 QA Engineer/Manager 軟件工程過程組成員 The member of SEPG 項(xiàng)目經(jīng)理 Project manager 程序員 Programmer 軟件分析師 Software Analyst 軟件咨詢顧問 Software Consultant 授課的層次Know What某領(lǐng)域基本知識點(diǎn)的掌握Know How可以活用學(xué)到的知識來解決實(shí)際問題Know Why了解各種知識之后的復(fù)雜交錯的因果關(guān)系,一切都是那么有條理,因此可能解決更大更復(fù)雜的問題Care Why(創(chuàng)新)軟件產(chǎn)品也需要創(chuàng)意和洞察
4、先機(jī)我們短期努力可以達(dá)到Know Why的階段Case Why(創(chuàng)新)則需要多年的實(shí)際開發(fā)經(jīng)驗(yàn)并具有敏銳的市場商業(yè)頭腦才能做到。參考書籍軟件測試Ron Patton 機(jī)械工業(yè)出版社 軟件測試教程 宮云戰(zhàn) 機(jī)械工業(yè)出版社 聯(lián)系方式電子郵件:kakaru移動電話相信你能或者不能你都是對的軟件測試綜述內(nèi)容軟件概念和特點(diǎn)軟件危機(jī)軟件測試的產(chǎn)生軟件測試的定義軟件測試的發(fā)展和前景軟件的概念GB/T 17544-1998:信息處理系統(tǒng)的所有或部分程序、規(guī)程、規(guī)則和任何相關(guān)的文檔的集合 程序:源程序目標(biāo)程序 源程序:高級語言、匯編語言編寫的程序 目標(biāo)程序:源程序經(jīng)編譯或解釋加工以后可
5、以由計算機(jī)直接執(zhí)行的程序 文檔:用自然語言或形式化語言所編寫的文字資料和圖表,用來描述程序的內(nèi)容、組成、設(shè)計、功能規(guī)格、開發(fā)情況、測試結(jié)果及使用方法軟件的特點(diǎn)計算機(jī)軟件是工具,同時也是作品,是工具性與作品性緊密結(jié)合的智力成果 計算機(jī)軟件開發(fā)工作量大,成本高,但復(fù)制容易,成本極低 計算機(jī)軟件具有無形性,可以多次使用,但商業(yè)壽命較短軟件危機(jī)落后的軟件生產(chǎn)方式無法滿足迅速增長的計算機(jī)軟件需求,從而導(dǎo)致軟件開發(fā)與維護(hù)過程中出現(xiàn)一系列嚴(yán)重問題的現(xiàn)象 如何開發(fā)軟件,怎樣滿足對軟件日益增長的需求如何維護(hù)數(shù)量不斷膨脹的已有軟件 軟件危機(jī)的表現(xiàn)對軟件開發(fā)成本和進(jìn)度的估計很不準(zhǔn)確成本高,進(jìn)度拖延信譽(yù)低趕進(jìn)度,節(jié)約
6、成本質(zhì)量低用戶對“已完成的”軟件系統(tǒng)不滿意對用戶需求模糊,匆忙開始,開發(fā)和用戶交流不充分軟件產(chǎn)品質(zhì)量常??坎蛔≤浖|(zhì)量保證剛出現(xiàn),質(zhì)保技術(shù)剛應(yīng)用,沒有堅持貫徹軟件危機(jī)的表現(xiàn)軟件常常不可維護(hù)錯誤難改正,程序難適應(yīng)新硬件環(huán)境,難新增功能軟件通常沒有適當(dāng)?shù)奈臋n資料軟件成本在計算機(jī)系統(tǒng)成本中所占比例逐年上升硬件成本降低,開發(fā)人力增加,通貨膨脹,軟件規(guī)模增大,數(shù)量急劇增加,軟件成本占系統(tǒng)成本90軟件危機(jī)產(chǎn)生的原因軟件本身存在著復(fù)雜性與軟件開發(fā)人員和所使用的方法、技術(shù)有關(guān)科學(xué)技術(shù)發(fā)展計算機(jī)廣泛應(yīng)用要求軟件跟上開發(fā)大型軟件軟件技術(shù)發(fā)展復(fù)雜程度高研發(fā)周期長正確性難以保證軟件危機(jī)軟件測試的發(fā)展軟件調(diào)試獨(dú)立的軟件
7、測試第一次定義成為專門的學(xué)科與開發(fā)的融合軟件測試的產(chǎn)生軟件危機(jī)能夠解決嗎?沒有銀彈!軟件測試的產(chǎn)生社會的發(fā)展與進(jìn)步,信息化產(chǎn)業(yè)的飛步增長,軟件系統(tǒng)越來越大,軟件中存在的問題也越來越多軟件測試的產(chǎn)生需要第三方平衡開發(fā)人員和用戶技術(shù)員:用什么技術(shù)實(shí)現(xiàn)需求、展現(xiàn)自己的實(shí)力、不關(guān)心對用戶使用有什么弊端用戶:是否滿足需求、是否易用、不關(guān)心開發(fā)人員用什么難度技術(shù)實(shí)現(xiàn)三個角度看測試公司經(jīng)濟(jì)角度以最少人力,物力和時間找出軟件中潛在的各種錯誤和缺陷通過修正各種錯誤和缺陷提高軟件質(zhì)量回避軟件發(fā)布后由于潛在的軟件缺陷和錯誤造成的隱患所帶來的商業(yè)風(fēng)險三個角度看測試客戶角度是以評價一個程序或者系統(tǒng)屬性為目標(biāo)的活動對軟件
8、質(zhì)量的度量與評估,以驗(yàn)證軟件的質(zhì)量滿足用戶的需求的程度為用戶選擇與接受軟件提供有力的依據(jù)三個角度看測試開發(fā)技術(shù)角度通過分析錯誤產(chǎn)生的原因,可以幫助發(fā)現(xiàn)當(dāng)前開發(fā)工作所采用的軟件過程的缺陷,以便進(jìn)行軟件過程改進(jìn)通過對測試結(jié)果的分析整理,可以修正軟件開發(fā)規(guī)則,為軟件可靠性分析提供依據(jù)軟件測試的定義1979年,Glenford Myers,The Art of Software Testing:為了發(fā)現(xiàn)錯誤而執(zhí)行程序或者系統(tǒng)的過程1980年,在美國俄勒岡計算機(jī)會議上軟件測試被正式確認(rèn)為軟件工程的一部分軟件測試的定義1983年,Bill Hetzel在軟件測試完全指南(Complete Guide of
9、 Software Testing)一書中指出:測試是以評價一個程序或者系統(tǒng)屬性為目標(biāo)的任何一種活動1983年,IEEE軟件工程標(biāo)準(zhǔn)術(shù)語:使用人工或自動手段,來運(yùn)行或測試某個系統(tǒng)的過程。其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別軟件缺陷的定義缺陷軟件未達(dá)到產(chǎn)品說明書中已標(biāo)明的功能軟件出現(xiàn)了產(chǎn)品說明書中指明不會出現(xiàn)的錯誤軟件功能超出了產(chǎn)品說明書指明的范圍軟件未達(dá)到產(chǎn)品說明書雖未指出但應(yīng)達(dá)到的目標(biāo)軟件測試員認(rèn)為軟件難以理解,不易使用,運(yùn)行速度緩慢,或者最終用戶認(rèn)為該軟件使用效果不好測試與調(diào)試的區(qū)別測試調(diào)試完成任務(wù)發(fā)現(xiàn)程序中的缺陷定位并且解決程序中的問題執(zhí)行人測試人員 黑盒
10、單元、集成測試 開發(fā)人員執(zhí)行周期貫穿整個軟件開發(fā)生命周期一般在開發(fā)階段軟件測試過程及分類本節(jié)內(nèi)容測試過程測試的分類按測試的方法分類按測試的階段分類軟件測試的過程測試需求的分析和確定測試計劃測試執(zhí)行測試記錄和缺陷跟蹤回歸測試測試總結(jié)報告測試過程1. 測試需求需求文檔的測試測試過程2.測試的計劃對測試過程的整體設(shè)計確定測試范圍制定測試策略安排測試資源進(jìn)度制定風(fēng)險評估,應(yīng)對策略測試過程3.測試設(shè)計及用例測試設(shè)計用例設(shè)計用例評估測試過程4.測試的執(zhí)行用例的選擇(難的?復(fù)雜的?優(yōu)先級高的?)測試環(huán)境的搭建每日構(gòu)建測試過程5.測試的記錄和跟蹤Bug記錄Bug管理Bug的報告(溝通,評審,提交)Bug的跟蹤
11、測試過程5.回歸測試再測一次?測試過程6.測試總結(jié)和報告缺陷的分類報告(類型,區(qū)域,狀態(tài),趨勢)客觀全面的報告生成(人員,用例,功能覆蓋,時長)經(jīng)驗(yàn)總結(jié)軟件測試的分類-按方法靜態(tài)與動態(tài)測試靜態(tài)測試不運(yùn)行程序動態(tài)測試運(yùn)行程序,需要準(zhǔn)備測試數(shù)據(jù)軟件測試的分類-按方法黑盒測試、白盒測試、灰盒測試y=2x?y=x2軟件測試的分類-按方法冒煙測試對每一個新編譯的需要正式測試的軟件版本,確認(rèn)軟件基本功能正常,可以進(jìn)行后續(xù)的正式測試工作回歸測試在修改程序以后,重新測試先前的測試以保證修改的正確性軟件測試的分類-按方法功能測試與性能測試根據(jù)軟件產(chǎn)品特性、操作描述和用戶方案測試軟件產(chǎn)品的特性和可操作行為以確定滿
12、足設(shè)計需求評價軟件產(chǎn)品與性能需求是否符合(包括負(fù)載測試、強(qiáng)度測試、數(shù)據(jù)庫容量測試、基準(zhǔn)測試等)軟件測試的分類-按方法壓力測試和負(fù)載測試獲取系統(tǒng)正確運(yùn)行的極限,檢查系統(tǒng)在瞬間峰值負(fù)荷下正確執(zhí)行的能力用于檢查系統(tǒng)在使用大量數(shù)據(jù)的時候正確工作的能力,即檢驗(yàn)系統(tǒng)的能力最高到什么程度負(fù)載測試是通過測試系統(tǒng)在資源超負(fù)荷情況下的表現(xiàn),以發(fā)現(xiàn)設(shè)計上的錯誤或驗(yàn)證系統(tǒng)的負(fù)載能力軟件測試的分類-按方法配置測試檢查計算機(jī)系統(tǒng)內(nèi)各個設(shè)備或各種資源之間的相互連接和功能分配中的錯誤文檔測試檢查文檔的正確性、完備性、可理解性兼容性測試測試軟件是否和系統(tǒng)的其他與之交互的元素之間兼容軟件測試的分類-按方法安全性測試檢查系統(tǒng)對非法
13、侵入的防范能力,檢查系統(tǒng)中已經(jīng)存在的系統(tǒng)安全性、保密性措施是否發(fā)揮作用,有無漏洞恢復(fù)測試檢查系統(tǒng)的容錯能力 可移植性測試測試軟件是否可以被成功移植到指定的硬件或軟件平臺上軟件測試的分類-按方法引導(dǎo)測試軟件開發(fā)中,驗(yàn)證系統(tǒng)在真實(shí)硬件和客戶基礎(chǔ)上處理典型操作的能力外包測試中,是客戶檢查軟件測試公司測試能力的一種形式隨機(jī)測試沒有書面測試用例、記錄期望結(jié)果、檢查列表、腳本或指令的測試軟件測試的分類-按方法手工和自動測試手工測試是采用人工手動的方式執(zhí)行測試自動化測試是使用自動化測試工具來進(jìn)行測試,不需要人工干預(yù),主要用在GUI、性能等測試中通過測試失敗測試使用滿足不滿足需求的數(shù)據(jù)測試系統(tǒng)錯誤猜測通過直覺
14、發(fā)現(xiàn)程序中的錯誤和缺陷的能力軟件測試的分類-按方法易用性測試主要從使用的合理性和方便性等角度對軟件系統(tǒng)進(jìn)行檢查安裝測試確保軟件在正常情況和異常情況的不同條件下都能進(jìn)行安裝界面測試測試用戶界面的風(fēng)格是否滿足客戶要求,文字是否正確,頁面是否美觀,文字圖片組合是否完美,操作是否有好軟件測試的分類-按階段單元測試針對每一個程序模塊進(jìn)行正確性檢查,檢查各個程序模塊是否正確的實(shí)現(xiàn)了規(guī)定的功能集成測試在單元測試的基礎(chǔ)上將已經(jīng)通過測試的單元模塊按照設(shè)計要求組裝成系統(tǒng)或子系統(tǒng)進(jìn)行測試,找出被測系統(tǒng)組件之間關(guān)系和接口中的錯誤非增式集成增式集成自頂向下自底向上軟件測試的分類-按階段確認(rèn)測試由集成測試進(jìn)入系統(tǒng)測試之前
15、,需要對軟件是否可以進(jìn)入系統(tǒng)測試進(jìn)行評價,這個稱為確認(rèn)測試測試所開發(fā)的軟件是否能按用戶提出的要求運(yùn)行軟件配置審核保證軟件配置的所有成分都齊全,各方面質(zhì)量都符合要求系統(tǒng)測試與計算機(jī)硬件、外設(shè)、支持軟件、數(shù)據(jù)、人員等其他元素結(jié)合,在實(shí)際運(yùn)行環(huán)境下的測試軟件測試的分類-按階段驗(yàn)收測試測試內(nèi)測測試公測END!共享資源公共郵箱: 6dao16課件,筆記會放在郵箱的網(wǎng)盤中作業(yè),實(shí)驗(yàn)報告按班級打包以郵件方式發(fā)送到這個郵箱軟件測試的目的和原則目的建立軟件的信心理件軟件測試目的驗(yàn)證(Verfication):軟件生命周期的各個階段,用下一個階段的產(chǎn)品來檢查是否滿足上一個階段的規(guī)則確認(rèn)(Validation):軟
16、件生命周期的各個階段,檢查是否滿足需求階段定義的各項(xiàng)規(guī)格和要求。原則Good Enough原則:投入與產(chǎn)出平衡Pareto原則:二八原則盡可能早的開展測試錯誤多的地方多投入同化問題:交叉測試,利用不同人的觀點(diǎn)問題:軟件測試的目的?軟件測試是否發(fā)現(xiàn)所有的BUG?測試人員在進(jìn)行測試的時候遵循什么原則?軟件測試開始的時間?軟件測試的過程測試需求的分析和確定測試計劃測試執(zhí)行測試記錄和缺陷跟蹤回歸測試測試總結(jié)報告測試需求對需求文檔的測試或評審 需求的測試是重點(diǎn)需求可能存在的問題需求文檔編寫有問題、功能不明確,流程不清晰,不正確占50%余下50%是需求的遺漏造成的檢查的要點(diǎn)對于需求文檔,應(yīng)該遵循盡早測試的
17、原則完整性:每一項(xiàng)需求都必須將所要實(shí)現(xiàn)的功能描述清楚,以使開發(fā)人員獲得設(shè)計和實(shí)現(xiàn)這些功能所需的所有必要信息。正確性:每一項(xiàng)需求都必須準(zhǔn)確地陳述其要開發(fā)的功能。一致性:一致性是指與其它軟件需求或高層(系統(tǒng),業(yè)務(wù))需求不相矛盾??尚行裕好恳豁?xiàng)需求都必須是在已知系統(tǒng)和環(huán)境的權(quán)能和限制范圍內(nèi)可以實(shí)施的。無二義性:對所有需求說明的讀者都只能有一個明確統(tǒng)一的解釋,由于自然語言極易導(dǎo)致二義性,所以盡量把每項(xiàng)需求用簡潔明了的用戶性的語言表達(dá)出來。健壯性:需求的說明中是否對可能出現(xiàn)的異常進(jìn)行了分析,并且對這些異常進(jìn)行了容錯處理。必要性:“必要性”可以理解為每項(xiàng)需求都是用來授權(quán)你編寫文檔的“根源”。要使每項(xiàng)需求都
18、能回溯至某項(xiàng)客戶的輸入,如Use Case或別的來源??蓽y試性:每項(xiàng)需求都能通過設(shè)計測試用例或其它的驗(yàn)證方法來進(jìn)行測試??尚薷男裕好宽?xiàng)需求只應(yīng)在S R S 中出現(xiàn)一次。這樣更改時易于保持一致性。另外,使用目錄表、索引和相互參照列表方法將使軟件需求規(guī)格說明書更容易修改??筛櫺裕簯?yīng)能在每項(xiàng)軟件需求與它的根源和設(shè)計元素、源代碼、測試用例之間建立起鏈接鏈,這種可跟蹤性要求每項(xiàng)需求以一種結(jié)構(gòu)化的,粒度好(f i n e - g r a i n e d )的方式編寫并單獨(dú)標(biāo)明,而不是大段大段的敘述。另外應(yīng)當(dāng)對所有的需求分配優(yōu)先級。如果把所有的需求都看作同樣的重要,那么項(xiàng)目管理者在開發(fā)或節(jié)省預(yù)算或調(diào)度中就
19、喪失控制自由度需求文檔檢查步驟嘗試?yán)斫庑枨笠?guī)格說明書原始需求文檔檢查列表討論、評審、修訂需求文檔檢查列表序號檢查項(xiàng)檢查結(jié)果說明1是否覆蓋了用戶提出的所有需求項(xiàng)是否NA2用詞是否清晰,語義是否存在有歧義的地方是否NA3是否清楚地描述了軟件系統(tǒng)需要做什么及不做什么是否NA4是否描術(shù)了軟件使用的目標(biāo)環(huán)境,包括軟硬件環(huán)境是否NA5是否對需求項(xiàng)進(jìn)行了合理的編號是否NA6需求項(xiàng)是否前后一致,彼此不沖突是否NA7是否清楚說明了系統(tǒng)的每個輸入、輸出的格式,以及輸入輸出之間的對應(yīng)關(guān)系是否NA8是否清晰描述了軟件系統(tǒng)的性能要求是否NA9需求的優(yōu)先級是否合理分配是否NA10是否描述了各種約束條件是否NA編寫測試用例
20、需求規(guī)格說明書測試用例虛擬軟件產(chǎn)品測試人員開發(fā)人員“預(yù)演”測試測試用例編號:Input_001測試優(yōu)先級:中測試目的:驗(yàn)證業(yè)務(wù)單據(jù)數(shù)據(jù)的查詢正確性標(biāo)題:業(yè)務(wù)單據(jù)查詢步驟: 1.打開查詢界面 2.輸入查詢條件 3.確定并提交查詢 4.查看并驗(yàn)證返回的信息還有.除了文檔檢查和測試用例外,可以通過用戶調(diào)查和利用現(xiàn)存產(chǎn)品對需求進(jìn)行測試一些技術(shù)建議熟悉UML測試前了解軟件系統(tǒng)對應(yīng)的行業(yè)多熟悉需求: 溫伯格的探索需求設(shè)計前的質(zhì)量 Exploring Requirements:Quality Before DesignEND!測試計劃的編寫測試用例設(shè)計的方法軟件測試的過程測試需求的分析和確定測試計劃測試執(zhí)行
21、測試記錄和缺陷跟蹤回歸測試測試總結(jié)報告測試計劃制定可行的計劃 凡是預(yù)則立,不預(yù)則廢項(xiàng)目的關(guān)鍵項(xiàng)目成功的四大要素時間成本范圍質(zhì)量測試計劃的作用內(nèi)部作用:作為測試計劃的結(jié)果,讓相關(guān)人員和開發(fā)人員來評審存儲計劃執(zhí)行的細(xì)節(jié),讓測試人員進(jìn)行評審存儲計劃進(jìn)度表,測試環(huán)境等更多的信息外部作用:給顧客信心交待測試過程,人員,資源,使用工具測試計劃的設(shè)計與實(shí)現(xiàn)取得需求文檔確定測試策略確定測試系統(tǒng)測試設(shè)計和實(shí)現(xiàn)復(fù)查測試計劃預(yù)估測試工作量需求規(guī)格說明書1.測試的范圍(將要測試什么)2.測試方法(如何完成測試)3.測試入口/退出條件和質(zhì)量檢查點(diǎn)4.自動化策略1.測試構(gòu)架2.測試環(huán)境3.測試配置1.確定任務(wù)2.預(yù)估工作
22、量3.確定時間進(jìn)度計劃1.編寫策略、系統(tǒng)、工作量和時間進(jìn)度文檔2.與項(xiàng)目團(tuán)隊一起復(fù)查測試計劃IEEE定義的測試計劃測試計劃:一個敘述了預(yù)定的測試活動范圍、途徑、資源及進(jìn)度安排的文檔。它確定了測試項(xiàng)、被測特征、測試任務(wù)、人員安排以及與計劃相關(guān)的風(fēng)險。三要素:時間資源范圍其他方面策略風(fēng)險控制測試計劃內(nèi)容5-1 確定測試范圍5-2 制定測試策略5-3 測試資源安排5-4 進(jìn)度及安排5-5 風(fēng)險及對策5-1確定測試范圍明確哪些要測,哪些不要測,比如大部分軟件系統(tǒng)不需要測硬件不要忽略了用戶手冊,安裝包,數(shù)據(jù)庫等信息,這些也決定產(chǎn)品好壞某些階段的測試或者某些內(nèi)容的測試可以簡化當(dāng)對原有系統(tǒng)進(jìn)行修改升級時,某
23、些測試不需要某些測試根本不可能進(jìn)行5-2 制定測試策略測試策略(1/4)確定測試順序先測優(yōu)先級最高的需求對新功能和修改功能的代碼進(jìn)行測試運(yùn)用等價劃分技術(shù)和邊界值分析技術(shù)減少測試工作量測試那些最有可能出現(xiàn)問題的地方關(guān)注用戶最常使用的功能和配置情況等測試策略(2/4)確定測試方法對需求文檔進(jìn)行靜態(tài)測試,主要采用審查走查的方法驗(yàn)證需求的完整性、一致性可行性需求分析階段白盒測試方法由程序員完成編碼和單元測試階段黑盒測試方法設(shè)計用例時注意等價劃分和邊界值方法集成測試階段黑盒測試方法測試工具,進(jìn)行自動化測試,包括系統(tǒng)的功能和性能測試系統(tǒng)測試階段動態(tài)、黑盒測試方法由用戶來進(jìn)行驗(yàn)收測試階段測試策略(3/4)測
24、試標(biāo)準(zhǔn)入口標(biāo)準(zhǔn):描述在開始之前需要做哪些工作出口標(biāo)準(zhǔn):描述在怎樣的情況下可以結(jié)束測試暫停/繼續(xù)測試:描述如果缺陷妨礙測試進(jìn)行下去,會發(fā)生什么事情。如果情況很糟,無法執(zhí)行計劃的測試,則應(yīng)暫停測試,等完成修復(fù)工作后,再完成測試工作。通過/失敗標(biāo)準(zhǔn)執(zhí)行每項(xiàng)測試應(yīng)該有一個明確的預(yù)期結(jié)果。如果得到了預(yù)期的結(jié)果,測試就通過。否則表示測試失敗。測試策略(4/4)自動化測試工具的選擇是否使用自動化測試工具,哪個階段用什么工具好處:能夠很好進(jìn)行性能測試和壓力測試能夠改進(jìn)回歸測試能夠縮短測試周期能夠提高測試工作的課重復(fù)性測試軟件的編寫5-3 安排好測試資源根椐測試對象的復(fù)雜度、質(zhì)量要求,結(jié)合經(jīng)驗(yàn)數(shù)據(jù)對測試工作量進(jìn)
25、行評估注意:每個測試項(xiàng)最好安排不少于兩人,以便交叉測試5-4 安排測試進(jìn)度5-5 計劃風(fēng)險項(xiàng)目計劃變更、測試資源不能到位可能產(chǎn)生風(fēng)險實(shí)際操作時的建議:建立后備機(jī)制,讓后備測試人員參與項(xiàng)目例會,評審,培訓(xùn),交流等活動復(fù)查測試文檔詳細(xì)描述工作的范圍估計定義測試用例和實(shí)施測試所需工作確定所需資源(人、硬件、軟件和工具)為各個人物分配資源制定進(jìn)度表確定進(jìn)度安排或質(zhì)量風(fēng)險制定解決風(fēng)險的應(yīng)急計劃追蹤項(xiàng)目進(jìn)展并采取糾正措施在適當(dāng)?shù)臅r候重新定制向整個項(xiàng)目提供測試狀態(tài)的可視性對失敗或堵塞測試糾正后重新測試測試計劃是一份描述軟件測試工作的目標(biāo)、策略、方法和重點(diǎn)的文檔測試計劃的準(zhǔn)備過程是思考檢查并確認(rèn)一個軟件產(chǎn)品的
26、可接受性的一個有用的方法測試計劃測試計劃文檔測試計劃的目的盡早地明確測試工作內(nèi)容(范圍)、測試工作的方法以及測試工作所需要的各種資源。所有涉及到測試工作的人員,盡快將下一步測試工作需要考慮的問題和準(zhǔn)備的條件落實(shí)。測試計劃工作的重點(diǎn)在于:對當(dāng)前工作任務(wù)的準(zhǔn)備和規(guī)劃以及信息的交流。增強(qiáng)測試計劃的實(shí)用性堅持“5W1H”規(guī)則,明確內(nèi)容與過程采用評審和更新機(jī)制,保證測試計劃滿足實(shí)際需求測試計劃和測試策略測試計劃注意事項(xiàng)測試計劃編寫6要素?(5W1H) wherewhat when why為什么要進(jìn)行這些測試相應(yīng)文檔,缺陷的存放位置,測試環(huán)境等測試不同階段的起止時間測試哪些方面,不同階段的工作內(nèi)容 who
27、項(xiàng)目有關(guān)人員組成,安排哪些測試人員進(jìn)行測試 how如何去做,使用哪些測試工具以及測試方法進(jìn)行測試測試的設(shè)計及測試用例測試用例的作用交付給顧客的產(chǎn)品一部分,提高產(chǎn)品可信度做內(nèi)部使用,在代碼未完成前,準(zhǔn)備好,在代碼開發(fā)或結(jié)束后可以快速投入測試基于需求的測試用例設(shè)計驗(yàn)證需求是否正確,完整性,無二義性,并且邏輯一致從“黑盒”角度設(shè)計出充分并且必要的測試集基于需求的測試需要工具支持,比如QC(QualityCenter)測試用例設(shè)計等價類劃分法邊界值分析法基本路徑分析法因果圖法場景設(shè)計法錯誤猜測試正交分解法測試的設(shè)計及測試用例黑盒測試用例的設(shè)計測試用例的作用交付給顧客的產(chǎn)品一部分,提高產(chǎn)品可信度做內(nèi)部使
28、用,在代碼未完成前,準(zhǔn)備好,在代碼開發(fā)或結(jié)束后可以快速投入測試基于需求的測試用例設(shè)計驗(yàn)證需求是否正確,完整性,無二義性,并且邏輯一致從“黑盒”角度設(shè)計出充分并且必要的測試集基于需求的測試需要工具支持,比如QC(QualityCenter)測試用例設(shè)計等價類劃分法邊界值分析法因果圖法基本路徑分析法場景設(shè)計法錯誤猜測試正交分解法.黑盒測試的基本概念 黑盒測試是從一種從軟件外部對軟件實(shí)施的測試,也稱功能測試或基于規(guī)格說明的測試。其基本觀點(diǎn)是:任何程序都可以看作是從輸入定義域到輸出值域的映射,這種觀點(diǎn)將被測程序看作一個打不開的黑盒,黑盒里面的內(nèi)容(實(shí)現(xiàn))是完全不知道的,只知道軟件要做什么。因無法看到盒
29、子中的內(nèi)容,所以不知道軟件是如何實(shí)現(xiàn)的,也不關(guān)心黑盒里面的結(jié)構(gòu),只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果。黑盒測試的基本概念 黑盒測試是從用戶觀點(diǎn)出發(fā)的測試,其目的是盡可能發(fā)現(xiàn)軟件的外部行為錯誤。在已知軟件產(chǎn)品功能的基礎(chǔ)上,檢測軟件功能能否按照需求規(guī)格說明書的規(guī)定正常工作,是否有功能遺漏;檢測是否有人機(jī)交互錯誤,是否有數(shù)據(jù)結(jié)構(gòu)和外部數(shù)據(jù)庫訪問錯誤,是否能恰當(dāng)?shù)亟邮諗?shù)據(jù)并保持外部信息(如數(shù)據(jù)庫或文件)等的完整性;檢測行為、性能等特性是否滿足要求等;檢測程序初始化和終止方面的錯誤等。黑盒測試的基本概念 黑盒測試著眼于軟件的外部特征,通過上述方面的檢測,確定軟件所實(shí)現(xiàn)的功能是否按照軟件規(guī)格說明書的預(yù)期要求正常
30、工作. 兩個顯著的優(yōu)點(diǎn): 黑盒測試與軟件具體實(shí)現(xiàn)無關(guān),所以如果軟件實(shí)現(xiàn)發(fā)生了變化,測試用例仍然可以使用; 設(shè)計黑盒測試用例可以和軟件實(shí)現(xiàn)同時進(jìn)行,因此可以壓縮項(xiàng)目總的開發(fā)時間。黑盒測試的基本概念 窮舉輸入測試是不現(xiàn)實(shí)的。這就需要我們認(rèn)真研究測試方法,以便能開發(fā)出盡可能少的測試用例,發(fā)現(xiàn)盡可能多的軟件故障。 常用的黑盒測試方法有等價類劃分、邊界值分析、決策表測試等,每種方法各有所長,我們應(yīng)針對軟件開發(fā)項(xiàng)目的具體特點(diǎn),選擇合適的測試方法,有效地解決軟件開發(fā)中的測試問題。 等價類劃分等價類劃分法是一種典型的黑盒測試方法,它完全不考慮程序的內(nèi)部結(jié)構(gòu),只根據(jù)程序規(guī)格說明書對輸入范圍進(jìn)行劃分,把所有可能的
31、輸入數(shù)據(jù),即程序輸入域劃分為若干個互不相交的子集,稱為等價類,然后從每個等價類中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例,進(jìn)行測試。等價類劃分等價類劃分方法 所謂等價類是指輸入域的某個互不相交的子集合,所有等價類的并便是整個輸入域。 1劃分等價類(1)有效等價類檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明預(yù)先規(guī)定的功能和性能。(2)無效等價類檢查軟件功能和性能的實(shí)現(xiàn)是否有不符合規(guī)格說明要求的地方。等價類劃分方法2常用的等價類劃分原則(1)按區(qū)間劃分(2)按數(shù)值劃分(3)按數(shù)值集合劃分(4)按限制條件或規(guī)則劃分(5)細(xì)分等價類等價類劃分方法 在確立了等價類之后,可按下表的形式列出所有劃分出的等價類表: 等價類表 同樣
32、,也可按照輸出條件,將輸出域劃分為若干個等價類。輸入條件有效等價類無效等價類等價類劃分方法3等價類劃分測試用例設(shè)計 在設(shè)計測試用例時應(yīng)同時考慮有效等價類和無效等價類測試用例的設(shè)計。根據(jù)等價類表設(shè)計測試用例,具體步驟如下: (1)為每個等價類規(guī)定一個唯一的編號。 (2) 設(shè)計一個新的測試用例,盡可能多地覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步,直到測試用例覆蓋了所有的有效等價類。 (3) 設(shè)計一個新的測試用例,使其覆蓋并且只覆蓋一個還沒有被覆蓋的無效等價類。重復(fù)這一步,直至測試用例覆蓋了所有的無效等價類。等價類劃分等價類劃分法的測試運(yùn)用 三角形問題的等價類測試 【例】 三角形問題是軟件測試文獻(xiàn)中使
33、用最廣泛的一個例子。輸入三個整數(shù)a、b和c分別作為三角形的3條邊,通過程序判斷由這3條邊構(gòu)成的三角形類型是:等邊三角形、等腰三角形、一般三角形或非三角形(不能構(gòu)成一個三角形)。 等價類劃分法的測試運(yùn)用三角形問題可以更詳細(xì)地描述為: 輸入3個整數(shù)a、b和c分別作為三角形的三條邊,要求a、b和c必須滿足以下條件: Con11a10 Con 21b100 Con 31c100 Con 4ab+c Con 5ba+c Con 6ca+b如果a、b和c滿足Con1、Con2和Con3,則輸出為4種情況之一:如果不滿足條件Con 4、Con 5和Con 6中有一個,則程序輸出為“非三角形”。如果三條邊相等
34、,則程序輸出為“等邊三角形”。如果恰好有兩條邊相等,則程序輸出為“等腰三角形”。如果三條邊都不相等,則程序輸出為“一般三角形”。等價類劃分法的測試運(yùn)用2保險公司人壽保險保費(fèi)計算程序的等價類測試【例2】 某保險公司人壽保險的保費(fèi)計算方式為: 保費(fèi)投保額保險費(fèi)率 其中,保險費(fèi)率根據(jù)年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)的不同而有所不同,體現(xiàn)在不同年齡、性別、婚姻狀況和撫養(yǎng)人數(shù),點(diǎn)數(shù)設(shè)定不同,10點(diǎn)及10點(diǎn)以上保險費(fèi)率為0.6%,10點(diǎn)以下保險費(fèi)率為0.1%;而點(diǎn)數(shù)又是由投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來決定,具體規(guī)則見表。年齡性別婚姻狀況撫養(yǎng)人數(shù)20394059其它MF已婚未婚1人扣0.5點(diǎn),最多扣
35、3點(diǎn)6點(diǎn)4點(diǎn)2點(diǎn)4點(diǎn)3點(diǎn)3點(diǎn)5點(diǎn)等價類劃分法的測試運(yùn)用 分析程序規(guī)格說明中給出和隱含的對輸入數(shù)據(jù)的要求,可以得出: 年齡:一位或兩位非零整數(shù),取值的有效范圍為199。 性別:一位英文字符,只能取 M或F 值。 婚姻:字符,只能取已婚或未婚。 撫養(yǎng)人數(shù):空白或字符無或一位非零整數(shù)(19) 點(diǎn)數(shù) :一位或兩位非零整數(shù),取值范圍為819 通過對規(guī)格說明輸入數(shù)據(jù)的取值分析,可以得出保險公司人壽保險保費(fèi)計算程序的等價類。等價類劃分法的測試運(yùn)用等價類測試存在兩個問題: 一是規(guī)格說明往往沒有定義無效測試用例的期望輸出應(yīng)該是什么樣的。因此,測試人員需要花費(fèi)大量時間來定義這些測試用例的期望輸出。 二是強(qiáng)類型語言
36、沒有必要考慮無效輸入。傳統(tǒng)等價類測試是諸如FORTRAN和COBOL這樣的語言占統(tǒng)治地位年代的產(chǎn)物,那時這種無效輸入的故障很常見。事實(shí)上,正是由于經(jīng)常出現(xiàn)這種錯誤,才促使人們使用強(qiáng)類型語言。 邊界值分析法大量的軟件測試實(shí)踐表明,故障往往出現(xiàn)在定義域或值域的邊界上,而不是在其內(nèi)部。為檢測邊界附近的處理專門設(shè)計測試用例,通常都會取得很好的測試效果。邊界值分析法是一種很實(shí)用的黑盒測試用例方法,它具有很強(qiáng)的發(fā)現(xiàn)故障的能力。 邊界值分析法1邊界條件邊界條件就是軟件計劃的操作界限所在的邊緣條件。一些可能與邊界有關(guān)的數(shù)據(jù)類型有:數(shù)值,速度,字符,地址,位置,尺寸,數(shù)量等。同時,考慮這些數(shù)據(jù)類型的下述特征:
37、第一個/最后一個,最小值最大值,開始完成,超過/在內(nèi),空滿,最短最長,最慢/最快,最早/最遲,最高最低,相鄰最遠(yuǎn)等。常見的邊界值 對16-bit 的整數(shù)而言 32767 和 -32768 是邊界 屏幕上光標(biāo)在最左上、最右下位置 報表的第一行和最后一行 數(shù)組元素的第一個和最后一個 循環(huán)的第 0 次、第 1 次和倒數(shù)第 2 次、最后一次邊界值分析法 其實(shí)邊界值和等價類密切相關(guān),輸入等價類和輸出等價類的邊界是要著重測試的邊界情況。在等價類的劃分過程中產(chǎn)生了許多等價類邊界。邊界是最容易出錯的地方,所以,從等價類中選取測試數(shù)據(jù)時應(yīng)該關(guān)注邊界值。 在等價類劃分基礎(chǔ)上進(jìn)行邊界值分析測試的基本思想是,選取正好
38、等于、剛剛大于或剛剛小于等價類邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。邊界值分析法2邊界值分析測試 這里討論一個有兩個變量x1和x2的程序P。假設(shè)輸入變量x1和x2在下列范圍內(nèi)取值: ax1b, cx2d 邊界值分析利用輸入變量的最小值(min),稍大于最小值(min+),域內(nèi)任意值(nom),稍小于最大值(max-),最大值(max)來設(shè)計測試用例。邊界值分析法 對于一個n變量的程序,邊界值分析測試會產(chǎn)生4n+1個測試用例。邊界值分析法3. 健壯性邊界值測試 健壯性測試是邊界值分析的一種擴(kuò)展。 變量除了取min,min,nom,max,max五個邊界值外,還要考
39、慮采用一個略超過最大值(max+)以及一個略小于最小值(min-)的取值邊界值分析法 健壯性邊界值測試將產(chǎn)生6n+1個測試用例. 健壯性測試最有意義的部分不是輸人,而是預(yù)期的輸出,觀察例外情況如何處理。邊界值舉例250-500邊界值:249、250、251、499、500、501邊界值分析法邊界值分析法的測試運(yùn)用 1. 三角形問題的邊界值分析測試用例設(shè)計 邊界值分析測試用例測試用例abc預(yù)期輸出Test 1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等邊三角形等腰三角形非三角形Test6Test7Test8Test960
40、605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形邊界值分析法的測試運(yùn)用加法器邊界值測試用例設(shè)計【例】 加法器程序計算兩個1100之間整數(shù)的和。 對于加法器程序,根據(jù)輸入要求可將輸入空間劃分為三個等價類,即1個有效等價類(1100之間),兩個無效等價類(100)。但這種等價類劃分不是很完善,我們只考慮了輸入數(shù)據(jù)的取值范圍,而沒有考慮輸入數(shù)據(jù)的類型,我們認(rèn)為輸入應(yīng)為整數(shù),但用戶輸入什么都有可能。邊界值分析法的測試運(yùn)用為此,我們可綜合考慮
41、輸入數(shù)據(jù)的取值范圍和類型劃分等價類,其結(jié)果如下表所示。 加法器等價類編號輸入條件所屬類別編號輸入條件所屬類別11100之間整數(shù)有效等價類5非數(shù)值(字母)無效等價類2100整數(shù)無效等價類7非數(shù)值(空格)無效等價類4小數(shù)無效等價類8非數(shù)值(空白)無效等價類 邊界值分析法的測試運(yùn)用 加法器邊界測試用例測試用例輸入數(shù)據(jù)預(yù)期輸出加數(shù)1加數(shù)2和Test115051Test 225052Test 39950149Test 410050150Test 550151Test 650252Test 75099149Test 850100150Test 9050提示“請輸入1100間的整數(shù)”Test 10500提示
42、“請輸入1100間的整數(shù)”Test1110150提示“請輸入1100間的整數(shù)”Test1250101提示“請輸入1100間的整數(shù)”Test130.250提示“請輸入1100間的整數(shù)”邊界值分析法的測試運(yùn)用 加法器邊界測試用例測試用例輸入數(shù)據(jù)預(yù)期輸出加數(shù)1加數(shù)2和Test14500.2提示“請輸入1100間的整數(shù)”Test15A50提示“請輸入1100間的整數(shù)”Test1650A提示“請輸入1100間的整數(shù)”Test1750提示“請輸入1100間的整數(shù)”Test1850提示“請輸入1100間的整數(shù)”Test19空格50提示“請輸入1100間的整數(shù)”Test2050空格提示“請輸入1100間的整數(shù)
43、”Test2150提示“請輸入1100間的整數(shù)”Test2250提示“請輸入1100間的整數(shù)”邊界值分析法的測試運(yùn)用應(yīng)用邊界值分析法進(jìn)行測試用例設(shè)計時,應(yīng)遵循以下一些原則:(1)如果輸入條件對取值范圍進(jìn)行了限定,則應(yīng)以邊界內(nèi)部以及剛超出范圍邊界外的值作為測試用例。(2)如果對取值的個數(shù)進(jìn)行了界定,則應(yīng)分別以MAX、MAX-、MAX+、MIN、MIN-、MIN+個數(shù)作為測試用例。(3)對于輸出條件,同樣可以應(yīng)用上面提到的兩條原則來進(jìn)行測試用例設(shè)計。(4)如果程序規(guī)格說明書中指明輸入或者輸出域是一個有序的集合,如順序文件、表格等,則應(yīng)注意選取有序集合中的第一個和最后一個元素作為測試用例。 因果圖法
44、 等價類劃分法和邊界值分析方法都是著重考慮輸入條件,如果程序輸入之間沒有什么聯(lián)系,采用等價類劃分和邊界值分析是一種比較有效的方法。但如果輸入之間有關(guān)系,例如,約束關(guān)系、組合關(guān)系,這種關(guān)系用等價類劃分和邊界值分析是很難描述的,測試效果難以保障,因此必須考慮使用一種適合于描述對于多種條件的組合,產(chǎn)生多個相應(yīng)動作的測試方法,因果圖正是在此背景下提出的。進(jìn)行因果圖法處理某軟件規(guī)格說明書包含這樣的要求:第一列字符必須是A或B,第二列字符必須是一個數(shù)字,在此情況下進(jìn)行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M。 因果圖法因果圖法的原理 1因果圖因果圖法的原理 因
45、果圖法的原理2因果圖法測試用例的設(shè)計步驟:(1)確定軟件規(guī)格中的原因和結(jié)果。分析規(guī)格說明中哪些是原因(即輸入條件或輸入條件的等價類),哪些是結(jié)果(即輸出條件),并給每個原因和結(jié)果賦予一個標(biāo)識符。(2)確定原因和結(jié)果之間的邏輯關(guān)系。分析軟件規(guī)格說明中的語義,找出原因與結(jié)果之間、原因與原因之間對應(yīng)的關(guān)系,根據(jù)這些關(guān)系畫出因果圖。(3)確定因果圖中的各個約束。由于語法或環(huán)境的限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件。(4)把因果圖轉(zhuǎn)換為決策表。(5)根據(jù)決策表設(shè)計測試用例。因果圖法的測試運(yùn)用有一個處理單價為1元5角錢的盒
46、裝飲料的自動售貨機(jī)軟件。若投入1元5角硬幣,按下“可樂”、“雪碧”或“紅茶”按鈕,相應(yīng)的飲料就送出來。若投入的是兩元硬幣,在送出飲料的同時退還5角硬幣 投入1元5角硬幣投入2元硬幣按“可樂”按鈕按“雪碧”按鈕按“紅茶”按鈕 退還5角硬幣送出“可樂”飲料送出“雪碧”飲料送出“紅茶”飲料 已投幣 已按鈕 因果圖決策表法在所有的黑盒測試方法中,基于決策表的測試是最嚴(yán)格,最具有邏輯性的測試方法。決策表法決策表法 1決策表 決策表是把作為條件的所有輸入的各種組合值以及對應(yīng)輸出值都羅列出來而形成的表格。 它能夠?qū)?fù)雜的問題按照各種可能的情況全部列舉出來,簡明并避免遺漏。因此,利用決策表能夠設(shè)計出完整的測試
47、用例集合。 決策表法決策表通常由條件樁、條件項(xiàng)、動作樁和動作項(xiàng)4部分組成。 條件樁 條件項(xiàng) 動作樁 動作項(xiàng)規(guī)則 決策表的組成 動作項(xiàng)和條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動作。決策表法2決策表的構(gòu)造及化簡構(gòu)造決策表可采用以下5個步驟:(1)列出所有的條件樁和動作樁。(2)確定規(guī)則的個數(shù)。(3)填入條件項(xiàng)。(4)填入動作項(xiàng),得到初始決策表。(5)簡化決策表,合并相似規(guī)則。因果圖生成決策表因果+決策案例中國象棋中走馬的實(shí)際情況 如果落點(diǎn)在棋盤外,則不移動棋子;如果落點(diǎn)與起點(diǎn)不構(gòu)成日字型,則不移動棋子;如果落點(diǎn)處有自己方棋子,則不移動棋子;如果在落點(diǎn)方向的鄰近交叉點(diǎn)有棋子(絆馬腿),
48、則不移動棋子;如果不屬于1-4條,且落點(diǎn)處無棋子,則移動棋子;如果不屬于1-4條,且落點(diǎn)處為對方棋子(非老將),則移動棋子并除去對方棋子;如果不屬于1-4條,且落點(diǎn)處為對方老將,則移動棋子,并提示戰(zhàn)勝對方,游戲結(jié)束設(shè)計測試用例的方法原因: 1.落點(diǎn)在棋盤上 2.落點(diǎn)與起點(diǎn)構(gòu)成日字3.落點(diǎn)處不為自己方棋子4.落點(diǎn)方向的鄰近交叉點(diǎn)有棋子5.落點(diǎn)處無棋子6.落點(diǎn)處為對方棋子(非老將) 7.落點(diǎn)處為對方老將 結(jié)果 :21不移動棋子 22移動棋子23移動棋子,并除去對方棋子 24移動棋子,并提示戰(zhàn)勝對方,結(jié)束游戲設(shè)計測試用例的方法決策表的例子因果圖法+決策表作業(yè) 某軟件規(guī)格說明書規(guī)定:輸入的第一個字符必
49、須是#或*,第二個字符必須是一個數(shù)字,此情況下進(jìn)行文件的修改;如果第一個字符不是#或*,則給出信息N,如果第二個字符不是數(shù)字,則給出信息M。 黑盒測試方法的比較與選擇上面討論了幾種典型的黑盒測試方法,這些測試方法的共同特點(diǎn)是,它們都把程序看作是一個打不開的黑盒,只知道輸入到輸出的映射關(guān)系,根據(jù)軟件規(guī)格說明設(shè)計測試用例。在等價類分析測試中,通過等價類劃分來減少測試用例的絕對數(shù)量。邊界值分析方法則通過分析輸入變量的邊界值域設(shè)計測試用例。在因果圖測試方法和決策表測試中,通過分析被測程序的邏輯依賴關(guān)系,構(gòu)造決策表,進(jìn)而設(shè)計測試用例。黑盒測試方法的比較與選擇1測試工作量 以邊界值分析、等價類劃分和決策表
50、測試方法來討論它們的測試工作量,即生成測試用例的數(shù)量與開發(fā)這些測試用例所需的工作量。每種測試方法的測試用例數(shù)量黑盒測試方法的比較與選擇由每種方法設(shè)計測試用例的工作量曲線:每種方法設(shè)計測試用例的工作量趨勢 測試方法研究的目的就是在開發(fā)測試用例工作量和測試執(zhí)行工作量之間做一個令人滿意的折中。黑盒測試方法的比較與選擇2測試有效性 解釋測試有效性是很困難的。因?yàn)槲覀儾恢莱绦蛑械乃泄收希虼宋覀円膊豢赡苤澜o定方法所產(chǎn)生的測試用例是否能夠發(fā)現(xiàn)這些。 所能夠做的,只是根據(jù)不同類型的故障,選擇最有可能發(fā)現(xiàn)這種缺陷的測試方法(包括白盒測試)。根據(jù)最可能出現(xiàn)的故障種類,分析得到可提高測試有效性的實(shí)用方法。通
51、過跟蹤所開發(fā)軟件中的故障的種類和密度,也可以改進(jìn)這種方法。黑盒測試方法的比較與選擇 利用程序的已知屬性,選擇處理這種屬性的方法,在選擇黑盒測試方法時一些經(jīng)常用到的屬性有: 變量表示物理量還是邏輯量? 在變量之間是否存在依賴關(guān)系? 是否有大量的例外處理?黑盒測試方法的比較與選擇 下面給出一些黑盒測試方法選取的初步的“專家系統(tǒng)”: 如果變量引用的是物理量,可采用邊界值分析測試和等價類測試。 如果變量是獨(dú)立的,可采用邊界值分析測試和等價類測試。 如果變量不是獨(dú)立的,可采用決策表測試。 如果可保證是單缺陷假設(shè),可采用邊界值分析和健壯性測試。 如果可保證是多缺陷假設(shè),可采用邊界值分析測試和決策表測試 如
52、果程序包含大量例外處理,可采用健壯性測試和決策表測試。 如果變量引用的是邏輯量,可采用等價類測試用例和決策表測試。測試的設(shè)計及測試用例(補(bǔ)充)黑盒測試用例的設(shè)計場景設(shè)計法大部分軟件是由事件觸發(fā)來控制流程的,事件觸發(fā)時的情景就是所謂的場景編輯申請單確認(rèn)取消確認(rèn)審批生成申請報告不通過通過場景設(shè)計法根椐UML覆蓋系統(tǒng)用例中的主成功場景和擴(kuò)展場景,并且適當(dāng)補(bǔ)充各種正反面的測試用例和考慮出現(xiàn)的異常情形測試人員要充分發(fā)揮對用戶實(shí)際業(yè)務(wù)場景的想像關(guān)心用戶做什么,而不是關(guān)心產(chǎn)品做什么優(yōu)點(diǎn):實(shí)用性強(qiáng),有效,設(shè)計出來的用例有價值缺點(diǎn):可能使用的場景不一定能對事件系列進(jìn)行全面的分析,設(shè)計出來的用例不完整。場景設(shè)計法
53、場景設(shè)計法場景1成功提款基本流場景2ATM內(nèi)沒有現(xiàn)金基本流備選流2場景3ATM內(nèi)現(xiàn)金不足基本流備選流3場景4PIN有誤(還有輸入機(jī)會)基本流備選流4場景5PIN有誤(不再有輸入機(jī)會)基本流備選流4場景6賬戶不存在/賬戶類型有誤基本流備選流5場景7賬戶余額不足基本流備選流6場景設(shè)計法-場景設(shè)計TC(測試用例)ID號場景/條件PIN賬號輸入(或選擇)的金額賬面金額ATM內(nèi)的金額預(yù)期結(jié)果Test1場景1:成功提款VVVVV成功提款Test2場景2:ATM內(nèi)沒有現(xiàn)金VVVVI提款選項(xiàng)不可用,用例結(jié)束Test3場景3:ATM內(nèi)現(xiàn)金不足VVVVI警告消息,返回基本流步驟6,輸入金額Test4場景4:PIN
54、有誤(還有不止一次輸入機(jī)會)IVn/aVV警告消息,返回基本流步驟 4,輸入 PINTest5場景4:PIN有誤(還有一次輸入機(jī)會)IVn/aVV警告消息,返回基本流步驟 4,輸入 PINTest6場景4:PIN有誤(不再有輸入機(jī)會)IVn/aVV警告消息,卡予保留,用例結(jié)束場景設(shè)計法-用例數(shù)據(jù)TC(測試用例)ID號場景/條件PIN賬號輸入(或選擇)的金額(元)賬面金額(元)ATM內(nèi)的金額(元)預(yù)期結(jié)果Test1場景1:成功提款4987809-49850.00500.002 000成功提款。賬戶余額被更新為450.00Test2場景2:ATM內(nèi)沒有現(xiàn)金4987809-498100.00500.
55、000.00提款選項(xiàng)不可用,用例結(jié)束Test3場景3:ATM內(nèi)現(xiàn)金不足4987809-498100.00500.0070.00警告消息,返回基本流步驟6,輸入金額Test4場景4:PIN有誤(還有不止一次輸入機(jī)會)4978809-498n/a500.002 000警告消息,返回基本流步驟4,輸入PINTest5場景4:PIN有誤(還有一次輸入機(jī)會)4978809-498n/a500.002 000警告消息,返回基本流步驟4,輸入PINTest6場景4:PIN有誤(不再有輸入機(jī)會)4978809-498n/a500.002 000警告消息,卡予保留,用例結(jié)束錯誤猜測法是基于經(jīng)驗(yàn)的直覺推測程序中可
56、能發(fā)生的各種錯誤,有針對性設(shè)計測試用例。優(yōu)點(diǎn):充分發(fā)揮個人的經(jīng)驗(yàn)和潛能,命中率高缺點(diǎn):覆蓋率難以保證;過多的依賴個人的經(jīng)驗(yàn)注意:最重要的是要思考和分析測試對象的各個方面,多參考以前發(fā)現(xiàn)的Bug的相關(guān)數(shù)據(jù)、總結(jié)的經(jīng)驗(yàn),個人多考慮異常的情況、反面的情況、特殊的輸入,以一個攻擊者的態(tài)度對待程序,那么就能設(shè)計出比較完善的測試用例。常見錯誤(1)聊天窗口功能輸入特殊字符(全角、半角)后,窗口是否能夠正常顯示輸入空格,是否能夠過濾,是否會算長度計算 輸入html字符 輸入腳本語言函數(shù) 在需要密碼驗(yàn)證,或者需要二次輸入確認(rèn)的地方,通過復(fù)制粘貼第一次的輸入內(nèi)容是否能夠通過常見錯誤(2)查詢功能 無條件查詢 是
57、否支持模糊查詢 查詢的關(guān)鍵字之間是否可用連接符 輸入正確的查詢條件以前加上空格,看是否能正確查出相應(yīng)的數(shù)據(jù)登陸功能 輸入的數(shù)據(jù)前存在空格,是否能夠正常登陸 輸入的密碼是否能夠加密顯示 用戶在注銷之后是否能夠再登陸成功有趣的BUGX5O!P%AP4PZX54(P)7CC)7$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*聯(lián)通、私通xp的IE下notepad問題xp下AAAA BBB CCC DDDDD正交表法正交表法是一種有效減少測試用例個數(shù)的設(shè)計方法。正交表是一整套規(guī)則的設(shè)計表格,L9(34), 。正交表的構(gòu)造需要用到組合數(shù)學(xué)和概率學(xué)知識正交表例 : 姓名:填
58、,不填 性別:男,女 狀態(tài):激活,不激活2水平3因素正交表法步驟:確定有哪些因素每個因素有哪幾個水平選擇一個合適的正交表注意:不是每一個輸入條件和參數(shù)的組合都能找到現(xiàn)在合適的正交表,有些時候需要進(jìn)一步地通過擬水平法,擬因素法來變換正交表以便適應(yīng)實(shí)際的情況/njas/oadir/index.html可以看到更多正交矩陣Allpairs正交矩陣工具/tools.shtml組合覆蓋法有效減少測試用例個數(shù)的測試用例方法單因素覆蓋、成對覆蓋(pairwise)、三三組合覆蓋 /成對組合覆蓋要求任意兩個因素的所有水平組合要被覆蓋一次。組合覆蓋法 假設(shè)某功能有3個因素(或者叫輸入項(xiàng)),每個因素(輸入項(xiàng))有2
59、個不同的取值,分別為 【A1,A2】、 【B1,B2】 、 【C1,C2】 引入成對組合的概念之后,我們可以用成對組合集合來表示通常的測試用例集。對于某個給定的測試用例,它能覆蓋一定數(shù)量的成對組合元素。例如: 測試用例(A1,B1,C1)覆蓋了(A1,B1),(A1,C1),(B1,C1)3個成對組合元素。 測試用例(A1,B1,C2)覆蓋了(A1,B1),(A1,C2),(B1,C2)3個成對組合元素?!続1,B1,C2】、【A1,B2,C1】、【A2,B1,C1】、【A2,B2,C2】組合覆蓋法示例Type: Primary, Logical, Single, Span, Stripe,
60、Mirror, RAID-5Size: 10, 100, 500, 1000, 5000, 10000, 40000Format method: quick, slowFile system: FAT, FAT32, NTFSCluster size: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536Compression: on, off組合覆蓋法自動化工具微軟PICT:/en-us/testing/bb980925.aspx/tools.asp分類樹分類樹方法的基本原理是:首先把測試對象的可能輸入按照不同的分類方式進(jìn)行分類,每一種分類要考慮的
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川西南航空職業(yè)學(xué)院《視傳藝術(shù)考察》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年花卉產(chǎn)業(yè)扶貧項(xiàng)目合作合同協(xié)議3篇
- 二零二五年度按揭貸款房屋改造貸款合同范本2篇
- 2024影視行業(yè)人才中介服務(wù)合同
- 二零二五版戶外廣告牌制作、安裝與維護(hù)全流程服務(wù)合同3篇
- 紹興文理學(xué)院元培學(xué)院《影視動畫海報設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 個人所得稅代扣代繳協(xié)議(2024年版)
- 二零二五年度水泥管行業(yè)市場競爭策略合同
- 二零二五年度專業(yè)安保公司員工勞動合同范本2篇
- 山東輕工職業(yè)學(xué)院《期貨投資》2023-2024學(xué)年第一學(xué)期期末試卷
- 《胃癌靶向治療》課件
- 2024-2025學(xué)年遼寧省沈陽市高一上學(xué)期1月期末質(zhì)量監(jiān)測數(shù)學(xué)試題(含解析)
- 《少兒主持人》課件
- 北京市朝陽區(qū)2024-2025學(xué)年高二上學(xué)期期末考試生物試卷(含答案)
- 2025年西藏拉薩市柳梧新區(qū)城市投資建設(shè)發(fā)展集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年部編版一年級語文上冊期末復(fù)習(xí)計劃
- 儲罐維護(hù)檢修施工方案
- 地理2024-2025學(xué)年人教版七年級上冊地理知識點(diǎn)
- 2024 消化內(nèi)科專業(yè) 藥物臨床試驗(yàn)GCP管理制度操作規(guī)程設(shè)計規(guī)范應(yīng)急預(yù)案
- 2024-2030年中國電子郵箱行業(yè)市場運(yùn)營模式及投資前景預(yù)測報告
- 基礎(chǔ)設(shè)施零星維修 投標(biāo)方案(技術(shù)方案)
評論
0/150
提交評論