軟件測試與uml概述1_第1頁
軟件測試與uml概述1_第2頁
軟件測試與uml概述1_第3頁
軟件測試與uml概述1_第4頁
軟件測試與uml概述1_第5頁
已閱讀5頁,還剩147頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件測試和UML技術(shù)推薦教材UML與Rose軟件建模案例教程ISBN:9787115217806定價(jià):25.00軟件測試任務(wù)驅(qū)動(dòng)式教程ISBN:9787115346704定價(jià):45.00聯(lián)系方式:Email:andydan666@TELQ:11266781王琳琳考核方式考查課——15專升本考勤+上課表現(xiàn)+作業(yè)+實(shí)驗(yàn)+課程設(shè)計(jì)課程設(shè)計(jì)最多2人1組考試課——13本考勤+上課表現(xiàn)+作業(yè)+實(shí)驗(yàn)+課程設(shè)計(jì)+期末考試課程設(shè)計(jì)最多3人1組課程設(shè)計(jì)要求本課程設(shè)計(jì)要求每個(gè)學(xué)生可以獨(dú)立完成軟件測試和軟件建模兩種類型的題目,同時(shí)可以通過同學(xué)間的討論,自擬課程設(shè)計(jì)題目。要求每個(gè)學(xué)生根據(jù)自己的實(shí)際情況從下列兩種題型中各選1題作為本課程設(shè)計(jì)的題目,實(shí)際動(dòng)手完成所選題目的設(shè)計(jì),并撰寫課程設(shè)計(jì)任務(wù)書。

題目A:1)艾斯醫(yī)藥商務(wù)系統(tǒng)單元、功能、性能測試。2)自選一個(gè)軟件系統(tǒng)使用黑盒和白盒測試方法進(jìn)行單元、功能、性能測試。

題目B:1)考試成績管理系統(tǒng)軟件建模2)網(wǎng)上教學(xué)系統(tǒng)軟件建模3)ATM自動(dòng)取款機(jī)系統(tǒng)軟件建模4)圖書管理系統(tǒng)軟件建模5)自選系統(tǒng)軟件建模時(shí)間安排:開課三周內(nèi),讓學(xué)生選擇課程設(shè)計(jì)題目。在最后兩周的上機(jī)課,學(xué)生進(jìn)行課程設(shè)計(jì)答辯、演示開發(fā)的軟件回答教師提問的問題并上交課程設(shè)計(jì)任務(wù)書。

軟件測試IT職業(yè)架構(gòu)劃分系統(tǒng)工程師Windows/linux軟件開發(fā)工程師Java/Net/Php數(shù)據(jù)庫管理員DBA網(wǎng)絡(luò)工程師Huawei/Cisco軟件測試工程師這是一次改變命運(yùn)的選擇軟件測試工程師—IT行業(yè)的黃金職位20052005年10月25日,勞動(dòng)部正式將“軟件測試工程師”列入第四批新職業(yè)!20062006年,信息產(chǎn)業(yè)部主辦首屆中國軟件質(zhì)量年會(huì)!20072007年,教育部等部門出臺(tái)的《關(guān)于進(jìn)一步加強(qiáng)國家重點(diǎn)領(lǐng)域緊缺人才培養(yǎng)意見》,將軟件測試等確定為12個(gè)國家重點(diǎn)領(lǐng)域人才培養(yǎng)專業(yè)!20112011年軟件測試人才“有價(jià)無貨”軟件測試工程師崗位職責(zé)軟件測試工程師理解產(chǎn)品的功能需求,并對(duì)其進(jìn)行測試,檢查軟件有沒有錯(cuò)誤(Bug),決定軟件是否具有穩(wěn)定性,并寫出相應(yīng)的測試規(guī)范和測試用例的專門工作人員。編寫測試計(jì)劃仔細(xì)閱讀項(xiàng)目規(guī)格說明,設(shè)計(jì)文檔使用說明書等,充分掌握軟件的性能、特點(diǎn)、使用方法、業(yè)務(wù)流程等,協(xié)助測試經(jīng)理制定項(xiàng)目的測試計(jì)劃,保證產(chǎn)品測試工作的計(jì)劃性和規(guī)范性。編寫測試用例按照測試流程、計(jì)劃以及對(duì)產(chǎn)品特性的把握,溝通確認(rèn)測試的范圍、重點(diǎn),考慮邏輯、數(shù)據(jù)完整性等要求,詳細(xì)規(guī)定測試的要求、策劃,編寫測試用例,涉及測試用數(shù)據(jù)及預(yù)期結(jié)果,做好測試前的準(zhǔn)備工作,確保測試目的的達(dá)成;軟件測試工程師崗位職責(zé)搭建測試環(huán)境保證測試環(huán)境的獨(dú)立和維護(hù)測試環(huán)境的更新,做好測試的準(zhǔn)備工作,確保測試環(huán)境的確定和版本的正確。執(zhí)行測試依據(jù)測試計(jì)劃及測試案例,執(zhí)行測試。并依據(jù)產(chǎn)品特點(diǎn)及測試要求,實(shí)施集成測試、系統(tǒng)測試等。及時(shí)發(fā)現(xiàn)軟件缺陷,評(píng)估軟件特性。確保測試目的的達(dá)成。軟件測試工程師崗位職責(zé)進(jìn)行BUG驗(yàn)證根據(jù)測試結(jié)果,與開發(fā)部門反復(fù)溝通測試情況,督促開發(fā)部門解決問題,修正測試中發(fā)現(xiàn)的缺陷,完善軟件功能;進(jìn)行測試記錄和相應(yīng)文檔的編寫進(jìn)行測試記錄和相應(yīng)文檔的編寫。編寫測試報(bào)告和對(duì)測試結(jié)果分析通過測試,掌握軟件具有的能力、缺陷、局限等。對(duì)軟件質(zhì)量給出評(píng)價(jià)性的結(jié)論和意見,整理測試文檔,填寫軟件測試報(bào)告,編寫測試總結(jié),為軟件開發(fā)成果提供總結(jié)性意見。軟件測試工程師崗位職責(zé)軟件測試工程師就業(yè)前景軟件測試工程師就業(yè)前景軟件測試工程師就業(yè)前景軟件測試工程師就業(yè)前景軟件測試工程師為第四批新職業(yè)?!?jiǎng)趧?dòng)部軟件測試工程師成IT業(yè)“熊貓”——IT行業(yè)機(jī)構(gòu)軟件測試為IT行業(yè)中一匹實(shí)力驚人的黑馬——IT從業(yè)人員招聘企業(yè)對(duì)職位的要求招聘企業(yè)對(duì)職位的要求你有潛力成為優(yōu)秀的軟測人才嗎?軟件測試知識(shí)體系結(jié)構(gòu)知識(shí)媒體推薦知識(shí)媒體推薦職業(yè)寄語軟件測試的認(rèn)知與體驗(yàn)軟件測試概述1.1軟件測試的地位和作用1.2軟件測試的目的1.3軟件測試的原則1.41.1軟件測試概述1.軟件的概念

軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的一個(gè)部分,它是源程序、數(shù)據(jù)及其相關(guān)文檔的集合。軟件程序2.軟件缺陷的概念

軟件缺陷(Defect)是指計(jì)算機(jī)軟件中存在的某種破壞其正常運(yùn)行的問題、錯(cuò)誤,或者其中隱藏的功能缺陷,稱為“Bug”,“Bug”在英語中是臭蟲的意思,通常用“Bug”表示計(jì)算機(jī)系統(tǒng)硬件或軟件中隱藏的錯(cuò)誤、缺陷或問題。

軟件缺陷的存在會(huì)導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶的需要。2.軟件缺陷的概念軟件項(xiàng)目復(fù)雜溝通交流不夠程序設(shè)計(jì)錯(cuò)誤軟件需求變化代碼文檔缺陷開發(fā)工具錯(cuò)誤軟件缺陷的案例原因地面系統(tǒng)軟件和飛行器上軟件分別使用公制和英制兩種單位。1999年;火星氣象衛(wèi)星(MarsClimateOrbiter)到達(dá)火星之后不久就消失;火星極地登陸者(MarsPolarLander)在火星上著陸時(shí)墜毀?!鹦菢O地登陸者——千年蟲在20世紀(jì)70年代,程序員為了節(jié)約非常寶貴的內(nèi)存資源和硬盤空間,在存儲(chǔ)日期時(shí),只保留年份的后兩位。軟件缺陷的案例——高鐵事故軟件缺陷的案例3.軟件測試的概念

簡單地說,軟件測試就是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。

軟件測試的主要工作是驗(yàn)證(Verification)和確認(rèn)(Validation)。

軟件測試的對(duì)象不僅僅是程序,還包括整個(gè)軟件開發(fā)期間各個(gè)階段所產(chǎn)生的文檔。4.測試用例的概念

測試用例是為某個(gè)特定目標(biāo)而編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求。

測試用例(TestCase)可以用一個(gè)簡單的公式來表示:測試用例=輸入+輸出+測試環(huán)境37測試用例設(shè)計(jì)的基本原則數(shù)量越少越好典型性越高越好對(duì)缺陷的定位性越強(qiáng)越好4.測試用例的概念5.測試環(huán)境的概念

簡單地說,測試環(huán)境就是軟件運(yùn)行的平臺(tái),即進(jìn)行軟件測試所必需的工作平臺(tái)和前提條件,可用如下公式來表示:測試環(huán)境=硬件+軟件+網(wǎng)絡(luò)+歷史數(shù)據(jù)

需求分析階段進(jìn)行這些測試有助于明確系統(tǒng)需求,些測試將成為最終測試單元的核心。系統(tǒng)設(shè)計(jì)階段系統(tǒng)設(shè)計(jì)階段要闡明一般測試策略,如測試方法和測試評(píng)價(jià)標(biāo)準(zhǔn),并創(chuàng)建測試計(jì)劃。另外,重大測試事件的日程安排也應(yīng)在這一階段構(gòu)建,同時(shí)還要建立質(zhì)量保證和測試文檔的框架。1.2軟件測試的地位和作用

系統(tǒng)編碼階段代碼走查和代碼審查都是有效的人工測試技術(shù);靜態(tài)分析技術(shù)通過分析程序特征來排除錯(cuò)誤;對(duì)于大型程序,需要用自動(dòng)化工具來完成這些分析。系統(tǒng)測試階段測試應(yīng)用系統(tǒng)應(yīng)著眼于功能上的測試,嚴(yán)格控制和管理測試信息是最重要的。1.2軟件測試的地位和作用

