![黑盒測試流程及方法_第1頁](http://file4.renrendoc.com/view/eb7d81047aefc367b0bc8d8b26d9ff3c/eb7d81047aefc367b0bc8d8b26d9ff3c1.gif)
![黑盒測試流程及方法_第2頁](http://file4.renrendoc.com/view/eb7d81047aefc367b0bc8d8b26d9ff3c/eb7d81047aefc367b0bc8d8b26d9ff3c2.gif)
![黑盒測試流程及方法_第3頁](http://file4.renrendoc.com/view/eb7d81047aefc367b0bc8d8b26d9ff3c/eb7d81047aefc367b0bc8d8b26d9ff3c3.gif)
![黑盒測試流程及方法_第4頁](http://file4.renrendoc.com/view/eb7d81047aefc367b0bc8d8b26d9ff3c/eb7d81047aefc367b0bc8d8b26d9ff3c4.gif)
![黑盒測試流程及方法_第5頁](http://file4.renrendoc.com/view/eb7d81047aefc367b0bc8d8b26d9ff3c/eb7d81047aefc367b0bc8d8b26d9ff3c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
(又叫用戶體驗(yàn)測試UAT)Bugzilla是Mozilla公司提供的一款開源的免費(fèi)Bug(錯(cuò)誤或是缺陷)追蹤系統(tǒng),用來幫助你管理軟件開發(fā),建立完善的BUG跟蹤體系。Bugzilla是一開源BugTrackingSystem,是專門為Unix定制開發(fā)的。但是在windows平臺(tái)下依然可以成功安裝使用.Bugzilla是一個(gè)搜集缺陷的數(shù)據(jù)庫。它讓用戶報(bào)告的缺陷從而把它們轉(zhuǎn)給合適的開發(fā)者。開發(fā)者能使用保持一個(gè)要做事情的優(yōu)先表,還有時(shí)間表和跟蹤相關(guān)性。不是所有的"bugs”都是。一些數(shù)據(jù)庫中的內(nèi)容是作為增強(qiáng)的請求(RFE)。一個(gè)RFE是一個(gè)嚴(yán)重級(jí)別字段被設(shè)為"enhancement”的"Bug”.人們常說"bug”,實(shí)際上意思是Bugzilla中的記錄,所以RFEs經(jīng)常被稱作bug。黑盒測試黑盒測試也稱,它是通過測試來檢測每個(gè)功能是否都能正常使用。在測試中,把看作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測試著眼于外部結(jié)構(gòu),不考慮內(nèi)部,主要針對(duì)和軟件功能進(jìn)行測試。注重于測試軟件的功能需求,主要試圖發(fā)現(xiàn)下列幾類錯(cuò)誤。功能不正確或遺漏;界面錯(cuò)誤;輸入和輸出錯(cuò)誤;訪問錯(cuò)誤;性能錯(cuò)誤;和錯(cuò)誤等。從理論上講,黑盒測試只有采用窮舉輸入測試,把所有可能的輸入都作為測試情況考慮,才能查出中所有的錯(cuò)誤。實(shí)際上測試情況有無窮多個(gè),人們不僅要測試所有合法的輸入,而且還要對(duì)那些不合法但可能的輸入進(jìn)行測試。這樣看來,完全測試是不可能的,所以我們要進(jìn)行有針對(duì)性的測試,通過制定測試案例指導(dǎo)測試的實(shí)施,保證有組織、按步驟,以及有計(jì)劃地進(jìn)行。黑盒測試行為必須能夠加以量化,才能真正保證,而就是將測試行為具體量化的方法之一。具體的黑盒方法包括等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測法、、判定法、正交試驗(yàn)設(shè)計(jì)法、功能圖法、法等。等價(jià)類劃分的辦法是把的輸入域劃分成若干部分(子集),然后從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)作為測試。每一類的代表性數(shù)據(jù)在測試中的作用等價(jià)于這一類中的其他值。該方法是一種重要的,常用的黑盒方法。劃分等價(jià)類1) 劃分等價(jià)類:等價(jià)類是指某個(gè)輸入域的子集合。在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露中的錯(cuò)誤都是等效的,并合理地假定:測試某等價(jià)類的代表值就等于對(duì)這一類其它值的測試因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結(jié)果.等價(jià)類劃分可有兩種不同的情況:有效等價(jià)類和無效等價(jià)類。有效等價(jià)類:是指對(duì)于的規(guī)格說明來說是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合利用有效等價(jià)類可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。:與有效等價(jià)類的定義恰巧相反。設(shè)計(jì)時(shí),要同時(shí)考慮這兩種等價(jià)類.因?yàn)?,軟件不僅要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗(yàn).這樣的測試才能確保軟件具有更高的可靠性。劃分等價(jià)類準(zhǔn)則2) 劃分等價(jià)類的方法:下面給出六條確定等價(jià)類的原則。在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個(gè)有效等價(jià)類和一個(gè).在輸入條件是一個(gè)的情況下,可確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且要對(duì)每一個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)(從不同角度違反規(guī)則)。在確知已劃分的等價(jià)類中各元素在處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類進(jìn)一步的劃分為更小的等價(jià)類。3)設(shè)計(jì):在確立了等價(jià)類后,可建立等價(jià)類表,列出所有劃分出的等價(jià)類:輸入條件輸入條件有效等價(jià)類然后從劃分出的等價(jià)類中按以下三個(gè)原則設(shè)計(jì):為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào)。設(shè)計(jì)一個(gè)新的,使其盡可能多地覆蓋尚未被覆蓋地有效等價(jià)類,重復(fù)這一步直到所有的有效等價(jià)類都被覆蓋為止。設(shè)計(jì)一個(gè)新的,使其僅覆蓋一個(gè)尚未被覆蓋的,重復(fù)這一步直到所有的無效等價(jià)類都被覆蓋為止。邊界值分析法邊界值分析是通過選擇等價(jià)類邊界的。邊界值分析法不僅重視輸入條件邊界,而且也必須考慮輸出域邊界。它是對(duì)等價(jià)類劃分方法的補(bǔ)充。(1) 邊界值分析方法的考慮:長期的測試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對(duì)各種邊界情況設(shè)計(jì),可以查出更多的錯(cuò)誤。使用邊界值分析方法設(shè)計(jì),首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值作為測試數(shù)據(jù)。(2) 基于邊界值分析方法選擇的原則:1) 如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù)。2) 如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù),最小個(gè)數(shù),比最小個(gè)數(shù)少一,比最大個(gè)數(shù)多一的數(shù)作為測試數(shù)據(jù)。3) 根據(jù)規(guī)格說明的每個(gè)輸出條件,使用前面的原則1)。4) 根據(jù)規(guī)格說明的每個(gè)輸出條件,應(yīng)用前面的原則2)。5) 如果的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為。6) 如果中使用了一個(gè)內(nèi)部,則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為。7) 分析規(guī)格說明,找出其它可能的邊界條件。錯(cuò)誤推測法錯(cuò)誤推測法是基于經(jīng)驗(yàn)和直覺推測中所有可能存在的各種錯(cuò)誤,從而有針對(duì)性的設(shè)計(jì)的方法錯(cuò)誤推測方法的基本思想:列舉出中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)他們選擇。例如,在時(shí)曾列出的許多在模塊中常見的錯(cuò)誤以前產(chǎn)品測試中曾經(jīng)發(fā)現(xiàn)的錯(cuò)誤等,這些就是經(jīng)驗(yàn)的總結(jié)。還有,輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況.輸入表格為空格或輸入表格只有一行.這些都是容易發(fā)生錯(cuò)誤的情況??蛇x擇這些情況下的例子作為測試用例。因果圖法前面介紹的等價(jià)類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系,相互組合等??紤]輸入條件之間的相互組合,可能會(huì)產(chǎn)生一些新的情況但要檢查輸入條件的組合不是一件容易的事情,即使把所有輸入條件劃分成等價(jià)類,他們之間的組合情況也相當(dāng)多因此必須考慮采用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來考慮設(shè)計(jì).這就需要利用(邏輯模型)。方法最終生成的就是判定表。它適合于檢查輸入條件的各種組合情況。生成(1)分析軟件規(guī)格說明描述中,哪些是原因(即輸入條件或輸入條件的等價(jià)類),哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。(2) 分析軟件規(guī)格說明描述中的語義。找出原因與結(jié)果之間,原因與原因之間對(duì)應(yīng)的關(guān)系根據(jù)這些關(guān)系,畫出。(3) 由于語法或環(huán)境限制,有些原因與原因之間,原因與結(jié)果之間的組合情況不可能出現(xiàn)為表明這些特殊情況,在上用一些記號(hào)標(biāo)明約束或限制條件。(4) 把轉(zhuǎn)換為。(5)把的每一列拿出來作為依據(jù),設(shè)計(jì)。從生成的(局部,組合關(guān)系下的)包括了所有輸入數(shù)據(jù)的取TRUE與取FALSE的情況,構(gòu)成的測試用例數(shù)目達(dá)到最少,且測試用例數(shù)目隨輸入數(shù)據(jù)數(shù)目的增加而線性地增加。前面方法中已經(jīng)用到了。判定表(DecisionTable)是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況下的工具.在發(fā)展的初期,判定表就已被當(dāng)作編寫程序的了.由于它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確。判定表組成法條件樁(ConditionStub):列出了問題的所有條件.通常認(rèn)為列出的條件的次序無關(guān)緊要。動(dòng)作樁(ActionStub):列出了問題規(guī)定可能采取的操作.這些操作的排列順序沒有約束。條件項(xiàng)(ConditionEntry):列出針對(duì)它左列條件的取值.在所有可能情況下的真假值。動(dòng)作項(xiàng)(ActionEntry):列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作。規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作.在中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則.顯然,判定表中列出多少組條件取值,也就有多少條規(guī)則,既條件項(xiàng)和動(dòng)作項(xiàng)有多少列。判定表的建立步驟確定規(guī)則的個(gè)數(shù)。假如有n個(gè)條件.每個(gè)條件有兩個(gè)取值(0,1),故有2n種規(guī)則。列出所有的條件樁和動(dòng)作樁。填入條件項(xiàng)。填入動(dòng)作項(xiàng).等到初始判定表。簡化.合并相似規(guī)則(相同動(dòng)作)。B.Beizer指出了適合使用設(shè)計(jì)的條件:規(guī)格說明以形式給出,或很容易轉(zhuǎn)換成判定表。條件的排列順序不會(huì)也不影響執(zhí)行哪些操作。規(guī)則的排列順序不會(huì)也不影響執(zhí)行哪些操作。每當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則。如果某一規(guī)則得到滿足要執(zhí)行多個(gè)操作,這些操作的執(zhí)行順序無關(guān)緊要。正交試驗(yàn)設(shè)計(jì)法就是使用已經(jīng)造好了的正交來安排試驗(yàn)并進(jìn)行數(shù)據(jù)分析的一種方法,目的是用最少的達(dá)到最高的測試覆蓋率。場景法現(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的,事件觸發(fā)時(shí)的情景便形成了場景,而同一事件不同的觸發(fā)順序和處理結(jié)果就形成事件流。這種在軟件設(shè)計(jì)方面的思想也可以引入到軟件測試中,可以比較生動(dòng)地描繪出事件觸發(fā)時(shí)的情景,有利于測試設(shè)計(jì)者設(shè)計(jì)測試用例,同時(shí)使測試用例更容易理解和執(zhí)行。基本流和備選流:如下圖所示,圖中經(jīng)過用例的每條路徑都用基本流和備選流來表示,直黑線表示基本流,是經(jīng)過用例的最簡單的路徑。備選流用不同的色彩表示,一個(gè)備選流可能從基本流開始,在某個(gè)特定條件下執(zhí)行,然后重新加入基本流中(如備選流1和3);也可能起源于另一個(gè)備選流(如備選流2),或者終止用例而不再重新加入到某個(gè)流(如備選流2和4)。[2]基本流和備選流流程測試計(jì)劃首先,根據(jù)用戶需求報(bào)告中關(guān)于功能要求和性能指標(biāo)的規(guī)格說明書,定義相應(yīng)的測試需求報(bào)告,即制訂黑盒測試的最高標(biāo)準(zhǔn),以后所有的測試工作都將圍繞著測試需求來進(jìn)行,符合測試需求的即是合格的,反之即是不合格的;同時(shí),還要適當(dāng)選擇測試內(nèi)容,合理安排測試人員、測試時(shí)間及測試資源等。測試設(shè)計(jì)將階段制訂的測試需求分解、細(xì)化為若干個(gè)可執(zhí)行的,并為每個(gè)測試過程選擇適當(dāng)?shù)模y試用例選擇的好壞將直接影響到測試結(jié)果的有效性)。測試開發(fā)建立可重復(fù)使用的自動(dòng)。測試執(zhí)行執(zhí)行測試開發(fā)階段建立的自動(dòng),并對(duì)所發(fā)現(xiàn)的進(jìn)行。測試執(zhí)行一般由、組合測試、、系統(tǒng)聯(lián)調(diào)及等步驟組成,測試人員應(yīng)本著科學(xué)負(fù)責(zé)的態(tài)度,地進(jìn)行測試。測試評(píng)估結(jié)合量化的域及跟蹤報(bào)告,對(duì)于的質(zhì)量和開發(fā)團(tuán)隊(duì)的工作進(jìn)度及工作效率進(jìn)行綜合評(píng)價(jià)。缺點(diǎn)結(jié)果取決于的設(shè)計(jì),測試用例的設(shè)計(jì)部分優(yōu)勢來源于經(jīng)驗(yàn),OUSPG的東西很值得借鑒沒有狀態(tài)轉(zhuǎn)換的概念,目前一些成功的例子基本上都是針對(duì)PDU來做的,還做不到針對(duì)被的狀態(tài)轉(zhuǎn)換來實(shí)現(xiàn)就沒有狀態(tài)概念的測試來說,尋找和確定造成crash的測試?yán)莻€(gè)麻煩事情,必須把周圍可能的測試?yán)龁为?dú)確認(rèn)一遍。而就有狀態(tài)的測試來說,就更麻煩了,尤其不是一個(gè)單獨(dú)的testcase造成的問題。這些在堆的問題中表現(xiàn)的更為突出。工具選擇如何高效地完成功能測試?選擇一款合適的功能測試工具并培訓(xùn)一支高素質(zhì)的隊(duì)伍無疑是至關(guān)重要的。盡管現(xiàn)階段存在少數(shù)不采用任何功能測試工具,從事功能測試外包項(xiàng)目的軟件服務(wù)企業(yè)。短期來看,這類企業(yè)盈利狀況尚可,但長久來看,它們極有可能被自動(dòng)化程度較高的軟件服務(wù)企業(yè)取代。目前,用于功能測試的有很多,針對(duì)不同架構(gòu)軟件的工具也不斷推陳出新。這里重點(diǎn)介紹的是其中一個(gè)較為典型工具,即Mercury公司的WinRunner。WinRunner是一種用于檢驗(yàn)?zāi)芊袢缙谶\(yùn)行的企業(yè)級(jí)軟件功能測試工具。通過自動(dòng)捕獲、檢測和模擬用戶交互操作,WinRunner能識(shí)別出絕大多數(shù)軟件功能,從而確保那些跨越了多個(gè)功能點(diǎn)和的在發(fā)布時(shí)盡量不出現(xiàn)功能性故障。WinRunner的特點(diǎn)在于:與傳統(tǒng)的相比,它能快速、批量地完成功能點(diǎn)測試;能針對(duì)相同,執(zhí)行相同的動(dòng)作,從而消除人工測試所帶來的理解上的誤差;此外,它還能重復(fù)執(zhí)行相同動(dòng)作,測試工作中最枯燥的部分可交由機(jī)器完成;它支持風(fēng)格的測試腳本,一個(gè)高素質(zhì)的能借助它完成流程極為復(fù)雜的測試,通過使用、宏、條件語句、等,還能較好地完成測試腳本的重用;它針對(duì)于大多數(shù)和Windows技術(shù),提供了較好的集成、支持環(huán)境,這對(duì)基于Windows平臺(tái)的實(shí)施功能測試而言帶來了極大的便利。工作流程識(shí)別GUI在WinRunner中,我們可以使用GUISpy來識(shí)別各種GUI,識(shí)別后,WinRunner會(huì)將其存儲(chǔ)到GUIMapFile中。它提供兩種GUIMapFile模式:GlobalGUIMapFile和GUIMapFileperTest。其最大區(qū)別是后者對(duì)每個(gè)產(chǎn)生一個(gè)GUI文件,它能自動(dòng)建立、、加載,推薦初學(xué)者選用這種模式。但是,這種模式不易于描述對(duì)象的改變,其效率比較低,因此對(duì)于一個(gè)有經(jīng)驗(yàn)的測試人員來說前者不失為一種更好的選擇,它只產(chǎn)生一個(gè)共享的GUI文件,這使得更容易維護(hù),且效率更高。建立測試腳本在建立測試時(shí),一般先進(jìn)行錄制,然后在錄制形成的腳本中手工加入需要的TSL(與C語言類似的測試)。錄制腳本有兩種模式:ContextSensitive和Analog,選擇依據(jù)主要在于是否對(duì)鼠標(biāo)軌跡進(jìn)行模擬,在需要回放時(shí)一般選用Analog。在錄制過程中這兩種模式可以通過F2鍵相互切換。只要看看現(xiàn)代軟件的規(guī)模和功能點(diǎn)數(shù)就可以明白,功能測試早已跨越了單靠手工敲敲鍵盤、點(diǎn)點(diǎn)鼠標(biāo)就可以完成的階段。而則是控制系統(tǒng)性能的有效手段,在軟件的能力驗(yàn)證、能力規(guī)劃、、修復(fù)等方面都發(fā)揮著重要作用。對(duì)測試腳本除錯(cuò)在WinRunner中有專門一個(gè)DebugToolbar用于除錯(cuò)。可以使用step、pause、breakpoint等來控制和跟蹤和查看各種值。測試腳本當(dāng)有新版本發(fā)布時(shí),我們會(huì)對(duì)應(yīng)用程序的各種功能包括新增功能進(jìn)行測試,這時(shí)當(dāng)然不可能再來重新錄制和編寫所有的。我們可以使用已有的腳本,批量運(yùn)行這些測試舊的功能點(diǎn)是否正常工作??梢允褂靡粋€(gè)call命令來加載各。還可在call命令中加各種TSL腳本來增加批量能力。分析測試結(jié)果分析測試結(jié)果在整個(gè)中最重要,通過分析可以發(fā)現(xiàn)的各種功能性。當(dāng)運(yùn)行完某個(gè)后,會(huì)產(chǎn)生一個(gè),從這個(gè)測試報(bào)告中我們能發(fā)現(xiàn)的功能性,能看到實(shí)際結(jié)果和期望結(jié)果之間的差異,以及在中產(chǎn)生的各類對(duì)話框等?;貓?bào)缺陷在分析完后,按照測試流程要回報(bào)的各種,然后將這些缺陷發(fā)給指定人,以便進(jìn)行修改和維護(hù)。常用方法功能測試就是對(duì)產(chǎn)品的各功能進(jìn)行驗(yàn)證,根據(jù)功能,逐項(xiàng)測試,檢查產(chǎn)品是否達(dá)到用戶要求的功能。常用的測試方法如下頁面鏈接檢查:每一個(gè)鏈接是否都有對(duì)應(yīng)的頁面,并且頁面之間切換正確。相關(guān)性檢查:刪除/增加一項(xiàng)會(huì)不會(huì)對(duì)其他項(xiàng)產(chǎn)生影響,如果產(chǎn)生影響,這些影響是否都正確。檢查按鈕的功能是否正確:如update,cancel,delete,save等功能是否正確。字符串長度檢查:輸入超出需求所說明的字符串長度的內(nèi)容,看系統(tǒng)是否檢查字符串長度,會(huì)不會(huì)出錯(cuò).字符類型檢查:在應(yīng)該輸入指定類型的內(nèi)容的地方輸入其他類型的內(nèi)容(如在應(yīng)該輸入整型的地方輸入其他字符類型),看系統(tǒng)是否檢查字符類型,會(huì)否報(bào)錯(cuò).標(biāo)點(diǎn)符號(hào)檢查:輸入內(nèi)容包括各種標(biāo)點(diǎn)符號(hào),特別是空格,各種引號(hào),.看系統(tǒng)處理是否正確.中文處理:在可以輸入中文的系統(tǒng)輸入中文,看會(huì)否出現(xiàn)或出錯(cuò).檢查帶出信息的完整性:在查看信息和update信息時(shí),查看所填寫的信息是不是全部帶出.,帶出信息和添加的是否一致信息重復(fù):在一些需要命名,且名字應(yīng)該唯一的信息輸入重復(fù)的名字或ID,看系統(tǒng)有沒有處理,會(huì)否報(bào)錯(cuò),重名包括是否區(qū)分大小寫,以及在輸入內(nèi)容的前后輸入空格,系統(tǒng)是否作出正確處理檢查刪除功能:在一些可以一次刪除多個(gè)信息的地方,不選擇任何信息,按"delete”,看系統(tǒng)如何處理,會(huì)否出錯(cuò);然后選擇一個(gè)和多個(gè)信息,進(jìn)行刪除,看是否正確處理檢查添加和修改是否一致:檢查添加和修改信息的要求是否一致,例如添加要求必填的項(xiàng),修改也應(yīng)該必填;添加規(guī)定為整型的項(xiàng),修改也必須為整型.檢查修改重名:修改時(shí)把不能重名的項(xiàng)改為已存在的內(nèi)容,看會(huì)否處理,報(bào)錯(cuò)同時(shí),也要注意,會(huì)不會(huì)報(bào)和自己重名的錯(cuò).重復(fù)提交:一條已經(jīng)成功提交的紀(jì)錄,back后再提交,看看系統(tǒng)是否做了處理。檢查多次使用back鍵的情況:在有back的地方,back,回到原來頁面,再back,重復(fù)多次,看會(huì)否出錯(cuò).search檢查:在有search功能的地方輸入系統(tǒng)存在和不存在的內(nèi)容,看search結(jié)果是否正確.如果可以輸入多個(gè)search條件,可以同時(shí)添加合理和不合理的條件,看系統(tǒng)處理是否正確.輸入信息位置:注意在停留的地方輸入信息時(shí),光標(biāo)和所輸入的信息會(huì)否跳到別的地方上傳下載文件檢查:上傳下載文件的功能是否實(shí)現(xiàn),上傳文件是否能打開。對(duì)上傳文件的格式有何規(guī)定,系統(tǒng)是否有解釋信息,并檢查系統(tǒng)是否能夠做到。必填項(xiàng)檢查:應(yīng)該填寫的項(xiàng)沒有填寫時(shí)系統(tǒng)是否都做了處理,對(duì)必填項(xiàng)是否有提示信息,如在必填項(xiàng)前加*檢查:是否支持常用快捷鍵,如Ctrl+CCtrl+VBackspace等,對(duì)一些不允許輸入信息的字段,如選人,選日期對(duì)是否也做了限制。檢查:在輸入結(jié)束后直接按回車鍵,看系統(tǒng)處理如何,會(huì)否報(bào)錯(cuò)。什么是黑盒測試和白盒測試?任何工程產(chǎn)品(注意是任何工程產(chǎn)品)都可以使用以下兩種方法之一進(jìn)行測試。黑盒測試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查。軟件的黑盒測試意味著測試要在軟件的接口處進(jìn)行。這種方法是把測試對(duì)象看做一個(gè)黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數(shù)據(jù)驅(qū)動(dòng)測試。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:1、 是否有不正確或遺漏的功能?2、 在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?3、 是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問錯(cuò)誤?4、 性能上是否能夠滿足要求?5、 是否有初始化或終止性錯(cuò)誤?軟件的白盒測試是對(duì)軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測試對(duì)象看做一個(gè)打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對(duì)程序所有邏輯路徑進(jìn)行測試。通過在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試。白盒測試主要是想對(duì)程序模塊進(jìn)行如下檢查:1、 對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測試一遍。2、 對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。3、 在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。4、 測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。以上事實(shí)說明,軟件測試有一個(gè)致命的缺陷,即測試的不完全、不徹底性。由于任何程序只能進(jìn)行少量(相對(duì)于窮舉的巨大數(shù)量而言)的有限的測試,在未發(fā)現(xiàn)錯(cuò)誤時(shí),不能說明程序中沒有錯(cuò)誤。因果圖法從用自然語言書寫的規(guī)格說明的描述中找出因(輸入條件)和果(輸出或程序狀態(tài)的改變),可以通過因果圖轉(zhuǎn)換為。因果圖法即因果分析圖,又叫特性要因圖、石川圖或魚翅圖,它是由日本東京大學(xué)教授石川馨提出的一種通過帶箭頭的線,將質(zhì)量問題與原因之間的關(guān)系表示出來,是分析影響產(chǎn)品質(zhì)量的諸因素之間關(guān)系的一種工具。因果圖法是一種適合于描述對(duì)于多種輸入條件組合的方法,根據(jù)輸入條件的組合、約束關(guān)系和輸出條件的因果關(guān)系,分析輸入條件的各種組合情況,從而設(shè)計(jì)的方法,它適合于檢查輸入條件涉及的各種組合情況。因果圖法一般和結(jié)合使用,通過映射同時(shí)發(fā)生相互影響的多個(gè)輸入來確定判定條件。因果圖法最終生成的就是,它適合于檢查輸入條件的各種組合情況。采用因果圖法能幫助我們按照一定的步驟選擇一組高效的,同時(shí),還能指出規(guī)范中存在什么問題,鑒別和制作因果圖。因果圖法著重分析輸入條件的各種組合,每種組合條件就是“因”,它必然有一個(gè)輸出的結(jié)果,這就是“果”。利用因果圖導(dǎo)出測試用例一般要經(jīng)過以下幾個(gè)步驟:1) 分析軟件規(guī)格說明的描述中哪些是原因,哪些是結(jié)果。原因是輸入或輸入條件的等價(jià)類,結(jié)果是輸出條件。給每個(gè)原因和結(jié)果并賦予一個(gè),根據(jù)這些關(guān)系,畫出因果圖。2) 因果圖上用一些記號(hào)表明約束條件或限制條件。3) 對(duì)需求加以分析并把它們表示為因果圖之間的關(guān)系圖。4) 把因果圖轉(zhuǎn)換成。5) 將的每一列作為依據(jù),設(shè)計(jì)。例題有一個(gè)處理單價(jià)為1元5角錢的盒裝飲料的自動(dòng)售貨機(jī)軟件。若投入1元5角硬幣,按下“可樂”、“雪碧”、“紅茶”按鈕,相應(yīng)的飲料就送出來。若投入的是兩元硬幣,在送出飲料的同時(shí)退還5角硬幣。分析原因:①投入1元5角硬幣;②投入2元硬幣;③按“可樂”按鈕;④按“雪碧”按鈕;⑤按“紅茶”按鈕。中間狀態(tài):①已投幣;②已按鈕。結(jié)果:①退還5角硬幣;②送出“可樂”飲料③送出“雪碧”飲料;④送出“紅茶”飲料。出判定表等價(jià)類劃分等價(jià)類劃分就是解決如何選擇適當(dāng)?shù)臄?shù)據(jù)子集來代表整個(gè)數(shù)據(jù)集的問題,通過降低測試的數(shù)目去實(shí)現(xiàn)“合理的”覆蓋,覆蓋了更多的可能數(shù)據(jù),以發(fā)現(xiàn)更多的軟件缺陷。等價(jià)類劃分法是一種典型的、重要的黑盒測試方法,它將程序所有可能的輸入數(shù)據(jù)(有效的和無效的)劃分成若十個(gè)等價(jià)類。然后從每個(gè)部分中選取具有代表性的數(shù)據(jù)當(dāng)做測試用例進(jìn)行合理的分類,測試用例由有效等價(jià)類和無效等價(jià)類的代表組成,從而保證測試用例具有完整性和代表性。利用這一方法設(shè)計(jì)測試用例可以不考慮程序的內(nèi)部結(jié)構(gòu),以需求規(guī)格說明書為依據(jù),選擇適當(dāng)?shù)牡湫妥蛹?,認(rèn)真分析和推敲說明書的各項(xiàng)需求,特別是功能需求,盡可能多地發(fā)現(xiàn)錯(cuò)誤。等價(jià)類劃分法是一種系統(tǒng)性的確定要輸入的測試條件的方法。由于等價(jià)類是在需求規(guī)格說明書的基礎(chǔ)上進(jìn)行劃分的,并且等價(jià)類劃分不僅可以用來確定測試用例中的數(shù)據(jù)的輸入輸出的精確取值范圍,也可以用來準(zhǔn)備中間值、狀態(tài)和與時(shí)間相關(guān)的數(shù)據(jù)以及接口參數(shù)等,所以等價(jià)類可以用在系統(tǒng)測試、集成測試和組件測試中,在有明確的條件和限制的情況下,利用等價(jià)類劃分技術(shù)可以設(shè)計(jì)出完備的測試用例。這種方法可以減少設(shè)計(jì)一些不必要的測試用例,因?yàn)檫@種測試用例一般使用相同的等價(jià)類數(shù)據(jù),從而使測試對(duì)象得到同樣的反映行為。對(duì)于等價(jià)類我們從以下幾個(gè)方面討論它的劃分方法。等價(jià)類劃分的方法分為兩個(gè)主要的步驟,劃分等價(jià)類型和設(shè)計(jì)測試用例。有效等價(jià)類劃分有效等價(jià)類指對(duì)于程序規(guī)格說明來說,是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用有效等價(jià)類可以檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明預(yù)先規(guī)定的功能和性能。有效等價(jià)類可以是一個(gè),也可以是多個(gè),根據(jù)系統(tǒng)的輸入域劃分若干部分,然后從每個(gè)部分中選取少數(shù)有代表性數(shù)據(jù)當(dāng)做數(shù)據(jù)測試的測試用例,等價(jià)類是輸入域的集合。以下是對(duì)有效等價(jià)類數(shù)據(jù)集的一些例子。終端用戶輸入的命令與最終用戶交互的系統(tǒng)提示接受相關(guān)的用戶文件的名稱提供初始化值和邊界等提供格式化輸出數(shù)據(jù)的命令在圖形模式(比如鼠標(biāo)點(diǎn)擊時(shí))提供的數(shù)據(jù)失敗時(shí)顯示的回應(yīng)消息無效等價(jià)類劃分無效等價(jià)類和有效等價(jià)類相反,無效等價(jià)類是指對(duì)于軟件規(guī)格說明而言,沒有意義的、不合理的輸入數(shù)據(jù)集合。利用無效等價(jià)類,可以找出程序異常說明情況,檢查程序的功能和性能的實(shí)現(xiàn)是否有不符合規(guī)格說明要求的地方。以下是無效等價(jià)類數(shù)據(jù)集的一些例子。在一個(gè)不正確的地方提供適當(dāng)?shù)闹怠?/p>
驗(yàn)證邊界值驗(yàn)證外部邊界的值用戶輸入的命令最終用戶與系統(tǒng)交互的提示驗(yàn)證與邊界和外部邊界值的數(shù)值數(shù)據(jù)等價(jià)類劃分的方法按區(qū)間劃分。按數(shù)值劃分。按數(shù)值集合劃分。按限制條件或規(guī)劃劃分。按處理方式劃分。等價(jià)類劃分的原則如下:在輸入條件規(guī)定的取值范圍或值的個(gè)數(shù)的情況下,可以確定一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類。在規(guī)定了輸入數(shù)據(jù)的一組值中(假定有n個(gè)值),并且程序要對(duì)每個(gè)輸入值分別處理的情況下,可以確定n個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。在規(guī)定輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可以確定一個(gè)有效等價(jià)類和若干個(gè)無效等價(jià)類。在輸入條件規(guī)定了輸入值的集合或規(guī)定了“必須如何”的條件下,可以確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。在確定已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下,則應(yīng)將該等價(jià)類進(jìn)一步地劃分為更小的等價(jià)類。等價(jià)類表的建立等價(jià)類表的建立如表3-1所示。表3-1是等價(jià)類表的基礎(chǔ),可依據(jù)表3-1確定測試用例。測試用例可按下列步驟來確定:表3-1等價(jià)類表1) 在分析規(guī)格說明的基礎(chǔ)上劃分等價(jià)類,列出等價(jià)類表,為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào)。2) 將程序可能的輸入數(shù)據(jù)分成若干個(gè)子集,從每個(gè)子集中選取一個(gè)有代表性的數(shù)據(jù)作為測試用例。等價(jià)類是某個(gè)輸入域的子集,在該子集中的每個(gè)輸入數(shù)據(jù)的作用都是等效的。3) 設(shè)計(jì)新的測試用例,使其盡可能多地覆蓋未覆蓋的有效等價(jià)類,按照這一步驟重復(fù)進(jìn)行,直到所有的有效等價(jià)類都被覆蓋為止。4) 設(shè)計(jì)新的測試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,按照這一步驟重復(fù)進(jìn)行,直到所有的無效等價(jià)類都被覆蓋為止。等價(jià)類表與測試用例的關(guān)系等價(jià)類表與測試用例的關(guān)系如表3-2所示。表3-2等價(jià)類表與測試用例的關(guān)系表例子有一個(gè)報(bào)表系統(tǒng),要求用戶輸入需要處理的報(bào)表胡日期,假定日期范圍為2000年1月到2020年12月。如果用戶輸入的日期不在這個(gè)范圍內(nèi),則顯示錯(cuò)誤碼信息,并且此系統(tǒng)規(guī)定日期由年月六位數(shù)字組成,前四位數(shù)代表年,后二位數(shù)代表月。1) 請列出等價(jià)類表(包括有效等價(jià)類和無效等價(jià)類)2) 根據(jù)1)中的等價(jià)類表,設(shè)計(jì)出能覆蓋所有等價(jià)類的測試用例。要求:包括輸入數(shù)據(jù)和預(yù)期輸出,并指出各個(gè)測試用例所能付給的等價(jià)類編號(hào)。答:有效等價(jià)類 :<age<39 2.出生日期在1960年7月到1979年6月無效等價(jià)類: 3、age<20或age>394。出生日期早于1960年7月或出生日期晚于1979年6月等價(jià)類覆蓋接收等價(jià)類覆蓋接收拒絕拒絕1、 20<age<39,出生日期在1960年7月到1979年6月2、 20<age<39,出生日期早于1960年7月3、 20<age<39,出生日期晚于1979年6月基本方法就是這樣了,沒寫太全。在你設(shè)計(jì)等價(jià)類的時(shí)候你可以把條件再細(xì)分一下,這樣用例的覆蓋率會(huì)加大的。邊界值分析法邊界值分析法就是對(duì)輸入或輸出的邊界值進(jìn)行測試的一種黑盒測試方法。通常邊界值分析法是作為對(duì)劃分法的補(bǔ)充,這種情況下,其測試用例來自等價(jià)類的邊界。與等價(jià)劃分的區(qū)別1) 邊界值分析不是從某等價(jià)類中隨便挑一個(gè)作為代表,而是使這個(gè)等價(jià)類的每個(gè)邊界都要作為測試條件。2) 邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測試情況。邊界值分析方法的考慮:長期的測試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對(duì)各種邊界情況設(shè)計(jì)測試用例,可以查出更多的錯(cuò)誤。使用邊界值分析方法設(shè)計(jì)測試用例,首先應(yīng)確定邊界情況。通常輸入和輸出的邊界,就是應(yīng)著重測試的邊界情況。應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取中的典型值或任意值作為測試數(shù)據(jù)1)對(duì)16-bit的整數(shù)而言32767和-32768是邊界2) 屏幕上光標(biāo)在最左上、最右下位置3) 報(bào)表的第一行和最后一行4) 數(shù)組元素的第一個(gè)和最后一個(gè)5) 循環(huán)的第0次、第1次和倒數(shù)第2次、最后一次邊界值分析1) 邊界值分析使用與等價(jià)類劃分法相同的劃分,只是邊界值分析假定錯(cuò)誤更多地存在于劃分的邊界上,因此在等價(jià)類的邊界上以及兩側(cè)的情況設(shè)計(jì)測試用例。例:測試計(jì)算平方根的函數(shù)—輸入:實(shí)數(shù)—輸出:實(shí)數(shù)—規(guī)格說明:當(dāng)輸入一個(gè)0或比0大的數(shù)的時(shí)候,返回其正平方根;當(dāng)輸入一個(gè)小于0的數(shù)時(shí),顯示錯(cuò)誤信息〃平方根非法-輸入值小于0"并返回0;庫函數(shù)Print-Line可以用來輸出錯(cuò)誤信息。2) 等價(jià)類劃分:可以考慮作出如下劃分:2、 輸入(i)<0和(ii)>=0b、輸出(a)>=0和(b)ErrorII.測試用例有兩個(gè):2、 輸入4,輸出2。對(duì)應(yīng)于(ii)和(a)。^輸入-10,輸出0和錯(cuò)誤提示。對(duì)應(yīng)于(i)和(b)。3) 邊界值分析:劃分(ii)的邊界為0和最大正實(shí)數(shù);劃分(i)的邊界為最小負(fù)實(shí)數(shù)和0。由此得到以下測試用例:3、 輸入{最小負(fù)實(shí)數(shù)}^輸入{大于最小負(fù)實(shí)數(shù),且趨近于最小值}。、輸入0*輸入{小于最大正實(shí)數(shù),且趨近于最大值}£、輸入{最大正實(shí)數(shù)}4) 通常情況下,軟件測試所包含的邊界檢驗(yàn)有幾種類型:數(shù)字、字符、位置、重量、大小、速度、方位、尺寸、空間等。5) 相應(yīng)地,以上類型的邊界值應(yīng)該在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最長、空/滿等情況下。邊界值分析的基本思想是使用在最小值、略高于最小值、正常值、略低于最大值和最大值處取輸入變量值,記為:min、min+、nom、max-、max考慮到健壯性測試,還可以加一個(gè)略大于最大值max+,以及一個(gè)略小于最小值min-的值。6) 利用邊界值作為測試數(shù)據(jù)例子在軟件測試中,假定X為整數(shù),10WXW100,用邊界值分析法,那么X在測試
中應(yīng)該?。ǎ┻吔缰怠.X=9,X=10,X=100,X=101中應(yīng)該?。ǎ┻吔缰?。A.X=9,X=10,X=100,X=101C.X=9,X=11,X=99,X=101B.X=10,X=100D.X=9,X=10,X=50,X=100怎么是A??9不是小于10嗎1010不是大于100嗎??答案選擇A邊界值的選擇:首先確定邊界情況。通常輸入或輸出等價(jià)類的邊界就是應(yīng)該著重測試的邊界情況。選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值。所以為10、100、9、101邊界是指相對(duì)于輸入等價(jià)類和輸出等價(jià)類而言,稍高于其邊界值及稍低于其邊界值的一些特定情況?;谶吔绲姆椒ㄊ歉鶕?jù)定義域來實(shí)現(xiàn)的,最終演變成邊界值分析、健壯性測試、最壞情況測試和健壯最壞情況測試四種技術(shù)。邊界值分析也是一種黑盒測試方法,是對(duì)等價(jià)類分析方法的一種補(bǔ)充由長期的測試工作經(jīng)驗(yàn)得知,大量的錯(cuò)誤是發(fā)生在輸入或輸出的邊界上。因此針對(duì)各種邊界情況設(shè)計(jì)測試用例,可以查出更多的錯(cuò)誤。邊界值分析關(guān)注的是輸入空間邊界,用以測試用例,基本思想是在最小值(min)、略高于最小值(min+)、正常值(nom)、略低于最大值(max-)和最大值(max)等處取值。邊界值分析手段主要有兩種方式:通過變量數(shù)量和通過值域的種類進(jìn)行。如一個(gè)n變量函數(shù)f(x1,x2,……xn)按以上方式每次確定一個(gè)測試對(duì)象(基于“單缺陷假設(shè)”理論),會(huì)產(chǎn)生4n+1個(gè)測試用例。健壯性測試是擴(kuò)展邊界值分析的測試,即增加一個(gè)略大于最大值(max+)和略小于最小值(min-)的取值,則用例數(shù)將變?yōu)?n+1。當(dāng)邊界值變量不是獨(dú)立變量時(shí),則以上測試用例就顯的不充分。對(duì)于邏輯變量而言這種用例也沒有什么用處。邊界值法示意圖最壞情況測試拒絕“單缺陷假設(shè)”理論的情況下,對(duì)所有變量的邊界值集合進(jìn)行5元素計(jì)算,用以生成測試用例,對(duì)于n變量的最壞測試基于邊界值分析會(huì)產(chǎn)生5n個(gè)測試用例,基于健壯性分析則產(chǎn)生7n個(gè)測試用例。相比而言最壞情況測試代價(jià)較高,因此其最佳運(yùn)用是物理變量具有大量交互作用,或者函數(shù)失效的代價(jià)極高的情況下。“在最小值、和最大值處”是指的一般邊界值分析?!奥孕∮谧钚≈?、最小值、略高于最小值、正常值、略低于最大值、最大值、略大于最大值”其實(shí)是健壯性邊界值分析,也就是考慮了非法的意外值。可靠性理論“單缺陷假設(shè)”:失效極少是由兩個(gè)(或多個(gè))缺陷的同時(shí)發(fā)生引起的。一、 如果輸入條件規(guī)定了值的范圍,則應(yīng)該取剛達(dá)到這個(gè)范圍的邊界值,以及剛剛超過這個(gè)范圍邊界的值作為測試輸入數(shù)據(jù);邊界值法二、 如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1格、比最小個(gè)數(shù)少1個(gè)的數(shù)做為測試數(shù)據(jù);三、 根據(jù)規(guī)格說明的每一個(gè)輸出條件,使用規(guī)則一;四、 根據(jù)規(guī)格說明的每一個(gè)輸出條件,使用規(guī)則二;五、 如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合的第一個(gè)和最后一個(gè)元素作為測試用例;六、 如果程序用了一個(gè)內(nèi)部結(jié)構(gòu),應(yīng)該選取這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界值作為測試用例;七、 分析規(guī)格說明,找出其他可能的。找零錢最佳組合假設(shè)商店貨品價(jià)格(R)皆不大於100元(且為整數(shù)),若顧客付款在100元內(nèi)(P),求找給顧客之最少貨幣個(gè)(張)數(shù)?(貨幣面值50元(N50),10元(N10),5元(N5),1元(N1)四種)一、分析輸入的情形。R>1000<R<=100
R<=0邊界值法P>100R<=P<=100P<R二、分析輸出情形。N50=1N50=05>N10>=1N10=0N5=1N5=05>N1>=1N1=0分貨00、元>三5P析規(guī)格中每一決策點(diǎn)之情形,以RR1,RR2,RR3表示計(jì)算要找50,10,幣數(shù)時(shí)之剩余金額。分貨00、元>三5PP<RRR1>=50RR2>=10RR3>=5四、由上述之輸入/輸出條件組合出可能的情形。R>100R<=00<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<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五、為滿足以上之各種情形,測試資料設(shè)計(jì)如下:貨品價(jià)格=101貨品價(jià)格=0貨品價(jià)格=-1貨品價(jià)格=100,付款金額=101貨品價(jià)格=100,付款金額=99貨品價(jià)格=50,付款金額=100貨品價(jià)格=51,付款金額=100貨品價(jià)格=90,付款金額=100貨品價(jià)格=91,付款金額=100貨品價(jià)格=95,付款金額=100貨品價(jià)格=96,付款金額=100貨品價(jià)格=99,付款金額=100貨品價(jià)格=100,付款金額=100空間文章日常的測試工作中都在有形無形的應(yīng)用各種測試方法進(jìn)行測試,只是沒有形成完整的體系概念。這幾天將測試用例設(shè)計(jì)方法進(jìn)行匯總,將測試思想運(yùn)用于實(shí)際工作中,從而更好的指導(dǎo)測試工作。首先匯總?cè)粘W畛S玫娜N方法:等價(jià)類劃分、邊界值分析法、錯(cuò)誤推斷法。等價(jià)類劃分在軟件測試中,窮舉法雖然是最安全最保險(xiǎn)的一種方法但成本代價(jià)高,一般是不可取的。我們可以通過等價(jià)類劃分方法花費(fèi)最小的代價(jià)來完成最高效的測試。等價(jià)類劃分是把程序輸入域劃分成若干子集,然后從子集中選取少數(shù)具有代表性的數(shù)據(jù)進(jìn)行測試。在子集集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤是等價(jià)的。等價(jià)類分為有效等價(jià)類和無效等價(jià)類。有效等價(jià)類對(duì)于程序規(guī)格來說合理的、有意義的輸入數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 魯人版道德與法治九年級(jí)上冊11.1《合同是當(dāng)事人之間的法律》聽課評(píng)課記錄
- 滬教版數(shù)學(xué)九年級(jí)下冊27.1《圓的基本性質(zhì)》聽評(píng)課記錄
- 人教版地理七年級(jí)下冊第三節(jié)《撒哈拉以南的非洲》聽課評(píng)課記錄1
- 人教版七年級(jí)數(shù)學(xué)下冊 聽評(píng)課記錄5.1.3 第1課時(shí)《同位角、內(nèi)錯(cuò)角、同旁內(nèi)角》
- 蘇科版數(shù)學(xué)七年級(jí)下冊聽評(píng)課記錄7.5多邊形的內(nèi)角和與外角和
- 聽評(píng)課記錄表8篇二年級(jí)
- 【部編版】道德與法治九年級(jí)下冊2.1《推動(dòng)和平與發(fā)展》聽課評(píng)課記錄
- 湘教版數(shù)學(xué)七年級(jí)下冊《相交直線所成的角》聽評(píng)課記錄
- 生產(chǎn)計(jì)劃外包合同(2篇)
- 獨(dú)生子女合同
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)
- 《念奴嬌赤壁懷古》名量教學(xué)實(shí)錄(特級(jí)教師程翔)
- 港股通知識(shí)點(diǎn)、港股通開通測評(píng)題及答案(全)
- 《直播電商平臺(tái)運(yùn)營》-教案全套 第1-8章 直播電商電商營銷新風(fēng)口-案例解析拆解典型直播成功秘訣
- 放射性肺炎診治
- 即興口語(姜燕)-課件-即興口語第七章PPT-中國傳媒大學(xué)
- 艾默生HipulseUPS操作手冊
- 愛心樹(繪本)
- NPI管理流程(精)
- 色卡 對(duì)照表 PANTONE-CMYK
- 海員(船員)體格檢查表
評(píng)論
0/150
提交評(píng)論