軟件測(cè)試技術(shù)(微課版)課件全套 宰光軍 第1-10章 軟件測(cè)試概述-軟件測(cè)試領(lǐng)域_第1頁(yè)
軟件測(cè)試技術(shù)(微課版)課件全套 宰光軍 第1-10章 軟件測(cè)試概述-軟件測(cè)試領(lǐng)域_第2頁(yè)
軟件測(cè)試技術(shù)(微課版)課件全套 宰光軍 第1-10章 軟件測(cè)試概述-軟件測(cè)試領(lǐng)域_第3頁(yè)
軟件測(cè)試技術(shù)(微課版)課件全套 宰光軍 第1-10章 軟件測(cè)試概述-軟件測(cè)試領(lǐng)域_第4頁(yè)
軟件測(cè)試技術(shù)(微課版)課件全套 宰光軍 第1-10章 軟件測(cè)試概述-軟件測(cè)試領(lǐng)域_第5頁(yè)
已閱讀5頁(yè),還剩515頁(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)介

第一章軟件測(cè)試概述主要內(nèi)容四,軟件測(cè)試學(xué)科

三,軟件測(cè)試定義二,軟件質(zhì)量

一,軟件缺陷五,軟件測(cè)試目的和原則

六,軟件測(cè)試分類

七,測(cè)試用例八,軟件測(cè)試資質(zhì)認(rèn)證第一節(jié)軟件缺陷1,Bug與軟件缺陷

2,軟件缺陷的普遍性1,Bug與軟件缺陷二戰(zhàn)期間,GraceMurrayHopper(葛麗絲·穆雷·霍普)發(fā)現(xiàn)一臺(tái)名為MarkII的計(jì)算機(jī)發(fā)生了故障,無(wú)法得出正確的計(jì)算結(jié)果。經(jīng)過(guò)將近一天的檢查發(fā)現(xiàn)一只蛾子被光吸引進(jìn)入了機(jī)器內(nèi)部,導(dǎo)致電路斷開(kāi)。從此之后,Bug逐漸成為了程序錯(cuò)誤的話術(shù),而Debug則成為了調(diào)試修復(fù)錯(cuò)誤的話術(shù)。自此以后軟件缺陷開(kāi)始逐漸進(jìn)入人們的視野。相比較Bug這個(gè)詞語(yǔ),更正規(guī)的說(shuō)法是軟件缺陷(Defect)。IEEE729-1983對(duì)軟件缺陷有一個(gè)標(biāo)準(zhǔn)的定義:從產(chǎn)品內(nèi)部看,缺陷是軟件產(chǎn)品開(kāi)發(fā)或維護(hù)過(guò)程中存在的錯(cuò)誤、毛病等各種問(wèn)題。從產(chǎn)品外部看,缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背。1,Bug與軟件缺陷通常認(rèn)為,至少滿足下面5條規(guī)則中的一條,就稱為發(fā)生一個(gè)軟件缺陷:1.軟件未實(shí)現(xiàn)軟件規(guī)格說(shuō)明書(shū)中要求的功能。2.軟件超出軟件規(guī)格說(shuō)明書(shū)中指明的范圍,例如實(shí)現(xiàn)了未提到的功能。3.軟件未達(dá)到軟件規(guī)格說(shuō)明書(shū)中指出的應(yīng)達(dá)到的目標(biāo)。4.軟件運(yùn)行出現(xiàn)了錯(cuò)誤。5.軟件難以理解、不易使用、運(yùn)行速度慢或者最終用戶認(rèn)為使用效果不好。2,軟件缺陷的普遍性軟件缺陷是個(gè)很普遍的現(xiàn)象,隨著互聯(lián)網(wǎng)的發(fā)展,越來(lái)越多的設(shè)備連接到網(wǎng)絡(luò)中,這些設(shè)備上運(yùn)行的軟件面臨著越來(lái)越多的攻擊者和更容易實(shí)施的攻擊方式,軟件缺陷的問(wèn)題越來(lái)越多,在導(dǎo)致了多次災(zāi)難級(jí)事件的發(fā)生。

1.1988年,小羅伯特·莫里斯(RobertMorris,Jr.)發(fā)布了Internet蠕蟲(chóng),指出了Internet的脆弱性以及對(duì)更高安全性的需求。他使用gets()函數(shù)導(dǎo)致BerkeleyUnixfinger守護(hù)程序中的緩沖區(qū)溢出導(dǎo)致了數(shù)千臺(tái)計(jì)算機(jī)的癱瘓。2.1991年2月,一枚導(dǎo)彈襲擊了沙特阿拉伯的美國(guó)部隊(duì)兵營(yíng),而一連串愛(ài)國(guó)者導(dǎo)彈未能攔截成功導(dǎo)致了重大的損失。確定的原因是系統(tǒng)時(shí)鐘中的軟件錯(cuò)誤。2,軟件缺陷的普遍性3.1996年6月,阿麗亞娜5號(hào)火箭進(jìn)行了首次飛行?;鸺l(fā)射后37秒自毀,導(dǎo)致任務(wù)失敗,損失約3.7億美元。原因是因?yàn)閿?shù)據(jù)從64位浮點(diǎn)值轉(zhuǎn)換為16位帶符號(hào)整數(shù)值時(shí)導(dǎo)致整數(shù)溢出。4.1999年,由美國(guó)國(guó)家航空航天局噴氣推進(jìn)實(shí)驗(yàn)室建造的耗資3.276億美元的火星氣候軌道器項(xiàng)目以錯(cuò)誤的角度接近了紅色星球,導(dǎo)致了航天器的滅亡。最終發(fā)現(xiàn)工程團(tuán)隊(duì)的不同部分使用不同的度量單位。一組研究推進(jìn)器的單位是英制磅力秒;另一個(gè)使用公制牛頓秒。5.2014年2月,Apple發(fā)布了有關(guān)SSL/TLS的安全更新。罪魁禍?zhǔn)资恰癵otofail”導(dǎo)致后面的語(yǔ)句無(wú)法訪問(wèn)。導(dǎo)致了極大的投訴量和經(jīng)濟(jì)損失。第二節(jié)軟件質(zhì)量軟件產(chǎn)品與其他產(chǎn)品一樣,都是有質(zhì)量要求的,軟件質(zhì)量關(guān)系著軟件使用程度與使用壽命,一款高質(zhì)量的軟件更受用戶歡迎,除了滿足客戶的顯式需求之外,往往還滿足了客戶隱式需求。從軟件質(zhì)量的定義,可將軟件質(zhì)量分為3個(gè)層次:1.滿足需求規(guī)定:軟件產(chǎn)品符合開(kāi)發(fā)者明確定義的目標(biāo),并且能可靠運(yùn)行。2.滿足用戶需求:軟件產(chǎn)品的需求是由用戶產(chǎn)生的,軟件最終的目的就是滿足用戶需求,解決用戶的實(shí)際問(wèn)題。3.滿足用戶隱式需求:除了滿足用戶的顯式需求,軟件產(chǎn)品如果滿足用戶的隱式需求,即潛在的可能需要在將來(lái)開(kāi)發(fā)的功能,將會(huì)極大地提升用戶滿意度,這就意味著軟件質(zhì)量更高。第二節(jié)軟件質(zhì)量軟件產(chǎn)品與其他產(chǎn)品一樣,都是有質(zhì)量要求的,軟件質(zhì)量關(guān)系著軟件使用程度與使用壽命,一款高質(zhì)量的軟件更受用戶歡迎,除了滿足客戶的顯式需求之外,往往還滿足了客戶隱式需求。從軟件質(zhì)量的定義,可將軟件質(zhì)量分為3個(gè)層次:1.滿足需求規(guī)定:軟件產(chǎn)品符合開(kāi)發(fā)者明確定義的目標(biāo),并且能可靠運(yùn)行。2.滿足用戶需求:軟件產(chǎn)品的需求是由用戶產(chǎn)生的,軟件最終的目的就是滿足用戶需求,解決用戶的實(shí)際問(wèn)題。3.滿足用戶隱式需求:除了滿足用戶的顯式需求,軟件產(chǎn)品如果滿足用戶的隱式需求,即潛在的可能需要在將來(lái)開(kāi)發(fā)的功能,將會(huì)極大地提升用戶滿意度,這就意味著軟件質(zhì)量更高。第二節(jié)軟件質(zhì)量ISO/IEC9126:1991是早期最通用的一個(gè)評(píng)價(jià)軟件質(zhì)量的國(guó)際標(biāo)準(zhǔn),它對(duì)軟件質(zhì)量進(jìn)行了定義同時(shí)制訂了軟件測(cè)試的規(guī)范流程。其中主要內(nèi)容為6個(gè)特性:1.功能性:在指定條件下,軟件滿足用戶顯式需求和隱式需求的能力。2.可靠性:在指定條件下使用時(shí),軟件產(chǎn)品維持規(guī)定的性能級(jí)別的能力。3.可使用性:在指定條件下,軟件產(chǎn)品被使用、理解、學(xué)習(xí)的能力。4.效率:在指定條件下,相對(duì)于所有資源的數(shù)量,軟件產(chǎn)品可提供適當(dāng)性能的能力。5.可維護(hù)性:軟件產(chǎn)品被修改的能力,包括修正、優(yōu)化等。6.可移植性:軟件產(chǎn)品從一個(gè)環(huán)境遷移到另一個(gè)環(huán)境的能力。第二節(jié)軟件質(zhì)量2011年,ISO發(fā)布了國(guó)際軟件質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)ISO/IEC25010:2011,同9126相比,新增了安全性和兼容性。2016年,國(guó)家標(biāo)準(zhǔn)化委員會(huì)發(fā)布了國(guó)家標(biāo)準(zhǔn)GB/T25000涵蓋了軟件產(chǎn)品的八大特性,如圖1所示。圖1第三節(jié)軟件測(cè)試定義在軟件測(cè)試的早期階段,曾經(jīng)出現(xiàn)過(guò)關(guān)于軟件測(cè)試正反兩方面的爭(zhēng)論,代表人物是軟件測(cè)試領(lǐng)域的兩位先驅(qū)BillHetzel和GlenfordJ.Myers。正向思維認(rèn)為:軟件測(cè)試是順著軟件運(yùn)行邏輯,以確信其最終能夠正常運(yùn)行為目標(biāo)導(dǎo)向而展開(kāi)的任何行為。反向思維認(rèn)為:軟件測(cè)試是抱著懷疑主義的精神,相信軟件一定存在缺陷的想法作為出發(fā)點(diǎn),逆著軟件運(yùn)行的內(nèi)生邏輯,以證明其存在的缺陷為目標(biāo)或?qū)蚨_(kāi)展的任何行為。第三節(jié)軟件測(cè)試定義1983年,IEEE給出了相對(duì)標(biāo)準(zhǔn)的軟件測(cè)試定義:“使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果和實(shí)際結(jié)果之間的差別?!痹摱x明確說(shuō)明了軟件測(cè)試以檢驗(yàn)軟件是否滿足需求為目標(biāo)。預(yù)期結(jié)果和實(shí)際結(jié)果之間的差別,也就是軟件錯(cuò)誤,是測(cè)試過(guò)程的結(jié)果而不是目標(biāo),發(fā)現(xiàn)軟件錯(cuò)誤只是一種手段。此外,軟件測(cè)試也可定義為:軟件測(cè)試是由驗(yàn)證和確認(rèn)活動(dòng)構(gòu)成的整體。驗(yàn)證:檢驗(yàn)軟件開(kāi)發(fā)過(guò)程中階段性產(chǎn)品與軟件規(guī)格說(shuō)明書(shū)的一致性。確認(rèn):檢查是否構(gòu)造了滿足用戶需求的產(chǎn)品。該定義反映了對(duì)軟件測(cè)試的廣義理解。第四節(jié)軟件測(cè)試學(xué)科1,軟件測(cè)試的發(fā)展歷程

