本書(shū)綜合了軟件測(cè)試的發(fā)展與教學(xué)需要,系統(tǒng)闡述了軟件測(cè)試這一領(lǐng)域的基本概念、原理、方法與工具。全書(shū)共分10章,內(nèi)容主要包括:初識(shí)軟件測(cè)試、軟件測(cè)試基礎(chǔ)、黑盒測(cè)試、白盒測(cè)試、單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、接口測(cè)試、實(shí)用軟件測(cè)試技術(shù)及軟件測(cè)試管理。全書(shū)內(nèi)容豐富、組織嚴(yán)謹(jǐn),將應(yīng)用實(shí)例與測(cè)試方法及工具緊密結(jié)合起來(lái)。書(shū)中擁有豐富的應(yīng)用實(shí)例和工具圖表,有助于培養(yǎng)讀者的實(shí)際軟件測(cè)試分析、設(shè)計(jì)、執(zhí)行及管理能力。書(shū)中還包含豐富的例題與習(xí)題,便于教學(xué)及讀者自學(xué)。本書(shū)可以作為高等院校軟件工程專(zhuān)業(yè)、計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)、計(jì)算機(jī)應(yīng)用專(zhuān)業(yè),以及其他相關(guān)專(zhuān)業(yè)的本科生教材,可供從事軟件測(cè)試、計(jì)算機(jī)應(yīng)用等工作的人員參考,同時(shí)可供計(jì)算機(jī)軟件專(zhuān)業(yè)以及其他相關(guān)專(zhuān)業(yè)的科研人員以及相關(guān)大專(zhuān)院校的師生參考。
1.提供豐富的教學(xué)資源,可以通過(guò)掃描書(shū)上的二維碼獲得相應(yīng)軟件測(cè)試工具的使用視頻,輔助老師完成教學(xué),提高使用者的自學(xué)效率。2.通過(guò)思維導(dǎo)圖引入的方式幫助使用者提煉思維。3.教材突出案例,科學(xué)設(shè)計(jì)教學(xué)單元,關(guān)注軟件測(cè)試行業(yè)發(fā)展現(xiàn)狀和未來(lái)方向,系統(tǒng)化重構(gòu)教學(xué)內(nèi)容。4.認(rèn)真調(diào)研軟件測(cè)試崗位需求,引入軟件評(píng)測(cè)師經(jīng)典題目,滿(mǎn)足不同使用者的學(xué)習(xí)需求。
隨著信息技術(shù)的高速發(fā)展,軟件產(chǎn)品越來(lái)越豐富,軟件產(chǎn)品的結(jié)構(gòu)也越來(lái)越復(fù)雜。目前,軟件產(chǎn)品的質(zhì)量問(wèn)題越來(lái)越受到人們的關(guān)注。隨著軟件測(cè)試技術(shù)的快速發(fā)展,市場(chǎng)對(duì)軟件測(cè)試人才的需求猛增。近幾年來(lái),隨著物聯(lián)網(wǎng)、大數(shù)據(jù)、移動(dòng)技術(shù)等的迅猛發(fā)展,軟件測(cè)試技術(shù)也在不斷變革以適應(yīng)這些變化。在多年的教學(xué)過(guò)程中,由于受軟件測(cè)試書(shū)籍的理論性強(qiáng)及工具運(yùn)用的門(mén)檻高等影響,所以測(cè)試軟件難以在課堂上講解,實(shí)踐起來(lái)也較困難,這些是我們想要做出改變的動(dòng)力。為了讓測(cè)試?yán)碚摳吨T實(shí)踐,實(shí)驗(yàn)易于開(kāi)展,我們撰寫(xiě)了本書(shū)的第一版,F(xiàn)在,在不斷實(shí)踐與探索的基礎(chǔ)上,我們對(duì)第一版教材進(jìn)行了更新,以滿(mǎn)足學(xué)生不斷發(fā)展的學(xué)習(xí)需求與社會(huì)對(duì)軟件測(cè)試人才的需求。本書(shū)介紹了軟件測(cè)試的一般原理和各種測(cè)試方法,理論講解循序漸進(jìn),適合讀者逐步掌握軟件測(cè)試的基本方法以及軟件測(cè)試設(shè)計(jì)的精髓。除基礎(chǔ)知識(shí)外,本書(shū)還適當(dāng)加入了目前測(cè)試領(lǐng)域的各種先進(jìn)的技術(shù)和理論,以方便讀者了解前沿的測(cè)試?yán)砟詈图夹g(shù)。本書(shū)精心設(shè)計(jì)了淺顯易懂的測(cè)試案例,重點(diǎn)關(guān)注黑盒測(cè)試、白盒測(cè)試、單元測(cè)試、集成測(cè)試、接口測(cè)試、系統(tǒng)測(cè)試、性能測(cè)試,盡量做到涉及面廣、重點(diǎn)突出。在設(shè)計(jì)案例時(shí),也以消耗較少的計(jì)算機(jī)資源且便于實(shí)操為原則,方便讀者快速了解工具的使用方法及其在軟件測(cè)試中扮演的角色。本書(shū)結(jié)合近幾年軟件測(cè)試技術(shù)的發(fā)展,重點(diǎn)介紹了一些比較流行的軟件測(cè)試方法與測(cè)試工具。在甄選測(cè)試工具時(shí),考慮到商業(yè)軟件應(yīng)用的范圍以及對(duì)使用條件有一定的要求等情況,對(duì)國(guó)內(nèi)外主流的開(kāi)源軟件測(cè)試工具進(jìn)行了全面分析和研究,并通過(guò)教學(xué)實(shí)踐的檢驗(yàn),*終確定了本書(shū)的開(kāi)源測(cè)試工具。相較于商業(yè)工具而言,開(kāi)源測(cè)試工具的伸縮性強(qiáng),并易于裁減和擴(kuò)充,無(wú)論是作為學(xué)習(xí)工具還是教學(xué)工具都較好上手。在介紹測(cè)試工具時(shí),也使用了大量的代碼和詳細(xì)的操作說(shuō)明,方便讀者進(jìn)行實(shí)踐和演練。本書(shū)的特色主要有以下四點(diǎn)。(1) 隨著Python運(yùn)用越來(lái)越廣泛,Python在測(cè)試領(lǐng)域也扮演著越來(lái)越重要的角色。本書(shū)順應(yīng)Python的發(fā)展,在第5章中講述了基于Python的單元測(cè)試以及UnitTest和Coverage 兩個(gè)工具的使用;在第6章中講述了基于Jenkins的持續(xù)集成測(cè)試,在第7章中講述了基于Locust及Selenium的自動(dòng)化測(cè)試工具,構(gòu)建了基于Python Jenkins Selenium的持續(xù)交付體系。(2) 隨著大數(shù)據(jù)、人工智能、物聯(lián)網(wǎng)等技術(shù)的發(fā)展,軟件更加多樣化、復(fù)雜化,這也對(duì)測(cè)試人員提出了新的要求和挑戰(zhàn)。第9章撰寫(xiě)了實(shí)用軟件測(cè)試技術(shù),講解了Web應(yīng)用測(cè)試、嵌入式測(cè)試、大數(shù)據(jù)測(cè)試、手機(jī)測(cè)試、車(chē)載測(cè)試等不同類(lèi)型的測(cè)試技術(shù)、方法和策略。(3) 本書(shū)重點(diǎn)介紹了UnitTest、Coverage(第5章),Jenkins(第6章),Locust、Selenium(第7章),以及Postman(第8章),這些開(kāi)源工具都是企業(yè)中普遍使用的工具,掌握這些工具有利于測(cè)試人員的職業(yè)發(fā)展。(4) 本書(shū)提供了相應(yīng)的測(cè)試代碼、工具操作視頻,以及全套軟件測(cè)試文檔,供讀者閱讀及下載使用。本書(shū)由張碩任主編,余哲、梁潔、陳蘇紅、周司珺任副主編。其中張碩編寫(xiě)第1~7章、第9章,余哲編寫(xiě)第8章,梁潔編寫(xiě)第10章。全書(shū)由陳蘇紅、周司珺統(tǒng)稿。本書(shū)的宗旨是提高軟件測(cè)試課程的教學(xué)質(zhì)量,讓學(xué)生真正學(xué)以致用,并緊跟時(shí)代步伐。本書(shū)具有內(nèi)容組織科學(xué)、合理、系統(tǒng),理論與實(shí)踐并重的特點(diǎn),同時(shí)課后配有相應(yīng)的習(xí)題供讀者思考、練習(xí)與鞏固。本書(shū)可以作為高等院校軟件工程專(zhuān)業(yè)、計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)、計(jì)算機(jī)應(yīng)用專(zhuān)業(yè),以及其他相關(guān)專(zhuān)業(yè)的本科生教材,可供從事軟件測(cè)試、計(jì)算機(jī)應(yīng)用等工作的人員參考,同時(shí)可供計(jì)算機(jī)軟件專(zhuān)業(yè)以及其他相關(guān)專(zhuān)業(yè)的科研人員、軟件開(kāi)發(fā)人員、軟件測(cè)試人員以及相關(guān)大專(zhuān)院校的師生參考。感謝武昌首義學(xué)院的領(lǐng)導(dǎo)和同事的支持與幫助,感謝陳蘇紅老師在第一版教材中做出的貢獻(xiàn),感謝鄭昱參與本書(shū)的審稿工作,感謝華中科技大學(xué)出版社為本書(shū)辛勤付出的所有編輯們。由于編者水平有限,書(shū)中難免存在不妥與疏漏之處,懇請(qǐng)廣大讀者批評(píng)指正。編者2025年7月
1.2008.09-2012.06 湖北大學(xué) 軟件工程 學(xué)士2.2012.09-2014.06 華中師范大學(xué) 軟件工程 碩士科研成果1.2016.6-2017.12 參與 2016 年度湖北省教育廳科學(xué)研究計(jì)劃指導(dǎo)性項(xiàng)目《RUP核心思想在軟件建模中的研究和應(yīng)用》(項(xiàng)目編號(hào):B2016374)。2.2015.09-2018.09 參與基于企業(yè)項(xiàng)目驅(qū)動(dòng)的軟件工程課程實(shí)例教學(xué)研究項(xiàng)目(校級(jí))。3.張碩,李凌.基于職業(yè)能力本位的軟件測(cè)試課程教學(xué)改革.電腦知識(shí)與技術(shù).2018.124.張碩,梁潔.問(wèn)題引入式思維下的C語(yǔ)言教學(xué)探討.科技展望.2016.115.張碩.基于WEKA的學(xué)生消費(fèi)數(shù)據(jù)的分析與挖掘.科技展望.2016.07
目錄第1章初識(shí)軟件測(cè)試(1)1.1軟件測(cè)試的起源(1)1.2軟件測(cè)試的現(xiàn)狀及發(fā)展趨勢(shì)(3)1.3軟件測(cè)試的重要性(4)1.4本章小結(jié)(6)習(xí)題1(7)第2章軟件測(cè)試基礎(chǔ)(8)2.1軟件測(cè)試的概念(8)2.1.1什么是軟件測(cè)試(8)2.1.2軟件質(zhì)量(8)2.1.3軟件缺陷(10)2.2軟件測(cè)試的原則(11)2.3軟件測(cè)試模型(12)2.3.1V模型(12)2.3.2W模型(12)2.3.3H模型(12)2.3.4敏捷測(cè)試模型(13)2.4軟件測(cè)試的分類(lèi)(14)2.4.1按照測(cè)試階段分類(lèi)(14)2.4.2按照測(cè)試技術(shù)分類(lèi)(14)2.4.3按照是否執(zhí)行代碼分類(lèi)(15)2.4.4按照測(cè)試實(shí)施主體分類(lèi)(15)2.4.5其他分類(lèi)(15)2.5軟件測(cè)試的基本流程(16)2.6本章小結(jié)(18)習(xí)題2(19)第3章黑盒測(cè)試(21)3.1黑盒測(cè)試的基本概念(21)3.2等價(jià)類(lèi)劃分法(22)3.2.1等價(jià)類(lèi)的劃分(22)3.2.2劃分等價(jià)類(lèi)的方法(23)3.2.3等價(jià)類(lèi)劃分法測(cè)試用例設(shè)計(jì)(24)3.3邊界值分析法(28)3.3.1邊界條件(28)3.3.2邊界值分析(29)3.3.3邊界值分析法測(cè)試用例設(shè)計(jì)(31)3.4邊緣測(cè)試(34)3.5判定表法(34)3.5.1判定表的組成(34)3.5.2基于判定表的測(cè)試(36)3.5.3基于判定表測(cè)試的指導(dǎo)方針(37)3.6因果圖法(38)3.6.1因果圖法的基本概念(38)3.6.2因果圖法概述(39)3.7場(chǎng)景法(42)3.8其他黑盒測(cè)試方法(44)3.8.1錯(cuò)誤推測(cè)法(44)3.8.2正交表法(44)3.8.3功能圖法(47)3.8.4黑盒測(cè)試方法的選擇(48)3.9本章小結(jié)(49)習(xí)題3(50)第4章白盒測(cè)試(55)4.1白盒測(cè)試的基本概念(55)4.2代碼檢查法(57)4.2.1代碼檢查的概念(58)4.2.2代碼檢查的方式(58)4.2.3代碼檢查項(xiàng)目(60)4.3邏輯覆蓋測(cè)試法(60)4.3.1語(yǔ)句覆蓋(61)4.3.2判定覆蓋(61)4.3.3條件覆蓋(62)4.3.4判定條件覆蓋(62)4.3.5條件組合覆蓋(62)4.3.6路徑覆蓋(63)4.4基本路徑測(cè)試(63)4.5其他白盒測(cè)試方法(66)4.5.1數(shù)據(jù)流測(cè)試(66)4.5.2程序插樁(67)4.5.3域測(cè)試(68)4.5.4程序變異測(cè)試(68)4.5.5白盒測(cè)試方法的選擇(70)4.6灰盒測(cè)試(71)4.7小結(jié)(71)習(xí)題4(72)第5章單元測(cè)試(76)5.1單元測(cè)試概述(76)5.1.1單元測(cè)試的環(huán)境(76)5.1.2單元測(cè)試的原則及意義(77)5.2單元測(cè)試的內(nèi)容(78)5.3單元測(cè)試的過(guò)程(78)5.4單元測(cè)試的主要技術(shù)(79)5.5單元測(cè)試工具(79)5.5.1單元測(cè)試工具簡(jiǎn)介(79)5.5.2UnitTest介紹(80)5.5.3UnitTest的基本用法(81)5.5.4覆蓋率統(tǒng)計(jì)工具Coverage(90)5.6小結(jié)(91)習(xí)題5(91)第6章集成測(cè)試(93)6.1集成測(cè)試概述(93)6.1.1集成測(cè)試的概念(93)6.1.2集成測(cè)試的原則(95)6.1.3集成測(cè)試過(guò)程(95)6.2基于功能分解的集成測(cè)試(96)6.2.1自頂向下集成(96)6.2.2自底向上集成(97)6.2.3三明治集成(99)6.3集成測(cè)試技術(shù)(99)6.3.1集成測(cè)試技術(shù)及內(nèi)容(99)6.3.2集成測(cè)試工具Jenkins(100)6.3.3構(gòu)建基于Python的持續(xù)交付(102)6.4小結(jié)(102)習(xí)題6(103)第7章系統(tǒng)測(cè)試(104)7.1系統(tǒng)測(cè)試(104)7.2性能測(cè)試(105)7.2.1性能測(cè)試的概念(105)7.2.2性能測(cè)試的指標(biāo)(106)7.2.3性能測(cè)試的類(lèi)型(107)7.2.4性能測(cè)試工具(108)7.3安全性測(cè)試(112)7.4易用性測(cè)試(112)7.5自動(dòng)化測(cè)試軟件(114)7.5.1自動(dòng)化測(cè)試的概念(114)7.5.2自動(dòng)化測(cè)試的分類(lèi)(114)7.5.3自動(dòng)化測(cè)試工具(116)7.5.4自動(dòng)化測(cè)試常見(jiàn)技術(shù)(116)7.6腳本錄制與回放實(shí)例(117)7.7本章小結(jié)(124)習(xí)題7(124)第8章接口測(cè)試(126)8.1接口測(cè)試概述(126)8.1.1接口的基本概念(126)8.1.2什么是接口測(cè)試(127)8.1.3接口測(cè)試的原因(127)8.1.4接口測(cè)試方法與流程(128)8.2HTTP(129)8.2.1HTTP協(xié)議概述(129)8.2.2統(tǒng)一資源定位符(130)8.2.3HTTP請(qǐng)求(131)8.2.4HTTP響應(yīng)(132)8.3接口測(cè)試工具Postman(135)8.3.1安裝Postman(136)8.3.2Postman工作區(qū)間介紹(138)8.4Postman的基本使用方法(140)8.4.1Postman斷言(140)8.4.2Postman關(guān)聯(lián)(144)8.4.3Postman參數(shù)化(147)8.5小結(jié)(153)習(xí)題8(154)第9章實(shí)用軟件測(cè)試技術(shù)(155)9.1Web應(yīng)用系統(tǒng)測(cè)試(155)9.1.1Web應(yīng)用系統(tǒng)測(cè)試基礎(chǔ)(155)9.1.2用戶(hù)界面測(cè)試(156)9.1.3功能測(cè)試(157)9.1.4性能測(cè)試(162)9.2嵌入式測(cè)試(162)9.3手機(jī)測(cè)試(163)9.3.1手機(jī)測(cè)試分類(lèi)(163)9.3.2移動(dòng)應(yīng)用軟件測(cè)試(165)9.4大數(shù)據(jù)測(cè)試技術(shù)(166)9.4.1大數(shù)據(jù)測(cè)試的基本思想(166)9.4.2大數(shù)據(jù)測(cè)試的基本流程(166)9.4.3工具的選擇(167)9.5車(chē)載測(cè)試(168)9.6小結(jié)(169)習(xí)題9(169)第10章軟件測(cè)試管理(171)10.1軟件測(cè)試管理概述(171)10.2測(cè)試管理計(jì)劃(172)10.2.1測(cè)試計(jì)劃模板(173)10.2.2測(cè)試計(jì)劃的跟蹤與監(jiān)控(175)10.3軟件測(cè)試文檔(177)10.3.1IEEE/ANSI測(cè)試文檔概述(177)10.3.2軟件生命周期各階段測(cè)試交付的文檔(178)10.3.3測(cè)試文檔類(lèi)型(179)10.4測(cè)試人員組織(182)10.4.1測(cè)試團(tuán)隊(duì)的組建(182)10.4.2軟件測(cè)試經(jīng)理(184)10.4.3測(cè)試小組的分類(lèi)(185)10.4.4測(cè)試團(tuán)隊(duì)成員的合適人選(185)10.5配置管理(187)10.6測(cè)試風(fēng)險(xiǎn)管理(188)10.7測(cè)試成本管理(190)10.7.1軟件測(cè)試成本管理概述(190)10.7.2軟件測(cè)試成本管理的一些基本概念(190)10.7.3軟件測(cè)試成本管理的基本原則和措施(192)10.8測(cè)試管理工具(192)10.8.1TestDirector測(cè)試管理工具及應(yīng)用(192)10.8.2TestManager測(cè)試管理工具簡(jiǎn)介(198)10.8.3TestLink測(cè)試管理工具簡(jiǎn)介(199)10.9小結(jié)(200)習(xí)題10(201)參考文獻(xiàn)(202)