軟件測(cè)試 課件 單元1-3 軟件測(cè)試入門、黑盒測(cè)試、白盒測(cè)試_第1頁(yè)
軟件測(cè)試 課件 單元1-3 軟件測(cè)試入門、黑盒測(cè)試、白盒測(cè)試_第2頁(yè)
軟件測(cè)試 課件 單元1-3 軟件測(cè)試入門、黑盒測(cè)試、白盒測(cè)試_第3頁(yè)
軟件測(cè)試 課件 單元1-3 軟件測(cè)試入門、黑盒測(cè)試、白盒測(cè)試_第4頁(yè)
軟件測(cè)試 課件 單元1-3 軟件測(cè)試入門、黑盒測(cè)試、白盒測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩279頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單元1軟件測(cè)試入門目錄認(rèn)識(shí)軟件測(cè)試任務(wù)一正確認(rèn)識(shí)軟件缺陷任務(wù)二理解軟件測(cè)試模型任務(wù)三任務(wù)一認(rèn)識(shí)軟件測(cè)試●軟件測(cè)試是什么?(1)軟件調(diào)試(2)獨(dú)立的軟件測(cè)試(3)定義軟件測(cè)試(4)軟件測(cè)試成為專門學(xué)科(5)開發(fā)與測(cè)試的融合活動(dòng)一認(rèn)識(shí)軟件測(cè)試1979年,GlenfieldJ.Myers提出了他對(duì)軟件測(cè)試的定義:“測(cè)試是未發(fā)現(xiàn)錯(cuò)誤而執(zhí)行的一個(gè)程序或者系統(tǒng)的過程(Theprocessofexecutingaprogramorsystemwiththeintentoffindingerrors)”活動(dòng)一認(rèn)識(shí)軟件測(cè)試Myers給出了與測(cè)試相關(guān)的幾個(gè)重要觀點(diǎn):1.軟件測(cè)試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯(cuò)誤。2.軟件測(cè)試是為了證明程序有錯(cuò)誤而不是證明程序無(wú)錯(cuò)誤。3.一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。4.一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試?;顒?dòng)一認(rèn)識(shí)軟件測(cè)試●軟件測(cè)試的目的1.提高軟件的質(zhì)量軟件測(cè)試的首要目的就是提高軟件的質(zhì)量,也就是讓用戶對(duì)產(chǎn)品有更好的體驗(yàn),保證軟件的高質(zhì)量。2.保證軟件的安全軟件測(cè)試的第二大目的就是保證軟件的安全,有一些軟件是經(jīng)過數(shù)據(jù)加密的,比如各大銀行系統(tǒng)的APP。涉及到資金的支出和存入,對(duì)軟件的安全性要求是特別高的。所以要通過反復(fù)測(cè)試來(lái)提高產(chǎn)品的安全性,保證產(chǎn)品在上線之后不會(huì)出現(xiàn)Bug,尤其對(duì)于金融方面的APP來(lái)說(shuō),任何漏洞都是致命的?;顒?dòng)一認(rèn)識(shí)軟件測(cè)試3.降低軟件開發(fā)成本軟件測(cè)試的另外一個(gè)目的就是降低軟件的開發(fā)成本,在開發(fā)過程中發(fā)現(xiàn)Bug及時(shí)調(diào)整,這樣的損失是很小的,一旦產(chǎn)品上線或是即將完成開發(fā)而發(fā)現(xiàn)Bug,那么可能會(huì)造成產(chǎn)品大改動(dòng),這樣就意味著以往的精力全部白費(fèi)。因此測(cè)試的存在就是為了降低開發(fā)成本。比如迪士尼的一款獅子王的軟件,借著獅子王的名聲,預(yù)期本應(yīng)是好評(píng)如潮,也能通過這款軟件獲益。但因?yàn)樵诤芏嘞到y(tǒng)上都無(wú)法使用,所以造成了大量的用戶投訴和下線、卸載等,對(duì)成本造成了非常大的損失。那如果當(dāng)時(shí)這款軟件能夠在不同的系統(tǒng)上進(jìn)行測(cè)試,在上線前將所有的問題全部解決掉,肯定會(huì)大大降低成本?;顒?dòng)一認(rèn)識(shí)軟件測(cè)試4.降低企業(yè)風(fēng)險(xiǎn)除了降低開發(fā)成本,還可以降低企業(yè)風(fēng)險(xiǎn),試想如果軟件存在的問題過多,毫無(wú)疑問會(huì)影響企業(yè)的信譽(yù),最終直接導(dǎo)致企業(yè)的合作企業(yè)變少,直接損害公司的收益。但如果有測(cè)試人員在中間嚴(yán)格把關(guān),就完全不會(huì)出現(xiàn)這樣的問題。5.提升用戶體驗(yàn)感開發(fā)人員在開發(fā)過程中都是以順向思維來(lái)編寫程序代碼的,所以很少有開發(fā)人員能夠站在用戶角度去思考。但是測(cè)試人員不一樣,測(cè)試要以逆向思維來(lái)思考程序會(huì)在哪一步有問題,站在用戶的角度進(jìn)行測(cè)試,這樣上線的產(chǎn)品將很符合用戶的需求,用戶使用時(shí)也比較順手,增加用戶體驗(yàn)感?;顒?dòng)一認(rèn)識(shí)軟件測(cè)試●軟件測(cè)試的原則1.測(cè)試應(yīng)基于客戶需求所有的測(cè)試工作都應(yīng)該建立在滿足客戶需求的基礎(chǔ)上,從客戶角度來(lái)看,最嚴(yán)重的錯(cuò)誤就是軟件無(wú)法滿足要求。有時(shí)候,軟件產(chǎn)品的測(cè)試結(jié)果非常完美,但卻不是客戶最終想要的產(chǎn)品,那么軟件產(chǎn)品的開發(fā)就是失敗的,而測(cè)試工作也是沒有任何意義的。因此測(cè)試應(yīng)依照客戶的需求配置環(huán)境,并且按照客戶的使用習(xí)慣進(jìn)行測(cè)試并評(píng)價(jià)結(jié)果。活動(dòng)一認(rèn)識(shí)軟件測(cè)試2.測(cè)試要盡早進(jìn)行軟件的錯(cuò)誤存在于軟件生命周期的各個(gè)階段,因此應(yīng)該盡早開展測(cè)試工作,把軟件測(cè)試貫穿到軟件生命周期的各個(gè)階段中,這樣測(cè)試人員能夠盡早地發(fā)現(xiàn)和預(yù)防錯(cuò)誤,降低錯(cuò)誤修復(fù)的成本。盡早地開展測(cè)試工作有利于幫助測(cè)試人員了解軟件產(chǎn)品的需求和設(shè)計(jì),從而預(yù)測(cè)測(cè)試的難度和風(fēng)險(xiǎn),制訂出完善的計(jì)劃和方案,提高測(cè)試的效率。3.窮盡測(cè)試是不可能的由于時(shí)間和資源的限制,進(jìn)行完全(各種輸入和輸出的全部組合)的測(cè)試是不可能的測(cè)試人員可以根據(jù)測(cè)試的風(fēng)險(xiǎn)和優(yōu)先級(jí)等確定測(cè)試的關(guān)注點(diǎn),從而控制測(cè)試的工作量,在測(cè)試成本、風(fēng)險(xiǎn)和收益之間求得平衡?;顒?dòng)一認(rèn)識(shí)軟件測(cè)試4.遵循GoodEnough原則GoodEnough原則是指測(cè)試的投入與產(chǎn)出要適當(dāng)權(quán)衡,形成充分的質(zhì)量評(píng)估過程,這個(gè)過程建立在測(cè)試花費(fèi)的代價(jià)之上。測(cè)試不充分無(wú)法保證軟件產(chǎn)品的質(zhì)量,但測(cè)試投入過多會(huì)造成資源的浪費(fèi)。隨著測(cè)試資源投入的增加,測(cè)試的產(chǎn)出也是增加的,但當(dāng)投入達(dá)到一定的比例后,測(cè)試的效果就不會(huì)明顯增強(qiáng)了。因此在測(cè)試時(shí)要根據(jù)實(shí)際要求和產(chǎn)品質(zhì)量考慮測(cè)試的投入,最好使測(cè)試投入與產(chǎn)出達(dá)到一個(gè)GoodEnough狀態(tài)。活動(dòng)一認(rèn)識(shí)軟件測(cè)試5.測(cè)試缺陷要符合“二八”定理缺陷的“二八”定理也稱為Pareto原則、缺陷集群效應(yīng),一般情況下,軟件80%缺陷會(huì)集中在20%模塊中,缺陷并不是平均分布的。因此在測(cè)試時(shí),要抓住主要矛盾,如果發(fā)現(xiàn)某些模塊比其他模塊具有更多的缺陷,則要投入更多的人力、精力重點(diǎn)測(cè)試這些模塊以提高測(cè)試效率?;顒?dòng)一認(rèn)識(shí)軟件測(cè)試6.避免缺陷免疫我們都知道蟲子的抗藥性原理,即一種藥物使用久了,蟲子就會(huì)產(chǎn)生抗藥性。而在軟件測(cè)試中,缺陷也是會(huì)產(chǎn)生免疫性的。同樣的測(cè)試用例被反復(fù)使用,發(fā)現(xiàn)缺陷的能力就會(huì)越來(lái)越差;測(cè)試人員對(duì)軟件越熟悉越會(huì)忽略一些看起來(lái)比較小的問題,發(fā)現(xiàn)缺陷的能力也越差,這種現(xiàn)象被稱為軟件測(cè)試的“殺蟲劑”現(xiàn)象。它主要是由于測(cè)試人員沒有及時(shí)更新測(cè)試用例或者是對(duì)測(cè)試用例和測(cè)試對(duì)象過于熟悉,形成了思維定式。要克服這種情況,就要不斷對(duì)測(cè)試用例進(jìn)行修改和評(píng)審,不斷增加新的測(cè)試用例,同時(shí),測(cè)試人員也要發(fā)散思維,不能只是為了完成測(cè)試任務(wù)而做一些輸入和輸出的對(duì)比?;顒?dòng)一認(rèn)識(shí)軟件測(cè)試一、測(cè)試用例的概念測(cè)試用例(TestCase)是為某個(gè)特殊目標(biāo)而編制的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測(cè)試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求。測(cè)試用例=輸入+輸出+測(cè)試環(huán)境測(cè)試用例設(shè)計(jì)的難點(diǎn)在于如何通過少量的數(shù)據(jù)來(lái)有效地揭示軟件缺陷。活動(dòng)二認(rèn)識(shí)測(cè)試用例二、測(cè)試用例的重要性技術(shù)層面指導(dǎo)測(cè)試的實(shí)施規(guī)劃測(cè)試數(shù)據(jù)的準(zhǔn)備編寫測(cè)試腳本的“設(shè)計(jì)規(guī)格說(shuō)明書”降低工作強(qiáng)度管理層面團(tuán)隊(duì)交流重復(fù)測(cè)試檢驗(yàn)測(cè)試員進(jìn)度質(zhì)量評(píng)估分析缺陷的標(biāo)準(zhǔn)活動(dòng)二認(rèn)識(shí)測(cè)試用例三、測(cè)試用例的特點(diǎn)1.有效性2.經(jīng)濟(jì)性3.可重復(fù)性4.可修改性5.可仿效性6.可跟蹤性7.清晰、簡(jiǎn)潔活動(dòng)二認(rèn)識(shí)測(cè)試用例任務(wù)實(shí)施編寫郵箱登錄的測(cè)試用例用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果1輸入用戶名輸入密碼單擊“登錄”按鈕用戶名:abc@163.com密碼:123456