系統(tǒng)安裝階段系統(tǒng)安裝階段的測試必須確保投入運(yùn)行的程序是正確的,例如,程序是正確的版本,確保數(shù)據(jù)被正確地更改和增加。系統(tǒng)維護(hù)階段系統(tǒng)在每一次更改之后都需要重新測試,這種重新進(jìn)行的測試稱為回歸測試。1.2軟件測試的地位和作用1.3軟件測試的目的1軟件測試是一個(gè)為了發(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ò)誤的測試。1.4軟件測試的原則1應(yīng)當(dāng)把“盡早地和不斷地進(jìn)行軟件測試”作為軟件開發(fā)者的座右銘。2程序員應(yīng)避免檢查自己的程序。3測試用例應(yīng)由測試輸入數(shù)據(jù)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果兩部分組成。4在設(shè)計(jì)測試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。5充分注意軟件測試時(shí)的群集現(xiàn)象。6嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性。7應(yīng)當(dāng)對(duì)每一個(gè)測試結(jié)果做全面檢查。8妥善保存測試過程中產(chǎn)生的各種數(shù)據(jù)和文檔。9注意回歸測試的關(guān)聯(lián)性。充分注意軟件測試時(shí)的群集現(xiàn)象。1.4軟件測試的原則1.5軟件測試的分類1.單元測試

單元測試(UnitTesting)又稱模塊測試(ModuleTesting),是指對(duì)軟件中的最小可測試單元進(jìn)行測試。單元測試具有以下優(yōu)點(diǎn)。(1)是一種管理和組合測試元素的手段。(2)可以減輕調(diào)試的難度。(3)提供同時(shí)測試多個(gè)單元的可能。2.集成測試

集成測試(IntegrationTesting)又稱為組裝測試,是在單元測試的基礎(chǔ)上,按照設(shè)計(jì)要求,將通過單元測試的單元組裝成系統(tǒng)或子系統(tǒng)而進(jìn)行的測試。3.系統(tǒng)測試

系統(tǒng)測試(SystemTesting)是為了驗(yàn)證和確認(rèn)系統(tǒng)是否達(dá)到其原始目標(biāo),而對(duì)集成的硬件和軟件系統(tǒng)進(jìn)行的測試,是在真實(shí)或模擬系統(tǒng)運(yùn)行的環(huán)境下,檢查完整的程序是否能和系統(tǒng)(包括系統(tǒng)軟件、支持平臺(tái)、硬件、外設(shè)和網(wǎng)絡(luò))正確配置、連接,并滿足用戶需求。4.確認(rèn)測試

確認(rèn)測試是通過檢驗(yàn)和提供客觀證據(jù),證實(shí)軟件是否滿足特定預(yù)期用途的需求,檢測與證實(shí)軟件是否滿足軟件需求說明書中規(guī)定的要求。5.驗(yàn)收測試

驗(yàn)收測試(AcceptanceTesting)又稱接受測試,是在系統(tǒng)測試后期,以用戶測試為主,或有質(zhì)量保證人員共同參與的測試。

驗(yàn)收測試又分為α測試和β測試。

α測試也稱為開發(fā)方測試,開發(fā)方通過檢測和提供客觀證據(jù),證明軟件運(yùn)行是否滿足用戶規(guī)定的需求。 β測試是內(nèi)部測試之后的外部公開測試,是將軟件完全交給用戶,讓用戶在實(shí)際使用環(huán)境下進(jìn)行的對(duì)產(chǎn)品預(yù)發(fā)版本的測試。1.5.2按是否需要執(zhí)行被測試軟件分類1.靜態(tài)測試

靜態(tài)測試(StaticTesting)又稱為靜態(tài)分析(StaticAnalysis),是不實(shí)際運(yùn)行被測軟件,而是直接分析軟件的形式和結(jié)構(gòu),從而查找缺陷的測試。測試程序代碼測試程度代碼主要是為了查看代碼是否符合相應(yīng)的標(biāo)準(zhǔn)和規(guī)范。測試界面測試界面主要是查看軟件的實(shí)際操作和運(yùn)行界面是否符合需求中的相關(guān)說明,是否符合用戶的要求。文檔測試文檔測試主要是檢查需求規(guī)格說明書、用戶手冊(cè)與需求說明是否真正符合用戶的實(shí)際需求。2.動(dòng)態(tài)測試

動(dòng)態(tài)測試(DynamicTesting)又稱為動(dòng)態(tài)分析(DynamicAnalysis),是指需要實(shí)際運(yùn)行被測軟件,通過觀察程序運(yùn)行時(shí)所表現(xiàn)出來的狀態(tài)、行為等發(fā)現(xiàn)軟件缺陷的測試。1.5.3按是否需要查看代碼分類1.黑盒測試

黑盒測試(Black-boxTesting)是軟件測試的主要方法之一,也稱功能性測試(FunctionalTesting)或數(shù)據(jù)驅(qū)動(dòng)測試(Data-drivenTesting),但并不僅限于功能測試。2.白盒測試

白盒測試主要分析程序內(nèi)部的邏輯結(jié)構(gòu)及算法,通常不關(guān)心功能與性能指標(biāo)。

白盒測試又稱為結(jié)構(gòu)性測試(StructuralTesting)或邏輯驅(qū)動(dòng)測試(Logic-drivenTesting)。

3.灰盒測試