2,軟件工程與軟件測(cè)試3,軟件測(cè)試學(xué)派1,軟件測(cè)試的發(fā)展歷程20世紀(jì)50年代,軟件規(guī)模較小,開(kāi)發(fā)過(guò)程簡(jiǎn)單,軟件測(cè)試基本等同于調(diào)試。1957年,軟件測(cè)試開(kāi)始與調(diào)試區(qū)別開(kāi)來(lái),作為一種發(fā)現(xiàn)軟件缺陷的活動(dòng)。但測(cè)試仍然是后于開(kāi)發(fā)的。測(cè)試的目的是使自己確信產(chǎn)品能工作。20世紀(jì)60年代中期到70年代中期,軟件業(yè)取得了快速發(fā)展。但是隨著軟件的數(shù)量急劇膨脹,需求也越來(lái)越復(fù)雜,但是軟件開(kāi)發(fā)的管理水平卻沒(méi)有跟上,開(kāi)發(fā)成本越來(lái)越高,最終軟件危機(jī)發(fā)生了。1968年北大西洋公約組織在聯(lián)邦德國(guó)召開(kāi)國(guó)際會(huì)議,會(huì)議上正式提出了“軟件工程”這一名詞,標(biāo)志著軟件工程學(xué)科的誕生。1,軟件測(cè)試的發(fā)展歷程1972年,在美國(guó)的北卡羅萊納大學(xué)舉辦了歷史上首屆正式的軟件測(cè)試會(huì)議,標(biāo)志著軟件測(cè)試作為一個(gè)學(xué)科正式誕生了。1975年,Goodenough(約翰·古迪納夫)和Gerhart(蓋哈特)首次提出了軟件測(cè)試的理論,使得軟件測(cè)試成為具有理論指導(dǎo)的實(shí)踐性學(xué)科。1979年,GlenfordMyers的《軟件測(cè)試藝術(shù)》中作出了當(dāng)時(shí)較為準(zhǔn)確的軟件測(cè)試定義:“測(cè)試是為發(fā)現(xiàn)錯(cuò)誤而執(zhí)行的一個(gè)程序或者系統(tǒng)的過(guò)程。”20世紀(jì)80年代早期,軟件測(cè)試定義發(fā)生了改變,測(cè)試不單純是一個(gè)發(fā)現(xiàn)錯(cuò)誤的過(guò)程,而且包含軟件質(zhì)量評(píng)價(jià)的內(nèi)容。1,軟件測(cè)試的發(fā)展歷程1983年,BillHetzel在《軟件測(cè)試完全指南》(CompleteGuideofSoftwareTesting)一書(shū)中指出:“測(cè)試是以評(píng)價(jià)一個(gè)程序或者系統(tǒng)屬性為目標(biāo)的任何一種活動(dòng),測(cè)試是對(duì)軟件質(zhì)量的度量。”20世紀(jì)90年代,測(cè)試工具盛行起來(lái)。人們普遍意識(shí)到,工具不僅僅是有用的,而且要對(duì)的軟件系統(tǒng)進(jìn)行充分的測(cè)試,工具是必不可少的。1996年提出測(cè)試能力成熟度TCMM、測(cè)試支持度TSM、測(cè)試成熟度TMM。2002年,Rick和Stefan在《系統(tǒng)的軟件測(cè)試》中對(duì)軟件測(cè)試做了進(jìn)一步定義:“測(cè)試是為了度量和提高被測(cè)軟件的質(zhì)量,對(duì)測(cè)試件進(jìn)行工程設(shè)計(jì)、實(shí)施和維護(hù)的整個(gè)生命周期過(guò)程。”2,軟件工程與軟件測(cè)試1968年,NATO(北約)的科技委員會(huì)召集了近50名一流的編程人員、計(jì)算機(jī)科學(xué)家和工業(yè)界巨頭,討論和制定擺脫“軟件危機(jī)”的對(duì)策。在那次會(huì)議上第一次提出了軟件工程(softwareengineering)這個(gè)概念。軟件工程包括兩方面內(nèi)容:軟件開(kāi)發(fā)技術(shù)和軟件項(xiàng)目管理。軟件開(kāi)發(fā)技術(shù)包括軟件開(kāi)發(fā)方法學(xué)、軟件工具和軟件工程環(huán)境。軟件項(xiàng)目管理包括軟件度量、項(xiàng)目估算、進(jìn)度控制、人員組織、配置管理、項(xiàng)目計(jì)劃、軟件測(cè)試等。此后軟件工程理論開(kāi)始蓬勃發(fā)展,軟件工程發(fā)展趨勢(shì)如圖2所示。2,軟件工程與軟件測(cè)試圖2軟件工程發(fā)展趨勢(shì)圖2,軟件工程與軟件測(cè)試軟件測(cè)試學(xué)科的發(fā)展一直圍繞著軟件工程學(xué)科,IEEE-CS和ACM聯(lián)合組建的軟件工程協(xié)調(diào)委員會(huì)(SWECC)發(fā)布了軟件工程知識(shí)體系和推薦實(shí)踐SWEBOK2004,為軟件工程職業(yè)實(shí)踐建立了合適的準(zhǔn)則和規(guī)范集?;赟WEBOK,SWECC進(jìn)一步定義了其中可以納入教育程序的知識(shí)體系,包括本科生軟件工程教育計(jì)劃SE2004中的SEEK、研究生軟件工程教育計(jì)劃GSwE2009中的CBOK、軟件工程職業(yè)道德規(guī)范和職業(yè)實(shí)踐。軟件工程的理論基礎(chǔ)主要是計(jì)算機(jī)科學(xué)中的程序理論和計(jì)算理論以及求解問(wèn)題的數(shù)學(xué)理論與方法,既關(guān)注構(gòu)造軟件的理論、模型與算法及其在軟件開(kāi)發(fā)與維護(hù)中的應(yīng)用,也關(guān)注求解問(wèn)題的數(shù)學(xué)理論與方法及其在軟件建模、分析、設(shè)計(jì)和驗(yàn)證中的應(yīng)用。2,軟件工程與軟件測(cè)試國(guó)內(nèi)軟件工程作為一個(gè)獨(dú)立的一級(jí)學(xué)科,與計(jì)算機(jī)科學(xué)與技術(shù)、管理科學(xué)、數(shù)學(xué)等其他一級(jí)學(xué)科緊密相連,是基礎(chǔ)性和技術(shù)性并重的新興學(xué)科。軟件工程所包含的二級(jí)學(xué)科有:1.083501軟件工程理論與方法:在計(jì)算機(jī)科學(xué)和數(shù)學(xué)等基本原理的基礎(chǔ)上,研究大型復(fù)雜軟件開(kāi)發(fā)、運(yùn)行和維護(hù)的理論和方法,以及形式化方法在軟件工程中的應(yīng)用。2.083502軟件工程技術(shù):研究大型復(fù)雜軟件開(kāi)發(fā)、運(yùn)行與維護(hù)的原則、方法、技術(shù)及相應(yīng)的支撐工具、平臺(tái)與環(huán)境。3.083503軟件服務(wù)工程:研究軟件服務(wù)工程原理、方法和技術(shù),構(gòu)建支持軟件服務(wù)系統(tǒng)的基礎(chǔ)設(shè)施和平臺(tái)。4.083504領(lǐng)域軟件工程:研究軟件工程在具體領(lǐng)域中的應(yīng)用,并在此基礎(chǔ)之上形成面向領(lǐng)域的軟件工程理論、方法與技術(shù)。因此,軟件測(cè)試是軟件工程的重要組成部分。3,軟件測(cè)試學(xué)派近幾年,敏捷測(cè)試、探索式測(cè)試、精益測(cè)試、基于模型的測(cè)試等越來(lái)越受到大家的關(guān)注?!盾浖y(cè)試:經(jīng)驗(yàn)與教訓(xùn)》一書(shū)的作者BretPettichord在2003年將軟件測(cè)試歸為四大學(xué)派(School),四年后又增加了一個(gè)敏捷測(cè)試學(xué)派,將軟件測(cè)試分為以下五個(gè)學(xué)派:1.分析學(xué)派(AnalyticSchool):認(rèn)為軟件是邏輯性的,將測(cè)試看作計(jì)算機(jī)科學(xué)和數(shù)學(xué)的一部分,結(jié)構(gòu)化測(cè)試、代碼覆蓋率就是其中一些典型的例子。他們認(rèn)為測(cè)試工作是技術(shù)性很強(qiáng)的工作,側(cè)重使用類似UML工具進(jìn)行分析和建模。2.標(biāo)準(zhǔn)學(xué)派(StandardSchool):從分析學(xué)派分支出來(lái)并得到IEEE的支持,把測(cè)試看作側(cè)重劣質(zhì)成本控制并具有可重復(fù)標(biāo)準(zhǔn)的、旨在衡量項(xiàng)目進(jìn)度的一項(xiàng)工作,測(cè)試是對(duì)產(chǎn)品需求的確認(rèn),每個(gè)需求都需要得到驗(yàn)證。3,軟件測(cè)試學(xué)派3.質(zhì)量學(xué)派(QualitySchool):軟件質(zhì)量需要規(guī)范,測(cè)試就是過(guò)程的質(zhì)量控制、揭示項(xiàng)目質(zhì)量風(fēng)險(xiǎn)的活動(dòng),確定開(kāi)發(fā)人員是否遵守規(guī)范,測(cè)試人員扮演產(chǎn)品質(zhì)量的守門(mén)員角色。4.上下文驅(qū)動(dòng)學(xué)派(Context-DrivenSchool):認(rèn)為軟件是人創(chuàng)造的,測(cè)試所發(fā)現(xiàn)的每一個(gè)缺陷都和相關(guān)利益者(stakeholder)密切相關(guān);認(rèn)為測(cè)試是一種有技巧的心理活動(dòng);強(qiáng)調(diào)人的能動(dòng)性和啟發(fā)式測(cè)試思維。探索性測(cè)試就是其典型代表。5.敏捷學(xué)派(AgileSchool):認(rèn)為軟件就是持續(xù)不斷的對(duì)話,而測(cè)試就是驗(yàn)證開(kāi)發(fā)工作是否完成,強(qiáng)調(diào)自動(dòng)化測(cè)試。TDD(Test-DrivenDevelopment)是其典型代表。第五節(jié)軟件測(cè)試目的和原則1,軟件測(cè)試目的