成功登錄郵箱,轉(zhuǎn)到相應(yīng)賬號(hào)的郵箱頁(yè)面2輸入用戶名輸入密碼單擊“登錄”按鈕用戶名:abc@163.com密碼:12345678

提示“您輸入的賬號(hào)或密碼不正確,請(qǐng)重新輸入?!?輸入用戶名單擊“登錄”按鈕用戶名:abc@163.com

提示“您還沒有輸入密碼!”……………………任務(wù)實(shí)施參照表1-2,您還能設(shè)計(jì)出其他關(guān)于郵箱登錄的測(cè)試用例嗎?實(shí)際上,測(cè)試用例除了以上列出的用例編號(hào)、測(cè)試步驟、輸入數(shù)據(jù)和預(yù)期結(jié)果外,還有許多其他的內(nèi)容。任務(wù)拓展測(cè)試用例八個(gè)要素1.測(cè)試用例編號(hào)由字母、字符、數(shù)字組合而成的字符串,有唯一性,易識(shí)別性。2.測(cè)試項(xiàng)目當(dāng)前測(cè)試用例所在測(cè)試用例所屬大類、被測(cè)需求、被測(cè)模塊、被測(cè)單元等。3.測(cè)試用例標(biāo)題對(duì)測(cè)試用例的簡(jiǎn)單描述。用概括的語(yǔ)言描述該測(cè)試用例的測(cè)試點(diǎn)。每個(gè)測(cè)試用例的標(biāo)題不能夠重復(fù),因?yàn)槊總€(gè)測(cè)試用例的測(cè)試點(diǎn)是不一樣的。任務(wù)拓展4.重要級(jí)別分為高、中、低三等:高級(jí)別:保證系統(tǒng)基本功能、核心業(yè)務(wù)、重要特性、實(shí)際使用頻率比較高的用例;中級(jí)別:重要程度介于高和低之間的測(cè)試用例;低級(jí)別:實(shí)際使用的頻率不高,對(duì)系統(tǒng)業(yè)務(wù)功能影響不大的模塊或功能的測(cè)試用例。5.預(yù)置條件執(zhí)行當(dāng)前測(cè)試用例需要的前提條件,如果這些前提條件不滿足,則后面測(cè)試步驟無(wú)法進(jìn)行測(cè)試或無(wú)法得到預(yù)期結(jié)果。任務(wù)拓展6.測(cè)試輸入用例執(zhí)行過程中需要輸入的外部信息。根據(jù)軟件測(cè)試用例的具體情況,有手工輸入的內(nèi)容、上傳的文件、數(shù)據(jù)庫(kù)記錄等。7.操作步驟執(zhí)行當(dāng)前測(cè)試用例需要經(jīng)過的操作步驟,需要明確的給出每一個(gè)操作的詳細(xì)描述,測(cè)試人員可以根據(jù)測(cè)試用例操作步驟完成測(cè)試用例執(zhí)行。8.預(yù)期結(jié)果當(dāng)前測(cè)試用例的預(yù)期輸出結(jié)果,包括返回值內(nèi)容,界面的響應(yīng)結(jié)果,輸出結(jié)果的規(guī)則符合度等。任務(wù)二正確認(rèn)識(shí)軟件缺陷活動(dòng)一認(rèn)識(shí)軟件缺陷一、軟件缺陷的定義軟件缺陷常常又被叫做Bug(漏洞)。所謂軟件缺陷,即為計(jì)算機(jī)軟件或程序中存在某些破壞正常運(yùn)行能力的問題、錯(cuò)誤,或者隱藏的功能缺陷。缺陷的存在會(huì)導(dǎo)致軟件產(chǎn)品在某種程度上不能滿足用戶的需要。

IEEE729-1983對(duì)缺陷有一個(gè)標(biāo)準(zhǔn)的定義:從產(chǎn)品內(nèi)部看,缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中存在的錯(cuò)誤、毛病等各種問題;從產(chǎn)品外部看,缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背?;顒?dòng)一認(rèn)識(shí)軟件缺陷缺陷的表現(xiàn)形式主要體現(xiàn)在以下方面:1、軟件沒有實(shí)現(xiàn)產(chǎn)品規(guī)格說(shuō)明所要求的功能模塊;2、軟件中出現(xiàn)了產(chǎn)品規(guī)格說(shuō)明指明不應(yīng)該出現(xiàn)的錯(cuò)誤;3、軟件實(shí)現(xiàn)了產(chǎn)品規(guī)格說(shuō)明沒有提到的功能模塊;4、軟件沒有實(shí)現(xiàn)雖然產(chǎn)品規(guī)格說(shuō)明沒有明確提及但應(yīng)該實(shí)現(xiàn)的目標(biāo);5、軟件難以理解,不容易使用,運(yùn)行緩慢,或從測(cè)試員的角度看,最終用戶會(huì)認(rèn)為不好。活動(dòng)一認(rèn)識(shí)軟件缺陷以計(jì)算器程序?yàn)槔齺?lái)說(shuō)明這5條規(guī)則:計(jì)算器說(shuō)明書一般聲稱該計(jì)算器將準(zhǔn)確無(wú)誤地進(jìn)行加、減、乘、除運(yùn)算。如果測(cè)試人員或用戶選定了兩個(gè)數(shù)值后,隨意按下了“+”號(hào)鍵,結(jié)果沒有任何反應(yīng)或者得到了錯(cuò)誤的答案。假如計(jì)算器說(shuō)明書指明計(jì)算器不會(huì)出現(xiàn)死機(jī)或者停止反應(yīng),而在用戶隨意敲鍵盤后,計(jì)算器停止接受輸入或沒有了反應(yīng)。(規(guī)則1軟件沒有實(shí)現(xiàn)產(chǎn)品規(guī)格說(shuō)明所要求的功能模塊)(規(guī)則2軟件中出現(xiàn)了產(chǎn)品規(guī)格說(shuō)明指明不應(yīng)該出現(xiàn)的錯(cuò)誤)活動(dòng)一認(rèn)識(shí)軟件缺陷若在進(jìn)行測(cè)試時(shí),發(fā)現(xiàn)除了規(guī)定的加、減、乘、除功能之外,還能夠進(jìn)行求平方根的運(yùn)算,而這一功能并沒有在說(shuō)明書的功能中規(guī)定。若在測(cè)試過程中發(fā)現(xiàn),因?yàn)殡姵貨]電而導(dǎo)致了計(jì)算不正確,但產(chǎn)品說(shuō)明書未能指出在此情況下應(yīng)如何進(jìn)行處理。(規(guī)則3軟件實(shí)現(xiàn)了產(chǎn)品規(guī)格說(shuō)明沒有提到的功能模塊)(規(guī)則4軟件沒有實(shí)現(xiàn)雖然產(chǎn)品規(guī)格說(shuō)明沒有明確提及但應(yīng)該實(shí)現(xiàn)的目標(biāo))活動(dòng)一認(rèn)識(shí)軟件缺陷測(cè)試人員或最終用戶發(fā)現(xiàn)計(jì)算器某些地方不好用,比如,按鍵太小、按鍵布局不太好、顯示屏在亮光下無(wú)法看清等。(規(guī)則5軟件難以理解,不容易使用,運(yùn)行緩慢,或從測(cè)試員的角度看,最終用戶會(huì)認(rèn)為不好。)活動(dòng)一認(rèn)識(shí)軟件缺陷二、缺陷產(chǎn)生的原因1.軟件本身問題①系統(tǒng)結(jié)構(gòu)非常復(fù)雜。復(fù)雜的系統(tǒng)在實(shí)現(xiàn)時(shí)也會(huì)隱藏著相互作用的困難,而導(dǎo)致隱藏的軟件缺陷。②數(shù)據(jù)恢復(fù)問題。沒有考慮系統(tǒng)崩潰后的自我恢復(fù)和數(shù)據(jù)的異地備份、災(zāi)難性恢復(fù)等問題,從而存在系統(tǒng)安全性、可靠性問題。③系統(tǒng)運(yùn)行環(huán)境復(fù)雜。一方面,用戶使用的計(jì)算機(jī)環(huán)境千變?nèi)f化,包括用戶的各種操作方式或各種不同的輸入數(shù)據(jù),容易引起一些特定用戶環(huán)境下的問題。另一方面,在系統(tǒng)實(shí)際應(yīng)用中數(shù)據(jù)量很大,可能會(huì)引起負(fù)載問題。④使用新技術(shù)。新技術(shù)的采用,可能涉及技術(shù)或系統(tǒng)兼容性的問題,事先沒有考慮?;顒?dòng)一認(rèn)識(shí)軟件缺陷二、缺陷產(chǎn)生的原因2.團(tuán)隊(duì)工作問題①需求不清晰。軟件需求不清晰或開發(fā)人員對(duì)對(duì)需求理解不明確,導(dǎo)致設(shè)計(jì)目標(biāo)偏離客戶的需求,從而引起功能或產(chǎn)品特征上的缺陷。②溝通不夠。不同階段的開發(fā)人員對(duì)系統(tǒng)設(shè)計(jì)規(guī)格說(shuō)明書中的某些內(nèi)容重視不夠或存在誤解;對(duì)與設(shè)計(jì)或編程上的一些假定或依賴性,相關(guān)人員沒有充分溝通。③項(xiàng)目組成員技術(shù)水平參差不齊。新員工較多,或培訓(xùn)不夠等原因也很容易引起問題。活動(dòng)一認(rèn)識(shí)軟件缺陷二、缺陷產(chǎn)生的原因3.技術(shù)問題①算法錯(cuò)誤:在給定條件下沒能給出正確或準(zhǔn)確的結(jié)果;②語(yǔ)法錯(cuò)誤:對(duì)于編譯性語(yǔ)言程序,編譯器可以發(fā)現(xiàn)這類問題,但對(duì)于解釋③性語(yǔ)言程序,只能在測(cè)試運(yùn)行時(shí)發(fā)現(xiàn);④計(jì)算機(jī)和精度問題:計(jì)算的結(jié)果沒有滿足所需要的精度;⑤系統(tǒng)結(jié)構(gòu)不合理、算法選擇不科學(xué),造成系統(tǒng)性能低下;⑥接口參數(shù)傳遞不匹配,導(dǎo)致模塊集成出現(xiàn)問題?;顒?dòng)一認(rèn)識(shí)軟件缺陷二、缺陷產(chǎn)生的原因4.項(xiàng)目管理的問題①質(zhì)量文化缺乏。不重視質(zhì)量計(jì)劃,對(duì)質(zhì)量、資源、任務(wù)、成本等的平衡性把握不好,容易擠掉需求分析、評(píng)審、測(cè)試等時(shí)間,遺留的缺陷會(huì)比較多。②開發(fā)周期短。軟件產(chǎn)品開發(fā)周期短,需求分析、設(shè)計(jì)、編程、測(cè)試等各項(xiàng)工作不能完全按照定義好的流程來(lái)進(jìn)行,工作不夠充分,結(jié)果也就不完整、不準(zhǔn)確,錯(cuò)誤較多;周期短,還給各類開發(fā)人員造成太大的壓力,引起一些人為的錯(cuò)誤。③開發(fā)流程不夠完善。存在太多的隨機(jī)性和缺乏嚴(yán)謹(jǐn)?shù)膬?nèi)審或評(píng)審機(jī)制,容易產(chǎn)生問題。④文檔不完整,風(fēng)險(xiǎn)評(píng)估不足等?;顒?dòng)一認(rèn)識(shí)軟件缺陷三、軟件缺陷的分類按照測(cè)試種類,可以將軟件缺陷分為界面類、功能類、性能類、安全性類、兼容性類等。按照缺陷的嚴(yán)重程度,可以將缺陷劃分為嚴(yán)重、一般、次要、建議。按照缺陷的優(yōu)先級(jí)不同,可以將缺陷劃分為立即解決、高優(yōu)先級(jí)、正常排隊(duì)、低優(yōu)先級(jí)。按照缺陷的發(fā)生階段不同,可以將缺陷劃分為需求階段缺陷、構(gòu)架階段缺陷、設(shè)計(jì)階段缺陷、編碼階段缺陷、測(cè)試階段缺陷。活動(dòng)二常見的軟件缺陷管理工具1.BugzillaBugzilla是由Mozilla公司提供的一個(gè)開源免費(fèi)的軟件缺陷跟蹤工具。作為一個(gè)軟件缺陷記錄及跟蹤工具,它能夠建立一個(gè)完善的跟蹤體系,該體系包括報(bào)告缺陷、查詢?nèi)毕萦涗洸a(chǎn)生報(bào)表、處理解決、管理員系統(tǒng)初始化和設(shè)置4個(gè)部分。2.BugFreeBugFree是借鑒微軟公司的研發(fā)流程和缺陷管理理念,使用PHP+MySQL獨(dú)立寫出的一個(gè)缺陷管理系統(tǒng)。該系統(tǒng)簡(jiǎn)單實(shí)用、免費(fèi),并且開放源代碼(遵循GNUGPL)。命名“BugFree”有兩層意思:一是希望軟件中的缺陷越來(lái)越少,直到?jīng)]有;二是免費(fèi)且開放源代碼,大家可以自由使用、傳播。活動(dòng)二常見的軟件缺陷管理工具3.QualityCenterQualityCenter是一個(gè)基于Web的商業(yè)測(cè)試管理工具,可以組織和管理應(yīng)用程序測(cè)試流程的所有階段,如制訂測(cè)試需求、計(jì)劃測(cè)試、執(zhí)行測(cè)試和跟蹤軟件缺陷。此外,通過QualityCenter還可以創(chuàng)建報(bào)告和圖來(lái)監(jiān)控測(cè)試流程。4.JIRAJIRA是Atlassian公司出品的項(xiàng)目與事務(wù)跟蹤工具,被廣泛應(yīng)用于軟件缺陷跟蹤、客戶服務(wù)、需求收集、流程審批、任務(wù)跟蹤、項(xiàng)目跟蹤和敲捷管理等工作領(lǐng)域。JIRA配置靈活、功能全面、部署簡(jiǎn)單、擴(kuò)展豐富。JIRA是比較流行的基于Java架構(gòu)的管理系統(tǒng),由于Atlassian公司對(duì)很多開源項(xiàng)目實(shí)行免費(fèi)提供軟件缺陷跟蹤服務(wù),因此在開源領(lǐng)域,JIRA的被認(rèn)知度比其他測(cè)試產(chǎn)品要高得多,而且易用性也好一些?;顒?dòng)二常見的軟件缺陷管理工具5.MantisMantis是一個(gè)基于PHP技術(shù)的輕量級(jí)軟件缺陷跟蹤系統(tǒng),其功能與前面提及的JIRA系統(tǒng)類似,都是以Web操作的形式提供項(xiàng)目管理及軟件缺陷跟蹤服務(wù)。在功能上可能沒有JIRA那么專業(yè),界面也沒有JIRA美觀,但在實(shí)用性上足以滿足中小型項(xiàng)目的管理及跟蹤需求。更重要的是其開源,用戶不需要負(fù)擔(dān)任何費(fèi)用。6.LaunchPadLaunchPad是由Ubuntu的母公司Canonical公司資助架設(shè)的網(wǎng)站,最初是一個(gè)提供維護(hù)、支持或聯(lián)絡(luò)Ubuntu開發(fā)者的平臺(tái)。后來(lái)越來(lái)越多的項(xiàng)目使用該系統(tǒng)進(jìn)行軟件缺陷跟蹤管理,如云平臺(tái)基礎(chǔ)架構(gòu)OpenStack。任務(wù)實(shí)施程序員小張編寫了一個(gè)能夠判斷人的體重指數(shù)和健康狀態(tài)的應(yīng)用程序。當(dāng)輸入身高和體重后,單擊“查詢”按鈕,程序會(huì)計(jì)算出體重指數(shù),并將體重指數(shù)和健康狀態(tài)等信息顯示在屏幕上。請(qǐng)測(cè)試該程序是否有缺陷。如果有,將缺陷描述出來(lái),并分析其類別。體重指數(shù)的計(jì)算公式為:

