版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章軟件測(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ā)生了故障,無法得出正確的計(jì)算結(jié)果。經(jīng)過將近一天的檢查發(fā)現(xiàn)一只蛾子被光吸引進(jìn)入了機(jī)器內(nèi)部,導(dǎo)致電路斷開。從此之后,Bug逐漸成為了程序錯(cuò)誤的話術(shù),而Debug則成為了調(diào)試修復(fù)錯(cuò)誤的話術(shù)。自此以后軟件缺陷開始逐漸進(jìn)入人們的視野。相比較Bug這個(gè)詞語,更正規(guī)的說法是軟件缺陷(Defect)。IEEE729-1983對(duì)軟件缺陷有一個(gè)標(biāo)準(zhǔn)的定義:從產(chǎn)品內(nèi)部看,缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中存在的錯(cuò)誤、毛病等各種問題。從產(chǎn)品外部看,缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背。1,Bug與軟件缺陷通常認(rèn)為,至少滿足下面5條規(guī)則中的一條,就稱為發(fā)生一個(gè)軟件缺陷:1.軟件未實(shí)現(xiàn)軟件規(guī)格說明書中要求的功能。2.軟件超出軟件規(guī)格說明書中指明的范圍,例如實(shí)現(xiàn)了未提到的功能。3.軟件未達(dá)到軟件規(guī)格說明書中指出的應(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ā)展,越來越多的設(shè)備連接到網(wǎng)絡(luò)中,這些設(shè)備上運(yùn)行的軟件面臨著越來越多的攻擊者和更容易實(shí)施的攻擊方式,軟件缺陷的問題越來越多,在導(dǎo)致了多次災(zāi)難級(jí)事件的發(fā)生。
1.1988年,小羅伯特·莫里斯(RobertMorris,Jr.)發(fā)布了Internet蠕蟲,指出了Internet的脆弱性以及對(duì)更高安全性的需求。他使用gets()函數(shù)導(dǎo)致BerkeleyUnixfinger守護(hù)程序中的緩沖區(qū)溢出導(dǎo)致了數(shù)千臺(tái)計(jì)算機(jī)的癱瘓。2.1991年2月,一枚導(dǎo)彈襲擊了沙特阿拉伯的美國部隊(duì)兵營,而一連串愛國者導(dǎo)彈未能攔截成功導(dǎo)致了重大的損失。確定的原因是系統(tǒng)時(shí)鐘中的軟件錯(cuò)誤。2,軟件缺陷的普遍性3.1996年6月,阿麗亞娜5號(hào)火箭進(jìn)行了首次飛行。火箭發(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年,由美國國家航空航天局噴氣推進(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)致后面的語句無法訪問。導(dǎo)致了極大的投訴量和經(jīng)濟(jì)損失。第二節(jié)軟件質(zhì)量軟件產(chǎn)品與其他產(chǎn)品一樣,都是有質(zhì)量要求的,軟件質(zhì)量關(guān)系著軟件使用程度與使用壽命,一款高質(zhì)量的軟件更受用戶歡迎,除了滿足客戶的顯式需求之外,往往還滿足了客戶隱式需求。從軟件質(zhì)量的定義,可將軟件質(zhì)量分為3個(gè)層次:1.滿足需求規(guī)定:軟件產(chǎn)品符合開發(fā)者明確定義的目標(biāo),并且能可靠運(yùn)行。2.滿足用戶需求:軟件產(chǎn)品的需求是由用戶產(chǎn)生的,軟件最終的目的就是滿足用戶需求,解決用戶的實(shí)際問題。3.滿足用戶隱式需求:除了滿足用戶的顯式需求,軟件產(chǎn)品如果滿足用戶的隱式需求,即潛在的可能需要在將來開發(fā)的功能,將會(huì)極大地提升用戶滿意度,這就意味著軟件質(zhì)量更高。第二節(jié)軟件質(zhì)量軟件產(chǎn)品與其他產(chǎn)品一樣,都是有質(zhì)量要求的,軟件質(zhì)量關(guān)系著軟件使用程度與使用壽命,一款高質(zhì)量的軟件更受用戶歡迎,除了滿足客戶的顯式需求之外,往往還滿足了客戶隱式需求。從軟件質(zhì)量的定義,可將軟件質(zhì)量分為3個(gè)層次:1.滿足需求規(guī)定:軟件產(chǎn)品符合開發(fā)者明確定義的目標(biāo),并且能可靠運(yùn)行。2.滿足用戶需求:軟件產(chǎn)品的需求是由用戶產(chǎn)生的,軟件最終的目的就是滿足用戶需求,解決用戶的實(shí)際問題。3.滿足用戶隱式需求:除了滿足用戶的顯式需求,軟件產(chǎn)品如果滿足用戶的隱式需求,即潛在的可能需要在將來開發(fā)的功能,將會(huì)極大地提升用戶滿意度,這就意味著軟件質(zhì)量更高。第二節(jié)軟件質(zhì)量ISO/IEC9126:1991是早期最通用的一個(gè)評(píng)價(jià)軟件質(zhì)量的國際標(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ā)布了國際軟件質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)ISO/IEC25010:2011,同9126相比,新增了安全性和兼容性。2016年,國家標(biāo)準(zhǔn)化委員會(huì)發(fā)布了國家標(biāo)準(zhǔn)GB/T25000涵蓋了軟件產(chǎn)品的八大特性,如圖1所示。圖1第三節(jié)軟件測(cè)試定義在軟件測(cè)試的早期階段,曾經(jīng)出現(xiàn)過關(guān)于軟件測(cè)試正反兩方面的爭論,代表人物是軟件測(cè)試領(lǐng)域的兩位先驅(qū)BillHetzel和GlenfordJ.Myers。正向思維認(rèn)為:軟件測(cè)試是順著軟件運(yùn)行邏輯,以確信其最終能夠正常運(yùn)行為目標(biāo)導(dǎo)向而展開的任何行為。反向思維認(rèn)為:軟件測(cè)試是抱著懷疑主義的精神,相信軟件一定存在缺陷的想法作為出發(fā)點(diǎn),逆著軟件運(yùn)行的內(nèi)生邏輯,以證明其存在的缺陷為目標(biāo)或?qū)蚨_展的任何行為。第三節(jié)軟件測(cè)試定義1983年,IEEE給出了相對(duì)標(biāo)準(zhǔn)的軟件測(cè)試定義:“使用人工或自動(dòng)手段來運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果和實(shí)際結(jié)果之間的差別。”該定義明確說明了軟件測(cè)試以檢驗(yàn)軟件是否滿足需求為目標(biāo)。預(yù)期結(jié)果和實(shí)際結(jié)果之間的差別,也就是軟件錯(cuò)誤,是測(cè)試過程的結(jié)果而不是目標(biāo),發(fā)現(xiàn)軟件錯(cuò)誤只是一種手段。此外,軟件測(cè)試也可定義為:軟件測(cè)試是由驗(yàn)證和確認(rèn)活動(dòng)構(gòu)成的整體。驗(yàn)證:檢驗(yàn)軟件開發(fā)過程中階段性產(chǎn)品與軟件規(guī)格說明書的一致性。確認(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ī)模較小,開發(fā)過程簡單,軟件測(cè)試基本等同于調(diào)試。1957年,軟件測(cè)試開始與調(diào)試區(qū)別開來,作為一種發(fā)現(xiàn)軟件缺陷的活動(dòng)。但測(cè)試仍然是后于開發(fā)的。測(cè)試的目的是使自己確信產(chǎn)品能工作。20世紀(jì)60年代中期到70年代中期,軟件業(yè)取得了快速發(fā)展。但是隨著軟件的數(shù)量急劇膨脹,需求也越來越復(fù)雜,但是軟件開發(fā)的管理水平卻沒有跟上,開發(fā)成本越來越高,最終軟件危機(jī)發(fā)生了。1968年北大西洋公約組織在聯(lián)邦德國召開國際會(huì)議,會(huì)議上正式提出了“軟件工程”這一名詞,標(biāo)志著軟件工程學(xué)科的誕生。1,軟件測(cè)試的發(fā)展歷程1972年,在美國的北卡羅萊納大學(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)的過程?!?0世紀(jì)80年代早期,軟件測(cè)試定義發(fā)生了改變,測(cè)試不單純是一個(gè)發(fā)現(xiàn)錯(cuò)誤的過程,而且包含軟件質(zhì)量評(píng)價(jià)的內(nèi)容。1,軟件測(cè)試的發(fā)展歷程1983年,BillHetzel在《軟件測(cè)試完全指南》(CompleteGuideofSoftwareTesting)一書中指出:“測(cè)試是以評(píng)價(jià)一個(gè)程序或者系統(tǒng)屬性為目標(biāo)的任何一種活動(dòng),測(cè)試是對(duì)軟件質(zhì)量的度量?!?0世紀(jì)90年代,測(cè)試工具盛行起來。人們普遍意識(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è)生命周期過程?!?,軟件工程與軟件測(cè)試1968年,NATO(北約)的科技委員會(huì)召集了近50名一流的編程人員、計(jì)算機(jī)科學(xué)家和工業(yè)界巨頭,討論和制定擺脫“軟件危機(jī)”的對(duì)策。在那次會(huì)議上第一次提出了軟件工程(softwareengineering)這個(gè)概念。軟件工程包括兩方面內(nèi)容:軟件開發(fā)技術(shù)和軟件項(xiàng)目管理。軟件開發(fā)技術(shù)包括軟件開發(fā)方法學(xué)、軟件工具和軟件工程環(huán)境。軟件項(xiàng)目管理包括軟件度量、項(xiàng)目估算、進(jìn)度控制、人員組織、配置管理、項(xiàng)目計(jì)劃、軟件測(cè)試等。此后軟件工程理論開始蓬勃發(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ì)算理論以及求解問題的數(shù)學(xué)理論與方法,既關(guān)注構(gòu)造軟件的理論、模型與算法及其在軟件開發(fā)與維護(hù)中的應(yīng)用,也關(guān)注求解問題的數(shù)學(xué)理論與方法及其在軟件建模、分析、設(shè)計(jì)和驗(yàn)證中的應(yīng)用。2,軟件工程與軟件測(cè)試國內(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ù)雜軟件開發(fā)、運(yùn)行和維護(hù)的理論和方法,以及形式化方法在軟件工程中的應(yīng)用。2.083502軟件工程技術(shù):研究大型復(fù)雜軟件開發(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è)試等越來越受到大家的關(guān)注?!盾浖y(cè)試:經(jīng)驗(yàn)與教訓(xùn)》一書的作者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é)派分支出來并得到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è)試就是過程的質(zhì)量控制、揭示項(xiàng)目質(zhì)量風(fēng)險(xiǎn)的活動(dòng),確定開發(fā)人員是否遵守規(guī)范,測(cè)試人員扮演產(chǎn)品質(zhì)量的守門員角色。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)證開發(fā)工作是否完成,強(qiáng)調(diào)自動(dòng)化測(cè)試。TDD(Test-DrivenDevelopment)是其典型代表。第五節(jié)軟件測(cè)試目的和原則1,軟件測(cè)試目的
2,軟件測(cè)試原則1,軟件測(cè)試目的基于不同的立場,存在著兩種完全不同的測(cè)試目的。從用戶的角度出發(fā),普遍希望通過軟件測(cè)試暴露軟件中隱藏的錯(cuò)誤和缺陷,以考慮是否可以接受該產(chǎn)品。而從軟件開發(fā)者的角度出發(fā),則希望測(cè)試成為表明軟件產(chǎn)品中不存在錯(cuò)誤的過程,驗(yàn)證該軟件已正確地實(shí)現(xiàn)了用戶的要求。關(guān)于軟件測(cè)試的目的,GlenfordJ.Myers給出了如下觀點(diǎn):1,軟件測(cè)試是程序的執(zhí)行過程,目的在于發(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è)試過程中最常提起的一個(gè)測(cè)試目標(biāo),也是測(cè)試價(jià)值的一個(gè)的重要體現(xiàn)。發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的過程之一,但不是軟件測(cè)試的唯一目的。軟件測(cè)試的目的也包含以下內(nèi)容:1,軟件測(cè)試目的1.提升軟件質(zhì)量軟件測(cè)試最直接的目的就是提高軟件的質(zhì)量,讓用戶對(duì)產(chǎn)品有較好的體驗(yàn),保障產(chǎn)品的高質(zhì)量度。發(fā)現(xiàn)缺陷的目的是推動(dòng)開發(fā)人員定位和修復(fù)問題,測(cè)試人員通過再測(cè)試和回歸測(cè)試,確保開發(fā)人員已修復(fù)缺陷,并沒有影響原來正常的區(qū)域,從而提高產(chǎn)品質(zhì)量。2.提供信息測(cè)試過程的每個(gè)階段都在為開發(fā)過程提供信息以便于幫助項(xiàng)目組作出正確的決策:(1)質(zhì)量評(píng)估:通過測(cè)試過程提供的各種數(shù)據(jù),可以幫助項(xiàng)目經(jīng)理評(píng)估被測(cè)軟件產(chǎn)品的質(zhì)量。(2)進(jìn)度評(píng)估:通過提供的各種數(shù)據(jù),可以幫助項(xiàng)目經(jīng)理作出是否能及時(shí)發(fā)布軟件產(chǎn)品的決策。測(cè)試過程中提供的數(shù)據(jù)是評(píng)估過程非常重要的輸入。1,軟件測(cè)試目的3.預(yù)防缺陷測(cè)試過程中發(fā)現(xiàn)的缺陷,以及遺漏到用戶現(xiàn)場的缺陷,都應(yīng)該對(duì)它們進(jìn)行缺陷根本原因分析,找到引入缺陷的主要原因。從測(cè)試角度也要分析為什么能發(fā)現(xiàn)缺陷,以及為什么缺陷會(huì)遺漏到用戶現(xiàn)場。4.保證產(chǎn)品安全大部分的軟件產(chǎn)品都涉及數(shù)據(jù)信息,尤其是金融類產(chǎn)品,更直接涉及到個(gè)人的資金賬戶,這就對(duì)產(chǎn)品本身要求特別高。如何通過數(shù)據(jù)加密,安全處理保障用戶的資金流動(dòng)安全就至關(guān)重要。如果安全性測(cè)試不充分,存在漏洞,后果將不堪設(shè)想。5.降低開發(fā)成本一個(gè)優(yōu)秀的測(cè)試,會(huì)在開發(fā)過程中通過跟蹤需求、驗(yàn)證質(zhì)量、提交缺陷來提升開發(fā)人員技術(shù)。建立一套完整的體系來提高整個(gè)團(tuán)隊(duì)的工作效率,從而降低開發(fā)成本,把控產(chǎn)品質(zhì)量。1,軟件測(cè)試目的6.降低商業(yè)風(fēng)險(xiǎn)軟件測(cè)試除了可以降低開發(fā)成本,還可以降低因軟件缺陷帶來的商業(yè)風(fēng)險(xiǎn)。如果一款產(chǎn)品使用起來不流暢、缺陷也非常多,在給合作伙伴展示時(shí)候很難獲取到認(rèn)可和信任度,進(jìn)而造成商業(yè)上的損失。7.提高用戶體驗(yàn)軟件測(cè)試主要是在軟件產(chǎn)品發(fā)布前實(shí)施的。經(jīng)過測(cè)試和修改之后,把產(chǎn)品交付給用戶手中,才能更好提高用戶體驗(yàn)。防止發(fā)布之后出現(xiàn)嚴(yán)重影響使用的Bug,遭受用戶投訴等。8.樹立產(chǎn)品信心當(dāng)測(cè)試過程中發(fā)現(xiàn)很少或沒有發(fā)現(xiàn)缺陷時(shí),測(cè)試就可以幫助樹立對(duì)于軟件產(chǎn)品質(zhì)量的信心。一款沒有經(jīng)過測(cè)試的產(chǎn)品發(fā)布之后,難免會(huì)容易出現(xiàn)各種Bug。相反,如果是經(jīng)過測(cè)試的產(chǎn)品,軟件制作公司就更有信心。2,軟件測(cè)試原則軟件測(cè)試經(jīng)過多年的發(fā)展,形成了多種原則用于指導(dǎo)軟件測(cè)試工作。制定軟件測(cè)試的基本原則有助于提高測(cè)試工作的效率和質(zhì)量,能讓測(cè)試人員以最少的人力物力、時(shí)間等盡早發(fā)現(xiàn)軟件中存在的問題。下面介紹一下業(yè)界公認(rèn)的一些原則。1.測(cè)試應(yīng)基于用戶需求所有的測(cè)試標(biāo)準(zhǔn)應(yīng)建立在滿足客戶需求的基礎(chǔ)上,假如系統(tǒng)不能完成客戶的需求和期望,那么,這個(gè)系統(tǒng)的研發(fā)是失敗的。在開發(fā)過程中用戶的早期介入和接觸原型系統(tǒng)就是為了避免這類問題的預(yù)防性措施。2.軟件測(cè)試不能證明程序無錯(cuò)軟件測(cè)試是發(fā)現(xiàn)軟件錯(cuò)誤的過程,但是不能證明軟件無錯(cuò),即使測(cè)試人員運(yùn)行了大量的測(cè)試用例并且沒有發(fā)現(xiàn)錯(cuò)誤,也不能保證軟件沒有錯(cuò)誤存在。這是因?yàn)檐浖到y(tǒng)的復(fù)雜性和測(cè)試的不完備性導(dǎo)致測(cè)試人員很難想到所有的可能情況和邊界條件。2,軟件測(cè)試原則3.應(yīng)盡早地和不斷地進(jìn)行軟件測(cè)試由于原始問題的復(fù)雜性,不應(yīng)把軟件測(cè)試僅僅看作是軟件開發(fā)的一個(gè)獨(dú)立階段,而應(yīng)當(dāng)把它貫穿到軟件開發(fā)的各個(gè)階段中。堅(jiān)持在軟件開發(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è)試的控制方法和過程、系統(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é)果來對(duì)照檢查當(dāng)前的輸出結(jié)果是否正確,做到有的放矢。6.程序員應(yīng)避免檢查自己的程序測(cè)試工作需要嚴(yán)格的作風(fēng),客觀的態(tài)度和冷靜的情緒。程序員對(duì)軟件規(guī)格說明理解錯(cuò)誤而引入的錯(cuò)誤則難以發(fā)現(xiàn)。如果由別人來測(cè)試程序員編寫的程序,可能會(huì)更客觀,更有效,并更容易取得成功。7.充分注意測(cè)試中的群集現(xiàn)象一般來說,程序中已發(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è)試效率而非萬能。根據(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é)省開發(fā)和設(shè)計(jì)成本。12.軟件缺陷的免疫性在測(cè)試中,同樣的測(cè)試用例被一遍一遍反復(fù)使用時(shí),發(fā)現(xiàn)缺陷的能力就會(huì)越來越差。這種現(xiàn)象的主要原因在于測(cè)試人員沒有及時(shí)更新測(cè)試用例,同時(shí)對(duì)測(cè)試用例及測(cè)試對(duì)象過于熟悉,形成思維定勢(shì)。為克服這種現(xiàn)象,測(cè)試用例需要經(jīng)常的評(píng)審和修改,不斷增加新的不同的測(cè)試用例來測(cè)試軟件或系統(tǒng)的不同部分,保證測(cè)試用例永遠(yuǎn)是最新的。這樣軟件中未被測(cè)試過的部分或者先前沒有被使用過的輸入組合就會(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è)試程序,通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說明書的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。(2)黑盒測(cè)試黑盒測(cè)試中程序被視為一個(gè)無法打開的黑盒子。在不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特征的情況下,只檢查程序功能是否按照要求規(guī)范說明書的規(guī)定正常使用,程序是否能夠適當(dāng)接收輸入數(shù)據(jù)并產(chǎn)生正確的輸出信息。1,按測(cè)試方法劃分(3)灰盒測(cè)試灰盒測(cè)試是指介于白盒和黑盒兩種測(cè)試之間的測(cè)試方法?;液袦y(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í)行過程。二,SWEBOKV32014年2月20日,IEEE計(jì)算機(jī)協(xié)會(huì)了軟件工程知識(shí)體系SWEBOK(SoftwareEngineeringBodyofKnowledge)指南第3版。SWEBOKV3的測(cè)試分類方式不同于黑盒白盒等,主要包括以下測(cè)試方法:1)基于直覺和經(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ù)。如果按階段來分,單元測(cè)試中常見的動(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è)試是通過觀察代碼運(yùn)行時(shí)的動(dòng)作,來提供執(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)是確保模塊被正確的編碼,使用過程設(shè)計(jì)描述作為指南,對(duì)重要的控制路徑進(jìn)行測(cè)試以發(fā)現(xiàn)模塊內(nèi)的錯(cuò)誤。通常情況下是白盒測(cè)試。(2)集成測(cè)試通過測(cè)試發(fā)現(xiàn)與模塊接口有關(guān)的問題。目標(biāo)是把通過了單元測(cè)試的模塊拿來,構(gòu)造一個(gè)在設(shè)計(jì)中所描述的程序結(jié)構(gòu),應(yīng)當(dāng)避免一次性的集成,而采用增量集成。集成方式一般分為自頂向下和自底向上兩種方式。自頂向下集成是指模塊集成是首先集成主模塊,然后按照控制層次結(jié)構(gòu)向下進(jìn)行集成。自底向上集成是指從原子模塊開始來進(jìn)行構(gòu)造和測(cè)試。3,按測(cè)試執(zhí)行階段劃分(3)系統(tǒng)測(cè)試系統(tǒng)測(cè)試是基于系統(tǒng)整體需求說明書的黑盒類測(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)開發(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è)試是由用戶在開發(fā)者的場所來進(jìn)行的。Beta測(cè)試由軟件的最終用戶在一個(gè)或多個(gè)用戶場所來進(jìn)行的,開發(fā)者通常不在現(xiàn)場,用戶記錄測(cè)試中遇到的問題并報(bào)告給開發(fā)者,開發(fā)者對(duì)系統(tǒng)進(jìn)行最后的修改,并開始準(zhǔn)備發(fā)布最終的軟件。4,按用戶需求劃分按照用戶需求劃分,軟件測(cè)試可以分為功能測(cè)試和非功能測(cè)試。(1)功能測(cè)試功能測(cè)試是一種檢查組件或整個(gè)系統(tǒng)功能的測(cè)試。簡而言之,功能測(cè)試幫助企業(yè)確保軟件產(chǎn)品的特定功能完全按照預(yù)期工作。功能測(cè)試一般包括單元測(cè)試、集成測(cè)試、健全性測(cè)試、回歸測(cè)試、Beta測(cè)試等。(2)非功能測(cè)試ISTQB將非功能測(cè)試定義為一種處理與系統(tǒng)功能無關(guān)組件的測(cè)試。非功能性需求更多地與產(chǎn)品為最終用戶工作的方式有關(guān),而不是與預(yù)期結(jié)果有關(guān)。非功能測(cè)試旨在通過各種標(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)過程(如評(píng)審、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行等)都是由軟件測(cè)試工程師手工執(zhí)行來完成,不使用任何測(cè)試工具,狹義上是指測(cè)試執(zhí)行由人工完成,這是最基本的測(cè)試形式。(2)自動(dòng)化測(cè)試自動(dòng)化測(cè)試是使用軟件來控制測(cè)試執(zhí)行過程,比較實(shí)際結(jié)果和預(yù)期結(jié)果是否一致,設(shè)置測(cè)試的前置條件和其他測(cè)試控制條件并輸出測(cè)試報(bào)告。通常,自動(dòng)化測(cè)試需要在適當(dāng)?shù)臅r(shí)間使已經(jīng)形式化的手工測(cè)試過程自動(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)目中,開發(fā)人員在修改了軟件的代碼以修復(fù)已經(jīng)發(fā)現(xiàn)的Bug后,測(cè)試人員在需要重新測(cè)試前面經(jīng)測(cè)試過的內(nèi)容,以確認(rèn)此次修改沒有引入新的錯(cuò)誤?;貧w測(cè)試的目的就是檢查在修復(fù)已有Bug時(shí)是否又導(dǎo)致了新的Bug。(2)冒煙測(cè)試冒煙測(cè)試就是在一個(gè)新版本出來的時(shí)候,將軟件的全部功能過一遍,看有沒有什么大問題。如果功能可以正常運(yùn)行,不會(huì)影響測(cè)試進(jìn)行,那么這個(gè)版本就可以真正開始測(cè)試了。如果功能有重大問題或影響測(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)行可能造成的問題進(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è)試等。通過對(duì)這些文檔的測(cè)試,可以確保軟件開發(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ì)為通過通信協(xié)議通常通過網(wǎng)絡(luò)進(jìn)行通信。2)敏捷測(cè)試是為了適應(yīng)敏捷開發(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è)備中,無法獨(dú)立運(yùn)行。因此,測(cè)試過程中需要考慮設(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,用例編寫者:設(shè)計(jì)用例的人員3,被測(cè)對(duì)象:要測(cè)試的功能點(diǎn)(模塊、系統(tǒng))4,用例標(biāo)題:對(duì)測(cè)試項(xiàng)簡短的描述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,問題描述:執(zhí)行該用例出現(xiàn)后系統(tǒng)顯示的錯(cuò)誤12,驗(yàn)證結(jié)果:該測(cè)試用例是否執(zhí)行通過第七節(jié)測(cè)試用例13,Bug編號(hào):填寫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)行說明在設(shè)計(jì)測(cè)試用例時(shí),需要注意以下問題:1.測(cè)試用例應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件2.測(cè)試用例應(yīng)由測(cè)試輸入數(shù)據(jù)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果這兩部分組成第七節(jié)測(cè)試用例測(cè)試用例的編寫規(guī)范一般包含如下設(shè)計(jì)原則:1,系統(tǒng)性。對(duì)系統(tǒng)業(yè)務(wù)流程要完整說明整個(gè)系統(tǒng)的業(yè)務(wù)需求、系統(tǒng)由幾個(gè)子系統(tǒng)組成以及它們之間的關(guān)系。2,連貫性。對(duì)系統(tǒng)業(yè)務(wù)流程要說明各個(gè)子系統(tǒng)之間是如何連接在一起,若需要接口,各子系統(tǒng)之間是否有正確的接口,若是依靠頁面鏈接,則頁面的鏈接是否正確。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è)試用例中要寫清楚測(cè)試的操作步驟,以及不同的操作步驟相對(duì)應(yīng)的測(cè)試結(jié)果。編寫標(biāo)準(zhǔn)一般包含如下內(nèi)容:1,測(cè)試案例編寫應(yīng)該制訂統(tǒng)一的模板進(jìn)行,并約定模板的使用方法。2,測(cè)試案例編寫應(yīng)當(dāng)根據(jù)項(xiàng)目實(shí)際情況編寫測(cè)試案例編寫手冊(cè),包括案例編號(hào)規(guī)則、案例編寫方法、案例編寫內(nèi)容、案例維護(hù)等內(nèi)容。3,案例編寫應(yīng)根據(jù)手冊(cè)中約定的編寫方法、內(nèi)容等進(jìn)行編寫。第七節(jié)測(cè)試用例4,案例編寫要步驟明確,輸入輸出要素清晰,并且與需求和缺陷相對(duì)應(yīng)。5,案例編寫應(yīng)嚴(yán)格根據(jù)需求規(guī)格說明書及測(cè)試需求功能分析點(diǎn)進(jìn)行,要求覆蓋全部需求功能點(diǎn)。6,注重案例的可復(fù)用性,即在以后相似系統(tǒng)的測(cè)試過程中可以重復(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ī)則、所有用戶可能使用的流程或場景等4,用例是否有很好的可執(zhí)行性。例如用例的前提條件、執(zhí)行步驟、輸入數(shù)據(jù)和期待結(jié)果是否清晰、正確第七節(jié)測(cè)試用例5,是否已經(jīng)刪除了冗余的測(cè)試用例6,是否包含充分的負(fù)面測(cè)試用例7,是否簡潔、復(fù)用性強(qiáng)8,是否易于管理測(cè)試工程師的重點(diǎn)工作就是編寫測(cè)試用例,因此編寫測(cè)試用例是每一個(gè)測(cè)試工程師必備的技能,一個(gè)好的測(cè)試用例,能很好的指導(dǎo)測(cè)試執(zhí)行的過程。本文將在后續(xù)章節(jié)重點(diǎn)講解測(cè)試方法,應(yīng)用合適的測(cè)試方法再加上合理的書寫規(guī)范,就可以完成良好的測(cè)試用例編寫。第八節(jié)軟件測(cè)試資質(zhì)認(rèn)證1,ISTQB
2,CSTQB
3,軟件評(píng)測(cè)師1,ISTQBISTQB(InternationalSoftwareTestingQualificationsBoard)國際軟件測(cè)試資質(zhì)認(rèn)證委員會(huì)是國際權(quán)威的軟件測(cè)試資質(zhì)認(rèn)證機(jī)構(gòu),主要負(fù)責(zé)制訂和推廣國際通用資質(zhì)認(rèn)證框架,即國際軟件測(cè)試資質(zhì)認(rèn)證委員會(huì)推廣的軟件測(cè)試工程師認(rèn)證(ISTQBCertifiedTester)項(xiàng)目。ISTQB是一個(gè)注冊(cè)于比利時(shí)的非贏利性組織,該項(xiàng)目由ISTQB授權(quán)各國分會(huì)組織本國的軟件測(cè)試工程師的認(rèn)證,并接受ISTQB質(zhì)量監(jiān)控,合格后頒發(fā)全球通用的軟件測(cè)試工程師資格證書。ISTQBCertifiedTester是一個(gè)基于全球統(tǒng)一標(biāo)準(zhǔn)規(guī)范、統(tǒng)一術(shù)語大綱的培訓(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é)生等。基礎(chǔ)級(jí)擴(kuò)展-敏捷測(cè)試工程師(CTFL-AT)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年土木工程材料與施工方法模擬題
- 2026年游戲開發(fā)者認(rèn)證考試筆試題目解析
- 2026年汽車拆解行業(yè)中的固廢處理與回收技術(shù)認(rèn)證題
- 2026年公共基礎(chǔ)知識(shí)測(cè)試文化與歷史常識(shí)題庫
- 2026年產(chǎn)品研發(fā)工程師產(chǎn)品研發(fā)流程管理產(chǎn)品設(shè)計(jì)實(shí)踐題目
- 2026年新疆工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試備考試題含詳細(xì)答案解析
- 綿陽飛行職業(yè)學(xué)院招聘考試重點(diǎn)試題及答案解析
- 2026年云南能源職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫及答案詳細(xì)解析
- 2026年江西楓林涉外經(jīng)貿(mào)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試模擬試題及答案詳細(xì)解析
- 2026西藏拉薩市人力資源和社會(huì)保障局招聘462人考試參考試題及答案解析
- 2026屆廣東省華南師大附中、省實(shí)驗(yàn)中學(xué)、廣雅中學(xué)、深圳高級(jí)中學(xué)四校高三語文第一學(xué)期期末質(zhì)量檢測(cè)模擬試題含解析
- 2025中日友好醫(yī)院招聘3人歷年真題匯編附答案解析
- 2025年河北省高考?xì)v史真題卷(含答案與解析)
- 2025年交管12123駕照學(xué)法減分考試題庫(附含答案)
- GB/T 5780-2025緊固件六角頭螺栓C級(jí)
- 肺結(jié)節(jié)消融課件
- 基于數(shù)據(jù)驅(qū)動(dòng)的控制力矩陀螺健康診斷與預(yù)測(cè)系統(tǒng)的深度剖析與實(shí)踐
- 軍事交通運(yùn)輸課件
- 2025年事業(yè)單位聯(lián)考A類《職業(yè)能力傾向測(cè)驗(yàn)》真題試卷及答案含解析
- 2021-2025年高考物理試題分類匯編磁場(解析版)
- 辦公樓裝修施工質(zhì)量控制方案
評(píng)論
0/150
提交評(píng)論