2,軟件測(cè)試原則1,軟件測(cè)試目的基于不同的立場(chǎng),存在著兩種完全不同的測(cè)試目的。從用戶的角度出發(fā),普遍希望通過(guò)軟件測(cè)試暴露軟件中隱藏的錯(cuò)誤和缺陷,以考慮是否可以接受該產(chǎn)品。而從軟件開(kāi)發(fā)者的角度出發(fā),則希望測(cè)試成為表明軟件產(chǎn)品中不存在錯(cuò)誤的過(guò)程,驗(yàn)證該軟件已正確地實(shí)現(xiàn)了用戶的要求。關(guān)于軟件測(cè)試的目的,GlenfordJ.Myers給出了如下觀點(diǎn):1,軟件測(cè)試是程序的執(zhí)行過(guò)程,目的在于發(fā)現(xiàn)錯(cuò)誤。2,好的測(cè)試用例很可能會(huì)發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。3,成功的測(cè)試是那些發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。盡早和盡量多的發(fā)現(xiàn)被測(cè)對(duì)象中的缺陷,是測(cè)試人員測(cè)試過(guò)程中最常提起的一個(gè)測(cè)試目標(biāo),也是測(cè)試價(jià)值的一個(gè)的重要體現(xiàn)。發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的過(guò)程之一,但不是軟件測(cè)試的唯一目的。軟件測(cè)試的目的也包含以下內(nèi)容:1,軟件測(cè)試目的1.提升軟件質(zhì)量軟件測(cè)試最直接的目的就是提高軟件的質(zhì)量,讓用戶對(duì)產(chǎn)品有較好的體驗(yàn),保障產(chǎn)品的高質(zhì)量度。發(fā)現(xiàn)缺陷的目的是推動(dòng)開(kāi)發(fā)人員定位和修復(fù)問(wèn)題,測(cè)試人員通過(guò)再測(cè)試和回歸測(cè)試,確保開(kāi)發(fā)人員已修復(fù)缺陷,并沒(méi)有影響原來(lái)正常的區(qū)域,從而提高產(chǎn)品質(zhì)量。2.提供信息測(cè)試過(guò)程的每個(gè)階段都在為開(kāi)發(fā)過(guò)程提供信息以便于幫助項(xiàng)目組作出正確的決策:(1)質(zhì)量評(píng)估:通過(guò)測(cè)試過(guò)程提供的各種數(shù)據(jù),可以幫助項(xiàng)目經(jīng)理評(píng)估被測(cè)軟件產(chǎn)品的質(zhì)量。(2)進(jìn)度評(píng)估:通過(guò)提供的各種數(shù)據(jù),可以幫助項(xiàng)目經(jīng)理作出是否能及時(shí)發(fā)布軟件產(chǎn)品的決策。測(cè)試過(guò)程中提供的數(shù)據(jù)是評(píng)估過(guò)程非常重要的輸入。1,軟件測(cè)試目的3.預(yù)防缺陷測(cè)試過(guò)程中發(fā)現(xiàn)的缺陷,以及遺漏到用戶現(xiàn)場(chǎng)的缺陷,都應(yīng)該對(duì)它們進(jìn)行缺陷根本原因分析,找到引入缺陷的主要原因。從測(cè)試角度也要分析為什么能發(fā)現(xiàn)缺陷,以及為什么缺陷會(huì)遺漏到用戶現(xiàn)場(chǎng)。4.保證產(chǎn)品安全大部分的軟件產(chǎn)品都涉及數(shù)據(jù)信息,尤其是金融類產(chǎn)品,更直接涉及到個(gè)人的資金賬戶,這就對(duì)產(chǎn)品本身要求特別高。如何通過(guò)數(shù)據(jù)加密,安全處理保障用戶的資金流動(dòng)安全就至關(guān)重要。如果安全性測(cè)試不充分,存在漏洞,后果將不堪設(shè)想。5.降低開(kāi)發(fā)成本一個(gè)優(yōu)秀的測(cè)試,會(huì)在開(kāi)發(fā)過(guò)程中通過(guò)跟蹤需求、驗(yàn)證質(zhì)量、提交缺陷來(lái)提升開(kāi)發(fā)人員技術(shù)。建立一套完整的體系來(lái)提高整個(gè)團(tuán)隊(duì)的工作效率,從而降低開(kāi)發(fā)成本,把控產(chǎn)品質(zhì)量。1,軟件測(cè)試目的6.降低商業(yè)風(fēng)險(xiǎn)軟件測(cè)試除了可以降低開(kāi)發(fā)成本,還可以降低因軟件缺陷帶來(lái)的商業(yè)風(fēng)險(xiǎn)。如果一款產(chǎn)品使用起來(lái)不流暢、缺陷也非常多,在給合作伙伴展示時(shí)候很難獲取到認(rèn)可和信任度,進(jìn)而造成商業(yè)上的損失。7.提高用戶體驗(yàn)軟件測(cè)試主要是在軟件產(chǎn)品發(fā)布前實(shí)施的。經(jīng)過(guò)測(cè)試和修改之后,把產(chǎn)品交付給用戶手中,才能更好提高用戶體驗(yàn)。防止發(fā)布之后出現(xiàn)嚴(yán)重影響使用的Bug,遭受用戶投訴等。8.樹(shù)立產(chǎn)品信心當(dāng)測(cè)試過(guò)程中發(fā)現(xiàn)很少或沒(méi)有發(fā)現(xiàn)缺陷時(shí),測(cè)試就可以幫助樹(shù)立對(duì)于軟件產(chǎn)品質(zhì)量的信心。一款沒(méi)有經(jīng)過(guò)測(cè)試的產(chǎn)品發(fā)布之后,難免會(huì)容易出現(xiàn)各種Bug。相反,如果是經(jīng)過(guò)測(cè)試的產(chǎn)品,軟件制作公司就更有信心。2,軟件測(cè)試原則軟件測(cè)試經(jīng)過(guò)多年的發(fā)展,形成了多種原則用于指導(dǎo)軟件測(cè)試工作。制定軟件測(cè)試的基本原則有助于提高測(cè)試工作的效率和質(zhì)量,能讓測(cè)試人員以最少的人力物力、時(shí)間等盡早發(fā)現(xiàn)軟件中存在的問(wèn)題。下面介紹一下業(yè)界公認(rèn)的一些原則。1.測(cè)試應(yīng)基于用戶需求所有的測(cè)試標(biāo)準(zhǔn)應(yīng)建立在滿足客戶需求的基礎(chǔ)上,假如系統(tǒng)不能完成客戶的需求和期望,那么,這個(gè)系統(tǒng)的研發(fā)是失敗的。在開(kāi)發(fā)過(guò)程中用戶的早期介入和接觸原型系統(tǒng)就是為了避免這類問(wèn)題的預(yù)防性措施。2.軟件測(cè)試不能證明程序無(wú)錯(cuò)軟件測(cè)試是發(fā)現(xiàn)軟件錯(cuò)誤的過(guò)程,但是不能證明軟件無(wú)錯(cuò),即使測(cè)試人員運(yùn)行了大量的測(cè)試用例并且沒(méi)有發(fā)現(xiàn)錯(cuò)誤,也不能保證軟件沒(méi)有錯(cuò)誤存在。這是因?yàn)檐浖到y(tǒng)的復(fù)雜性和測(cè)試的不完備性導(dǎo)致測(cè)試人員很難想到所有的可能情況和邊界條件。2,軟件測(cè)試原則3.應(yīng)盡早地和不斷地進(jìn)行軟件測(cè)試由于原始問(wèn)題的復(fù)雜性,不應(yīng)把軟件測(cè)試僅僅看作是軟件開(kāi)發(fā)的一個(gè)獨(dú)立階段,而應(yīng)當(dāng)把它貫穿到軟件開(kāi)發(fā)的各個(gè)階段中。堅(jiān)持在軟件開(kāi)發(fā)的各個(gè)階段的技術(shù)評(píng)審,把出現(xiàn)的錯(cuò)誤克服在早期,大大降低錯(cuò)誤修復(fù)的成本,提高軟件質(zhì)量。4.做好軟件測(cè)試計(jì)劃工作軟件測(cè)試是有組織、有計(jì)劃、有步驟的活動(dòng)。因此測(cè)試要嚴(yán)格執(zhí)行測(cè)試計(jì)劃,避免測(cè)試的隨意性,測(cè)試計(jì)劃應(yīng)包括:軟件的功能、輸入、輸出、測(cè)試內(nèi)容、各項(xiàng)測(cè)試的進(jìn)度安排、資源要求、測(cè)試資料、測(cè)試工具、測(cè)試用例的選擇、測(cè)試的控制方法和過(guò)程、系統(tǒng)的配置方式、跟蹤規(guī)則、調(diào)試規(guī)則、回歸測(cè)試的規(guī)定以及評(píng)價(jià)標(biāo)準(zhǔn)等。2,軟件測(cè)試原則5.測(cè)試前必須明確定義好產(chǎn)品的質(zhì)量標(biāo)準(zhǔn)只有建立了質(zhì)量標(biāo)準(zhǔn),才能根據(jù)測(cè)試的結(jié)果,對(duì)產(chǎn)品的質(zhì)量進(jìn)行分析和評(píng)估。同樣,必須預(yù)先確定對(duì)應(yīng)的輸入數(shù)據(jù)和輸出結(jié)果來(lái)對(duì)照檢查當(dāng)前的輸出結(jié)果是否正確,做到有的放矢。6.程序員應(yīng)避免檢查自己的程序測(cè)試工作需要嚴(yán)格的作風(fēng),客觀的態(tài)度和冷靜的情緒。程序員對(duì)軟件規(guī)格說(shuō)明理解錯(cuò)誤而引入的錯(cuò)誤則難以發(fā)現(xiàn)。如果由別人來(lái)測(cè)試程序員編寫(xiě)的程序,可能會(huì)更客觀,更有效,并更容易取得成功。7.充分注意測(cè)試中的群集現(xiàn)象一般來(lái)說(shuō),程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)越多,其中存在的錯(cuò)誤概率也就越大。經(jīng)驗(yàn)表明,測(cè)試后程序中殘存的錯(cuò)誤數(shù)目與該程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)目或檢錯(cuò)率成正比。根據(jù)這個(gè)規(guī)律,應(yīng)當(dāng)對(duì)錯(cuò)誤群集的程序段進(jìn)行重點(diǎn)測(cè)試,以提高測(cè)試投資的效益。2,軟件測(cè)試原則8.應(yīng)當(dāng)對(duì)每一個(gè)測(cè)試結(jié)果做全面檢查有些錯(cuò)誤的征兆在輸出實(shí)測(cè)結(jié)果時(shí)已經(jīng)明顯地出現(xiàn)了,需要對(duì)預(yù)期的輸出結(jié)果明確定義,對(duì)實(shí)測(cè)的結(jié)果仔細(xì)分析檢查,避免因?yàn)槭韬龌蛘邔?duì)結(jié)果與預(yù)期結(jié)果的一致性主觀臆斷造成錯(cuò)誤遺漏。9.窮舉測(cè)試是不可能的完全測(cè)試是指試圖找出所有的軟件缺陷,這是不可能的。一方面因?yàn)楦F舉測(cè)試本身是不可能的,另一方面因?yàn)闇y(cè)試資源也是有限的。因此,需要根據(jù)軟件質(zhì)量要求,確定合理的測(cè)試終止時(shí)間。10.測(cè)試設(shè)計(jì)決定了測(cè)試的有效性和效率測(cè)試工具只能提高測(cè)試效率而非萬(wàn)能。根據(jù)測(cè)試的目的,采用相應(yīng)的方法去設(shè)計(jì)測(cè)試用例,從而提高測(cè)試的效率,更多地發(fā)現(xiàn)錯(cuò)誤,提高程序的可靠性。2,軟件測(cè)試原則11.妥善保存測(cè)試文檔,并注意測(cè)試設(shè)計(jì)的可重用性妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和測(cè)試報(bào)告等,為項(xiàng)目維護(hù)提供方便。另外,測(cè)試設(shè)計(jì)可以兼顧更好的通用性,以便于整個(gè)設(shè)計(jì)方案可以更好的得以重用,節(jié)省開(kāi)發(fā)和設(shè)計(jì)成本。12.軟件缺陷的免疫性在測(cè)試中,同樣的測(cè)試用例被一遍一遍反復(fù)使用時(shí),發(fā)現(xiàn)缺陷的能力就會(huì)越來(lái)越差。這種現(xiàn)象的主要原因在于測(cè)試人員沒(méi)有及時(shí)更新測(cè)試用例,同時(shí)對(duì)測(cè)試用例及測(cè)試對(duì)象過(guò)于熟悉,形成思維定勢(shì)。為克服這種現(xiàn)象,測(cè)試用例需要經(jīng)常的評(píng)審和修改,不斷增加新的不同的測(cè)試用例來(lái)測(cè)試軟件或系統(tǒng)的不同部分,保證測(cè)試用例永遠(yuǎn)是最新的。這樣軟件中未被測(cè)試過(guò)的部分或者先前沒(méi)有被使用過(guò)的輸入組合就會(huì)重新執(zhí)行,從而發(fā)現(xiàn)更多的缺陷。第六節(jié)軟件測(cè)試分類1,按測(cè)試方法劃分

2,按測(cè)試執(zhí)行狀態(tài)劃分

3,按測(cè)試執(zhí)行階段劃分

4,按用戶需求劃分

5,按是否自動(dòng)化劃分