體重指數(shù)(BMI)=體重(kg)[身高(m)]2任務(wù)實(shí)施序號(hào)體重指數(shù)(BMI)備注1BMI<18.5消瘦218.5≤BMI<24正常324≤BMI<27體重過重427≤BMI<30輕度肥胖530≤BMI<35中度肥胖635≥BMI重度肥胖任務(wù)實(shí)施小張對(duì)編寫的程序進(jìn)行了測(cè)試,發(fā)現(xiàn)當(dāng)輸入正常的身高和體重的時(shí)候,會(huì)顯示正確的BMI值的信息,但是當(dāng)將體重增加到124kg時(shí),BMI應(yīng)該為46.10351,按照體重指數(shù)與健康狀態(tài)的轉(zhuǎn)換規(guī)則,應(yīng)該屬于重度肥胖,而顯示的信息卻是“中度肥胖”,這應(yīng)該是一個(gè)缺陷。另外,當(dāng)沒有輸入身高和體重的值的時(shí)候,單擊“查詢”按鈕,程序也沒有對(duì)用戶有任何提醒,這應(yīng)該也是一個(gè)缺陷。任務(wù)實(shí)施針對(duì)以上兩個(gè)缺陷,小張總結(jié)如下。1.第一個(gè)缺陷是軟件中出現(xiàn)了產(chǎn)品規(guī)格說(shuō)明書中指明的不應(yīng)該出現(xiàn)的錯(cuò)誤,屬于第2種缺陷;2.第二個(gè)缺陷是軟件沒有實(shí)現(xiàn)雖然產(chǎn)品規(guī)格說(shuō)明書中也沒有明確提及但應(yīng)該實(shí)現(xiàn)的目標(biāo),屬于第4種缺陷。您還能列舉出其他缺陷嗎?任務(wù)拓展產(chǎn)生軟件缺陷以后,測(cè)試人員需要針對(duì)缺陷問題形成記錄報(bào)告并進(jìn)行反饋,以改進(jìn)軟件開發(fā)過程中出現(xiàn)的問題,提高軟件質(zhì)量,這一報(bào)告稱為軟件測(cè)試缺陷報(bào)告。軟件測(cè)試缺陷報(bào)告是在軟件測(cè)試過程中針對(duì)發(fā)現(xiàn)的缺陷所編寫的報(bào)告,是記錄缺陷信息的主要手段,也是測(cè)試過程中最重要的輸出之一。任務(wù)拓展清楚的軟件測(cè)試缺陷報(bào)告對(duì)測(cè)試團(tuán)隊(duì)而言具有重要的作用:1.記錄問題:缺陷報(bào)告是記錄缺陷和問題的主要方式。測(cè)試人員應(yīng)該仔細(xì)記錄問題,并清晰地描述問題的重要信息。2.保持溝通:缺陷報(bào)告是開發(fā)者和測(cè)試人員之間溝通的橋梁,有助于開發(fā)者了解測(cè)試人員發(fā)現(xiàn)的問題,并根據(jù)這些問題進(jìn)行反饋和解決。3.提高軟件質(zhì)量:缺陷報(bào)告不僅提供了問題所在的位置,還可以說(shuō)明將問題解決之后應(yīng)有的結(jié)果。這有助于開發(fā)人員對(duì)于軟件的改進(jìn),進(jìn)而提高軟件的質(zhì)量。任務(wù)三理解軟件測(cè)試的模型活動(dòng)一正確理解軟件測(cè)試模型一、軟件測(cè)試模型V模型W模型H模型X模型活動(dòng)一正確理解軟件測(cè)試模型V模型活動(dòng)一正確理解軟件測(cè)試模型W模型活動(dòng)一正確理解軟件測(cè)試模型H模型活動(dòng)一正確理解軟件測(cè)試模型X模型活動(dòng)二軟件測(cè)試的分類和流程一、軟件測(cè)試的分類按照測(cè)試階段劃分單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試回歸測(cè)試活動(dòng)二軟件測(cè)試的分類和流程按照測(cè)試方法劃分白盒測(cè)試黑盒測(cè)試灰盒測(cè)試活動(dòng)二軟件測(cè)試的分類和流程按照自動(dòng)化程度劃分手工測(cè)試手工測(cè)試是由測(cè)試人員一個(gè)一個(gè)的輸入用例,然后觀察結(jié)果,和機(jī)器測(cè)試相對(duì)應(yīng),屬于比較原始但是必須的一個(gè)步驟。自動(dòng)化測(cè)試自動(dòng)化測(cè)試是借助腳本、自動(dòng)化測(cè)試工具等完成相應(yīng)的測(cè)試工作,它也需要人工的參與但是它可以將要執(zhí)行的測(cè)試代碼或流程寫成腳本,通過執(zhí)行腳本來(lái)完成整個(gè)測(cè)試工作?;顒?dòng)二軟件測(cè)試的分類和流程按照測(cè)試執(zhí)行方式劃分靜態(tài)測(cè)試不實(shí)際運(yùn)行被測(cè)軟件,而只是靜態(tài)地檢查程序代碼、界面或文檔中可能存在的錯(cuò)誤的過程。如代碼審核。動(dòng)態(tài)測(cè)試實(shí)際運(yùn)行被測(cè)程序,輸入相應(yīng)的測(cè)試數(shù)據(jù),檢查實(shí)際輸出結(jié)果和預(yù)期結(jié)果是否相符的過程活動(dòng)二軟件測(cè)試的分類和流程按照軟件質(zhì)量特性劃分功能測(cè)試功能測(cè)試是測(cè)試軟件的功能是否滿足客戶的需求,包括準(zhǔn)確性、易用性、適合性、互操作性等。性能測(cè)試性能測(cè)試是測(cè)試軟件的性能是否滿足客戶的需求。性能測(cè)試包括負(fù)載測(cè)試、壓力測(cè)試、兼容性測(cè)試、可移植性測(cè)試和健壯性測(cè)試等?;顒?dòng)二軟件測(cè)試的分類和流程二、軟件測(cè)試的流程需求分析測(cè)試計(jì)劃測(cè)試設(shè)計(jì)執(zhí)行測(cè)試分析結(jié)果活動(dòng)二軟件測(cè)試的分類和流程需求分析在需求分析階段,測(cè)試員開始介入,與開發(fā)人員一起了解項(xiàng)目的需求,站在用戶角度確定測(cè)試重點(diǎn)方向。需求分析包括軟件功能需求分析、測(cè)試環(huán)境需求分析、測(cè)試資源需求分析等。其中,最基本的是軟件功能需求分析。測(cè)試一款軟件首先要知道軟件能實(shí)現(xiàn)哪些功能以及是怎樣實(shí)現(xiàn)的?;顒?dòng)二軟件測(cè)試的分類和流程測(cè)試計(jì)劃制訂測(cè)試人員首先對(duì)需求進(jìn)行分析,最終定義一個(gè)測(cè)試集合,通過刻畫和定義測(cè)試發(fā)現(xiàn)需求中的問題,然后根據(jù)軟件需求同測(cè)試主管制訂并確認(rèn)“測(cè)試計(jì)劃”。測(cè)試計(jì)劃是一個(gè)關(guān)鍵的管理功能,它定義了各個(gè)級(jí)別的測(cè)試所使用的策略、方法,測(cè)試環(huán)境、測(cè)試通過或失敗準(zhǔn)則等內(nèi)容。測(cè)試計(jì)劃的目的是要為有組織地完成測(cè)試提供一個(gè)基礎(chǔ)?;顒?dòng)二軟件測(cè)試的分類和流程測(cè)試設(shè)計(jì)其中最主要的工作是測(cè)試用例編寫和測(cè)試場(chǎng)景設(shè)計(jì)兩方面。一份好的測(cè)試用例對(duì)測(cè)試有很好的指導(dǎo)作用,能夠發(fā)現(xiàn)很多軟件問題。測(cè)試場(chǎng)景設(shè)計(jì)主要是測(cè)試環(huán)境問題。不同軟件產(chǎn)品對(duì)測(cè)試環(huán)境有著不同的要求。活動(dòng)二軟件測(cè)試的分類和流程執(zhí)行測(cè)試需要做的工作包括:搭建測(cè)試環(huán)境運(yùn)行測(cè)試記錄測(cè)試結(jié)果報(bào)告軟件缺陷跟蹤軟件缺陷分析測(cè)試結(jié)果活動(dòng)二軟件測(cè)試的分類和流程測(cè)試分析報(bào)告每個(gè)版本有每個(gè)版本的測(cè)試總結(jié),每個(gè)階段有每個(gè)階段的測(cè)試總結(jié)。當(dāng)項(xiàng)目完成提交給用戶后,一般要對(duì)整個(gè)項(xiàng)目進(jìn)行回顧總結(jié),看有哪些做得不足的地方,有哪些經(jīng)驗(yàn)可以對(duì)今后的測(cè)試工作起借鑒作用,等等。任務(wù)實(shí)施1.案例分析可以從驗(yàn)收的時(shí)間來(lái)分析公司A的做法是否正確。驗(yàn)收測(cè)試是否通過主要應(yīng)該依據(jù)需求規(guī)格說(shuō)明書的各項(xiàng)要求是否符合用戶需求來(lái)決定。驗(yàn)收測(cè)試的人員既要包括開發(fā)方,也需要用戶方的參與。2.案例實(shí)現(xiàn)(1)不正確;(2)驗(yàn)收測(cè)試要在系統(tǒng)測(cè)試通過之后,交付使用之前進(jìn)行,而不能僅僅根據(jù)合同規(guī)定進(jìn)行2016年10月底并不具備驗(yàn)收測(cè)試的條件;(3)驗(yàn)收測(cè)試不能缺少用戶方的人員。3.案例拓展上述案例的單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試的內(nèi)容分別是什么?任務(wù)拓展測(cè)試名稱測(cè)試對(duì)象測(cè)試依據(jù)人員測(cè)試方法單元測(cè)試最小規(guī)模,如函數(shù)、類等《詳細(xì)設(shè)計(jì)說(shuō)明書》白盒測(cè)試工程師或開發(fā)人員主要采用白盒測(cè)試集成測(cè)試模塊間的接口,如參數(shù)傳遞《概要設(shè)計(jì)說(shuō)明書》白盒測(cè)試工程師或開發(fā)人員