灰盒測試是介于白盒測試和黑盒測試之間的測試,灰盒測試關(guān)注輸出對(duì)于輸入的正確性,同時(shí)也關(guān)注內(nèi)部表現(xiàn),但這種關(guān)注不像白盒測試那樣詳細(xì)、完整,只是通過一些表征性的現(xiàn)象、事件和標(biāo)志來判斷內(nèi)部的運(yùn)行狀態(tài)。1.5.4按測試執(zhí)行時(shí)是否需要人工干預(yù)分類手工測試手工測試完全由人工完成測試工作,包括制訂測試計(jì)劃、設(shè)計(jì)和執(zhí)行測試用例、檢查和分析測試結(jié)果等。自動(dòng)測試自動(dòng)測試是各種測試活動(dòng)的管理與實(shí)施使用自動(dòng)化測試工具或自動(dòng)化測試腳本來進(jìn)行的測試,以某種自動(dòng)測試工具來驗(yàn)證測試需求。1.5.5按測試目的分類功能測試界面測試性能測試負(fù)載測試易用性測試兼容性測試安全性測試壓力測試可靠性測試健壯性測試1.5.6其他測試類型冒煙測試冒煙測試的名稱可以理解為該種測試耗時(shí)短,僅用一袋煙功夫足夠了。也有人認(rèn)為該名稱是形象地類比新電路板基本功能檢查,任何新電路板焊好后,先通電檢查,如果存在設(shè)計(jì)缺陷,電路板可能會(huì)短路冒煙。隨機(jī)測試隨機(jī)測試是這樣一種測試,在測試中,測試數(shù)據(jù)是隨機(jī)產(chǎn)生的。這樣的測試有時(shí)被稱為猴子測試(MonkeyTesting)?;貧w測試回歸測試是驗(yàn)證缺陷是否修改正確和修改過程中是否會(huì)引入新問題的活動(dòng),回歸測試并不是一個(gè)測試級(jí)別,卻是各個(gè)測試階段必須包括的一個(gè)測試活動(dòng)。1.6軟件測試的流程制定測試計(jì)劃軟件測試背景軟件測試依據(jù)測試范圍的界定測試風(fēng)險(xiǎn)的確定測試資源的確定測試策略的確定制訂測試進(jìn)度表設(shè)計(jì)測試用例和測試過程測試用例是為特定目標(biāo)開發(fā)的測試輸入、執(zhí)行條件和預(yù)期結(jié)果的集合,這些特定目標(biāo)可以用于驗(yàn)證一個(gè)特定的程序路徑,或核實(shí)是否符合特定需求。測試過程一般分成幾個(gè)階段:代碼審查、單元測試、集成測試、系統(tǒng)測試和驗(yàn)收測試等。實(shí)施軟件測試測試準(zhǔn)備和建立測試環(huán)境。獲取測試數(shù)據(jù)。執(zhí)行測試。執(zhí)行測試一般由輸入、執(zhí)行過程、檢查過程和輸出4個(gè)部分組成。評(píng)估和總結(jié)軟件測試軟件測試的主要評(píng)估方法包括缺陷評(píng)估、測試覆蓋和質(zhì)量評(píng)測。質(zhì)量評(píng)測是對(duì)測試對(duì)象的可靠性、穩(wěn)定性以及性能的評(píng)測,它建立在對(duì)測試結(jié)果的評(píng)估和對(duì)測試過程中確定的變更請(qǐng)求分析的基礎(chǔ)上。1.6軟件測試的流程軟件測試過程V模型特點(diǎn):非常明確地表明了測試的不同級(jí)別,清晰地展示了軟件測試與開發(fā)之間的關(guān)系1.7軟件測試模型

軟件測試過程W模型1.7軟件測試模型1.8場景設(shè)計(jì)法

場景設(shè)計(jì)法是一種典型的黑盒測試方法,它不考慮軟件的內(nèi)部結(jié)構(gòu)。

場景設(shè)計(jì)法的一般步驟如下。

1構(gòu)造基本流和備選流2根據(jù)基本流和備選流構(gòu)造場景。3根據(jù)場景設(shè)計(jì)測試用例。4對(duì)每個(gè)測試用例補(bǔ)充必要的測試數(shù)據(jù)。基本流基本流是整個(gè)業(yè)務(wù)流程中最基本的一個(gè)事件流程備選流備選流以基本流為基礎(chǔ),在經(jīng)過的每個(gè)判定節(jié)點(diǎn)處滿足不同的觸發(fā)條件而導(dǎo)致的其他事件流。場景所謂場景,可以看作是基本流與備選流的有序集合。1.8場景設(shè)計(jì)法備選流3備選流2備選流1基本流開始測試結(jié)束測試圖1-1場景法的基本流與備選流1.9軟件開發(fā)與軟件測試的基線

基線(Baseline)是一個(gè)已經(jīng)被正式評(píng)審和批準(zhǔn)的規(guī)格或產(chǎn)品,它作為進(jìn)一步開發(fā)的一個(gè)基礎(chǔ),并且必須通過正式的變更流程來變更。

基線是軟件文檔或源碼(或其他產(chǎn)出物)的一個(gè)穩(wěn)定版本,它是進(jìn)一步開發(fā)的基礎(chǔ),基線是項(xiàng)目儲(chǔ)存庫中每個(gè)工件版本在特定時(shí)期的一個(gè)“快照”?!疽龑?dǎo)測試】【任務(wù)1-1】對(duì)Windows操作系統(tǒng)自帶的計(jì)算器的功能和界面進(jìn)行測試【任務(wù)描述】

對(duì)Windows操作系統(tǒng)自帶的計(jì)算器的功能實(shí)現(xiàn)情況和用戶界面進(jìn)行測試,檢驗(yàn)計(jì)算器的功能和界面是否符合規(guī)格說明書?!救蝿?wù)實(shí)施】1.設(shè)計(jì)軟件測試用例(1)功能測試用例設(shè)計(jì)。

計(jì)算器的功能測試用例如表1-2所示。(2)用戶界面測試用例設(shè)計(jì)。