6,其他測(cè)試1,按測(cè)試方法劃分按照測(cè)試方法劃分,軟件測(cè)試可以劃分為白盒測(cè)試、黑盒測(cè)試和灰盒測(cè)試。SWEBOKV3對(duì)軟件測(cè)試的分類方式不同于其他三種。一,軟件測(cè)試(1)白盒測(cè)試白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。(2)黑盒測(cè)試黑盒測(cè)試中程序被視為一個(gè)無(wú)法打開(kāi)的黑盒子。在不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特征的情況下,只檢查程序功能是否按照要求規(guī)范說(shuō)明書(shū)的規(guī)定正常使用,程序是否能夠適當(dāng)接收輸入數(shù)據(jù)并產(chǎn)生正確的輸出信息。1,按測(cè)試方法劃分(3)灰盒測(cè)試灰盒測(cè)試是指介于白盒和黑盒兩種測(cè)試之間的測(cè)試方法。灰盒測(cè)試多用于應(yīng)用程序的集成測(cè)試階段,不僅關(guān)注針對(duì)集成系統(tǒng)的輸入、輸出值的正確性,同時(shí)也對(duì)程序的內(nèi)部執(zhí)行邏輯進(jìn)行分析、監(jiān)測(cè)或者驗(yàn)證?;液袦y(cè)試可以彌補(bǔ)白盒測(cè)試和黑盒測(cè)試二者的不足,兼顧了測(cè)試的效率又能洞悉系統(tǒng)內(nèi)部執(zhí)行過(guò)程。二,SWEBOKV32014年2月20日,IEEE計(jì)算機(jī)協(xié)會(huì)了軟件工程知識(shí)體系SWEBOK(SoftwareEngineeringBodyofKnowledge)指南第3版。SWEBOKV3的測(cè)試分類方式不同于黑盒白盒等,主要包括以下測(cè)試方法:1)基于直覺(jué)和經(jīng)驗(yàn)的方法,例如Ad-hoc測(cè)試方法、探索式測(cè)試等。1,按測(cè)試方法劃分2)基于輸入域的方法(IDBT),例如等價(jià)類、邊界值、兩兩組合、隨機(jī)測(cè)試等。3)基于代碼的方法(CBT),例如基于控制流的標(biāo)準(zhǔn)、基于數(shù)據(jù)流的標(biāo)準(zhǔn)、CBT參考模型等。4)基于故障的方法(FBT),例如故障模型、錯(cuò)誤推測(cè)法、變異測(cè)試等。5)基于用途的方法(UBT),例如操作配置、用戶觀察啟發(fā)。6)基于模型的方法(MBT),例如決策表、有限狀態(tài)機(jī)、形式化驗(yàn)證、TTCN3、工作流模型等。7)基于應(yīng)用技術(shù)的方法(TBNA),例如OOS、Web、Real-time、SOA、Embedded、Safe-critical等。軟件測(cè)試分類圖如下圖3所示。1,按測(cè)試方法劃分圖4軟件測(cè)試分類圖2,按測(cè)試執(zhí)行狀態(tài)劃分按照測(cè)試執(zhí)行狀態(tài)劃分,軟件測(cè)試可以分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。(1)靜態(tài)測(cè)試靜態(tài)測(cè)試是指不運(yùn)行被測(cè)試的軟件系統(tǒng),而是采用其他手段和技術(shù)對(duì)被測(cè)試軟件進(jìn)行檢測(cè)的一種測(cè)試技術(shù)。例如代碼走讀、文檔評(píng)審、程序分析等都是靜態(tài)測(cè)試的范疇。(2)動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試是指按照預(yù)先設(shè)計(jì)的數(shù)據(jù)和步驟去運(yùn)行被測(cè)軟件系統(tǒng),從而對(duì)被測(cè)軟件系統(tǒng)進(jìn)行檢測(cè)的一種測(cè)試技術(shù)。如果按階段來(lái)分,單元測(cè)試中常見(jiàn)的動(dòng)態(tài)測(cè)試方法就是邏輯覆蓋的方法,而在系統(tǒng)測(cè)試階段,我們做的測(cè)試都屬于動(dòng)態(tài)測(cè)試,因?yàn)槲覀円\(yùn)行系統(tǒng)才能驗(yàn)證系統(tǒng)功能是否正確。動(dòng)態(tài)測(cè)試是通過(guò)觀察代碼運(yùn)行時(shí)的動(dòng)作,來(lái)提供執(zhí)行跟蹤、時(shí)間分析及測(cè)試覆蓋度方面的信息。3,按測(cè)試執(zhí)行階段劃分按照測(cè)試執(zhí)行階段劃分,軟件測(cè)試可以分為單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。(1)單元測(cè)試完成最小的軟件設(shè)計(jì)單元的驗(yàn)證工作,目標(biāo)是確保模塊被正確的編碼,使用過(guò)程設(shè)計(jì)描述作為指南,對(duì)重要的控制路徑進(jìn)行測(cè)試以發(fā)現(xiàn)模塊內(nèi)的錯(cuò)誤。通常情況下是白盒測(cè)試。(2)集成測(cè)試通過(guò)測(cè)試發(fā)現(xiàn)與模塊接口有關(guān)的問(wèn)題。目標(biāo)是把通過(guò)了單元測(cè)試的模塊拿來(lái),構(gòu)造一個(gè)在設(shè)計(jì)中所描述的程序結(jié)構(gòu),應(yīng)當(dāng)避免一次性的集成,而采用增量集成。集成方式一般分為自頂向下和自底向上兩種方式。自頂向下集成是指模塊集成是首先集成主模塊,然后按照控制層次結(jié)構(gòu)向下進(jìn)行集成。自底向上集成是指從原子模塊開(kāi)始來(lái)進(jìn)行構(gòu)造和測(cè)試。3,按測(cè)試執(zhí)行階段劃分(3)系統(tǒng)測(cè)試系統(tǒng)測(cè)試是基于系統(tǒng)整體需求說(shuō)明書(shū)的黑盒類測(cè)試,應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不相符合或與之矛盾的地方。(4)驗(yàn)收測(cè)試驗(yàn)收測(cè)試是指系統(tǒng)開(kāi)發(fā)生命周期方法論的一個(gè)階段,這時(shí)相關(guān)的用戶或獨(dú)立測(cè)試人員根據(jù)測(cè)試計(jì)劃和結(jié)果對(duì)系統(tǒng)進(jìn)行測(cè)試和接收。它讓系統(tǒng)用戶決定是否接收系統(tǒng)。驗(yàn)收測(cè)試包括Alpha測(cè)試和Beta測(cè)試。Alpha測(cè)試是由用戶在開(kāi)發(fā)者的場(chǎng)所來(lái)進(jìn)行的。Beta測(cè)試由軟件的最終用戶在一個(gè)或多個(gè)用戶場(chǎng)所來(lái)進(jìn)行的,開(kāi)發(fā)者通常不在現(xiàn)場(chǎng),用戶記錄測(cè)試中遇到的問(wèn)題并報(bào)告給開(kāi)發(fā)者,開(kāi)發(fā)者對(duì)系統(tǒng)進(jìn)行最后的修改,并開(kāi)始準(zhǔn)備發(fā)布最終的軟件。4,按用戶需求劃分按照用戶需求劃分,軟件測(cè)試可以分為功能測(cè)試和非功能測(cè)試。(1)功能測(cè)試功能測(cè)試是一種檢查組件或整個(gè)系統(tǒng)功能的測(cè)試。簡(jiǎn)而言之,功能測(cè)試幫助企業(yè)確保軟件產(chǎn)品的特定功能完全按照預(yù)期工作。功能測(cè)試一般包括單元測(cè)試、集成測(cè)試、健全性測(cè)試、回歸測(cè)試、Beta測(cè)試等。(2)非功能測(cè)試ISTQB將非功能測(cè)試定義為一種處理與系統(tǒng)功能無(wú)關(guān)組件的測(cè)試。非功能性需求更多地與產(chǎn)品為最終用戶工作的方式有關(guān),而不是與預(yù)期結(jié)果有關(guān)。非功能測(cè)試旨在通過(guò)各種標(biāo)準(zhǔn)評(píng)估應(yīng)用程序的質(zhì)量情況。非功能測(cè)試一般包括性能測(cè)試、壓力測(cè)試、負(fù)載測(cè)試、容量測(cè)試、安全測(cè)試、易用性測(cè)試、本地化測(cè)試等。5,按是否自動(dòng)化劃分按照是否自動(dòng)化劃分,軟件測(cè)試可以分為手工測(cè)試和自動(dòng)化測(cè)試。(1)手工測(cè)試手工測(cè)試是指軟件測(cè)試的整個(gè)活動(dòng)過(guò)程(如評(píng)審、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行等)都是由軟件測(cè)試工程師手工執(zhí)行來(lái)完成,不使用任何測(cè)試工具,狹義上是指測(cè)試執(zhí)行由人工完成,這是最基本的測(cè)試形式。(2)自動(dòng)化測(cè)試自動(dòng)化測(cè)試是使用軟件來(lái)控制測(cè)試執(zhí)行過(guò)程,比較實(shí)際結(jié)果和預(yù)期結(jié)果是否一致,設(shè)置測(cè)試的前置條件和其他測(cè)試控制條件并輸出測(cè)試報(bào)告。通常,自動(dòng)化測(cè)試需要在適當(dāng)?shù)臅r(shí)間使已經(jīng)形式化的手工測(cè)試過(guò)程自動(dòng)化。自動(dòng)化測(cè)試將大量的重復(fù)性的測(cè)試工作交給計(jì)算機(jī)去完成,可以節(jié)省人力和時(shí)間成本,從而提高測(cè)試效率。6,其他測(cè)試還有其他的一些測(cè)試分類方法,例如回歸測(cè)試、冒煙測(cè)試、隨機(jī)測(cè)試、文檔測(cè)試和領(lǐng)域測(cè)試等。(1)回歸測(cè)試回歸測(cè)試是指在軟件項(xiàng)目中,開(kāi)發(fā)人員在修改了軟件的代碼以修復(fù)已經(jīng)發(fā)現(xiàn)的Bug后,測(cè)試人員在需要重新測(cè)試前面經(jīng)測(cè)試過(guò)的內(nèi)容,以確認(rèn)此次修改沒(méi)有引入新的錯(cuò)誤?;貧w測(cè)試的目的就是檢查在修復(fù)已有Bug時(shí)是否又導(dǎo)致了新的Bug。(2)冒煙測(cè)試冒煙測(cè)試就是在一個(gè)新版本出來(lái)的時(shí)候,將軟件的全部功能過(guò)一遍,看有沒(méi)有什么大問(wèn)題。如果功能可以正常運(yùn)行,不會(huì)影響測(cè)試進(jìn)行,那么這個(gè)版本就可以真正開(kāi)始測(cè)試了。如果功能有重大問(wèn)題或影響測(cè)試進(jìn)行,那么這個(gè)版本就是不合格的,不用進(jìn)行進(jìn)一步的測(cè)試。6,其他測(cè)試(3)隨機(jī)測(cè)試隨機(jī)測(cè)試的輸入數(shù)據(jù)都是隨機(jī)生成的,目的是模擬用戶的真實(shí)操作,對(duì)一些特殊使用操作、特殊使用環(huán)境、程序并發(fā)運(yùn)行可能造成的問(wèn)題進(jìn)行檢查。對(duì)于軟件的重要功能、測(cè)試用例未覆蓋到的部分、軟件更新和新增功能,尤其是前期測(cè)試出現(xiàn)嚴(yán)重缺陷的部分,應(yīng)當(dāng)進(jìn)行隨機(jī)測(cè)試,可以結(jié)合回歸測(cè)試一起進(jìn)行。對(duì)每一個(gè)新的軟件版本都需要進(jìn)行隨機(jī)測(cè)試,尤其需要重視對(duì)即將發(fā)布的軟件版本的隨機(jī)測(cè)試工作。(4)文檔測(cè)試軟件文檔測(cè)試是軟件測(cè)試中非常重要的一個(gè)環(huán)節(jié),它主要涉及各種類型的文檔的檢查和驗(yàn)證。具體而言,它包括了需求文檔測(cè)試、設(shè)計(jì)文檔測(cè)試、用戶手冊(cè)測(cè)試、幫助文檔測(cè)試以及軟件源代碼的測(cè)試等。通過(guò)對(duì)這些文檔的測(cè)試,可以確保軟件開(kāi)發(fā)的質(zhì)量和可靠性,從而保障軟件產(chǎn)品的穩(wěn)定運(yùn)行。6,其他測(cè)試(5)領(lǐng)域測(cè)試軟件測(cè)試如果具體到技術(shù)領(lǐng)域,可以分為SOA測(cè)試、敏捷測(cè)試、移動(dòng)測(cè)試、嵌入式測(cè)試和其他測(cè)試領(lǐng)域等。1)SOA測(cè)試是對(duì)SOA架構(gòu)風(fēng)格的測(cè)試。在此測(cè)試中,軟件組件設(shè)計(jì)為通過(guò)通信協(xié)議通常通過(guò)網(wǎng)絡(luò)進(jìn)行通信。2)敏捷測(cè)試是為了適應(yīng)敏捷開(kāi)發(fā)而特別設(shè)計(jì)的一套完整的軟件測(cè)試解決方案。這個(gè)解決方案應(yīng)該能夠支持持續(xù)交付,涵蓋所需的、正確的價(jià)值觀、思維方式、測(cè)試流程、一系列優(yōu)秀的測(cè)試實(shí)踐和更合適的測(cè)試環(huán)境、自動(dòng)化測(cè)試框架和工具。與傳統(tǒng)測(cè)試相比,側(cè)重點(diǎn)有所不同,主要的差別是在價(jià)值觀、測(cè)試思維方式、流程和實(shí)踐上。6,其他測(cè)試3)移動(dòng)測(cè)試在確保App在所有移動(dòng)設(shè)備及其操作系統(tǒng)上高效運(yùn)行方面發(fā)揮著關(guān)鍵作用。移動(dòng)App測(cè)試通常是指檢查App的功能性和非功能性組件。主要針對(duì)原生應(yīng)用、移動(dòng)Web應(yīng)用、混合應(yīng)用進(jìn)行測(cè)試,主要涉及兼容性、操作系統(tǒng)、性能測(cè)試、安全性測(cè)試、穩(wěn)定性測(cè)試、安裝和易用性測(cè)試等方面。4)嵌入式軟件測(cè)試是針對(duì)嵌入式系統(tǒng)的特殊測(cè)試方法。與普通軟件測(cè)試相比,嵌入式軟件測(cè)試的特點(diǎn)在于測(cè)試對(duì)象的特殊性和測(cè)試方法的多樣性。嵌入式軟件常常集成在設(shè)備中,無(wú)法獨(dú)立運(yùn)行。因此,測(cè)試過(guò)程中需要考慮設(shè)備的特殊硬件和軟件環(huán)境。5)另外,還有很多的技術(shù)領(lǐng)域,例如Web領(lǐng)域、云計(jì)算、大數(shù)據(jù)等,這些技術(shù)領(lǐng)域都需要相應(yīng)的軟硬件測(cè)試環(huán)境和測(cè)試方法。第七節(jié)測(cè)試用例測(cè)試用例(TestCase)是為某個(gè)特殊目標(biāo)而編制的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測(cè)試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求,是軟件測(cè)試人員需要具備的基礎(chǔ)能力。測(cè)試用例的用途如下:1,指導(dǎo)測(cè)試工作有序進(jìn)行,使實(shí)施測(cè)試的數(shù)據(jù)有據(jù)可依2,確保所實(shí)現(xiàn)的功能與客戶預(yù)期的需求相符合3,完善軟件不同版本之間的重復(fù)性測(cè)試4,跟蹤測(cè)試進(jìn)度,確定測(cè)試重點(diǎn)5,評(píng)估測(cè)試結(jié)果的度量標(biāo)準(zhǔn)6,增強(qiáng)軟件的可信任度7,分析缺陷的標(biāo)準(zhǔn)第七節(jié)測(cè)試用例測(cè)試用例一般包含以下內(nèi)容:1,用例編號(hào):唯一標(biāo)識(shí),與需求編號(hào)對(duì)應(yīng),為多對(duì)一關(guān)系2,用例編寫(xiě)者:設(shè)計(jì)用例的人員3,被測(cè)對(duì)象:要測(cè)試的功能點(diǎn)(模塊、系統(tǒng))4,用例標(biāo)題:對(duì)測(cè)試項(xiàng)簡(jiǎn)短的描述5,用例級(jí)別:確定用例執(zhí)行的級(jí)別6,前提條件:執(zhí)行用例時(shí)需要的預(yù)置條件7,輸入條件:執(zhí)行該動(dòng)作需要輸入的數(shù)據(jù)8,操作步驟:執(zhí)行該動(dòng)作需要完成的操作9,預(yù)期結(jié)果:執(zhí)行完該動(dòng)作后程序的表現(xiàn)結(jié)果10,實(shí)際結(jié)果:實(shí)際輸出的結(jié)果(可選)11,問(wèn)題描述:執(zhí)行該用例出現(xiàn)后系統(tǒng)顯示的錯(cuò)誤12,驗(yàn)證結(jié)果:該測(cè)試用例是否執(zhí)行通過(guò)第七節(jié)測(cè)試用例13,Bug編號(hào):填寫(xiě)B(tài)ug管理系統(tǒng)中對(duì)應(yīng)此用例的Bug編號(hào)(可選)14,需求編號(hào):唯一標(biāo)識(shí),與用例編號(hào)對(duì)應(yīng),為一對(duì)多關(guān)系15,測(cè)試執(zhí)行者:按照該用例執(zhí)行測(cè)試的人員16,測(cè)試日期:執(zhí)行測(cè)試的時(shí)間17,備注:對(duì)未執(zhí)行或不能進(jìn)行執(zhí)行的用例進(jìn)行說(shuō)明在設(shè)計(jì)測(cè)試用例時(shí),需要注意以下問(wèn)題:1.測(cè)試用例應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件2.測(cè)試用例應(yīng)由測(cè)試輸入數(shù)據(jù)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果這兩部分組成第七節(jié)測(cè)試用例測(cè)試用例的編寫(xiě)規(guī)范一般包含如下設(shè)計(jì)原則:1,系統(tǒng)性。對(duì)系統(tǒng)業(yè)務(wù)流程要完整說(shuō)明整個(gè)系統(tǒng)的業(yè)務(wù)需求、系統(tǒng)由幾個(gè)子系統(tǒng)組成以及它們之間的關(guān)系。2,連貫性。對(duì)系統(tǒng)業(yè)務(wù)流程要說(shuō)明各個(gè)子系統(tǒng)之間是如何連接在一起,若需要接口,各子系統(tǒng)之間是否有正確的接口,若是依靠頁(yè)面鏈接,則頁(yè)面的鏈接是否正確。3,全面性。應(yīng)盡可能覆蓋各種路徑、盡可能覆蓋各個(gè)業(yè)務(wù)點(diǎn),并要考慮跨年、跨月的數(shù)據(jù)以及大數(shù)據(jù)量并發(fā)測(cè)試的準(zhǔn)備。4,正確性。輸入界面后的數(shù)據(jù)應(yīng)與測(cè)試文檔所記錄的數(shù)據(jù)一致,而預(yù)期結(jié)果也應(yīng)與測(cè)試數(shù)據(jù)發(fā)生的業(yè)務(wù)吻合。第七節(jié)測(cè)試用例5,符合正常業(yè)務(wù)規(guī)則。測(cè)試數(shù)據(jù)要符合用戶實(shí)際工作中的業(yè)務(wù)流程,同時(shí)也要兼顧各種業(yè)務(wù)的變化以及當(dāng)前該業(yè)務(wù)行業(yè)的法律、法規(guī)。6,可操作性。測(cè)試用例中要寫(xiě)清楚測(cè)試的操作步驟,以及不同的操作步驟相對(duì)應(yīng)的測(cè)試結(jié)果。編寫(xiě)標(biāo)準(zhǔn)一般包含如下內(nèi)容:1,測(cè)試案例編寫(xiě)應(yīng)該制訂統(tǒng)一的模板進(jìn)行,并約定模板的使用方法。2,測(cè)試案例編寫(xiě)應(yīng)當(dāng)根據(jù)項(xiàng)目實(shí)際情況編寫(xiě)測(cè)試案例編寫(xiě)手冊(cè),包括案例編號(hào)規(guī)則、案例編寫(xiě)方法、案例編寫(xiě)內(nèi)容、案例維護(hù)等內(nèi)容。3,案例編寫(xiě)應(yīng)根據(jù)手冊(cè)中約定的編寫(xiě)方法、內(nèi)容等進(jìn)行編寫(xiě)。第七節(jié)測(cè)試用例4,案例編寫(xiě)要步驟明確,輸入輸出要素清晰,并且與需求和缺陷相對(duì)應(yīng)。5,案例編寫(xiě)應(yīng)嚴(yán)格根據(jù)需求規(guī)格說(shuō)明書(shū)及測(cè)試需求功能分析點(diǎn)進(jìn)行,要求覆蓋全部需求功能點(diǎn)。6,注重案例的可復(fù)用性,即在以后相似系統(tǒng)的測(cè)試過(guò)程中可以重復(fù)使用,減少測(cè)試設(shè)計(jì)工作量。測(cè)試用例的評(píng)審一般包含以下內(nèi)容:1,用例設(shè)計(jì)的結(jié)構(gòu)安排是否清晰合理,是否高效的需求進(jìn)行覆蓋2,用例的優(yōu)先級(jí)別是否安排合理3,是否覆蓋了測(cè)試需求的所有功能點(diǎn),包括需求中的業(yè)務(wù)規(guī)則、所有用戶可能使用的流程或場(chǎng)景等4,用例是否有很好的可執(zhí)行性。例如用例的前提條件、執(zhí)行步驟、輸入數(shù)據(jù)和期待結(jié)果是否清晰、正確第七節(jié)測(cè)試用例5,是否已經(jīng)刪除了冗余的測(cè)試用例6,是否包含充分的負(fù)面測(cè)試用例7,是否簡(jiǎn)潔、復(fù)用性強(qiáng)8,是否易于管理測(cè)試工程師的重點(diǎn)工作就是編寫(xiě)測(cè)試用例,因此編寫(xiě)測(cè)試用例是每一個(gè)測(cè)試工程師必備的技能,一個(gè)好的測(cè)試用例,能很好的指導(dǎo)測(cè)試執(zhí)行的過(guò)程。本文將在后續(xù)章節(jié)重點(diǎn)講解測(cè)試方法,應(yīng)用合適的測(cè)試方法再加上合理的書(shū)寫(xiě)規(guī)范,就可以完成良好的測(cè)試用例編寫(xiě)。第八節(jié)軟件測(cè)試資質(zhì)認(rèn)證1,ISTQB