黑盒和白金測(cè)試相結(jié)合

確認(rèn)測(cè)試整個(gè)系統(tǒng)《需求規(guī)格說(shuō)明書》

黑盒測(cè)試工程師

黑盒測(cè)試

系統(tǒng)測(cè)試整個(gè)系統(tǒng),包括軟硬件《需求規(guī)格說(shuō)明書》黑盒測(cè)試工程師

黑盒測(cè)試

驗(yàn)收測(cè)試整個(gè)系統(tǒng),包括軟硬件《需求規(guī)格說(shuō)明書》、驗(yàn)收標(biāo)準(zhǔn)主要為用戶,還可能有測(cè)試工程師等黑盒測(cè)試

單元小結(jié)為了更好地執(zhí)行測(cè)試過程,測(cè)試專家通過實(shí)踐和改進(jìn)創(chuàng)建了很多實(shí)用的測(cè)試模型,而這些模型明確了測(cè)試與開發(fā)之間的關(guān)系,使測(cè)試過程與開發(fā)產(chǎn)生交互,是測(cè)試管理的重要參考依據(jù)。常見的測(cè)試模型有V模刑、W模刑、H模型、X模型。在實(shí)際的項(xiàng)目中,我們要思考這些模型各自的特點(diǎn),合理應(yīng)用這些模型的優(yōu)點(diǎn)。最后,本單元介紹了軟件測(cè)試的分類。按照測(cè)試階段,分為單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試和回歸測(cè)試;按照測(cè)試方法,分為白盒測(cè)試、黑盒測(cè)試和灰盒測(cè)試;按照自動(dòng)化程度,分為手工測(cè)試和自動(dòng)化測(cè)試;按照測(cè)試執(zhí)行方式,分為動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試;按照軟件質(zhì)量特性,分為功能測(cè)試和性能測(cè)試。單元2黑

盒測(cè)試小王同學(xué)通過前面的學(xué)習(xí),對(duì)軟件測(cè)試和軟件缺陷都有了一定的了解,但是他有一個(gè)疑問,在軟件工程初期,源代碼還沒有寫的時(shí)候,能夠進(jìn)行軟件測(cè)試的相關(guān)工作?黑盒測(cè)試可以實(shí)現(xiàn)提前進(jìn)行軟件測(cè)試的相關(guān)工作。引例描述黑盒測(cè)試是一種常見且常用的軟件測(cè)試方法,它將被測(cè)軟件看成是一個(gè)無(wú)法打開的黑盒,主要根據(jù)功能需求設(shè)計(jì)測(cè)試用例來(lái)完成軟件的測(cè)試,又叫做功能測(cè)試。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。黑盒測(cè)試用例設(shè)計(jì)方法主要有等價(jià)類劃分、邊界值、判定表驅(qū)動(dòng)、因果通、正交實(shí)驗(yàn)設(shè)計(jì)等。引例描述黑盒內(nèi)部實(shí)現(xiàn)不可見輸入輸出測(cè)試用例引例描述目錄等價(jià)類測(cè)試任務(wù)一邊界值測(cè)試任務(wù)二判定表測(cè)試任務(wù)三因果圖測(cè)試任務(wù)四正交實(shí)驗(yàn)法任務(wù)五任務(wù)一等價(jià)類測(cè)試●本任務(wù)通過觀察某信息系統(tǒng)注冊(cè)界面的功能,分析各項(xiàng)功能的輸入條件,劃分等價(jià)類,建立等價(jià)類表,設(shè)計(jì)測(cè)試用例覆蓋等價(jià)類,完成對(duì)某信息系統(tǒng)注冊(cè)界面的功能測(cè)試。●等價(jià)類劃分是一種典型的黑盒測(cè)試方法,它將程序所有可能的輸入數(shù)據(jù)(有效的和無(wú)效的)分成若干個(gè)部分,然后從每個(gè)部分中選取有代表性的數(shù)據(jù)作為測(cè)試用例進(jìn)行合理的分類,測(cè)試用例由有效等價(jià)類和無(wú)效等價(jià)類的代表組成,從而保證測(cè)試用例具有完整性和代表性。任務(wù)陳述●從理論上來(lái)講,黑盒測(cè)試只有對(duì)一個(gè)程序窮舉所有可能的輸入進(jìn)行測(cè)試,才能發(fā)現(xiàn)程序中所有的錯(cuò)誤,不僅要測(cè)試所有合法的輸入,而且要對(duì)那些不合法但有可能出現(xiàn)的輸入進(jìn)行測(cè)試?!窀F舉測(cè)試是不可能的,所以必須要提高測(cè)試的針對(duì)性,既要測(cè)試各種可能的情況,提高測(cè)試的完備性,又要避免重復(fù),降低冗余,節(jié)約測(cè)試成本。等價(jià)類方法就是這樣一種黑盒測(cè)試方法?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法●某工廠要給員工做工裝,服裝廠拿過來(lái)樣品請(qǐng)員工們?cè)嚧┛词欠裆?,那么需不需要每個(gè)員工都去試穿呢?●把員工按照身材分成不同的組,同一組只需要去1個(gè)人試下就可以了,如果這個(gè)員工合身,那么同組其他員工由于身材跟他基本一樣,所以也會(huì)合身。這就是等價(jià)類劃分的思想?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法一、等價(jià)類劃分●劃分等價(jià)類時(shí),將所有可能的輸入數(shù)據(jù),即程序的輸入域,劃分為若干部分,等價(jià)類是指某個(gè)輸入域的子集合,各個(gè)等價(jià)類之間不應(yīng)存在相同的特性,所有等價(jià)類的并集應(yīng)當(dāng)是被劃分集合的全集?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法一、等價(jià)類劃分●從軟件測(cè)試的角度來(lái)說(shuō),由于等價(jià)類中的數(shù)據(jù)具有相同的特性,所以對(duì)于發(fā)現(xiàn)或者揭露程序中的缺陷來(lái)說(shuō),他們的作用是等價(jià)的,或者說(shuō)效果是相同的,于是等價(jià)類劃分法合理的假定:對(duì)于某個(gè)等價(jià)類而言,只測(cè)試其中的某個(gè)代表數(shù)據(jù),就等于對(duì)這一等價(jià)類中所有數(shù)據(jù)的測(cè)試?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法一、等價(jià)類劃分●等價(jià)類的劃分有以下兩種不同的情況。(1)有效等價(jià)類:是指對(duì)程序的規(guī)格說(shuō)明而言,合理且有意義的輸入數(shù)據(jù)構(gòu)成的集合。(2)無(wú)效等價(jià)類:是指對(duì)程序的規(guī)格說(shuō)明而言,不合理的、無(wú)意義的輸入數(shù)據(jù)構(gòu)成的集合。活動(dòng)一認(rèn)識(shí)等價(jià)類方法一、等價(jià)類劃分

符號(hào)函數(shù)f(x),輸入x,輸出y,如果x>0,則y=1;如果x=0,則y=0;如果x<0則y=-1。

x>0→y=1

x=0→y=0

x<0→y=-1