計(jì)算器的用戶界面測試用例如表1-3所示。測試用例編號(hào)測試范圍測試用例預(yù)期輸出calcTest11窗口界面窗體大小、控件布局、前景與背景顏色合理calcTest12快速或慢速移動(dòng)窗體背景及窗體本身刷新正確calcTest13改變屏幕顯示分辨率顯示正常calcTest14菜單界面菜單功能齊全且能正確執(zhí)行calcTest15菜單的快捷命令方式合適calcTest16菜單文本的字體、大小和格式合適calcTest17菜單名稱具有自解釋性calcTest18菜單標(biāo)題簡明、有意義calcTest19命令按鈕命令按鈕的標(biāo)識(shí)與操作響應(yīng)一致calcTest20單擊命令按鈕響應(yīng)操作正確calcTest21非法的運(yùn)算式給出對(duì)應(yīng)的提示信息calcTest22文本框顯示運(yùn)算結(jié)果與提示信息正確表1-3 計(jì)算器的用戶界面測試用例2.執(zhí)行軟件測試與分析測試結(jié)果(1)執(zhí)行功能測試。 Windows操作系統(tǒng)自帶的計(jì)算器運(yùn)行外觀如圖1-2所示。圖1-2

Windows操作系統(tǒng)自帶計(jì)算器的運(yùn)行外觀續(xù)表(2)執(zhí)行用戶界面測試。

計(jì)算器用戶界面的測試過程如表1-5所示。測試順序測試范圍測試內(nèi)容測試方法測試結(jié)論11窗口界面窗體大小、控件布局、前景與背景顏色目測合格12快速或慢速移動(dòng)窗體移動(dòng)操作、目測合格13改變屏幕顯示分辨率操作、目測合格14菜單界面菜單功能操作、目測合格15菜單的快捷命令方式目測合格16菜單文本的字體、大小和格式目測合格17菜單名稱目測合格18菜單標(biāo)題目測合格19命令按鈕命令按鈕的標(biāo)識(shí)與操作響應(yīng)操作、目測合格20單擊命令按鈕響應(yīng)操作操作、目測合格21非法的運(yùn)算式操作、目測合格22文本框顯示運(yùn)算結(jié)果與提示信息操作、目測合格表1-5 計(jì)算器用戶界面的測試過程【任務(wù)1-2】應(yīng)用場景法對(duì)ATM機(jī)進(jìn)行黑盒測試【任務(wù)描述】 ATM機(jī)操作用例如圖1-3所示,假設(shè)某銀行的ATM機(jī)內(nèi)目前的現(xiàn)金為5000元,卡號(hào)尾數(shù)為468596的銀行卡的賬面金額為600元,該銀行卡的密碼為123456,應(yīng)用場景法設(shè)計(jì)測試用例,對(duì)ATM機(jī)的密碼驗(yàn)證功能和取款功能進(jìn)行測試。圖1-3

ATM機(jī)操作用例圖【任務(wù)實(shí)施】1.設(shè)計(jì)軟件測試用例(1)分析ATM機(jī)取款的基本流和備選流。 ATM機(jī)取款的基本流和備選流如表1-6所示。流的類型流的描述基本流正常的取款備選流備選流1ATM機(jī)內(nèi)沒有現(xiàn)金備選流2ATM機(jī)內(nèi)現(xiàn)金不足備選流3密碼有誤(限制3次輸入機(jī)會(huì))備選流4賬戶不存在或賬戶類型有誤備選流5賬戶余額不足表1-6 ATM機(jī)取款的基本流和備選流(2)分析設(shè)計(jì)場景。 ATM機(jī)取款的場景設(shè)計(jì)如表1-7所示。場景編號(hào)場景名稱流場景1成功取款基本流場景2ATM機(jī)內(nèi)沒有現(xiàn)金基本流備選流1場景3ATM機(jī)內(nèi)現(xiàn)金不足基本流備選流2場景4密碼有誤(第1次密碼錯(cuò)誤)基本流備選流3場景5密碼有誤(第2次密碼錯(cuò)誤)基本流備選流3場景6密碼有誤(第3次密碼錯(cuò)誤)基本流備選流3場景7賬戶不存在或賬戶類型有誤基本流備選流4場景8賬戶余額不足基本流備選流5表1-7 ATM機(jī)取款的場景設(shè)計(jì)(3)構(gòu)造測試用例設(shè)計(jì)矩陣。

表1-7中的8個(gè)場景中的每個(gè)都需要確定測試用例,可以采用矩陣或決策表來確定和管理測試用例。用例編號(hào)場景密碼賬號(hào)輸入或選擇的金額賬面金額ATM機(jī)內(nèi)的現(xiàn)金預(yù)期結(jié)果bankCardTest01場景1vvvvv成功取款bankCardTest02場景2vvvvi取款功能不可用bankCardTest03場景3vvvvi警告重新輸入取款金額bankCardTest04場景4ivnvv警告重新輸入密碼bankCardTest05場景5ivnvv警告重新輸入密碼bankCardTest06場景6ivnvv警告沒有機(jī)會(huì)重新輸入密碼bankCardTest07場景7niniv警告賬戶不能用bankCardTest08場景8vvviv警告賬戶余額不足表1-8 測試用例設(shè)計(jì)矩陣2.執(zhí)行軟件測試與分析測試結(jié)果

確定了測試用例,就應(yīng)對(duì)這些用例進(jìn)行復(fù)審和驗(yàn)證以確保其準(zhǔn)確且適用,并取消多余或等效的測試用例。測試順序場景密碼賬號(hào)輸入或選擇的金額賬面金額ATM機(jī)內(nèi)的現(xiàn)金操作結(jié)果測試結(jié)論1場景11234564685962006005000成功取款200元,賬戶余額為400元合格2場景21234564685962006000取款選項(xiàng)不可見,取款功能不可用合格3場景3123456468596200600100重新輸入取款金額100元或50元合格4場景4222222468596n6005000警告重新輸入密碼合格5場景5333333468596n6005000警告重新輸入密碼合格6場景6444444468596n6005000警告沒有機(jī)會(huì)重新輸入密碼合格7場景712345646m596n6005000警告賬戶不能用合格8場景812345646859610006005000警告賬戶余額不足合格表1-9 測試用例實(shí)施矩陣【探索測試】【任務(wù)1-3】應(yīng)用場景法對(duì)QQ登錄的功能和界面進(jìn)行測試【任務(wù)描述】