2,CSTQB

3,軟件評(píng)測(cè)師1,ISTQBISTQB(InternationalSoftwareTestingQualificationsBoard)國(guó)際軟件測(cè)試資質(zhì)認(rèn)證委員會(huì)是國(guó)際權(quán)威的軟件測(cè)試資質(zhì)認(rèn)證機(jī)構(gòu),主要負(fù)責(zé)制訂和推廣國(guó)際通用資質(zhì)認(rèn)證框架,即國(guó)際軟件測(cè)試資質(zhì)認(rèn)證委員會(huì)推廣的軟件測(cè)試工程師認(rèn)證(ISTQBCertifiedTester)項(xiàng)目。ISTQB是一個(gè)注冊(cè)于比利時(shí)的非贏利性組織,該項(xiàng)目由ISTQB授權(quán)各國(guó)分會(huì)組織本國(guó)的軟件測(cè)試工程師的認(rèn)證,并接受ISTQB質(zhì)量監(jiān)控,合格后頒發(fā)全球通用的軟件測(cè)試工程師資格證書(shū)。ISTQBCertifiedTester是一個(gè)基于全球統(tǒng)一標(biāo)準(zhǔn)規(guī)范、統(tǒng)一術(shù)語(yǔ)大綱的培訓(xùn)及認(rèn)證體系。它分為三個(gè)級(jí)別:基礎(chǔ)級(jí)/FoundationLevel(CTFL)、高級(jí)/AdvancedLevel(CTAL)、專家級(jí)/ExpertLevel(CTEL),如圖5所示。1,ISTQB圖5ISTQB認(rèn)證級(jí)別1,ISTQB1.基礎(chǔ)級(jí)認(rèn)證(CTFL)CTFL適合有一定測(cè)試專業(yè)基礎(chǔ)知識(shí)的測(cè)試人員和有志于從事軟件測(cè)試人員以及具有軟件測(cè)試基本知識(shí)計(jì)算機(jī)相關(guān)專業(yè)學(xué)生等?;A(chǔ)級(jí)擴(kuò)展-敏捷測(cè)試工程師(CTFL-AT)面向的專業(yè)人員包括測(cè)試人員、測(cè)試分析師、測(cè)試工程師、測(cè)試顧問(wèn)、測(cè)試經(jīng)理、用戶驗(yàn)收測(cè)試人員和軟件開(kāi)發(fā)人員等角色。CTFL-AT主要包括軟件測(cè)試基礎(chǔ)理論、軟件測(cè)試周期、靜態(tài)測(cè)試技術(shù)、白盒測(cè)試技術(shù)、黑盒測(cè)試技術(shù)和測(cè)試設(shè)計(jì)、測(cè)試管理基礎(chǔ)和測(cè)試工具基礎(chǔ)。2.高級(jí)認(rèn)證(CTAL)CTAL適合3到5年以上測(cè)試相關(guān)經(jīng)驗(yàn)的測(cè)試人員,也適合于希望深入理解軟件測(cè)試的人員。參加該級(jí)別認(rèn)證的人員需先通過(guò)CTFL。1,ISTQB3.專家級(jí)認(rèn)證(CTEL)參加專家級(jí)實(shí)施測(cè)試過(guò)程改進(jìn)模塊資格認(rèn)證的人員要求:1)必須已經(jīng)通過(guò)高級(jí)測(cè)試經(jīng)理模塊的認(rèn)證。2)除了通過(guò)資格認(rèn)證考試,在獲得專家級(jí)證書(shū)之前,考生還必須提供實(shí)際測(cè)試工作經(jīng)驗(yàn)證明,特別要提供申請(qǐng)認(rèn)證的專家級(jí)模塊所在領(lǐng)域的工作經(jīng)驗(yàn)證明。3)除了通過(guò)考試,還要符合以下要求:至少5年的實(shí)際測(cè)試工作經(jīng)驗(yàn)(需提交個(gè)人簡(jiǎn)歷,包括2封推薦信)。至少2年的專家級(jí)領(lǐng)域工作的經(jīng)驗(yàn)(需提交個(gè)人簡(jiǎn)歷,包括2封推薦信)。至少發(fā)表過(guò)1篇文章,或在測(cè)試大會(huì)中進(jìn)行過(guò)專家級(jí)模塊相關(guān)的測(cè)試專題演講。2,CSTQBCSTQB是ISTQB在國(guó)內(nèi)(包括港澳臺(tái)地區(qū))的唯一分會(huì),成立于2006年。全權(quán)代表ISTQB在授權(quán)區(qū)域內(nèi)推廣ISTQB軟件測(cè)試工程師認(rèn)證體系、認(rèn)證、管理培訓(xùn)機(jī)構(gòu)和考試機(jī)構(gòu),接受ISTQB的全面的業(yè)務(wù)指導(dǎo)和授權(quán)。CSTQB通過(guò)市場(chǎng)調(diào)研、信息交流、咨詢培訓(xùn)、評(píng)估認(rèn)證、版權(quán)保護(hù)等方面的工作,推動(dòng)中國(guó)軟件測(cè)試行業(yè)的發(fā)展,做好為CSTQB會(huì)員的服務(wù)工作,面向全行業(yè),發(fā)揮政府與企事業(yè)的作用單位之間的紐帶和同軸作用,為中國(guó)的測(cè)試行業(yè)提供一個(gè)新測(cè)試方法,新技術(shù)的研究和推廣的交流平臺(tái),加強(qiáng)國(guó)際交流與合作,積極推進(jìn)國(guó)際通用軟件培訓(xùn)和認(rèn)證體系,建成規(guī)范的高端培訓(xùn)和認(rèn)證平臺(tái),推動(dòng)國(guó)際軟件測(cè)試人才流動(dòng)和技術(shù)交流,使中國(guó)軟件測(cè)試行業(yè)與國(guó)際接軌。3,軟件測(cè)評(píng)師計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試(以下簡(jiǎn)稱計(jì)算機(jī)軟件資格考試)是原中國(guó)計(jì)算機(jī)軟件專業(yè)技術(shù)資格和水平考試(簡(jiǎn)稱軟件考試)的完善與發(fā)展。計(jì)算機(jī)軟件資格考試是由國(guó)家人力資源和社會(huì)保障部、工業(yè)和信息化部領(lǐng)導(dǎo)下的國(guó)家級(jí)考試,其目的是科學(xué)、公正地對(duì)全國(guó)計(jì)算機(jī)與軟件專業(yè)技術(shù)人員進(jìn)行職業(yè)資格、專業(yè)技術(shù)資格認(rèn)定和專業(yè)技術(shù)水平測(cè)試。計(jì)算機(jī)軟件資格考試設(shè)置了27個(gè)專業(yè)資格,涵蓋5個(gè)專業(yè)領(lǐng)域,3個(gè)級(jí)別層次(初級(jí)、中級(jí)、高級(jí))。該考試由于其權(quán)威性和嚴(yán)肅性,得到了社會(huì)各界及用人單位的廣泛認(rèn)同,并為推動(dòng)國(guó)家信息產(chǎn)業(yè)發(fā)展,特別是在軟件和服務(wù)產(chǎn)業(yè)的發(fā)展,以及提高各類信息技術(shù)人才的素質(zhì)和能力中發(fā)揮了重要作用。具體的資格設(shè)置如圖6所示。3,軟件測(cè)評(píng)師圖6中國(guó)計(jì)算機(jī)技術(shù)職業(yè)資格設(shè)置3,軟件測(cè)評(píng)師軟件評(píng)測(cè)師屬于我國(guó)計(jì)算機(jī)軟件資格和水平考試中的中級(jí)內(nèi)容。軟件測(cè)評(píng)師是指能在掌握軟件工程與軟件測(cè)試知識(shí)基礎(chǔ)上,運(yùn)用軟件測(cè)試管理辦法、軟件測(cè)試策略、軟件測(cè)試技術(shù),獨(dú)立承擔(dān)軟件測(cè)試項(xiàng)目,具有工程師的實(shí)際工作能力和業(yè)務(wù)水平的職業(yè)人員。軟件評(píng)測(cè)師主要考核以下知識(shí)體系:1,操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件、程序設(shè)計(jì)語(yǔ)言、計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識(shí);2,軟件工程知識(shí);3,軟件質(zhì)量及軟件質(zhì)量管理基礎(chǔ)知識(shí);4,軟件測(cè)試標(biāo)準(zhǔn)、測(cè)試技術(shù)及方法;5,軟件測(cè)試項(xiàng)目管理知識(shí)。復(fù)習(xí)與思考1.什么是Bug?評(píng)判是否是軟件缺陷的標(biāo)準(zhǔn)是什么?2.軟件文檔中也有軟件缺陷嗎?3.軟件產(chǎn)品的質(zhì)量主要有哪些特性?4.簡(jiǎn)述軟件工程與軟件測(cè)試的關(guān)系。5.軟件測(cè)試都包含哪些主要分類?6.軟件測(cè)試的目的和原則是什么?7.什么是測(cè)試用例?測(cè)試用例中最主要的應(yīng)當(dāng)包含哪些信息?8.簡(jiǎn)述測(cè)試用例的設(shè)計(jì)原則。9.軟件測(cè)評(píng)師主要考核哪些知識(shí)體系?ThankYou!第2章黑盒測(cè)試主要內(nèi)容黑盒測(cè)試常用方法黑盒測(cè)試概述黑盒測(cè)試實(shí)施策略一、黑盒測(cè)試概述(一)軟件測(cè)試方法

