版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1章 軟件測試概述1. 簡述軟件測試的意義。解:隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展和廣泛深入的應(yīng)用,軟件質(zhì)量問題已成為開發(fā)和使用軟件人員關(guān)注的焦點(diǎn)。而由于軟件本身的特性,軟件中的錯(cuò)誤是不開避免的。不斷改進(jìn)的開發(fā)技術(shù)和工具只能減少錯(cuò)誤的發(fā)生,但是卻不可能完全避免錯(cuò)誤。因此為了保證軟件質(zhì)量,必須對(duì)軟件進(jìn)行測試。軟件測試是軟件開發(fā)中必不可少的環(huán)節(jié),是最有效的排除和防治軟件缺陷的手段,是保證軟件質(zhì)量、提高軟件可靠性的最重要手段。2. 什么是軟件缺陷?它的表現(xiàn)形式有哪些?解:從產(chǎn)品內(nèi)部看,軟件缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中所存在的錯(cuò)誤、毛病等各種問題;從外部看,軟件缺陷是系統(tǒng)所需實(shí)現(xiàn)的某種功能的失效或違背。它的
2、表現(xiàn)形式主要有以下幾種:(1)軟件未達(dá)到產(chǎn)品說明書中已經(jīng)標(biāo)明的功能;(2)軟件出現(xiàn)了產(chǎn)品說明書中指明不會(huì)出現(xiàn)的錯(cuò)誤;(3)軟件未達(dá)到產(chǎn)品說明書中雖未指出但應(yīng)當(dāng)達(dá)到的目標(biāo);(4)軟件功能超出了產(chǎn)品說明書中指出的范圍;(5)軟件測試人員認(rèn)為軟件難以理解、不易使用,或者最終用戶認(rèn)為該軟件使用效果不良。 3. 簡單分析軟件缺陷產(chǎn)生的原因,其中那個(gè)階段引入的缺陷最多,修復(fù)成本又最低?解:軟件缺陷產(chǎn)生的主要原因有:需求規(guī)格說明錯(cuò)誤;設(shè)計(jì)錯(cuò)誤;程序代碼有誤;其他。其中在需求分析階段引入的缺陷最多,修復(fù)的成本又最低。4. 當(dāng)用戶登錄某網(wǎng)站購物完畢并退出后,忽然想查查購物時(shí)付賬的總金額,于是按了瀏覽器左上角的“
3、退回”按鈕,就又回到了退出前的網(wǎng)頁,你認(rèn)為該購物軟件有缺陷嗎?如果有,屬于哪一類?解:有缺陷。其所屬類別與軟件產(chǎn)品說明書的要求有關(guān)。5. 什么是軟件測試?簡述其目的與原則。解:軟件測試是為了盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種軟件缺陷而展開的貫穿整個(gè)軟件開發(fā)生命周期,對(duì)軟件產(chǎn)品(包括階段性產(chǎn)品)進(jìn)行驗(yàn)證和確認(rèn)的活動(dòng)過程。測試目的:(1)證明:獲取系統(tǒng)在可接受風(fēng)險(xiǎn)范圍內(nèi)可用的信心;嘗試在非正常情況和條件下的功能和特性;保證一個(gè)工作產(chǎn)品是完整的并且可用或可被集成。 (2)檢測:發(fā)現(xiàn)缺陷、錯(cuò)誤和系統(tǒng)不足;定義系統(tǒng)的能力和局限性;提供組件、工作產(chǎn)品和系統(tǒng)的質(zhì)量信息。 (3)預(yù)防:澄清系統(tǒng)的規(guī)格和性能
4、;提供預(yù)防或減少可能制造錯(cuò)誤的信息;在過程中盡早檢測錯(cuò)誤;確認(rèn)問題和風(fēng)險(xiǎn),并且提前確認(rèn)解決這些問題和風(fēng)險(xiǎn)的途徑。測試過程中應(yīng)注意和遵循的原則:(1)測試不是為了證明程序的正確性,而是為了證明程序不能工作。(2)測試應(yīng)當(dāng)有重點(diǎn)。(3)事先定義好產(chǎn)品的質(zhì)量標(biāo)準(zhǔn)。(4)軟件項(xiàng)目一啟動(dòng),軟件測試也就開始,而不是等到程序?qū)懲瓴砰_始進(jìn)行測試。(5)窮舉測試是不可能的。(6)第三方進(jìn)行測試會(huì)更客觀,更有效。(7)軟件測試計(jì)劃是做好軟件測試工作的前提。(8)測試用例是設(shè)計(jì)出來的,不是寫出來的。(9)對(duì)發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更深入的測試。(10)重視文檔,妥善保存一切測試過程文檔。6. 件測試階段是如何劃
5、分的?解:軟件測試的階段劃分為:規(guī)格說明書審查;系統(tǒng)和程序設(shè)計(jì)審查;單元測試;集成測試;確認(rèn)測試;系統(tǒng)測試;驗(yàn)收測試。7. 簡述軟件開發(fā)的幾個(gè)模式,并說明每種模式對(duì)軟件測試的影響。解:大棒模式簡單,計(jì)劃、進(jìn)度安排和正規(guī)開發(fā)過程幾乎沒有,其開發(fā)過程是非工程化的。大棒模式的軟件測試通常在開發(fā)任務(wù)完成后進(jìn)行,很難回頭修復(fù)存在的問題,測試工作只是向客戶報(bào)告軟件經(jīng)過測試后發(fā)現(xiàn)的情況。邊寫邊改模式通常最初只有粗略的想法就進(jìn)行簡單的設(shè)計(jì),然后開始較長的反復(fù)編寫、測試和修復(fù)過程,在認(rèn)為無法更精細(xì)地描述軟件產(chǎn)品要求時(shí)就發(fā)布產(chǎn)品。該模式下,軟件測試人員將和程序員一起陷入可能是長期的循環(huán)往復(fù)過程。瀑布模式將軟件生命
6、周期的各項(xiàng)活動(dòng)規(guī)定為按照固定順序相連的若干個(gè)階段性工作,形如瀑布流水,最終得到軟件產(chǎn)品。軟件測試在后期展開,使得開發(fā)中出現(xiàn)的問題直到開發(fā)后期才顯露,失去了及早糾正的機(jī)會(huì)??焖僭湍J绞紫葮?gòu)造一個(gè)功能簡單的原型系統(tǒng),然后通過對(duì)原型系統(tǒng)逐步求精,不斷擴(kuò)充完善得到最終的軟件系統(tǒng)。原型系統(tǒng)在擴(kuò)充完善過程中不斷被檢查、測試和修改。螺旋模式是瀑布模式與邊寫邊改模式演化結(jié)合的形式,并加入了風(fēng)險(xiǎn)評(píng)估所建立的軟件開發(fā)模式,其主要思想是在開始時(shí)不必詳細(xì)定義所有細(xì)節(jié),而是從小開始,定義重要功能,盡量實(shí)現(xiàn),接受客戶反饋,進(jìn)入下一階段并重復(fù)上述過程,直到獲得最終產(chǎn)品。測試在每個(gè)階段都要進(jìn)行,并從最初就參與。8. 簡述軟
7、件測試過程。解:軟件測試過程主要包括如下6個(gè)活動(dòng):測試計(jì)劃;測試需求分析;測試設(shè)計(jì);測試規(guī)程實(shí)現(xiàn);測試執(zhí)行;總結(jié)生成報(bào)告。9. “軟件測試能夠保證軟件的質(zhì)量”這句話對(duì)嗎?軟件測試和軟件質(zhì)量之間是什么關(guān)系?解:不對(duì)。軟件測試是保障軟件質(zhì)量的手段之一,但不是唯一手段。測試是產(chǎn)品高質(zhì)量的必要非充分條件,軟件測試不能決定軟件質(zhì)量。10. 判斷以下說法是否正確。(1)軟件測試和軟件調(diào)試是同一回事。(2)軟件測試是可以無窮盡的。(3)測試是為了證明軟件的正確性。(4)測試過程中應(yīng)重視測試的執(zhí)行,可以輕視測試的設(shè)計(jì)。(5)測試不能修復(fù)所有的軟件故障。(6)因?yàn)闇y試工作簡單,對(duì)軟件產(chǎn)品影響不大,所以可以把測試
8、作為新員工的一個(gè)過渡工作,或安排不合格的開發(fā)人員做測試。解:(1)(2)(3)(4)(6)錯(cuò)誤,(5)正確。11. 簡述軟件開發(fā)進(jìn)程與測試進(jìn)程的關(guān)系。解:軟件測試是一個(gè)貫穿軟件開發(fā)生命周期的活動(dòng),它可以是一個(gè)與開發(fā)并行的過程,也可以是在開發(fā)完成某個(gè)階段任務(wù)之后的活動(dòng)。第2章 軟件測試方法與過程1對(duì)軟件測試的復(fù)雜性進(jìn)行歸納分析。解:軟件測試的復(fù)雜性在于:無法對(duì)程序進(jìn)行完全的測試;測試無法保證被測程序中無遺留錯(cuò)誤;不能修復(fù)所有的軟件故障。2分別解釋什么是靜態(tài)測試、動(dòng)態(tài)測試、黑盒測試、白盒測試、人工測試和自動(dòng)化測試。解:所謂靜態(tài)測試是指不運(yùn)行被測軟件,僅通過分析或檢查等其他手段達(dá)到檢測的目的。所謂動(dòng)
9、態(tài)測試是指通過運(yùn)行被測軟件,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率和健壯性等性能。黑盒測試是指在對(duì)程序進(jìn)行的功能抽象的基礎(chǔ)上,將程序劃分成功能單元,然后對(duì)每個(gè)功能單元生成測試數(shù)據(jù)進(jìn)行測試。用這種方法進(jìn)行測試時(shí),被測程序被當(dāng)作打不開的黑盒,因而無法了解其內(nèi)部構(gòu)造,因此又稱為功能測試。白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試,它是知道產(chǎn)品內(nèi)部工作過程,可通過測試來檢測產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能。廣義上,人工測試是人為測試和手工測試的統(tǒng)稱。人為測試的主要方法有桌前檢查,代碼審查和走查。手
10、工測試指的是在測試過程中,按測試計(jì)劃一步一步執(zhí)行程序,得出測試結(jié)果并進(jìn)行分析的測試行為。自動(dòng)化測試指的是利用測試工具來執(zhí)行測試,并進(jìn)行測試結(jié)果分析的測試行為。3如果沒有軟件規(guī)格說明或需求文檔,可以進(jìn)行動(dòng)態(tài)黑盒測試嗎?為什么?解:不行。因?yàn)楹诤袦y試是基于軟件規(guī)格說明的測試。4在單元測試中,所謂單元是如何劃分的?解:單元測試的對(duì)象通常是軟件設(shè)計(jì)的最小邏輯單元,單元的劃分在面向過程的結(jié)構(gòu)化程序中一般是函數(shù)或子過程,在面向?qū)ο蟮某绦蛑锌梢允穷惢蝾惖某蓡T函數(shù)。5簡述單元測試的主要任務(wù)。解:單元測試的主要任務(wù)是:模塊接口測試;局部數(shù)據(jù)結(jié)構(gòu)測試;路徑測試;錯(cuò)誤處理測試;邊界測試。6如果開發(fā)時(shí)間緊迫,是否可以
11、跳過單元測試而直接進(jìn)行集成測試?為什么?解:不可以。因?yàn)闆]有經(jīng)過單元測試的模塊會(huì)遺留大量的缺陷到集成測試階段,而在集成測試階段對(duì)這些缺陷定位困難,導(dǎo)致后續(xù)工作展開困難,修復(fù)缺陷成本成指數(shù)級(jí)增長。7什么是驅(qū)動(dòng)模塊和樁模塊?為下面的函數(shù)構(gòu)造一個(gè)驅(qū)動(dòng)模塊。int divide(int a, int b) int c; if (b=0) printf("除數(shù)不能為0"); return 0; c=a/b; return c;解:驅(qū)動(dòng)模塊是用以模擬被測模塊的上級(jí)模塊,它接收測試數(shù)據(jù),傳送數(shù)據(jù)給被測模塊,啟動(dòng)被測模塊,最后輸出實(shí)測結(jié)果。樁模塊用以模擬被測模塊工作過程中所調(diào)用的子模塊。函
12、數(shù)驅(qū)動(dòng)模塊:void main( ) int x,y,z; scanf(“%d%d”,&x,&y); z=divide(x,y); printf(“%d”,z);8什么是回歸測試?什么時(shí)候進(jìn)行回歸測試?解:回歸測試就是重新運(yùn)行現(xiàn)有測試用例測試原有功能,以便確定變更是否達(dá)到了預(yù)期的目的,檢查變更是否損害了原有的正常功能。每當(dāng)軟件發(fā)生變化時(shí)就應(yīng)進(jìn)行回歸測試。9集成測試有哪些不同的集成方法?簡述不同方法的特點(diǎn)。解:集成測試通常有一次性集成、自頂向下集成、自底向上集成和混合集成4種集成方法。一次性集成方法需要的測試用例數(shù)目少,測試方法簡單、易行。但是由于不可避免存在模塊間接口、全局?jǐn)?shù)據(jù)
13、結(jié)構(gòu)等方面的問題,所以一次運(yùn)行成功的可能性不大;如果一次集成的模塊數(shù)量多,集成測試后可能會(huì)出現(xiàn)大量的錯(cuò)誤,給程序的錯(cuò)誤定位與修改帶來很大的麻煩;即使集成測試通過,也會(huì)遺漏很多錯(cuò)誤進(jìn)入系統(tǒng)測試。自頂向下集成在測試的過程中,可以較早地驗(yàn)證主要的控制和判斷點(diǎn);一般不需要驅(qū)動(dòng)程序,減少了測試驅(qū)動(dòng)程序開發(fā)和維護(hù)的費(fèi)用;可以和開發(fā)設(shè)計(jì)工作一起并行執(zhí)行集成測試,能夠靈活的適應(yīng)目標(biāo)環(huán)境;容易進(jìn)行故障隔離和錯(cuò)誤定位。但是在測試時(shí)需要為每個(gè)模塊的下層模塊提供樁模塊,樁模塊的開發(fā)和維護(hù)費(fèi)用大;樁模塊不能反映真實(shí)情況,重要數(shù)據(jù)不能及時(shí)回送到上層模塊,導(dǎo)致測試不充分;涉及復(fù)雜算法和真正I/O的底層模塊最易出問題,在后期
14、才遇到導(dǎo)致過多的回歸測試。自底向上集成可以盡早的驗(yàn)證底層模塊的行為;提高了測試效率;一般不需要樁模塊;容易對(duì)錯(cuò)誤進(jìn)行定位。但是直到最后一個(gè)模塊加進(jìn)去之后才能看到整個(gè)系統(tǒng)的框架;驅(qū)動(dòng)模塊的設(shè)計(jì)工作量大;不能及時(shí)發(fā)現(xiàn)高層模塊設(shè)計(jì)上的錯(cuò)誤。混合集成具有自頂向下和自底向上兩種集成策略的優(yōu)點(diǎn),但是在被集成之前,中間層不能盡早得到充分的測試。10系統(tǒng)測試主要包括哪些內(nèi)容?解:系統(tǒng)測試主要包括強(qiáng)度測試、性能測試、恢復(fù)測試、安全測試、可靠性測試、安裝測試、容量測試和文檔測試。11驗(yàn)收測試是由誰完成的?通常包含哪些過程?解:驗(yàn)收測試是以用戶為主的測試,軟件開發(fā)人員和QA(質(zhì)量保證)人員也應(yīng)參加。通常包含測試和測
15、試過程。12分析比較面向?qū)ο蟮能浖y試與傳統(tǒng)的軟件測試的異同。解:傳統(tǒng)的單元測試的對(duì)象是軟件設(shè)計(jì)的最小單位模塊。當(dāng)考慮面向?qū)ο筌浖r(shí),單元的概念發(fā)生了變化,此時(shí)最小的可測試單位是封裝的類或?qū)ο螅辉偈莻€(gè)體的模塊。傳統(tǒng)單元測試主要關(guān)注模塊的算法實(shí)現(xiàn)和模塊接口間數(shù)據(jù)的傳遞,而面向?qū)ο蟮膯卧獪y試主要考察封裝在一個(gè)類中的方法和類的狀態(tài)行為。面向?qū)ο筌浖]有層次的控制結(jié)構(gòu),因此傳統(tǒng)的自頂向下和自底向上集成策略就不再適合,它主要有以下兩種集成策略: 基于類間協(xié)作關(guān)系的橫向測試;基于類間繼承關(guān)系的縱向測試。系統(tǒng)測試一般不考慮內(nèi)部結(jié)構(gòu)和中間結(jié)果,因此面向?qū)ο筌浖到y(tǒng)測試與傳統(tǒng)的系統(tǒng)測試差別不大。面向?qū)ο筌浖?/p>
16、測試的整體目標(biāo)和傳統(tǒng)軟件測試的目標(biāo)是一致的,即以最小的工作量發(fā)現(xiàn)盡可能多的錯(cuò)誤,但是面向?qū)ο鬁y試的策略和戰(zhàn)術(shù)有很大不同。測試的視角擴(kuò)大到包括復(fù)審分析和設(shè)計(jì)模型,此外,測試的焦點(diǎn)從過程構(gòu)件(模塊)移向了類。第3章 黑盒測試1分析黑盒測試方法的特點(diǎn)。解:黑盒測試又稱為功能測試或數(shù)據(jù)驅(qū)動(dòng)測試,主要針對(duì)軟件界面、軟件功能、外部數(shù)據(jù)庫訪問以及軟件初始化等方面進(jìn)行測試。優(yōu)點(diǎn):1)比較簡單,不需要了解程序內(nèi)部的代碼及實(shí)現(xiàn);2)與軟件的內(nèi)部實(shí)現(xiàn)無關(guān);3)從用戶角度出發(fā),能很容易的知道用戶會(huì)用到哪些功能,會(huì)遇到哪些問題;4)基于軟件開發(fā)文檔,所以也能知道軟件實(shí)現(xiàn)了文檔中的哪些功能;5)在做軟件自動(dòng)化測試時(shí)較為方
17、便。缺點(diǎn):1)不可能覆蓋所有的代碼,覆蓋率較低,大概只能達(dá)到總代碼量的30%;2)自動(dòng)化測試的復(fù)用性較低。2健壯等價(jià)類測試與標(biāo)準(zhǔn)等價(jià)類測試的主要區(qū)別是什么?解:主要區(qū)別在于健壯等價(jià)類測試在標(biāo)準(zhǔn)等價(jià)類的基礎(chǔ)上還要進(jìn)行有效取值范圍之外的輸入(無效輸入)的測試。3試用等價(jià)分類法測試黨政管理系統(tǒng)中黨員出生年月的輸入設(shè)計(jì)是否符合要求,假設(shè)出生年月格式為yyyymmdd。解:輸入數(shù)據(jù)無效等價(jià)類有效等價(jià)類出生年月日8位數(shù)字字符有非數(shù)字字符 少于8個(gè)數(shù)字符 多于8個(gè)數(shù)字符 對(duì)應(yīng)數(shù)值在19090101-19900101之間 <19090101 >19900101 月份對(duì)應(yīng)數(shù)值在1-12之間 等于&q
18、uot;00 " >12 日期對(duì)應(yīng)值1,3,5,7,8,10,12月在1-31之間4,6,9,11月在1-30之間閏年2月在1-29之間非閏年2月在1-28之間等于"00 ">312,4,6,9,11月等于"31 "2月等于"30 "非閏年2月等于"29"4找零錢最佳組合:假設(shè)商店貨品價(jià)格(R)皆不大于100元(且為整數(shù)),若顧客付款在100元內(nèi)(P),求找給顧客之最少貨幣個(gè)(張)數(shù)?(貨幣面值50元(N50),10元(N10),5元(N5),1元(N1)四種。試根據(jù)邊界值法設(shè)計(jì)測試用例。解:
19、1)分析輸入的邊界情況:R > 100 0 < R < = 100R <= 0 P > 100 R<= P <= 100P < R2)分析零錢最佳組合的輸出情況:N50 = 1N50 = 0 4>N10>= 1 N10 = 0 N5 = 1 N5 = 0 4>N1>= 1 N1 = 03)分析規(guī)格中每一決策點(diǎn)之情形,以RR1,RR2,RR3表示計(jì)算要找50,10,5元貨幣數(shù)時(shí)的剩余金額。R > 100R <= 0 P > 100P < RRR1 >= 50RR2 >= 10RR3 >
20、;= 5 4)根據(jù)上述的輸入/輸出條件組合出可能的情況:R > 100R <= 0 0 < R <= 100, P > 1000 < R <= 100, P < R0 < R <= 100, R <= P <= 100, RR = 500 < R <= 100, R <= P <= 100, RR = 490 < R <= 100, R <= P <= 100, RR = 100 < R <= 100, R <= P <= 100, RR = 90 &
21、lt; R <= 100, R <= P <= 100, RR = 50 < R <= 100, R <= P <= 100, RR = 40 < R <= 100, R <= P <= 100, RR = 10 < R <= 100, R <= P <= 100, RR = 0 5)為滿足以上各種情形,測試用例設(shè)計(jì)如下:測試用例貨品價(jià)格R付款金額Ptest1101-test20-test3-1-test4100101test510099test650100test751100test890100test
22、991100test1095100test1196100test1299100test131001005試為三角形問題中的直角三角形開發(fā)一個(gè)決策表和相應(yīng)的測試用例。注意,會(huì)有等腰直角三角形。解:判斷構(gòu)成的是否為直角三角形的問題的決策表設(shè)計(jì)如下:c1:a<b+c?FTTTTTTTTTTc2:b<a+c?-FTTTTTTTTTc3:c<a+b?-FTTTTTTTTc4:a2+b2=c2?-TTTTFFFFc5: a2+c2=b2?-TTFFTTFFc6: b2+c2=a2?-TFTFTFTFa1:非三角形XXXa2:直角三角形XXXa3:非直角三角形Xa4:不可能XXXX根據(jù)該決
23、策表設(shè)計(jì)測試用例如下:用例IDabc預(yù)期輸出DT1412非三角形DT2142非三角形DT3124非三角形DT4?不可能DT5?不可能DT6?不可能DT7345直角三角形DT8?不可能DT9354直角三角形DT10534直角三角形DT11234非直角三角形6現(xiàn)有一個(gè)學(xué)生標(biāo)準(zhǔn)化考試批閱試卷,產(chǎn)生成績報(bào)告的程序。其規(guī)格說明如下:程序的輸入文件由一些有80個(gè)字符的記錄組成,所有記錄分為3組,如圖:(1)標(biāo)題:該組只有一個(gè)記錄,其內(nèi)容是成績報(bào)告的名字。(2)各題的標(biāo)準(zhǔn)答案:每個(gè)記錄均在第80個(gè)字符處標(biāo)以數(shù)字2。該組的記錄:第一個(gè)記錄:第13個(gè)字符為試題數(shù)(1999)。第1059個(gè)字符是150題的標(biāo)準(zhǔn)答案
24、(每個(gè)合法字符表示一個(gè)答案)。第二個(gè)記錄:是第51100題的標(biāo)準(zhǔn)答案。.(3)學(xué)生的答案:每個(gè)記錄均在第80個(gè)字符處標(biāo)以數(shù)字3。每個(gè)學(xué)生的答卷在若干個(gè)記錄中給出。學(xué)號(hào):19個(gè)字符150題的答案:1059。當(dāng)大于50題時(shí),在第二、三、個(gè)記錄中給出。學(xué)生人數(shù)不超過200,試題數(shù)不超過999。程序的輸出有4個(gè)報(bào)告:a)按學(xué)號(hào)排列的成績單,列出每個(gè)學(xué)生的成績、名次。b)按學(xué)生成績排序的成績單。c)平均分?jǐn)?shù)及標(biāo)準(zhǔn)偏差的報(bào)告d)試題分析報(bào)告。按試題號(hào)排序,列出各題學(xué)生答對(duì)的百分比。采用邊界值分析方法,分析和設(shè)計(jì)測試用例。分別考慮輸入條件和輸出條件,以及邊界條件。采用錯(cuò)誤推測法補(bǔ)充設(shè)計(jì)一些測試用例。解:輸入
25、條件及相應(yīng)的測試用例如下:輸出條件及相應(yīng)的測試用例表如下:采用錯(cuò)誤推測法還可補(bǔ)充設(shè)計(jì)一些測試用例: 程序是否把空格作為回答 在回答記錄中混有標(biāo)準(zhǔn)答案記錄 除了標(biāo)題記錄外,還有一些的記錄最后一個(gè)字符即不是2也不是3 有兩個(gè)學(xué)生的學(xué)號(hào)相同 試題數(shù)是負(fù)數(shù)第4章 白盒測試方法1簡述白盒測試用例的設(shè)計(jì)方法,并進(jìn)行分析總結(jié)。解:白盒測試用例設(shè)計(jì)方法主要有邏輯覆蓋和獨(dú)立路徑測試。從覆蓋源程序語句的詳盡程度分析,邏輯覆蓋主要有以下不同的覆蓋標(biāo)準(zhǔn):語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。實(shí)際項(xiàng)目中,由于程序內(nèi)部的邏輯存在不確定性和無窮性,尤其對(duì)于大規(guī)模復(fù)雜軟件,不必采用所有的覆蓋指
26、標(biāo),而應(yīng)根據(jù)實(shí)際情況選擇合適的覆蓋指標(biāo)。獨(dú)立路徑測試是在程序控制流圖的基礎(chǔ)上,通過分析控制結(jié)構(gòu)的環(huán)路復(fù)雜性,導(dǎo)出可執(zhí)行的獨(dú)立路徑集合,從而設(shè)計(jì)出相應(yīng)的測試用例。設(shè)計(jì)出的測試用例要保證被測程序的每條可執(zhí)行的獨(dú)立路徑至少被執(zhí)行一次。獨(dú)立路徑測試給出了滿足路徑覆蓋指標(biāo)所需測試用例的下限,同時(shí)給出了語句覆蓋的上限,它可以確保對(duì)所有相互獨(dú)立的決策結(jié)果進(jìn)行測試。2分析歸納邏輯覆蓋的各種策略,并比較每種覆蓋的特點(diǎn),分析在怎樣的情況下采用何種覆蓋方式。解:語句覆蓋是選擇足夠多的測試數(shù)據(jù),使被測程序中每個(gè)語句至少執(zhí)行一次。語句覆蓋是最弱的邏輯覆蓋標(biāo)準(zhǔn)。判定覆蓋又叫分支覆蓋,它不僅每個(gè)語句必須至少執(zhí)行一次,而且每
27、個(gè)判定表達(dá)式的每種可能的結(jié)果都應(yīng)該至少執(zhí)行一次。判定條件覆蓋比語句覆蓋強(qiáng),但是對(duì)程序邏輯的覆蓋程度仍然不高。條件覆蓋的含義是,使判定表達(dá)式中的每個(gè)條件都取到各種可能的結(jié)果。條件覆蓋通常比判定覆蓋強(qiáng),但是也可能有相反的情況:雖然每個(gè)條件都取到了兩個(gè)不同的結(jié)果,判定表達(dá)式卻始終只取一個(gè)值。判定/條件覆蓋的含義是,選取足夠多的測試數(shù)據(jù),使得判定表達(dá)式中的每個(gè)條件都取到各種可能的值,而且每個(gè)判定表達(dá)式也都取到各種可能的結(jié)果。但有時(shí)判定/條件覆蓋也并不比條件覆蓋更強(qiáng)。條件組合覆蓋是更強(qiáng)的邏輯覆蓋標(biāo)準(zhǔn),它要求選取足夠的測試數(shù)據(jù),使得每個(gè)判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次。滿足條件組合覆蓋標(biāo)準(zhǔn)的測
28、試數(shù)據(jù),也一定滿足判定覆蓋、條件覆蓋和判定/條件覆蓋標(biāo)準(zhǔn)。因此,條件組合覆蓋是前述幾種覆蓋標(biāo)準(zhǔn)中最強(qiáng)的。但是,滿足條件組合覆蓋標(biāo)準(zhǔn)的測試數(shù)據(jù)并不一定能使程序中的每一條路徑都執(zhí)行到。路徑覆蓋的定義是選取足夠多測試數(shù)據(jù),使程序的每一條可能路徑都至少執(zhí)行一次。但在實(shí)際問題中,一個(gè)不太復(fù)雜的程序,其路徑數(shù)都可能是一個(gè)龐大的數(shù)字,以致要在測試中覆蓋所有的路徑是不可能實(shí)現(xiàn)的。即使對(duì)于路徑數(shù)有限的程序做到了路徑覆蓋,也不能保證被測程序的正確性。3對(duì)圖所示程序段進(jìn)行語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋方法進(jìn)行測試用例設(shè)計(jì)。圖4.14 練習(xí)題3解:語句覆蓋:x=90,y=90 x
29、=79,y=90 x=70,y=60判定覆蓋:同上條件覆蓋:同上判定/條件覆蓋:同上條件組合覆蓋:I x>=80,y>=80 II x>=80,y<80 III x<80,y>=80 IV x<80,y<80 V x>=90,y>=90,x+y>=140 VI x>=90,y<90,x+y>=140 VII x<90,y>=90,x+y>=140 VIII x<90,y<90,x+y>=140 IX x>=90,y>=90,x+y<140 不存在 X x&g
30、t;=90,y<90,x+y<140 XI x<90,y>=90,x+y<140 XII x<90,y<90,x+y<140x=90,y=90x=90,y=70x=70,y=90x=70,y=70x=100,y=30x=30,y=100x=80,y=50路徑覆蓋:同語句覆蓋4請(qǐng)下述語句按照各種覆蓋方法設(shè)計(jì)測試用例。if (a>2 && b<3 && (c>4 | d<5)statement;elsestatement;解:語句覆蓋:a=3,b=2,c=5,d=5 a=2,b=2,c=5,d=
31、5判定覆蓋:同上條件覆蓋:a=3,b=2,c=5,d=5 a=2,b=4,c=3,d=4判定/條件覆蓋:同條件覆蓋條件組合覆蓋:I a>2,b<3,c>4,d<5 II a>2,b<3,c>4,d>=5 III a>2,b<3,c<=4,d<5 IV a>2,b<3,c<=4,d>=5 V a>2,b>=3,c>4,d<5 VI a>2,b>=3, c>4,d>=5 VII a>2,b>=3, c<=4,d<5 VIII a&g
32、t;2,b>=3, c<=4,d>=5 IX a<=2,b<3,c>4,d<5 X a<=2, b<3,c>4,d>=5 XI a<=2, b<3,c<=4,d<5 XII a<=2, b<3,c<=4,d>=5 XIII a<=2, b>=3,c>4,d<5 XIV a<=2, b>=3, c>4,d>=5 XV a<=2, b>=3, c<=4,d<5 XVI a<=2, b>=3, c<
33、=4,d>=5 測試數(shù)據(jù)略5針對(duì)test函數(shù)按照基本路徑測試方法設(shè)計(jì)測試用例。 int Test(int i_count, int i_flag) int i_temp = 0; &
34、#160; while (i_count>0) if (0
35、160;= i_flag) i_temp = i_count + 100
36、; break;
37、; else if (1 = i_
38、flag) i_temp =
39、i_temp + 10; else
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代化養(yǎng)殖場技術(shù)員聘用合同
- 劇院大理石供應(yīng)合同
- 歷史建筑外墻保溫施工合同模板
- 國際咨詢租賃合同模板
- 語言學(xué)校暖氣安裝施工合同
- 溫泉度假村假山施工合同
- 旅游導(dǎo)游班主任招聘合同
- 宅基地他用權(quán)協(xié)議
- 水上運(yùn)動(dòng)泵機(jī)租賃合同
- 健身市場污水排放系統(tǒng)安裝合同
- 離合器的相關(guān)計(jì)算
- 血細(xì)胞分析儀的應(yīng)用及形態(tài)學(xué)復(fù)檢
- 第5章 一元函數(shù)的導(dǎo)數(shù)及其應(yīng)用【知識(shí)導(dǎo)圖 】 高考數(shù)學(xué)復(fù)習(xí)思維導(dǎo)圖(人教A版2019)(必修第一冊(cè))
- 醫(yī)療安全不良事件管理培訓(xùn).x
- 《水利水電工程等級(jí)劃分及洪水標(biāo)準(zhǔn)》 SL252-2000
- 油浸式變壓器油箱
- 人體解剖生理學(xué)(全套上冊(cè))-課件
- 矩形波導(dǎo)中電磁波的傳播模式
- 一年級(jí)4.2【章節(jié)知識(shí)精講】6-9的合與分
- 醫(yī)院放射科核輻射安全隱患排查情況自查報(bào)告
- 2022年諸暨市高中提前招生考試中考數(shù)學(xué)試卷及解析
評(píng)論
0/150
提交評(píng)論