對(duì)x劃分等價(jià)類,x的有效等價(jià)類有三類,分別是x>0、x=0和x<0。而x的無(wú)效等價(jià)類可以歸為一類,即所有不能和0進(jìn)行大小比較的數(shù)據(jù)?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法一、等價(jià)類劃分等價(jià)類劃分的原則有以下6點(diǎn):(1)在輸入條件規(guī)定了取值范圍或者值的個(gè)數(shù)的情況下,可以確立一個(gè)有效等價(jià)類(在范圍之內(nèi)件的等價(jià)類)和兩個(gè)無(wú)效等價(jià)類(有效范圍的兩側(cè))。例如,輸入值是學(xué)生成績(jī),范圍是0~100,則有效等價(jià)類為0≤成績(jī)≤100,無(wú)效等價(jià)類為成績(jī)<0、成績(jī)>100。(2)在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法一、等價(jià)類劃分等價(jià)類劃分的原則有以下6點(diǎn):(3)在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。(4)在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。例如,輸入條件說(shuō)明學(xué)歷可為??啤⒈究啤⒋T士、博士4種之一,則分別取這4種值作為4個(gè)有效等價(jià)類,另外把這4種學(xué)歷之外的任何學(xué)歷作為無(wú)效等價(jià)類?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法一、等價(jià)類劃分等價(jià)類劃分的原則有以下6點(diǎn):(5)在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(從不同角度違反規(guī)則)。(6)在確知已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類進(jìn)一步劃分為更小的等價(jià)類。活動(dòng)一認(rèn)識(shí)等價(jià)類方法一、等價(jià)類劃分如果有多個(gè)輸入條件,并且各個(gè)條件之間存在關(guān)聯(lián),那么僅僅覆蓋所有的等價(jià)類還不夠,還需要考慮等價(jià)類之間的組合。組合可分為完全組合和部分組合兩種,如果輸入條件比較多,并且每個(gè)輸入條件的等價(jià)類也比較多,那么總的完全組合數(shù)將非常大,此時(shí)可以采用部分組合?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法二、等價(jià)類的組合在有多個(gè)輸入的情形時(shí),根據(jù)對(duì)等價(jià)類的覆蓋程度可分為以下兩種?!と踅M合形式:測(cè)試用例僅需滿足對(duì)有效等價(jià)類的完全覆蓋?!?qiáng)組合形式:測(cè)試用例不僅應(yīng)滿足對(duì)有效等價(jià)類的完全覆蓋,而且應(yīng)覆蓋所有的等價(jià)類組合?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法二、等價(jià)類的組合根據(jù)是否對(duì)無(wú)效數(shù)據(jù)進(jìn)行檢測(cè),可以將等價(jià)類測(cè)試分為以下兩種?!ひ话愕葍r(jià)類測(cè)試:只考慮有效等價(jià)類?!そ训葍r(jià)類測(cè)試:考慮有效、無(wú)效等價(jià)類。將以上兩種加以組合,可以得到以下幾種測(cè)試類。·弱一般等價(jià)類測(cè)試?!?qiáng)一般等價(jià)類測(cè)試?!と踅训葍r(jià)類測(cè)試?!?qiáng)健壯等價(jià)類測(cè)試?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法二、等價(jià)類的組合假設(shè),F(xiàn)為一個(gè)程序,且輸入變量x1和x2的邊界以及邊界內(nèi)的區(qū)間:a≤x1≤d,區(qū)間為[a,b),[b,c),[c,d]e≤x2≤g,區(qū)間為[e,f],[f,g]其中,方括號(hào)和圓括號(hào)分別表示閉區(qū)間和開區(qū)間的端點(diǎn)。因此,變量x1和x2的等價(jià)類分別如下。x1的有效等價(jià)類:[a,b],[b,c],[c,d]。x1的無(wú)效等價(jià)類:(-∞,a),(d,+∞)。x2的有效等價(jià)類:[e,f],[f,g]。x2的無(wú)效等價(jià)類:(-∞,e),(g,+∞).活動(dòng)一認(rèn)識(shí)等價(jià)類方法二、等價(jià)類的組合以上劃分如圖表示,其中深色矩形內(nèi)部為有效輸入?yún)^(qū),外部為無(wú)效輸入?yún)^(qū)。每一個(gè)小格子表示一種x1,x2的組合情形。活動(dòng)一認(rèn)識(shí)等價(jià)類方法二、等價(jià)類的組合1.弱一般等價(jià)類測(cè)試“一般”表示只考慮有效等價(jià)類,“弱”表示測(cè)試用例只需覆蓋兩個(gè)輸入的所有有效等價(jià)類即可,無(wú)須考慮它們之間的組合情況。因此,最少只需3個(gè)測(cè)試用例即可以滿足弱一般等價(jià)類測(cè)試的要求。如圖所示,選取3個(gè)(P1,P2,P3)即可,其中P1覆蓋了[a,b)、[e,f),P2覆蓋了[b,c)、[f,g],P3覆蓋了[c,d]、[e,f)。當(dāng)然,選取方式可以有多種。

活動(dòng)一認(rèn)識(shí)等價(jià)類方法二、等價(jià)類的組合2.強(qiáng)一般等價(jià)類測(cè)試“一般”表示只考慮有效等價(jià)類;“強(qiáng)”表示測(cè)試用例需覆蓋兩個(gè)輸入的所有有效等價(jià)類的可能組合。x1有3個(gè)有效等價(jià)類,x2有2個(gè)有效等價(jià)類,因此最少需要6個(gè)測(cè)試用例才可以滿足強(qiáng)一般等價(jià)類測(cè)試的要求,如圖所示?;顒?dòng)一認(rèn)識(shí)等價(jià)類方法二、等價(jià)類的組合3.弱健壯等價(jià)類測(cè)試“健壯”表示不僅考慮有效等價(jià)類,還要考慮無(wú)效等價(jià)類;“弱”表示測(cè)試用例只需覆蓋兩個(gè)輸入的所有等價(jià)類即可,無(wú)須考慮它們之間的組合情況。因此,在弱一般等價(jià)類測(cè)試用例的基礎(chǔ)上,增加4個(gè)針對(duì)無(wú)效等價(jià)類的測(cè)試用例方能滿足弱健壯等價(jià)類測(cè)試的要求,如圖所示。注意,在編寫測(cè)試用例時(shí),一個(gè)測(cè)試用例只能覆蓋一個(gè)無(wú)效等價(jià)類。

活動(dòng)一認(rèn)識(shí)等價(jià)類方法二、等價(jià)類的組合4.強(qiáng)健壯等價(jià)類測(cè)試“健壯”表示不僅考慮有效等價(jià)類還要考慮無(wú)效等價(jià)類,“強(qiáng)”表示測(cè)試用例需覆蓋兩個(gè)輸入的所有等價(jià)類的可能組合。x1有5個(gè)有效等價(jià)類,x2有4個(gè)有效等價(jià)類,因此最少需要20個(gè)測(cè)試用例可以滿足強(qiáng)健壯等價(jià)類測(cè)試的要求,如圖所示。

活動(dòng)一認(rèn)識(shí)等價(jià)類方法二、等價(jià)類的組合通常情況下,在測(cè)試過程中,只要采用弱健壯測(cè)試即可。但是在實(shí)際測(cè)試中,應(yīng)當(dāng)分析待測(cè)程序的具體情況,選用合適的測(cè)試種類。等價(jià)類設(shè)計(jì)測(cè)試用例的步驟如下。①劃分等價(jià)類,形成等價(jià)類表,為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一編號(hào)。②設(shè)計(jì)一個(gè)新的測(cè)試用例,使它能夠盡量覆蓋尚未覆蓋的有效等價(jià)類。重復(fù)這個(gè)步驟,直到所有有效等價(jià)類均被測(cè)試用例所覆蓋。③設(shè)計(jì)一個(gè)新的測(cè)試用例,使它僅覆蓋一個(gè)尚未覆蓋的無(wú)效等價(jià)類。重復(fù)這一步驟,直到所有無(wú)效等價(jià)類均被測(cè)試用例所覆蓋?;顒?dòng)二等價(jià)類測(cè)試用例設(shè)計(jì)一、等價(jià)類設(shè)計(jì)測(cè)試用例的步驟這里規(guī)定每次只覆蓋一個(gè)無(wú)效等價(jià)類,是因?yàn)槿粲靡粋€(gè)測(cè)試用例檢測(cè)多個(gè)無(wú)效等價(jià)類,那么某些無(wú)效等價(jià)類可能永遠(yuǎn)不會(huì)被檢測(cè)到,因?yàn)榈谝粋€(gè)無(wú)效等價(jià)類測(cè)試可能會(huì)屏蔽或終止其他無(wú)效等價(jià)類測(cè)試的執(zhí)行。例如,軟件規(guī)格說(shuō)明規(guī)定“每類科技參考書50~100冊(cè)”,若一個(gè)測(cè)試用例為“文藝書籍10冊(cè)”,在測(cè)試中,很可能檢測(cè)出書的類型錯(cuò)誤,而忽略了書的冊(cè)數(shù)錯(cuò)誤。此外,在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)意識(shí)到:預(yù)期結(jié)果也是測(cè)試用例的一個(gè)必要組成部分,對(duì)采用無(wú)效輸入的測(cè)試也是如此。一、等價(jià)類設(shè)計(jì)測(cè)試用例的步驟活動(dòng)二等價(jià)類測(cè)試用例設(shè)計(jì)三角形問題是測(cè)試文獻(xiàn)中使用很廣泛的一個(gè)例子。輸入3個(gè)整數(shù)a、b和c分別作為三角形的3條邊,通過程序判斷這3條邊的組成情況是等邊三角形、等腰三角形、一般三角形,還是不構(gòu)成三角形。假定3個(gè)輸入a、b和c在1~100范圍內(nèi)取值,三角形問題可以更詳細(xì)地描述為:輸入3個(gè)整數(shù)a、b和c分別作為三角形的3條邊,要求a、b和c必須滿足1≤a≤100,1≤b≤100,a<b+c,b<a+c,c<a+b?;顒?dòng)二等價(jià)類測(cè)試用例設(shè)計(jì)二、等價(jià)類應(yīng)用實(shí)例程序輸出是由這3條邊構(gòu)成的三角形類型:等邊三角形、等腰三角形、一般三角形或非三角形。如果輸入值不滿足前3個(gè)條件中的任何一個(gè),程序?qū)⒔o出相應(yīng)的提示信息:“請(qǐng)輸入1~100的整數(shù)”。如果a、b和c滿足前3個(gè)條件,則輸出下列4種情況之一:(1)如果不滿足后面3個(gè)條件中的任意一個(gè),則程序輸出為“非三角形”;(2)如果3條邊相等,則程序輸出為“等邊三角形”;(3)如果有且僅有兩條邊相等,則程序輸出為“等腰三角形”;(4)如果3條邊都不相等,則程序輸出為“一般三角形”。

活動(dòng)二等價(jià)類測(cè)試用例設(shè)計(jì)二、等價(jià)類應(yīng)用實(shí)例仔細(xì)分析三角形問題,可以得到一個(gè)等價(jià)類表,如表所示,然后根據(jù)這個(gè)表格來(lái)設(shè)計(jì)覆蓋上等價(jià)類的測(cè)試用例。測(cè)試用例Test1=(3,4,5)即可覆蓋有效等價(jià)類1~3活動(dòng)二等價(jià)類測(cè)試用例設(shè)計(jì)二、等價(jià)類應(yīng)用實(shí)例有效等價(jià)類編號(hào)無(wú)效等價(jià)類編號(hào)整數(shù)1一邊為非整數(shù)兩邊為非整數(shù)三邊均為非整數(shù)4563個(gè)數(shù)2只有一條邊只有兩條邊多于三條邊7891≤a≤1001≤b≤1001≤c≤1003一邊為0兩邊為0三邊為0101112一邊<0兩邊<0三邊<0131415一邊>100兩邊>100三邊>100161718覆蓋無(wú)效等價(jià)類的測(cè)試用例如表所示