應(yīng)用場景法設(shè)計(jì)測試用例,對(duì)QQ登錄模塊的用戶界面和功能進(jìn)行測試?!緶y試提示】 QQ登錄時(shí),如果輸入的賬號(hào)不存在,會(huì)出現(xiàn)如圖1-4所示的提示信息。 QQ登錄時(shí)輸入正確的賬號(hào),但輸入的密碼有誤,如圖1-5所示。圖1-4

QQ登錄時(shí)輸入的賬號(hào)不存在圖1-5

QQ登錄時(shí)輸入正確的賬號(hào)和錯(cuò)誤密碼

單擊【登錄】按鈕會(huì)出現(xiàn)如圖1-6所示的提示信息。 QQ登錄時(shí),如果登錄地與常登錄地不符,則要求輸入驗(yàn)證碼,如圖1-7所示。圖1-6

QQ登錄時(shí)輸入的密碼不存在出現(xiàn)的提示信息圖1-7輸入驗(yàn)證碼的提示信息 QQ登錄超時(shí)會(huì)出現(xiàn)如圖1-8所示的提示信息。 QQ登錄時(shí),如果輸入的賬號(hào)和密碼都正確,如圖1-9所示,則可以成功登錄QQ。圖1-8

QQ登錄超時(shí)的提示信息圖1-9

QQ登錄時(shí)賬號(hào)和密碼都正確【小結(jié)】

本單元主要介紹了軟件測試的基本概念,軟件測試在整個(gè)軟件開發(fā)生命周期中的地位和作用,軟件測試的分類,對(duì)軟件測試人員的要求,軟件測試的目的、原則和流程等內(nèi)容,同時(shí)對(duì)場景設(shè)計(jì)法與軟件測試的基線進(jìn)行了具體闡述,并通過多個(gè)測試實(shí)例的執(zhí)行體驗(yàn)了軟件測試。

UML技術(shù)目錄UML語言概述基本元素關(guān)系元素圖和視圖規(guī)則公共機(jī)制UML定義統(tǒng)一表示是一種通用的標(biāo)準(zhǔn),稱為軟件工業(yè)界的一種標(biāo)準(zhǔn)。UML表述的內(nèi)容能被各類人員所理解,包括客戶、領(lǐng)域?qū)<摇⒎治鰩?、設(shè)計(jì)師、程序員、測試工程師及培訓(xùn)人員等。建模建立軟件系統(tǒng)的模型。語言表明它是一套按照特定規(guī)則和模式組成的符號(hào)系統(tǒng),它用半形式化方法定義,即用圖形符號(hào)、自然語言和形式語言相結(jié)合的方法來描述定義的。構(gòu)建一個(gè)小狗屋制造需求:

最小模型

簡單的過程

簡單的工具構(gòu)造一棟房屋一個(gè)團(tuán)體建設(shè)需要更高的效率、更精確的時(shí)間限制。需求

模型

良好定義的過程

功能強(qiáng)大的工具構(gòu)建一個(gè)高層建筑早期的結(jié)構(gòu)過程-有限的理論知識(shí)現(xiàn)代的結(jié)構(gòu)進(jìn)步-先進(jìn)的原材料-先進(jìn)的分析房屋建模UML用途UML可以做軟件需求分析UML可以做軟件開發(fā)設(shè)計(jì)UML可以做系統(tǒng)部署設(shè)計(jì)UML也適用非軟件領(lǐng)域的系統(tǒng)建模如企業(yè)機(jī)構(gòu)或業(yè)務(wù)過程UML圖形的工具

RationalRose PowerDesigner MSVisio ArgoUML StarUML在UML中,圖作為一種可視化的方式聚集了相關(guān)需要表達(dá)的事物,并且表達(dá)了這些事物之間的關(guān)系。事物是對(duì)模型中最具有代表性的成分的抽象,關(guān)系描述了事物之間如何彼此關(guān)聯(lián)、相互依賴或作用的。正是關(guān)系把構(gòu)成系統(tǒng)的諸多事物結(jié)合成一個(gè)有機(jī)的整體。模型元素UML語言的構(gòu)成從可視化的角度來進(jìn)行UML的概念和模型的劃分。基本元素關(guān)系元素視圖公共機(jī)制UML的基本元素

事物是UML模型中面向?qū)ο蟮幕驹睾湍K,它們?cè)谀P椭袑儆陟o態(tài)部分。

1結(jié)構(gòu)2行為3分組4注釋事物結(jié)構(gòu)

結(jié)構(gòu)是UML模型中的名詞部分,這些名詞往往構(gòu)成模型的靜態(tài)部分,負(fù)責(zé)描述靜態(tài)概念和客觀元素。結(jié)構(gòu)類接口協(xié)作用例主動(dòng)類構(gòu)件節(jié)點(diǎn)結(jié)構(gòu)元素

1.類和對(duì)象類是對(duì)具有相同屬性、相同操作、相同關(guān)系的一組對(duì)象的共同特征的抽象,類是對(duì)象的模板,對(duì)象是類的一個(gè)實(shí)例。圖People類表示Peopleagespeak()breathe()fly()李自成:People

對(duì)象“李自成”的表示方法結(jié)構(gòu)元素