軟件測(cè)試方法根據(jù)是否測(cè)試程序的內(nèi)部結(jié)構(gòu)分為黑盒測(cè)試、白盒測(cè)試和灰盒測(cè)試。

1、黑盒測(cè)試:

黑盒測(cè)試是指在不了解系統(tǒng)內(nèi)部結(jié)構(gòu)或工作原理的情況下,通過(guò)輸入數(shù)據(jù)并觀察輸出結(jié)果來(lái)判斷系統(tǒng)的正確性、完整性和可靠性的測(cè)試方法。一、黑盒測(cè)試概述

2、白盒測(cè)試:

白盒測(cè)試主要測(cè)試程序的內(nèi)部結(jié)構(gòu),所以說(shuō)白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試,需要了解程序內(nèi)部的設(shè)計(jì)結(jié)構(gòu)及具體的代碼實(shí)現(xiàn)過(guò)程,并設(shè)計(jì)相應(yīng)的測(cè)試用例對(duì)程序進(jìn)行調(diào)試,程序是否有bug。

3、灰盒測(cè)試:

灰盒測(cè)試是介于白盒測(cè)試與黑盒測(cè)試之間的一種測(cè)試,多用于集成測(cè)試階段,不僅關(guān)注輸出、輸入的正確性,同時(shí)也關(guān)注程序內(nèi)部的情況?;液袦y(cè)試不像白盒那樣詳細(xì)、完整,但又比黑盒測(cè)試更關(guān)注程序的內(nèi)部邏輯,常常是通過(guò)一些表征性的現(xiàn)象、事件、標(biāo)志來(lái)判斷內(nèi)部的運(yùn)行狀態(tài)。一、黑盒測(cè)試概述(二)黑盒測(cè)試與白盒測(cè)試

黑盒測(cè)試和白盒測(cè)試在測(cè)試目標(biāo)、測(cè)試對(duì)象、測(cè)試策略等方面存在明顯的區(qū)別。如圖所示。黑盒測(cè)試從軟件外部對(duì)功能進(jìn)行測(cè)試,關(guān)注用戶需求。白盒測(cè)試從軟件內(nèi)部對(duì)代碼進(jìn)行測(cè)試,關(guān)注代碼質(zhì)量。它們各有優(yōu)點(diǎn)和缺點(diǎn),可以根據(jù)具體的測(cè)試需求和場(chǎng)景選擇合適的測(cè)試方法。

一、黑盒測(cè)試概述黑盒測(cè)試在一些文章中也被稱為功能測(cè)試,需要注意的是,雖然功能測(cè)試主要采用黑盒測(cè)試方法來(lái)完成,但是也可能用到白盒測(cè)試方法。因此,功能測(cè)試和黑盒測(cè)試兩者在概念上嚴(yán)格來(lái)講并不完全等同。功能測(cè)試主要針對(duì)測(cè)試目標(biāo),而黑盒測(cè)試是屬于一種測(cè)試方法。實(shí)際上,黑盒測(cè)試更多的是從用戶的角度去驗(yàn)證軟件功能,重點(diǎn)關(guān)注的是用戶的需求,通過(guò)程序界面和接口的外部操作實(shí)現(xiàn)端到端的測(cè)試。使用黑盒測(cè)試方法,測(cè)試人員依賴的主要信息就是軟件的需求規(guī)格說(shuō)明,不關(guān)心程序的具體實(shí)現(xiàn)細(xì)節(jié),通過(guò)在程序外部進(jìn)行測(cè)試的方式來(lái)確認(rèn)軟件是否滿足用戶需求。

一、黑盒測(cè)試概述黑盒測(cè)試主要檢測(cè)如下錯(cuò)誤:

基于需求規(guī)格說(shuō)明的功能錯(cuò)誤,例如軟件功能不滿足需求或者有遺漏。

基于需求規(guī)格說(shuō)明的系統(tǒng)錯(cuò)誤,例如性能、安全性、可靠性和兼容性等非功能特性不滿足需求。

面向用戶的使用錯(cuò)誤,例如人機(jī)交互界面錯(cuò)誤、數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤以及不能保持外部信息完整性錯(cuò)誤等。

黑盒接口錯(cuò)誤,例如軟件輸入是否能正確的被接受、是否有初始化或終止性錯(cuò)誤等。

一、黑盒測(cè)試概述黑盒測(cè)試的優(yōu)點(diǎn):

測(cè)試人員不需要了解軟件的實(shí)現(xiàn)細(xì)節(jié),因此對(duì)測(cè)試人員的要求相對(duì)較低。

從用戶的視角進(jìn)行測(cè)試,更容易被理解和接受。

軟件具體實(shí)現(xiàn)與黑盒測(cè)試用例設(shè)計(jì)可以同步進(jìn)行,可能節(jié)約軟件項(xiàng)目總體開(kāi)發(fā)時(shí)間。

黑盒測(cè)試與軟件具體實(shí)現(xiàn)無(wú)關(guān),因此黑盒測(cè)試用例在程序具體實(shí)現(xiàn)方法變化后仍可使用。例如,軟件實(shí)現(xiàn)的開(kāi)發(fā)語(yǔ)言、算法等發(fā)生變化后,只要需求沒(méi)有改變,就仍然可以使用原有的黑盒測(cè)試用例對(duì)軟件進(jìn)行測(cè)試。

二、黑盒測(cè)試常用方法黑盒測(cè)試以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行測(cè)試的。主要包括等價(jià)類劃分法、邊界值分析法、判定表、因果圖、正交實(shí)驗(yàn)法、場(chǎng)景法、狀態(tài)遷移法和錯(cuò)誤推測(cè)法等。二、黑盒測(cè)試常用方法等價(jià)類劃分對(duì)程序的窮舉輸入測(cè)試是無(wú)法實(shí)現(xiàn)的,測(cè)試用例的設(shè)計(jì)應(yīng)具有一定的可能性發(fā)現(xiàn)某個(gè)錯(cuò)誤,因此,當(dāng)測(cè)試某個(gè)程序時(shí),測(cè)試人員就被限制在從所有可能的輸入中努力找出某個(gè)小的子集。理所當(dāng)然,要找的子集必須是正確的,并且是可能發(fā)現(xiàn)最多錯(cuò)誤的子集。確定這個(gè)子集的一種方法,就是要意識(shí)到一個(gè)精心挑選的測(cè)試用例還應(yīng)具備另外兩個(gè)特性:嚴(yán)格控制測(cè)試用例的增加,減少為達(dá)到“合理測(cè)試”的某些既定目標(biāo)而必須設(shè)計(jì)的其他測(cè)試用例的數(shù)量。子集覆蓋了大部分其他可能的測(cè)試用例。二、黑盒測(cè)試常用方法通過(guò)等價(jià)類劃分法,可以將不能窮舉的輸入數(shù)據(jù)合理劃分為有限個(gè)數(shù)的等價(jià)類,然后在每個(gè)等價(jià)類中選取少量數(shù)據(jù)來(lái)代替對(duì)于這一類中其他數(shù)據(jù)的測(cè)試。這種劃分的基礎(chǔ)是:在分析需求規(guī)格說(shuō)明的基礎(chǔ)上劃分等價(jià)類,不需要考慮程序的內(nèi)部結(jié)構(gòu)。將所有可能的輸入數(shù)據(jù)劃分為若干互不相交的子集。也就是說(shuō),所有等價(jià)類的并集是整個(gè)輸入域,各等價(jià)類數(shù)據(jù)之間互不相交。每個(gè)等價(jià)類中的各個(gè)輸入數(shù)據(jù)對(duì)于揭示程序錯(cuò)誤都是等效的,如果用等價(jià)類中的一個(gè)數(shù)據(jù)進(jìn)行測(cè)試不能發(fā)現(xiàn)程序錯(cuò)誤,那么用該等價(jià)類中的其他數(shù)據(jù)進(jìn)行測(cè)試也不可能發(fā)現(xiàn)程序錯(cuò)誤。二、黑盒測(cè)試常用方法等價(jià)類劃分的設(shè)計(jì)規(guī)則在給定了輸入或外部條件之后,等價(jià)類的劃分規(guī)則如下:1.在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。例如,數(shù)量可以是1到100,那么就應(yīng)確定出一個(gè)有效等價(jià)類介于1到100之間,以及兩個(gè)無(wú)效等價(jià)類數(shù)量小于1和數(shù)量大于100。2.在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,則可以確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。例如,程序只接收正整型數(shù)據(jù),那么可以確定一個(gè)正整型數(shù)據(jù)的有效等價(jià)類和一個(gè)非正整型數(shù)據(jù)的無(wú)效等價(jià)類。3.在輸入條件是一個(gè)布爾量的情況下,可以確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。例如,標(biāo)識(shí)符的第一個(gè)字符必須是字母,那么就應(yīng)確定一個(gè)首字符是字母的有效等價(jià)類和一個(gè)首字符不是字母的無(wú)效等價(jià)類。二、黑盒測(cè)試常用方法4.在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理的情況下,可以確立n個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。例如,游戲狀態(tài)有初始化、游戲中、暫停和退出,那么就應(yīng)為每一種狀態(tài)確定一個(gè)有效等價(jià)類和一個(gè)異常狀態(tài)無(wú)效等價(jià)類。5.在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可以確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(從不同角度違反規(guī)則)。例如,規(guī)定電話號(hào)碼必須由11位數(shù)字構(gòu)成,那么可以確定一個(gè)有效等價(jià)類以及含有字母、特殊字符、空格等情況的多個(gè)無(wú)效等價(jià)類。6.在確知已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類進(jìn)一步的劃分為更小的等價(jià)類。例如,每一種學(xué)歷對(duì)應(yīng)的年級(jí)不同,則需要將每個(gè)學(xué)歷化為一個(gè)等價(jià)類進(jìn)一步測(cè)試。二、黑盒測(cè)試常用方法等價(jià)類劃分除了對(duì)基礎(chǔ)的輸入輸出數(shù)據(jù)做等價(jià)劃分,還有額外完整性的補(bǔ)充說(shuō)明,順序依次為:弱一般等價(jià)類測(cè)試、弱健壯等價(jià)類測(cè)試、強(qiáng)一般等價(jià)類測(cè)試、強(qiáng)健壯等價(jià)類測(cè)試。分類比較如表所示類別單/多缺陷考慮無(wú)效值測(cè)試用例弱一般單缺陷不考慮遵循單要求原則,用例覆蓋每一個(gè)變量的一種有效值即可。強(qiáng)一般多缺陷不考慮要求用例覆蓋每個(gè)變量的每種取值之間的迪卡爾乘積,即所有變量所有取值的所有組合,取值為有效值。弱健壯單缺陷考慮對(duì)于有效輸入,使用每個(gè)有效值類的一個(gè)值。對(duì)于無(wú)效輸入,測(cè)試用例將擁有一個(gè)無(wú)效值,并保持其余的值是有效的。強(qiáng)健壯多缺陷考慮在強(qiáng)一般等價(jià)類的基礎(chǔ)上,增加取值為無(wú)效值的情況。二、黑盒測(cè)試常用方法例如,輸入值是學(xué)生成績(jī),范圍是0~100之間,則可以劃分如下測(cè)試用例。 弱一般等價(jià)類:0到100中任意一個(gè)數(shù)為測(cè)試數(shù)據(jù),只設(shè)計(jì)1個(gè)測(cè)試用例即可。 強(qiáng)一般等價(jià)類:分為0、1到99、100三個(gè)等價(jià)類,需要設(shè)計(jì)3個(gè)測(cè)試用例。 弱健壯等價(jià)類:考慮到60分在實(shí)際情況中為特殊數(shù)字,劃分0、1到99(除60外)、100、60四個(gè)等價(jià)類。 強(qiáng)健壯等價(jià)類:考慮各種非法輸入,如負(fù)數(shù)、其他字符等。二、黑盒測(cè)試常用方法等價(jià)類劃分的設(shè)計(jì)過(guò)程運(yùn)用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例時(shí),一般采用如下步驟:1.按照表所示建立等價(jià)類表,列舉出所有劃分的有效等價(jià)類和無(wú)效等價(jià)類,這一步驟是設(shè)計(jì)等價(jià)類劃分法測(cè)試用例的關(guān)鍵。2.給每一個(gè)等價(jià)類規(guī)定唯一的編號(hào)。3.設(shè)計(jì)一個(gè)有效等價(jià)類測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類。重復(fù)這一步驟,直到所有的有效等價(jià)類都被測(cè)試用例覆蓋。4.設(shè)計(jì)一個(gè)無(wú)效等價(jià)類測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類。重復(fù)這一步驟,直到所有的無(wú)效等價(jià)類都被測(cè)試用例覆蓋。輸入條件有效等價(jià)類無(wú)效等價(jià)類………二、黑盒測(cè)試常用方法A>0,B>0,C>0。A+B>C,B+C>A,A+C>B。如果是等腰三角形,需要判斷A=B,或B=C,或A=C。如果是等邊三角形,需要判斷A=B,且B=C,且A=C。根據(jù)上述條件,可以按照上表所示建立等價(jià)類表,列舉出所有的有效等價(jià)類和無(wú)效等價(jià)類,并且給每一個(gè)等價(jià)類規(guī)定唯一的編號(hào)。接下來(lái),根據(jù)已劃分出的有效等價(jià)類和無(wú)效等價(jià)類,設(shè)計(jì)出如表2-4所示的等價(jià)類劃分法測(cè)試用例,使其覆蓋所有的等價(jià)類。設(shè)計(jì)測(cè)試用例時(shí),尤其要注意對(duì)于無(wú)效等價(jià)類測(cè)試用例的設(shè)計(jì)。需要注意的是,等價(jià)類測(cè)試用例的設(shè)計(jì)結(jié)果不一定是唯一的,不同設(shè)計(jì)人員可能會(huì)劃分出不同的等價(jià)類,只要測(cè)試用例能夠滿足測(cè)試要求,足以覆蓋被測(cè)程序就可以了。二、黑盒測(cè)試常用方法三角形問(wèn)題的等價(jià)類表輸入條件有效等價(jià)類無(wú)效等價(jià)類是否為一般三角形(1)A>0