活動(dòng)二等價(jià)類測(cè)試用例設(shè)計(jì)二、等價(jià)類應(yīng)用實(shí)例測(cè)試用例輸入a,b,c預(yù)期輸出覆蓋等價(jià)類Test21.5,2,3提示“請(qǐng)輸入1~100的整數(shù)”4Test31.5,2.5,3提示“請(qǐng)輸入1~100的整數(shù)”5Test41.5,2.5,3.5提示“請(qǐng)輸入1~100的整數(shù)”6Test53提示“請(qǐng)輸入3條邊長(zhǎng)”7Test64,5提示“請(qǐng)輸入3條邊長(zhǎng)”8Test73,4,5,6提示“請(qǐng)輸入3條邊長(zhǎng)”9Test80,2,2提示“邊長(zhǎng)不能為0”10Test90,0,2提示“邊長(zhǎng)不能為0”11Test100,0,0提示“邊長(zhǎng)不能為0”12Test11-1,2,2提示“邊長(zhǎng)不能為負(fù)”13Test12-1,-1,2提示“邊長(zhǎng)不能為負(fù)”14Test13-1,-1,-1提示“邊長(zhǎng)不能為負(fù)”15Test14101,5,6提示“請(qǐng)輸入1~100的整數(shù)”16Test15101,102,7提示“請(qǐng)輸入1~100的整數(shù)”17Test16101,102,103提示“請(qǐng)輸入1~100的整數(shù)”18在多數(shù)情況下,可以從被測(cè)程序的輸入域劃分等價(jià)類,但也可以從被測(cè)程序的輸出域劃分等價(jià)類。三角形問題可能有4中輸出:等邊三角形、等腰三角形、一般三角形或非三角形。其輸出域等價(jià)類可以劃分為:(1)R1={<a,b,c>:邊為a,b,c的等邊三角形}(2)R2={<a,b,c>:邊為a,b,c的等腰三角形}(3)R3={<a,b,c>:邊為a,b,c的一般三角形}(4)R4={<a,b,c>:邊為a,b,c的非三角形}

活動(dòng)二等價(jià)類測(cè)試用例設(shè)計(jì)二、等價(jià)類應(yīng)用實(shí)例使用等價(jià)類方法設(shè)計(jì)某信息系統(tǒng)注冊(cè)界面的測(cè)試用例。在各種輸入條件下,測(cè)試程序的注冊(cè)界面的功能。其中賬號(hào)的規(guī)則如下:(1)賬號(hào)長(zhǎng)度為8~12位(含8位和12位);(2)賬號(hào)由字符(a~z、A~Z)和數(shù)字(0~9)組成;(3)不能為空、不能包含空格和特殊字符。密碼的規(guī)則如下:(1)賬號(hào)長(zhǎng)度為6~8位(含6位和8位);(2)賬號(hào)由字符(a~z、A~Z)和數(shù)字(0~9)組成;(3)不能為空、不能包含空格和特殊字符。任務(wù)實(shí)施注冊(cè)功能是系統(tǒng)中的常見功能之一,設(shè)計(jì)等價(jià)類的時(shí)候,可以從長(zhǎng)度、非法字符、類型、空值等方面進(jìn)行考慮,這里我們以賬號(hào)、密碼和確認(rèn)密碼為例,將三個(gè)條件作為獨(dú)立的輸入條件進(jìn)行測(cè)試用例設(shè)計(jì)。任務(wù)實(shí)施序號(hào)輸入條件有效等價(jià)類編號(hào)無(wú)效等價(jià)類編號(hào)1賬號(hào)正確的賬號(hào)1長(zhǎng)度小于84長(zhǎng)度大于125包含非法字符6賬號(hào)為空7賬號(hào)已經(jīng)存在82密碼正確的密碼2長(zhǎng)度小于69長(zhǎng)度大于810包含非法字符11密碼為空123確認(rèn)密碼與密碼一致3賬號(hào)已經(jīng)存在13(1)劃分某信息系統(tǒng)注冊(cè)界面等價(jià)類如右表所示。(2)設(shè)計(jì)測(cè)試用例如右表所示用例編號(hào)輸入數(shù)據(jù)預(yù)期輸出覆蓋等價(jià)類賬號(hào)密碼確認(rèn)密碼001Cinderellal12345671234567成功注冊(cè)1,2,3002Lee12345671234567賬號(hào)長(zhǎng)度太短2,3,4003Cinderellalen12345671234567賬號(hào)長(zhǎng)度太長(zhǎng)2,3,5004Miechel#12345671234567賬號(hào)包含非法字符2,3,6005(無(wú)輸入)12345671234567賬號(hào)不能為空2,3,7006Cinderellal12345671234567賬號(hào)已經(jīng)存在2,3,8007Cinderellal1234512345密碼長(zhǎng)度太短1,3,9008Cinderellal123456789123456789密碼長(zhǎng)度太長(zhǎng)1,3,10009Cinderellal123456#123456#密碼包含非法字符1,3,11010Cinderellal(無(wú)輸入)(無(wú)輸入)密碼不能為空1,3,12011Cinderellal1234561234567兩次密碼不一致1,3,13任務(wù)實(shí)施任務(wù)二邊界值測(cè)試●本任務(wù)通過分析某程序的“日期檢查功能”的需求規(guī)格說(shuō)明,分析各輸入條件的邊界值情況,結(jié)合所學(xué)等價(jià)類思想,設(shè)計(jì)基于邊界值的測(cè)試用例,完成對(duì)某程序的“日期檢查功能”的測(cè)試?!翊罅康能浖y(cè)試實(shí)踐表明,故障往往出現(xiàn)在定義域的邊界值上,而不是在其內(nèi)部。如果針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,往往可以發(fā)現(xiàn)更多的錯(cuò)誤。邊界值測(cè)試法就是對(duì)輸入或輸出數(shù)據(jù)的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法。任務(wù)陳述活動(dòng)一認(rèn)識(shí)邊界值方法1.邊界值測(cè)試原理邊界是測(cè)試用例的一些特殊情況。對(duì)于程序來(lái)說(shuō),一般情況下,輸入/輸入范圍的中間數(shù)值都是運(yùn)行正確的,大量的錯(cuò)誤會(huì)出現(xiàn)在范圍邊界。例如,當(dāng)進(jìn)行三角形判斷的測(cè)試時(shí),要求輸入3條邊長(zhǎng)a、b和c,而判斷邊長(zhǎng)的一個(gè)條件是a+b>c>c。但是,如果將一個(gè)“>”錯(cuò)寫成“≥”時(shí),那么就無(wú)法構(gòu)成三角形。問題恰恰出現(xiàn)在那些容易被忽略的邊界上。一、邊界值測(cè)試原理活動(dòng)一認(rèn)識(shí)邊界值方法1.邊界值測(cè)試原理邊界值分析法的基本思想是在等價(jià)類的極端情況下考慮軟件測(cè)試工作,因?yàn)殄e(cuò)誤很容易發(fā)生在輸入值的關(guān)鍵點(diǎn),即從合法變?yōu)榉欠ǖ哪且稽c(diǎn)。由此也可以看出,邊界值分析其實(shí)是與等價(jià)類劃分密切相關(guān)的。在等價(jià)類劃分的過程中,無(wú)論是對(duì)等價(jià)類的輸入還是輸出,都會(huì)產(chǎn)生很多邊界情況。因此,選擇正好等于、略大于或者略小于等價(jià)類邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值作為測(cè)試數(shù)據(jù)。一、邊界值測(cè)試原理活動(dòng)一認(rèn)識(shí)邊界值方法1.邊界值測(cè)試原理邊界值分析法設(shè)計(jì)測(cè)試用例時(shí),首先需要確定邊界情況。如果程序的邊界比較復(fù)雜,那么想要找出合適的邊界,還需要耐心地分析程序的輸出邊界、輸入邊界,這需要在測(cè)試的過程中進(jìn)行仔細(xì)分析,找出有趣的或是可能產(chǎn)生故障的邊界情況。一、邊界值測(cè)試原理活動(dòng)一認(rèn)識(shí)邊界值方法2.邊界條件邊界條件即輸入定義域或輸出值域的邊界,而不是內(nèi)部。需要注意的是,邊界值不僅可以是數(shù)據(jù)取值的邊界,還可以是數(shù)據(jù)的個(gè)數(shù)、文件的個(gè)數(shù)、記錄的條數(shù)等。通常情況下,軟件測(cè)試可能針對(duì)的邊界有多種類型,如數(shù)字、字符、位置、質(zhì)量、大小、速度、方位、尺寸、空間等。相應(yīng)地,邊界值對(duì)應(yīng)的情況可能是最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最長(zhǎng)、空/滿等情況。一、邊界值測(cè)試原理活動(dòng)一認(rèn)識(shí)邊界值方法2.邊界條件