2.接口

因?yàn)?,外界?duì)類(或構(gòu)件)的使用,是通過類(或構(gòu)件)的方法來實(shí)現(xiàn)的,因此,我們把類或構(gòu)件的方法集合稱為接口。接口向外界聲明了它能提供的服務(wù)。供給接口需求接口圖

接口的表示結(jié)構(gòu)元素

3.主動(dòng)類主動(dòng)類是指該類創(chuàng)建的對(duì)象至少擁有一個(gè)進(jìn)程或線程,通過進(jìn)程或線程控制任務(wù)的執(zhí)行。主動(dòng)類的表示與一般類相似,只是最外框是粗線描述而已。如主動(dòng)類”Radio”的表示如圖所示。圖主動(dòng)類的表示結(jié)構(gòu)元素

4.用例在系統(tǒng)中,為完成某個(gè)任務(wù)而執(zhí)行的一序列動(dòng)作,以實(shí)現(xiàn)某種功能,我們把這些動(dòng)作的集合稱為用例實(shí)例。用例是對(duì)一組用例實(shí)例共同特征的描述,用例與用例實(shí)例的關(guān)系,正如類與對(duì)象的關(guān)系。用例是著名的大師IvarJacobson首先提出的。用戶登錄圖

用例“用戶登錄”的表示方法結(jié)構(gòu)元素

5.協(xié)作協(xié)作是指有意義的交互,即,一組對(duì)象為了完成某個(gè)任務(wù),相互間進(jìn)行的交互。用例的實(shí)現(xiàn):實(shí)現(xiàn)某個(gè)用例的一組對(duì)象之間的交互,即,把一個(gè)用例表示為多個(gè)對(duì)象間的交互(協(xié)作)。從本質(zhì)上說,協(xié)作就是用例的實(shí)現(xiàn)。圖

協(xié)作“銷售房產(chǎn)”結(jié)構(gòu)元素

6.構(gòu)件構(gòu)件也稱組件:系統(tǒng)設(shè)計(jì)中,一個(gè)相對(duì)獨(dú)立的軟件部件,它把功能實(shí)現(xiàn)部分隱藏在內(nèi)部,對(duì)外聲明了一組接口(包括供給接口和需求接口)。因此,兩個(gè)具有相同接口的構(gòu)件可以相互替換。構(gòu)件是比“類”更大的軟件部件。COM組件JavaBeanDLL圖

構(gòu)件的表示結(jié)構(gòu)元素

7.節(jié)點(diǎn)節(jié)點(diǎn)是指硬件系統(tǒng)中的物理部件,它通常具有存儲(chǔ)空間或處理能力。圖

節(jié)點(diǎn)server的表示Server打印機(jī)服務(wù)器PC機(jī)UML的基本元素行為行為是指UML模型的相關(guān)動(dòng)態(tài)行為,是UML模型的動(dòng)態(tài)部分,它可以用來描述跨越時(shí)間和空間的行為。行為在模型中通常使用動(dòng)詞來進(jìn)行表示。例如“注冊(cè)”、“銷毀”等。

交互狀態(tài)行為元素

1.交互交互(interaction)是為了完成某個(gè)任務(wù)的對(duì)象之間相互作用,這種作用是通過信息的發(fā)送和接受來完成的。消息名稱圖

交互的表示方法行為元素

2.狀態(tài)機(jī)狀態(tài)機(jī)(statemachine)在對(duì)象生命周期內(nèi),在事件驅(qū)動(dòng)下,對(duì)象從一種狀態(tài)遷移到另一狀態(tài)的狀態(tài)序列,這些狀態(tài)序列構(gòu)成了狀態(tài)機(jī),即,一個(gè)狀態(tài)機(jī)由多個(gè)狀態(tài)組成。圖“等待”狀態(tài)的表示方法UML的基本元素分組

分組是UML對(duì)模型中的各種組成部分進(jìn)行事物分組的一種機(jī)制。我們可以把分組當(dāng)成是一個(gè)“盒子”,那么不同的“盒子”就存放不同的模型,從而模型在其中被分解。

包數(shù)據(jù)訪問圖“數(shù)據(jù)訪問”包的表示方法UML的基本元素注釋注釋是UML模型的解釋部分,用于進(jìn)一步說明UML模型中的其它任何組成部分。我們可以用注釋事物來描述、說明和標(biāo)注整個(gè)UML模型中的任何元素。注解可以幫助我們更加詳細(xì)的解釋要說明的模型元素所代表的內(nèi)容。UML中的關(guān)系元素關(guān)系

UML模型是由各種事物以及這些事物之間的各種關(guān)系構(gòu)成的。關(guān)系是指支配、協(xié)調(diào)各種模型元素存在并相互使用的規(guī)則。

依賴關(guān)聯(lián)泛化實(shí)現(xiàn)關(guān)系

1.依賴關(guān)系:依賴關(guān)系指的是兩個(gè)事物之間的一種語義關(guān)系,當(dāng)其中一個(gè)事物(獨(dú)立事物)發(fā)生變化就會(huì)影響另外一個(gè)事物(依賴事物)的語義。2.關(guān)聯(lián)關(guān)系:是一種事物之間的結(jié)構(gòu)關(guān)系,我們用它來描述一組鏈,鏈?zhǔn)菍?duì)象之間的連接。聚合是一種特殊類型的關(guān)聯(lián),它描述了整體和部分間的結(jié)構(gòu)關(guān)系。組成也是一種關(guān)聯(lián)關(guān)系,描述了整體和部分間的結(jié)構(gòu)關(guān)系,只是部分是不能夠離整體而獨(dú)立存在的。關(guān)系聚集組成