(2)B>0

(3)C>0

(4)A+B>C

(5)B+C>A

(6)A+C>B

(7)A≤0(8)B≤0(9)C≤0(10)A+B≤C(11)B+C≤A(12)A+C≤B是否為等腰三角形A=B(13)B=C(14)A=C(15)(16)

A≠B,且B≠C,且A≠C是否為等邊三角形(17)A=BandB=CandA=C二、黑盒測(cè)試常用方法三角形問(wèn)題的等價(jià)類測(cè)試用例用例編號(hào)A,B,C覆蓋等價(jià)類編號(hào)輸出14,5,81~6一般三角形26,6,81~6,13等腰三角形37,5,51~6,1445,6,51~6,1556,6,61~6,17不能構(gòu)成三角形60,4,5775,-3,78二、黑盒測(cè)試常用方法三角形問(wèn)題的等價(jià)類測(cè)試用例83,4,09不能構(gòu)成三角形形角形93,5,810108,3,411115,9,412126,7,81~6,16非等腰三角形135,6,61~6,14,18非等邊三角形145,6,51~6,15,19156,6,71~6,13,20二、黑盒測(cè)試常用方法邊界值分析法邊界值分析法是指對(duì)輸入或者輸出的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法。長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。通常邊界值分析法是作為等價(jià)類劃分法的補(bǔ)充,在這種情況下,其測(cè)試用例來(lái)自等價(jià)類的邊界。邊界值選取原則相比于等價(jià)類劃分法而言,邊界值分析法不是從等價(jià)類中選取典型值或任意值作為測(cè)試用例,而是使等價(jià)類的每個(gè)邊界都要作為測(cè)試條件,在邊界處選取正好等于、剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù)。此外,邊界值分析法不僅需要考慮輸入條件邊界,還要考慮輸出域邊界的情況。二、黑盒測(cè)試常用方法程序中有各種邊界情況,例如:循環(huán)結(jié)構(gòu)中第0次、第一次和最后一次循環(huán)。數(shù)組的第一個(gè)和最后一個(gè)索引元素。變量數(shù)值類型所允許的最大值和最小值。鏈表的頭尾節(jié)點(diǎn)。用戶名和密碼等可接受字符個(gè)數(shù)的最大值和最小值。報(bào)表的第一行、第一列、最后一行和最后一列。從以上內(nèi)容可以看出,邊界值的測(cè)試思想在白盒測(cè)試中也會(huì)經(jīng)常用到,邊界值技術(shù)并不是完全屬于黑盒測(cè)試。當(dāng)應(yīng)用邊界值分析法進(jìn)行黑盒測(cè)試時(shí),經(jīng)常遇到的邊界檢驗(yàn)情況包括數(shù)字、字符、位置、重量、速度、尺寸、空間等,它們的邊界值相應(yīng)為最大和最小、首位和末位、上和下、最高和最低、最快和最慢、空和滿等情況,需要根據(jù)特定問(wèn)題耐心細(xì)致地逐個(gè)考慮。二、黑盒測(cè)試常用方法根據(jù)邊界值分析法選擇測(cè)試用例有如下原則:1.如果輸入條件規(guī)定了取值的范圍,那么測(cè)試用例的輸入數(shù)據(jù)應(yīng)選取所規(guī)定范圍的邊界值以及剛剛超過(guò)范圍邊界的值。2.如果輸入條件規(guī)定了值的個(gè)數(shù),那么測(cè)試用例選擇最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1和比最小個(gè)數(shù)少1的數(shù)據(jù)等作為測(cè)試數(shù)據(jù)。3.根據(jù)規(guī)格說(shuō)明的每一個(gè)輸出條件,分別使用以上兩個(gè)原則。4.如果輸入域和輸出域是順序表或順序文件等有序集合,那么選取集合的第一個(gè)和最后一個(gè)元素作為測(cè)試用例。5.對(duì)于程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu),選擇其邊界值作為測(cè)試用例。6.分析規(guī)格說(shuō)明并找出其他可能的邊界條件。二、黑盒測(cè)試常用方法邊界值選取方法邊界值法經(jīng)常用于等價(jià)類的基礎(chǔ)上設(shè)計(jì)測(cè)試用例數(shù)據(jù),對(duì)選擇的測(cè)試數(shù)據(jù)有要求,一般分為如下兩種方法。兩值法:選取最大值max、略低于最大值max-、正常值normal、略高于最小值min+、最小值min。這種選取方法也稱為一般邊界值分析。三值法:選取略大于最大值max+、最大值max、略低于最大值max-、正常值normal、略高于最小值min+、最小值min、略低于最小值min-。這種選取方法也稱為健壯性邊界值分析,是對(duì)兩值法的擴(kuò)展。二、黑盒測(cè)試常用方法1.兩值邊界值分析假設(shè)被測(cè)程序具有兩個(gè)輸入變量X和Y,規(guī)定a≤X≤b,c≤Y≤d。在采用兩值邊界值分析方法時(shí),測(cè)試用例的數(shù)據(jù)選取按照如圖2-2(1)所示進(jìn)行,共產(chǎn)生如表2-5所示的9個(gè)測(cè)試用例。編號(hào)123456789Xaa+normalb-BnormalnormalnormalnormalYnormalnormalnormalnormalNormalcc+d-d兩變量一般邊界值分析測(cè)試用例對(duì)于含有N個(gè)變量的程序,先對(duì)其中的一個(gè)變量依次取值max、max-、normal、min+、min,對(duì)其他變量取正常值normal。然后,重復(fù)進(jìn)行其他變量取值。除了上下邊界處的4個(gè)取值外,每個(gè)變量可以共用一個(gè)各變量取值均為正常值normal的測(cè)試用例。那么,兩值邊界值分析測(cè)試用例的數(shù)量為4N+1。二、黑盒測(cè)試常用方法2.三值邊界值分析相比于兩值邊界值分析,三值邊界值分析需要為每個(gè)變量額外考慮略超過(guò)最大值max+和略小于最小值min-兩種情況。因此對(duì)于兩個(gè)變量的情況,其邊界值按照如圖2-2(2)所示進(jìn)行,共產(chǎn)生13個(gè)測(cè)試用例。對(duì)于含有N個(gè)變量的程序,三值邊界值分析測(cè)試用例的數(shù)量為6N+1。邊界值分析法示例NextDate函數(shù)包含3個(gè)輸入變量,分別為Year、Month和Day,其輸出是輸入日期后一天的日期。例如,輸入是2023年7月25日,則該函數(shù)的輸出為2023年7月26日。要求3個(gè)輸入變量均為正整數(shù)值,并且2000≤Year≤2050,1≤Month≤12,1≤Day≤31。采用二值邊界值分析法設(shè)計(jì)測(cè)試用例,因?yàn)閱?wèn)題中共有3個(gè)變量,所以測(cè)試用例的數(shù)量為4N+1=4×3+1=13。測(cè)試用例如表所示。二、黑盒測(cè)試常用方法用例編號(hào)YearMonthDay預(yù)期輸出123452000200120232049205077777888882000年7月9日2001年7月9日2023年7月9日2049年7月9日2050年7月9日6789202320232023202312111277772023年1月8日2023年2月8日2023年11月8日2023年12月8日10111213202320232023202388881230312023年8月2日2023年8月3日2023年8月31日2023年9月1日二、黑盒測(cè)試常用方法邊界值分析法的特點(diǎn)邊界值和等價(jià)類的聯(lián)系非常緊密。劃分等價(jià)類時(shí),經(jīng)常需要先要確定邊界值。很多情況下,一些輸入數(shù)據(jù)邊界就是在劃分等價(jià)類的過(guò)程中產(chǎn)生的。由于邊界的地方最易出錯(cuò),在從等價(jià)類中選取測(cè)試數(shù)據(jù)的時(shí)候,也經(jīng)常選取邊界值。因此,邊界值分析法經(jīng)常被看作等價(jià)類劃分法的補(bǔ)充,測(cè)試活動(dòng)中經(jīng)常將兩者混合使用,可以起到更好的測(cè)試效果。邊界值分析法可以有效的發(fā)現(xiàn)程序中的錯(cuò)誤和缺陷,尤其是在處理邊界值時(shí)容易出現(xiàn)問(wèn)題的情況。因?yàn)闇y(cè)試人員只需要測(cè)試邊界值附近的數(shù)據(jù),而不需要測(cè)試所有可能的輸入組合可以提高測(cè)試覆蓋率,因此可以節(jié)省一定的測(cè)試時(shí)間和成本。二、黑盒測(cè)試常用方法

判定表判定表又稱為決策表,經(jīng)常用于描述復(fù)雜的程序輸入條件組合與相應(yīng)的程序處理動(dòng)作之間的對(duì)應(yīng)關(guān)系。已經(jīng)介紹過(guò)的等價(jià)類劃分法和邊界值分析法都沒(méi)有考慮被測(cè)程序輸入條件的組合情況,只是孤立地考慮各個(gè)輸入條件的測(cè)試數(shù)據(jù)取值問(wèn)題,對(duì)輸入組合情況下可能產(chǎn)生的錯(cuò)誤沒(méi)有進(jìn)行充分的測(cè)試。判定表驅(qū)動(dòng)法從多個(gè)輸入條件組合的角度來(lái)滿足測(cè)試的覆蓋率要求,是黑盒測(cè)試方法中最嚴(yán)格、最有邏輯性的測(cè)試方法。

二、黑盒測(cè)試常用方法判定表的要素判定表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具。主要包括的要素如圖所示。 1.條件樁(ConditionStub):列出了問(wèn)題得所有條件。通常認(rèn)為列出的條件的次序無(wú)關(guān)緊要。 2.動(dòng)作樁(ActionStub):列出了問(wèn)題規(guī)定可能采取的操作。這些操作的排列順序沒(méi)有約束。 3.條件項(xiàng)(ConditionEntry):列出針對(duì)它左列條件的取值,在所有可能情況下的真假值。 4.動(dòng)作項(xiàng)(ActionEntry):列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作。 5.規(guī)則:由不同的條件導(dǎo)致不同的動(dòng)作就成為規(guī)則,在判定表中體現(xiàn)為不同的條件項(xiàng)得到不同的動(dòng)作項(xiàng)。在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則,條件組合的數(shù)目就是規(guī)則的數(shù)目。

二、黑盒測(cè)試常用方法判定表的要素因?yàn)槌跏蓟卸ū戆l件的所有組合,這時(shí)有些組合可能是不能實(shí)現(xiàn)的,有些動(dòng)作可能是由一些相似的條件組成的,這時(shí)就需要按照等價(jià)類劃分的原則進(jìn)行化簡(jiǎn)。判定表經(jīng)過(guò)化簡(jiǎn)后,并不會(huì)遺漏規(guī)格說(shuō)明中所要求的任何處理功能。如圖(1)所示,兩條規(guī)則的動(dòng)作項(xiàng)相同,條件項(xiàng)中前兩項(xiàng)條件的取值相同,只有第3項(xiàng)條件的取值不同。這種情況下,無(wú)論第3項(xiàng)條件取任何值,都會(huì)執(zhí)行相同的動(dòng)作。因此,可以將兩條規(guī)則合并為一條,用特定符號(hào)“―”表示動(dòng)作與該項(xiàng)條件取值無(wú)關(guān)。