如:(1)數(shù)據(jù)取值范圍的最大值、最小值。(2)屏幕上光標(biāo)在最左上、最右下位置。(3)報(bào)表的第一行、最后一行。(4)數(shù)組元素的第一個(gè)、最后一個(gè)。(5)循環(huán)一次、循環(huán)最大次。(6)數(shù)據(jù)表中的第一條記錄、最后一條記錄。(7)字符串的第一個(gè)符號(hào)、最后一個(gè)符號(hào)。一、邊界值測(cè)試原理活動(dòng)一認(rèn)識(shí)邊界值方法2.邊界條件除邊界端點(diǎn)外,還應(yīng)考慮略大于和略小于邊界端點(diǎn)的情況,如下所示。(1)第一個(gè)/最后一個(gè),第一個(gè)-1/最后一個(gè)+1。(2)開始/結(jié)束,開始-1/結(jié)束+1。(3)空的/滿的,比空的少點(diǎn)/比滿的多些。(4)最短的/最長(zhǎng)的,稍微短點(diǎn)/稍微長(zhǎng)點(diǎn)。(5)最慢的/最快的,稍微慢點(diǎn)/稍微快點(diǎn)。(6)最早的/最晚的,稍微早點(diǎn)/稍微晚點(diǎn)。(7)最大的/最小的,最大的+1/最小的-1。一、邊界值測(cè)試原理活動(dòng)一認(rèn)識(shí)邊界值方法3.次邊界條件在多數(shù)情況下,邊界值條件是基于應(yīng)用程序的功能設(shè)計(jì)而需要考慮的因素,可以從軟件的規(guī)格說(shuō)明或常識(shí)中得到,也是最終用戶很容易發(fā)現(xiàn)問題的。然而,在測(cè)試用例設(shè)計(jì)的過程中,某些邊界值條件不需要呈現(xiàn)給用戶,或者說(shuō)用戶是很難注意到的,但確實(shí)屬于檢驗(yàn)范疇內(nèi)的邊界條件,那么軟件測(cè)試仍有必要對(duì)這些邊界條件進(jìn)行檢查,這樣的邊界條件稱為次邊界條件。一、邊界值測(cè)試原理活動(dòng)一認(rèn)識(shí)邊界值方法3.次邊界條件尋找次邊界條件比較困難,雖然不要求軟件測(cè)試人員成為程序員或者具有閱讀源代碼的能力,但要求測(cè)試人員能大體了解軟件的工作方式。以ASCII碼表為例,ASCII碼表并不是一個(gè)結(jié)構(gòu)良好的連續(xù)表,自然數(shù)0~9對(duì)應(yīng)ASCII碼表中的48~57;斜杠字符(/)在數(shù)字0的前面,而冒號(hào)字符(:)在數(shù)字9的后面;大寫字母A~Z對(duì)應(yīng)的ASCII值是65~90,小寫字母對(duì)應(yīng)的ASCII值是97~122。這些情況都表示次邊界條件。如果對(duì)文本輸入或文本轉(zhuǎn)換軟件進(jìn)行測(cè)試,在考慮數(shù)據(jù)區(qū)間包含哪些值時(shí),最好參考一下ASCII表。一、邊界值測(cè)試原理活動(dòng)一認(rèn)識(shí)邊界值方法3.次邊界條件例如,如果測(cè)試的文本框只接受用戶輸入字符A~Z和,那么就應(yīng)該在非法區(qū)間中,檢測(cè)ASCII表中位于這些字符前后的值——@、’、[、和{。在實(shí)際的測(cè)試用例設(shè)計(jì)中,需要將基本的軟件設(shè)計(jì)要求和程序定義的要求結(jié)合起來(lái),即結(jié)合基本邊界值條件和內(nèi)部邊界值條件來(lái)設(shè)計(jì)有效的測(cè)試用例。一、邊界值測(cè)試原理活動(dòng)一認(rèn)識(shí)邊界值方法對(duì)邊界值設(shè)計(jì)測(cè)試用例,應(yīng)當(dāng)遵循以下幾條原則。(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界值以及剛剛超過這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。(2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)和比最大個(gè)數(shù)多1個(gè)、比最小個(gè)數(shù)少1個(gè)的數(shù)作為測(cè)試數(shù)據(jù)。(3)根據(jù)程序規(guī)格說(shuō)明的每個(gè)輸出條件,使用上述第1條原則。(4)根據(jù)程序規(guī)格說(shuō)明的每個(gè)輸出條件,使用上述第2條原則。二、邊界值分析原則活動(dòng)一認(rèn)識(shí)邊界值方法(5)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合中的第一個(gè)和最后一個(gè)元素作為測(cè)試用例。(6)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。(7)分析程序規(guī)格說(shuō)明,找出其他可能的邊界條件。二、邊界值分析原則活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)1.一般邊界值僅考慮單個(gè)變量在有效取值區(qū)間上的邊界值,包括最小值、略高于最小值、略低于最大值和最大值。如果被測(cè)變量個(gè)數(shù)為n,則總的邊界值有4n個(gè)。設(shè)計(jì)測(cè)試用例時(shí)每次只覆蓋一個(gè)變量的邊界值,其他變量應(yīng)當(dāng)用正常值,所以可以為每個(gè)變量再選取一個(gè)正常值,這樣的話邊界值和等價(jià)類劃分相結(jié)合,總的測(cè)試用例個(gè)數(shù)為4n+1個(gè)。一、邊界值的組合活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)1.一般邊界值例如,程序F有兩個(gè)輸入變量x1(a≤x1≤d)和x2(e≤x2≤g),則針對(duì)(x1,x2)的一般邊界值測(cè)試用例形式如下。{<nom,min>,<nom,min+>,<nom,nom><nom,max>,<nom,max->,<min,nom><min+,nom>,<max,nom>,<max-,nom>}其中,nom表示正常值,min表示最小值,max表示最大值,min+表示略大于最小值,max-表示略小于最大值。總的測(cè)試用例個(gè)數(shù)為4n+1=4x2+1=9。一、邊界值的組合活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)

一、邊界值的組合活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)3.健壯邊界值同時(shí)考慮單個(gè)變量在有效區(qū)間和無(wú)效區(qū)間上的邊界值,除選取最小值、略高于最小值、正常值、略低于最大值和最大值作為邊界值外,還要選取略超過最大值及略小于最小值的值。如果被測(cè)變量個(gè)數(shù)為n,則測(cè)試用例個(gè)數(shù)為6n+1。一、邊界值的組合活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)

一、邊界值的組合活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)一、邊界值的組合一般邊界值一般最壞情況邊界值活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)一、邊界值的組合一般邊界值健壯最壞情況邊界值活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)多變量同時(shí)取邊界值看上去測(cè)試更徹底更完善,但花費(fèi)的代價(jià)確實(shí)不小。例如,當(dāng)n=3時(shí),實(shí)現(xiàn)健壯邊界值覆蓋的測(cè)試用例個(gè)數(shù)為6n+1=6x3+1=19,而實(shí)現(xiàn)健壯最壞情況邊界值覆蓋的測(cè)試用例個(gè)數(shù)為==343后者約為前者的18倍。當(dāng)各個(gè)變量之間相對(duì)獨(dú)立時(shí),僅考慮使用一個(gè)變量取邊界值,另外一個(gè)變量取正常值就可以了。這樣既可以達(dá)到應(yīng)有的測(cè)試效果,又可以節(jié)約大量的測(cè)試成本。一、邊界值的組合活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)某品牌牛奶銷售公司指派銷售員銷售各種牛奶,其中瓶裝高端牛奶15/瓶,罐裝普通牛奶5元/罐,袋裝普通牛奶2.5元/袋。對(duì)于每個(gè)銷售員,高端罐裝牛奶每月的最高供應(yīng)量為5000瓶,罐裝牛奶為15000罐,袋裝牛奶30000袋,各銷售員每月至少需售出高端罐裝牛奶50瓶,罐裝牛奶150罐,袋裝牛奶300袋。每到月末時(shí),各銷售員向牛奶銷售公司上報(bào)他所在區(qū)域的銷售業(yè)績(jī),以供牛奶銷售公司根據(jù)其銷售額計(jì)算該銷售員的傭金(提成),并作為獎(jiǎng)金發(fā)放,計(jì)算方法如下。·1萬(wàn)元(含)以下,4%?!?萬(wàn)元(不含)到3萬(wàn)元(含),3%?!?萬(wàn)元(不含)以上,1%二、邊界值應(yīng)用實(shí)例活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)首先,從輸入角度分析該問題。該問題的輸入變量有3個(gè),其對(duì)應(yīng)的等價(jià)類劃分如下?!て垦b牛奶瓶數(shù),有效等價(jià)類[50,5000]?!す扪b牛奶罐數(shù),有效等價(jià)類[150,15000]?!ごb牛奶袋數(shù),有效等價(jià)類[300,30000]。按照邊界值取值方法,對(duì)每個(gè)輸入變量分別取7個(gè)值min-、min、min+、nom、max-、max和max+,具體如下?!て垦b牛奶瓶數(shù),取值{49,50,51,2500,4999,5000,5001}。·罐裝牛奶罐數(shù),取值{149,150,151,7500,14999,15000,15001}?!ごb牛奶袋數(shù),取值{299,300,301,15000,29999,30000,30001}。二、邊界值應(yīng)用實(shí)例根據(jù)邊界值組合測(cè)試用例規(guī)則,保留其中一個(gè)變量,讓其余變量取正常值,共可以得到6x3+1=19個(gè)測(cè)試用例。測(cè)試用例瓶裝牛奶罐裝牛奶袋裝牛奶銷售額預(yù)期輸出Test14975001500075000輸入非法Test25075001500075750傭金:757.5Test35175001500075765傭金:757.65Test4250075001500090000傭金:900Test54999750015000149985傭金:1499.85Test65000750015000150000傭金:1500Test75001750015000150015輸入非法Test825001491500075745輸入非法Test925001501500075750傭金:757.5Test1025001511500075755傭金:757.55Test1125001499915000149995傭金:1499.985Test1225001500015000150000傭金:1500Test1325001500115000150005輸入非法Test142500150029945747.5輸入非法Test152500150030045750傭金:457.5Test162500150030145755傭金:457.55Test17250015002999952497.5傭金:524.975Test182500150030000120000傭金:1200Test192500150030001750005輸入非法活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)二、邊界值應(yīng)用實(shí)例活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)以上測(cè)試用例中可以發(fā)現(xiàn),Test1、Test7、Test8、Test13、Test14、Test19分別驗(yàn)證了程序的健壯性。但是其余測(cè)試用例中,銷售額都大于3萬(wàn),測(cè)試用例存在冗余。測(cè)試用例沒有對(duì)小于3萬(wàn)的銷售額進(jìn)行驗(yàn)證,因此測(cè)試存在遺漏。二、邊界值應(yīng)用實(shí)例活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)這時(shí)應(yīng)當(dāng)從輸出角度對(duì)該程序進(jìn)行測(cè)試。因?yàn)殇N售員每月至少需售出高端罐裝牛奶50瓶,罐裝牛奶150罐,袋裝牛奶300袋,此時(shí)銷售額為0.225萬(wàn)元。每月最多可售出高端罐裝牛奶5000瓶,罐裝牛奶15000罐,袋裝牛奶30000袋,此時(shí)銷售額為22.5萬(wàn)元。銷售額等價(jià)類劃分為:[0.225,1]、(1,3]、(3,22.5]對(duì)此等價(jià)類分別取邊界值為:{略小于0.225,0.225,略大于0.225,0.6,略小于1,1,略大于1,2.5,略小于3,3,略大于3,12.75,略小于22.5,22.5,略大于22.5}二、邊界值應(yīng)用實(shí)例活動(dòng)二邊界值測(cè)試用例設(shè)計(jì)