3.泛化關(guān)系:是事物之間的一種特殊/一般關(guān)系,特殊元素(子元素)的對(duì)象可替代一般元素(父元素)的對(duì)象,也就是我們?cè)诿嫦驅(qū)ο髮W(xué)中常常提起的繼承。關(guān)系4.實(shí)現(xiàn)關(guān)系:是UML元素之間的一種語義關(guān)系,它描述了一組操作的規(guī)約和一組對(duì)操作的具體實(shí)現(xiàn)之間的語義關(guān)系。關(guān)系視圖和圖視圖

UML是用模型來描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征以及行為或動(dòng)態(tài)特征的,它從不同的視角為系統(tǒng)的架構(gòu)建模形成系統(tǒng)的不同視圖(view)。靜態(tài)視圖用例視圖交互視圖實(shí)現(xiàn)視圖狀態(tài)機(jī)視圖活動(dòng)視圖部署視圖模型管理視圖視圖用例視圖用例視圖描述了系統(tǒng)的參與者與系統(tǒng)進(jìn)行交互的功能,是參與者所能觀察和使用到的系統(tǒng)功能的模型圖。一個(gè)用例是系統(tǒng)的一個(gè)功能單元,是系統(tǒng)參與者與系統(tǒng)之間進(jìn)行的一次交互作用。視圖交互視圖

交互視圖描述了執(zhí)行系統(tǒng)功能的各個(gè)角色之間相互傳遞消息的順序關(guān)系,是描繪系統(tǒng)中各種角色或功能交互的模型。交互視圖顯示了跨越多個(gè)對(duì)象的系統(tǒng)控制流程。

序列圖協(xié)作圖圖

UML作為一種可視化的建模語言,其主要表現(xiàn)形式就是將模型進(jìn)行圖形化表示。圖用例圖類圖序列圖活動(dòng)圖構(gòu)件圖部署圖圖用例圖

用例圖描述了系統(tǒng)提供的一個(gè)功能單元。用例圖的主要目的是幫助開發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求,包括基于基本流程的“角色”關(guān)系,以及系統(tǒng)內(nèi)用例之間的關(guān)系。使用用例圖可以表示出用例的組織關(guān)系,這種組織關(guān)系包括整個(gè)系統(tǒng)的全部用例或者是完成相關(guān)功能的一組用例。圖類圖類圖顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu),表示了不同的實(shí)體(人、事物和數(shù)據(jù))是如何彼此相關(guān)聯(lián)起來。類圖可用于表示邏輯類,邏輯類通常就是用戶的業(yè)務(wù)所談及的事物,比如說學(xué)生、學(xué)校等。類圖還可用于表示實(shí)現(xiàn)類,實(shí)現(xiàn)類就是程序員處理的實(shí)體。圖序列圖序列圖顯示了一個(gè)具體用例或者用例的一部分的一個(gè)詳細(xì)流程。它幾乎是自描述的,序列圖不僅可以顯示了流程中不同對(duì)象之間的調(diào)用關(guān)系,還可以很詳細(xì)地顯示對(duì)不同對(duì)象的不同調(diào)用。序列圖有兩個(gè)維度:垂直維度,也稱時(shí)間維度,以發(fā)生的時(shí)間順序顯示消息或調(diào)用的序列;水平維度顯示消息被發(fā)送到的對(duì)象實(shí)例。圖狀態(tài)圖狀態(tài)圖表示某個(gè)類所處的不同狀態(tài)及該類在這些狀態(tài)中的轉(zhuǎn)換過程。狀態(tài)圖的符號(hào)集包含了下列五個(gè)基本的元素:初始起點(diǎn),狀態(tài)之間的轉(zhuǎn)換,狀態(tài),判斷點(diǎn),一個(gè)或者多個(gè)終止點(diǎn),它們使用內(nèi)部包含實(shí)心圓的圓來繪制。圖活動(dòng)圖

活動(dòng)圖是用來表示兩個(gè)或者更多的對(duì)象之間在處理某個(gè)活動(dòng)時(shí)的過程控制流程?;顒?dòng)圖能夠在業(yè)務(wù)單元的級(jí)別上,對(duì)更高級(jí)別的業(yè)務(wù)過程進(jìn)行建模,或者對(duì)低級(jí)別的內(nèi)部類操作進(jìn)行建模。圖構(gòu)件圖構(gòu)件圖提供系統(tǒng)的物理視圖,它是根據(jù)系統(tǒng)的代碼構(gòu)件顯示了系統(tǒng)代碼的整個(gè)物理結(jié)構(gòu)。構(gòu)件圖最經(jīng)常用于實(shí)際的編程工作中。在以構(gòu)件為基礎(chǔ)的開發(fā)(CBD)中,構(gòu)件圖為系統(tǒng)架構(gòu)師提供了一個(gè)為解決方案進(jìn)行建模的自然形式。圖部署圖部署圖是用于表示該軟件系統(tǒng)如何部署到硬件環(huán)境中,它是顯示在系統(tǒng)中的不同的構(gòu)件在何處物理地運(yùn)行,以及如何進(jìn)行彼此的通信。部署圖對(duì)系統(tǒng)的物理運(yùn)行情況進(jìn)行了建模,因此系統(tǒng)的生產(chǎn)人員就能夠很好地利用這種圖來部署實(shí)際的系統(tǒng)。圖之間的關(guān)系類是對(duì)一組具有相同屬性、相同操作、相同關(guān)系和相同語義的對(duì)象的描述對(duì)象接口是描述

溫馨提示

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

評(píng)論

0/150

提交評(píng)論