二、黑盒測(cè)試常用方法判定表的構(gòu)造過(guò)程包含如下步驟: 1.列出條件樁和動(dòng)作樁。 2.確定規(guī)則的個(gè)數(shù),用來(lái)為規(guī)則編號(hào):若有n個(gè)原因,且每個(gè)原因的可取值為0或者1,那么將會(huì)有2n個(gè)規(guī)則。 3.完成所有條件項(xiàng)的填寫(xiě)。 4.完成所有的動(dòng)作項(xiàng)的填寫(xiě):得到初始判定表。 5.合并化簡(jiǎn):有兩個(gè)或者多條規(guī)則具有相同的動(dòng)作,并且條件項(xiàng)之間存在極為相似的關(guān)系就可以進(jìn)行合并。

二、黑盒測(cè)試常用方法判定表的實(shí)例接下來(lái)用實(shí)例來(lái)說(shuō)明判定表的使用。問(wèn)題描述:“對(duì)于功率大于50馬力的機(jī)器且維修記錄不全,或者已運(yùn)行10年以上的機(jī)器,應(yīng)給予優(yōu)先的維修處理”。分析以上問(wèn)題,使用判定表設(shè)計(jì)測(cè)試用例。 設(shè)計(jì)的條件樁如下: C1:功率大于50馬力嗎? C2:維修記錄不全嗎? C3:運(yùn)行超過(guò)10年嗎? 設(shè)計(jì)的動(dòng)作樁如下: A1:進(jìn)行優(yōu)先處理。 A2:作其他處理。 接下來(lái)生成判定表,由于條件有3個(gè),因此生成的規(guī)則有23個(gè)。判定表如表2-7所示。

二、黑盒測(cè)試常用方法初始判定表序號(hào)12345678條件樁功率大于50馬力嗎?YYYYNNNN維修記錄不全嗎?YYNNYYNN運(yùn)行超過(guò)10年嗎?YNYNYNYN動(dòng)作樁進(jìn)行優(yōu)先處理√√√√√作其他處理√√√序號(hào)1/2345/76/8條件樁功率大于50馬力嗎?YYYNN維修記錄不全嗎?YNN――運(yùn)行超過(guò)10年嗎?―YNYN動(dòng)作樁進(jìn)行優(yōu)先處理√√√作其他處理√√合并后判定表二、黑盒測(cè)試常用方法判定表的特點(diǎn)判定表的優(yōu)點(diǎn)主要是能把復(fù)雜的問(wèn)題按各種可能的情況一一列舉出來(lái),簡(jiǎn)明而易于理解,也可避免遺漏。因此,利用判定表能夠設(shè)計(jì)出完整的測(cè)試用例集合。在一些數(shù)據(jù)處理問(wèn)題當(dāng)中,某些操作的實(shí)施依賴于多個(gè)邏輯條件的組合,即針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。判定表很適合于處理這類問(wèn)題。判定表的缺點(diǎn)主要是不能表達(dá)重復(fù)執(zhí)行的動(dòng)作,例如循環(huán)結(jié)構(gòu)。合并存在一定的風(fēng)險(xiǎn),一個(gè)顯然易見(jiàn)的原因是,雖然某個(gè)輸入條件在輸出接口上是無(wú)關(guān)的,但是在軟件設(shè)計(jì)上,內(nèi)部針對(duì)這個(gè)條件走了不同的程序分支(因分析內(nèi)部業(yè)務(wù)流程而定);輸入和輸出的邏輯關(guān)系,明確的用判定表,不是很明了的用因果圖然后使用判定表。 適合采用判定表驅(qū)動(dòng)法設(shè)計(jì)測(cè)試用例的條件如下: 1.規(guī)格說(shuō)明以判定表形式給出,或很容易轉(zhuǎn)換成判定表。 2.條件的排列順序不會(huì)也不影響執(zhí)行哪些操作。 3.規(guī)則的排列順序不會(huì)也不影響執(zhí)行哪些操作。 4.每當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則。 5.如果某一規(guī)則得到滿足要執(zhí)行多個(gè)操作,這些操作的執(zhí)行順序無(wú)關(guān)緊要。二、黑盒測(cè)試常用方法因果圖因果圖是一種簡(jiǎn)化了的邏輯圖,通過(guò)圖形記號(hào)將自然語(yǔ)言規(guī)格說(shuō)明轉(zhuǎn)變成形式化語(yǔ)言規(guī)格說(shuō)明,能夠嚴(yán)格地表達(dá)程序輸入和輸出的邏輯關(guān)系。圖給出了用于表示規(guī)格說(shuō)明中4種基本因果關(guān)系的圖形符號(hào),描述了輸入條件之間的邏輯關(guān)系。每一種邏輯符號(hào)分為左右節(jié)點(diǎn),以直線相連。左節(jié)點(diǎn)Ci表示原因(輸入狀態(tài)),右節(jié)點(diǎn)Ei表示結(jié)果(輸出狀態(tài))。原因和結(jié)果節(jié)點(diǎn)都可以取布爾值0或1,0表示條件不成立或狀態(tài)不出現(xiàn),1表示條件成立或狀態(tài)出現(xiàn)。

二、黑盒測(cè)試常用方法四種基本因果邏輯關(guān)系的含義分別如下。 恒等:如果原因出現(xiàn),則結(jié)果出現(xiàn);如果原因不出現(xiàn),則結(jié)果也不出現(xiàn)。 非(~):如果原因出現(xiàn),則結(jié)果不出現(xiàn);如果原因不出現(xiàn),則結(jié)果出現(xiàn)。 或(∨):如果幾個(gè)原因中有一個(gè)出現(xiàn),則結(jié)果出現(xiàn);如果幾個(gè)原因都不出現(xiàn),則結(jié)果不出現(xiàn)。 與(∧):如果幾個(gè)原因都出現(xiàn),那么結(jié)果才會(huì)出現(xiàn);如果幾個(gè)原因中有一個(gè)不出現(xiàn),那么結(jié)果就不會(huì)出現(xiàn)。在實(shí)際問(wèn)題中,輸入條件之間、輸出條件之間往往存在著某些依賴關(guān)系,我們稱之為約束。例如,某些輸入條件不可能同時(shí)出現(xiàn)。因果圖在基本圖形符號(hào)的基礎(chǔ)上,采用一些特定的符號(hào)來(lái)表示這些約束。 二、黑盒測(cè)試常用方法圖(1)~圖(4)分別給出了4種輸入條件之間的約束關(guān)系,圖(5)是一種輸出條件之間的約束關(guān)系,它們的含義分別如下。 E(互斥):表示C1和C2兩個(gè)原因不會(huì)同時(shí)成立,兩個(gè)原因中最多有一個(gè)可能成立。 I(包含):表示C1、C2和C3三個(gè)原因中至少有一個(gè)必須成立。 O(唯一):表示C1和C2兩個(gè)原因中必須有一個(gè)且僅有一個(gè)成立。 R(要求):表示當(dāng)C1出現(xiàn)時(shí),C2也必須出現(xiàn),即C1是1時(shí),C2也必須是1。 M(強(qiáng)制):表示當(dāng)結(jié)果E1是1時(shí),結(jié)果E2必須是0。

二、黑盒測(cè)試常用方法利用因果圖法設(shè)計(jì)測(cè)試用例的步驟利用因果圖設(shè)計(jì)測(cè)試用例需要經(jīng)過(guò)以下幾個(gè)步驟。分析軟件的規(guī)格說(shuō)明,確定哪些是原因(即輸入條件或輸入條件的等價(jià)類),哪些是結(jié)果(即輸出條件),給每一個(gè)原因和結(jié)果賦予標(biāo)識(shí)符。分析軟件規(guī)格說(shuō)明中的語(yǔ)義信息,確定原因與結(jié)果之間、原因與原因之間對(duì)應(yīng)的邏輯關(guān)系,然后根據(jù)這些關(guān)系畫(huà)出因果圖。在因果圖上標(biāo)明約束。由于語(yǔ)法或環(huán)境的限制,有些原因和結(jié)果的組合情況是不可能出現(xiàn)的。為了表明這些特殊情況,在因果圖上通過(guò)標(biāo)準(zhǔn)的符號(hào)標(biāo)明約束條件。將因果圖轉(zhuǎn)換為判定表。根據(jù)判定表的每一條規(guī)則設(shè)計(jì)測(cè)試用例。因果圖法的分析結(jié)果就是判定表,之后設(shè)計(jì)測(cè)試用例的方法和判定表驅(qū)動(dòng)法是一致的。因此可知,因果圖法更適合規(guī)格說(shuō)明中輸入輸出邏輯復(fù)雜和描述不清晰的情況。對(duì)于簡(jiǎn)單清晰的條件組合與邏輯關(guān)系,可直接使用判定表驅(qū)動(dòng)法。二、黑盒測(cè)試常用方法因果圖的特點(diǎn)等價(jià)類劃分方法盡管各個(gè)輸入條件可能出錯(cuò)的情況都考慮到了,但是多個(gè)輸入條件組合起來(lái)出錯(cuò)的情況卻被忽略了,因果圖法是一個(gè)全排列組合的方法。另外,因果圖法能夠幫助我們按照一定步驟,高效的選擇測(cè)試用例,設(shè)計(jì)多個(gè)輸入條件組合用例,因?yàn)榭紤]了條件與結(jié)果之間的關(guān)系,從而更高效。因果圖分析還能為我們指出,程序規(guī)格說(shuō)明描述中存在什么問(wèn)題。 但是,因果圖也有一定的缺點(diǎn),由于輸入條件與輸出結(jié)果的因果關(guān)系,有時(shí)難以從軟件需求規(guī)格說(shuō)明書(shū)得到。另外,即使得到了這些因果關(guān)系,也會(huì)因?yàn)橐蚬P(guān)系復(fù)雜導(dǎo)致因果圖非常龐大,測(cè)試用例數(shù)目及其龐大,造成測(cè)試工作量較大。二、黑盒測(cè)試常用方法正交實(shí)驗(yàn)法正交實(shí)驗(yàn)法是研究多因素多水平的一種科學(xué)方法,它依據(jù)Galois理論從全面實(shí)驗(yàn)中挑選出部分具有代表性的水平組合進(jìn)行實(shí)驗(yàn),并對(duì)結(jié)果進(jìn)行分析從而找出最優(yōu)的水平組合。正交是數(shù)理統(tǒng)計(jì)中的一個(gè)較大的分支,利用規(guī)格化的表格—正交表,科學(xué)地挑選試驗(yàn)條件,合理安排實(shí)驗(yàn)。主要優(yōu)點(diǎn)是能在很多試驗(yàn)方案中挑選出代表性強(qiáng)的少數(shù)幾個(gè)試驗(yàn)方案,并且通過(guò)這些試驗(yàn)方案的結(jié)果的分析,推斷出最優(yōu)方案,同時(shí)還可以作進(jìn)一步的分析,得到比試驗(yàn)結(jié)果本身給出的還要多的有關(guān)各因素的信息。正交實(shí)驗(yàn)法主要應(yīng)用于工程技術(shù)領(lǐng)域,也可以用來(lái)來(lái)設(shè)計(jì)測(cè)試用例,用部分實(shí)驗(yàn)代替全面實(shí)驗(yàn),從大量的輸入數(shù)據(jù)組合中挑選出適量有代表性的、典型的數(shù)據(jù)組合進(jìn)行測(cè)試,合理與全面地覆蓋條件因素及其取值情況,精簡(jiǎn)測(cè)試用例的數(shù)量,用最低的測(cè)試成本得到盡可能好的測(cè)試效果。二、黑盒測(cè)試常用方法正交實(shí)驗(yàn)法的原理與實(shí)例正交表測(cè)試策略是一種成對(duì)測(cè)試交互的系統(tǒng)的統(tǒng)計(jì)的方法。它提供了一種能對(duì)所有變量對(duì)的組合進(jìn)行典型覆蓋(均勻分布)的方法。正交排列法能夠使用最小的測(cè)試過(guò)程集合獲得最大的測(cè)試覆蓋率。下面通過(guò)一個(gè)例子來(lái)說(shuō)明正交實(shí)驗(yàn)法的基本原理。為了提高某產(chǎn)品的轉(zhuǎn)化率,選擇3個(gè)影響轉(zhuǎn)化率的因素進(jìn)行條件實(shí)驗(yàn):A、B、C。實(shí)驗(yàn)的目的是確定因素A、B、C對(duì)產(chǎn)品質(zhì)量有什么影響,實(shí)驗(yàn)設(shè)計(jì)過(guò)程如下。在正交實(shí)驗(yàn)法中,將影響實(shí)驗(yàn)結(jié)果的條件因素稱為因子,而把各個(gè)因子的取值作為狀態(tài),狀態(tài)數(shù)稱為水平數(shù)。接下來(lái)對(duì)A、B、C這3個(gè)實(shí)驗(yàn)因子各取3個(gè)水平值,分別如下。 A:Al,A2,A3 B:Bl,B2,B3 C:Cl,C2,C3二、黑盒測(cè)試常用方法正交實(shí)驗(yàn)法利用已有的規(guī)格化的“正交表”,從大量的實(shí)驗(yàn)點(diǎn)中挑選出適量的、有代表性的點(diǎn)。正交表L9(34)如表3-16所示,其中,L代表正交表,4是因子數(shù),即正交表的列數(shù),3是因子的水平數(shù),9是實(shí)驗(yàn)的次數(shù),即正交表的行數(shù)。通過(guò)選擇合適的正交表L9(34),可以安排如表3-17所示的9次實(shí)驗(yàn),這9個(gè)實(shí)驗(yàn)點(diǎn)如圖所示。二、黑盒測(cè)試常用方法

場(chǎng)

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論