測(cè)試用例如表所示。二、邊界值應(yīng)用實(shí)例測(cè)試用例瓶裝牛奶罐裝牛奶袋裝牛奶銷售額預(yù)期輸出Test1501502992247.5輸入非法Test2501503002250傭金:90Test3501503012255傭金:90.2Test45015018006000傭金:120Test510030027999997.5傭金:399.9Test6100300280010000傭金:400Test7100300280110002.5傭金:300.075Test8200400800025000傭金:750Test96002000439829995傭金:899.85Test106002000440030000傭金:900Test116002000440130002.5傭金:300.025Test122500750021000127500傭金:1275Test1350001500029999224997.5傭金:2249.75Test1450001500030000225000傭金:2250Test1550001500030001225002.5輸入非法某程序具有如下功能:文本框要求輸入日期信息,日期限定在1990年1月~2049年12月,并規(guī)定日期由6位數(shù)字字符組成,前4位表示年,后2位表示月;程序需對(duì)輸入的日期有效性進(jìn)行校驗(yàn)。用等價(jià)類劃分方法和邊界值分析法為該程序的“日期檢查功能”設(shè)計(jì)測(cè)試用例。程序需求規(guī)格說(shuō)明要求輸入6個(gè)數(shù)字字符yyyynn;參照等價(jià)類劃分法,可以劃分為一個(gè)有效等價(jià)類和三個(gè)無(wú)效等價(jià)類。任務(wù)實(shí)施任務(wù)實(shí)施輸入等價(jià)類有效等價(jià)類編號(hào)無(wú)效等價(jià)類編號(hào)日期的類型和長(zhǎng)度輸入6個(gè)數(shù)字字符1輸入6個(gè)字符,存在非數(shù)字的情況2輸入少于6個(gè)數(shù)字字符3輸入多于6個(gè)數(shù)字字符4年份范圍1990~20495小于19906大于20497月份范圍0~128小于019大于1210按照邊界值取值方法,可以取以下邊界值情況:月份:{00、01、02、06、11、12、13}年份:{1989、1990、1991、2020、2048、2049、2050}設(shè)計(jì)測(cè)試用例如下:任務(wù)實(shí)施任務(wù)實(shí)施序號(hào)測(cè)試輸入預(yù)期輸出11989.06提示“請(qǐng)輸入正確日期”21990.06提示“日期正確”31991.06提示“日期正確”42020.06提示“日期正確”52048.06提示“日期正確”62049.06提示“日期正確”72050.06提示“請(qǐng)輸入正確日期”82020.00提示“請(qǐng)輸入正確日期”82020.01提示“日期正確”92020.11提示“日期正確”102020.12提示“日期正確”112020.13提示“請(qǐng)輸入正確日期”任務(wù)三判定表測(cè)試●本任務(wù)通過分析打印機(jī)的打印功能的需求規(guī)格說(shuō)明,列出所有的條件和動(dòng)作,確定規(guī)則的個(gè)數(shù),填入條件項(xiàng)和動(dòng)作項(xiàng)并簡(jiǎn)化判定表,設(shè)計(jì)測(cè)試用例,完成對(duì)打印機(jī)打印功能的判定表測(cè)試?!竦葍r(jià)類劃分法和邊界值測(cè)試法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組合。雖然各種輸入條件可能出錯(cuò)的情況已經(jīng)測(cè)試到了,但多個(gè)輸入條件組合起來(lái)可能出錯(cuò)的情況卻被忽視了。判定表驅(qū)動(dòng)法重點(diǎn)就是針對(duì)輸入條件的各種組合情況進(jìn)行測(cè)試。任務(wù)陳述活動(dòng)一認(rèn)識(shí)判定表在一些數(shù)據(jù)處理問題中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合,針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作,判定表很適合處理這類題。判定表也叫決策表,是一種邏輯分析和表達(dá)工具,用于分析和表達(dá)多個(gè)輸入條件在不同的取值組合下,會(huì)分別執(zhí)行哪些不同的操作。一、判定表的構(gòu)成活動(dòng)一認(rèn)識(shí)判定表例如,有一個(gè)“閱讀指南”,它對(duì)讀者提出三個(gè)問題,若讀者的回答是肯定的(判定取真值),標(biāo)以字母“Y”;若回答是否定的(判定取假值),標(biāo)以字母“N”。3個(gè)判定條件,共有8種取值情況。表還為讀者提供了4條建議,但不需要每種情況都實(shí)施。要實(shí)施的建議在相應(yīng)欄內(nèi)標(biāo)以“?”,其他建議欄內(nèi)則什么也不標(biāo)。例如,表中的第3種情況,當(dāng)該者已經(jīng)疲勞,對(duì)內(nèi)容又不感興趣,并且還沒讀懂時(shí),建議讀者去休息。這就是一張判定表,如圖所示。

一、判定表的構(gòu)成活動(dòng)一認(rèn)識(shí)判定表一、判定表的構(gòu)成問題與建議12345678問題C1:是否疲倦YYYYNNNNC2:是否對(duì)內(nèi)容感興趣YYNNYYNNC3:是否感到糊涂YNYNYNYN建議A1:回到本章開頭重讀

A2:繼續(xù)讀下去

A3:跳到下一章去讀

√√A4:停止閱讀并休息√√√√

活動(dòng)一認(rèn)識(shí)判定表

·條件樁:列出了問題的所有條件,除了某些問題對(duì)條件的先后次序有特定的要求外,通常在這里列出的條件其先后次序無(wú)關(guān)緊要,可以任意調(diào)換。·條件項(xiàng):針對(duì)條件樁給出的條件列出所有可能的取值。

一、判定表的構(gòu)成活動(dòng)一認(rèn)識(shí)判定表

·動(dòng)作樁:給出了問題規(guī)定的可能采取的操作,這些操作的排列順序一般沒有什么約束,但為了便于閱讀也可令其按適當(dāng)?shù)捻樞蚺帕小!?dòng)作項(xiàng):和條件項(xiàng)緊密相關(guān),指出在條件項(xiàng)的各組取值情況下應(yīng)采取的動(dòng)作。

一、判定表的構(gòu)成活動(dòng)一認(rèn)識(shí)判定表如果C1、C2和C3都為真,則采取動(dòng)作A4。如果C1為假,而C2和C3都為真,則采取動(dòng)作A1。把任何一個(gè)條件組合的特定取值及相應(yīng)要執(zhí)行的動(dòng)作稱為一條規(guī)則,在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則。顯然,判定表中列出多少組條件取值,就有多少條規(guī)則。根據(jù)判定表設(shè)計(jì)測(cè)試用例就不會(huì)遺漏。

一、判定表的構(gòu)成活動(dòng)一認(rèn)識(shí)判定表實(shí)際使用判定表時(shí),常常先將它簡(jiǎn)化,簡(jiǎn)化是以合并相似規(guī)則為目標(biāo)的。若表中有兩條或多條規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在著極為相似的關(guān)系,便可以設(shè)法將其合并。二、判定表的化簡(jiǎn)活動(dòng)一認(rèn)識(shí)判定表實(shí)際使用判定表時(shí),常常先將它簡(jiǎn)化,簡(jiǎn)化是以合并相似規(guī)則為目標(biāo)的。若表中有兩條或多條規(guī)則具有相同的動(dòng)作,并且在條件項(xiàng)之間存在著極為相似的關(guān)系,便可以設(shè)法將其合并。二、判定表的化簡(jiǎn)活動(dòng)一認(rèn)識(shí)判定表

例如,中第1、2條規(guī)則的動(dòng)作項(xiàng)一致,條件項(xiàng)中前兩個(gè)條件取值一致,只是第3個(gè)條件取值不同,這一情況表明,前兩個(gè)條件分別取真值和假值時(shí),無(wú)論第3個(gè)條件取什么值,都要執(zhí)行同一操作,即要執(zhí)行的動(dòng)作與第3個(gè)條件的取值無(wú)關(guān),于是便將這兩個(gè)規(guī)則合并,合并后的第3個(gè)條件項(xiàng)用符號(hào)“—”表示與取值無(wú)關(guān)。

二、判定表的化簡(jiǎn)問題與建議12345678問題C1:是否疲倦YYYYNNNNC2:是否對(duì)內(nèi)容感興趣YYNNYYNNC3:是否感到糊涂YNYNYNYN建議A1:回到本章開頭重讀

A2:繼續(xù)讀下去

A3:跳到下一章去讀

√√A4:停止閱讀并休息√√√√

活動(dòng)一認(rèn)識(shí)判定表二、判定表的化簡(jiǎn)活動(dòng)一認(rèn)識(shí)判定表二、判定表的化簡(jiǎn)規(guī)則進(jìn)行合并,可以減少重復(fù)的規(guī)則,相應(yīng)地減少測(cè)試用例的設(shè)計(jì),這樣可以大大降低軟件測(cè)試的工作量。圖書閱讀指南判定表最初有8條規(guī)則,進(jìn)行合并之后,只剩下5條規(guī)則,簡(jiǎn)化后的圖書閱讀指南判定表如表所示

問題與建議12345問題C1:是否疲倦YYNNNC2:是否對(duì)內(nèi)容感興趣YNNYYC3:是否感到糊涂---YN建議A1:回到本章開頭重讀

A2:繼續(xù)讀下去

√A3:跳到下一章去讀

A4:停止閱讀并休息√√

活動(dòng)二判定表測(cè)試用例設(shè)計(jì)

一、判定表測(cè)試方法活動(dòng)二判定表測(cè)試用例設(shè)計(jì)某公司的薪資管理制度如下:?jiǎn)T工工資分為年薪制與月薪制兩種,員工的錯(cuò)誤定位包括普通錯(cuò)誤與嚴(yán)重錯(cuò)誤兩種,如果是年薪制的員工,犯普通錯(cuò)誤扣款2%,犯嚴(yán)重錯(cuò)誤扣款4%;如果是月薪制的員工,犯普通錯(cuò)誤扣款4%,犯嚴(yán)重錯(cuò)誤扣款8%。該公司編寫了一款軟件用于員工工資計(jì)算發(fā)放,現(xiàn)在要對(duì)該軟件進(jìn)行測(cè)試。二、判定表應(yīng)用實(shí)例活動(dòng)二判定表測(cè)試用例設(shè)計(jì)對(duì)公司員工工資管理進(jìn)行分析,可得出員工工資由4個(gè)因素決定:年薪、月薪、普通錯(cuò)誤、嚴(yán)重錯(cuò)誤,其中年薪與月薪不可能并存,但普通錯(cuò)誤與嚴(yán)重錯(cuò)誤可以并存二、判定表應(yīng)用實(shí)例原因年薪c1月薪c2普通錯(cuò)誤c3嚴(yán)重錯(cuò)誤c4結(jié)果未扣款e1扣款2%e2扣款4%e3扣款6%e4扣款4%e5扣款8%e6扣款12%e7而員工最終扣款結(jié)果有7種:未扣款、扣款2%、扣款4%、扣款6%(2%+4%)、扣款4%、扣款8%、扣款12%(4%+8%),由此總結(jié)出該軟件測(cè)試的原因與結(jié)果,如表所示?;顒?dòng)二判定表測(cè)試用例設(shè)計(jì)

二、判定表應(yīng)用實(shí)例規(guī)則12345678原因c1YYYY

c2

YYYYc3NYNYNYNYc4NNYYNNYY結(jié)果e1√

e2

e3

e4

e5

e6

e7

√活動(dòng)二判定表測(cè)試用例設(shè)計(jì)分析該員工工資判定表,并沒有可以合并的規(guī)則,因此在測(cè)試時(shí)需要設(shè)計(jì)8個(gè)測(cè)試用例。根據(jù)公司的薪資情況可設(shè)計(jì)測(cè)試用例,如表所示。二、判定表應(yīng)用實(shí)例測(cè)試用例薪資制度薪資/元錯(cuò)誤程度扣款/元Test1年薪制200000無(wú)0Test2250000普通5000Test3300000嚴(yán)重12000Test4350000普通+嚴(yán)重21000Test5月薪制8000無(wú)0Test610000普通400Test715000嚴(yán)重1200Test88000普通+嚴(yán)重960使用判定表方法對(duì)打印機(jī)對(duì)打印功能設(shè)計(jì)測(cè)試用例。打印機(jī)能否打印出正確的內(nèi)容,有多個(gè)影響因素。包括驅(qū)動(dòng)程序、紙張、磨粉等。第一步,列出所有的條件和動(dòng)作。條件樁:①驅(qū)動(dòng)程序是否正確?②是否有紙張?③是否有墨粉?任務(wù)實(shí)施動(dòng)作樁:這里動(dòng)作樁主要有兩種,即打印正確內(nèi)容和各類錯(cuò)誤提示,并且假定:優(yōu)先警告沒有紙張,然后警告沒有墨粉,最后警告驅(qū)動(dòng)程序不對(duì)。①打印內(nèi)容。②提示沒有紙張。③提示沒有墨粉。④提示驅(qū)動(dòng)程序不對(duì)。任務(wù)實(shí)施

任務(wù)實(shí)施選項(xiàng)12345678條件驅(qū)動(dòng)程序是否正確?YYYYNNNN是否有紙張?YYNNYYNN

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論