本書(shū)詳盡地闡述了軟件測(cè)試的基礎(chǔ)知識(shí)及其相關(guān)的測(cè)試技術(shù),內(nèi)容包括軟件測(cè)試基礎(chǔ)、軟件測(cè)試模型與過(guò)程、軟件測(cè)試管理、黑盒測(cè)試、白盒測(cè)試、單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、面向?qū)ο筌浖臏y(cè)試、自動(dòng)化測(cè)試,Web系統(tǒng)測(cè)試案例和軟件測(cè)試實(shí)驗(yàn)。書(shū)中通過(guò)一個(gè)Web系統(tǒng)測(cè)試案例實(shí)踐本書(shū)所論述的測(cè)試?yán)碚摵图夹g(shù)。本書(shū)內(nèi)容全面、重點(diǎn)突出、理論簡(jiǎn)明、難易適中,注重基本概念和基礎(chǔ)理論,強(qiáng)調(diào)測(cè)試技術(shù)的實(shí)用性。書(shū)中結(jié)合大量的測(cè)試案例,將理論與實(shí)踐緊密結(jié)合,使讀者可以更好地理解和掌握軟件測(cè)試技術(shù),并運(yùn)用到實(shí)際測(cè)試工作中去。本書(shū)可作為高等院校、示范性軟件學(xué)院的計(jì)算機(jī)相關(guān)專(zhuān)業(yè)和軟件技術(shù)專(zhuān)業(yè)的教材,也可作為軟件測(cè)試技術(shù)初、中級(jí)培訓(xùn)教程,同時(shí)可供從事軟件開(kāi)發(fā)和軟件測(cè)試的專(zhuān)業(yè)技術(shù)人員和管理人員參閱。
隨著軟件業(yè)的迅猛發(fā)展,計(jì)算機(jī)軟件正被廣泛地應(yīng)用到社會(huì)的各個(gè)領(lǐng)域,軟件產(chǎn)品的質(zhì)量控制與管理正逐漸成為軟件企業(yè)生存與發(fā)展的關(guān)鍵。如何在有競(jìng)爭(zhēng)力的時(shí)間框架內(nèi)向客戶交付質(zhì)量令人滿意的軟件產(chǎn)品,以及如何運(yùn)用新技術(shù)來(lái)應(yīng)對(duì)軟件應(yīng)用程序日益增長(zhǎng)的復(fù)雜性等問(wèn)題越來(lái)越受到軟件企業(yè)、軟件用戶的關(guān)心與重視。由于軟件開(kāi)發(fā)周期變短,應(yīng)用程序的使用和圍繞應(yīng)用程序的技術(shù)可能每天都在變化,所以在運(yùn)作期間必須對(duì)應(yīng)用程序的質(zhì)量進(jìn)行監(jiān)控。軟件測(cè)試成為了保證軟件產(chǎn)品質(zhì)量控制、管理與檢測(cè)的重要手段。軟件測(cè)試并非是對(duì)軟件產(chǎn)品的找錯(cuò)過(guò)程,而是貫穿于軟件設(shè)計(jì)、開(kāi)發(fā)過(guò)程的始終,是一個(gè)科學(xué)的質(zhì)量控制過(guò)程。軟件質(zhì)量是指軟件產(chǎn)品中能滿足給定需求的各種特性的總和,這些特性稱(chēng)作質(zhì)量特性。ISO/IEC 9126中規(guī)定了軟件的6個(gè)質(zhì)量特性,即功能性、可靠性、易用性、效率、維護(hù)性和可移植性,每個(gè)特性包含若干子特性。由于軟件質(zhì)量特性的復(fù)雜性、抽象性及難以度量性等,使得軟件測(cè)試內(nèi)容繁多、技術(shù)復(fù)雜、過(guò)程繁雜。軟件企業(yè)已越來(lái)越意識(shí)到軟件測(cè)試的重要性。在微軟內(nèi)部,軟件測(cè)試人員與軟件開(kāi)發(fā)人員的比率一般為1.5~2.5,這也許出乎了大家對(duì)測(cè)試人員的理解,但微軟軟件開(kāi)發(fā)的實(shí)踐過(guò)程已經(jīng)證明了這種人員結(jié)構(gòu)的合理性。我國(guó)的軟件企業(yè)也逐漸加大了軟件測(cè)試在整個(gè)軟件開(kāi)發(fā)系統(tǒng)工程中的比重。近些年來(lái),測(cè)試成本的比例更有上升趨勢(shì)。縱觀國(guó)內(nèi)和國(guó)外的軟件產(chǎn)業(yè),技術(shù)上的差距當(dāng)然是存在的,但更為明顯的也是致命的差距在于產(chǎn)品質(zhì)量的控制,其中軟件測(cè)試是重要的一環(huán)。為了縮小國(guó)內(nèi)軟件測(cè)試水平與國(guó)際水平的差距,培養(yǎng)專(zhuān)業(yè)的軟件測(cè)試人才,國(guó)內(nèi)許多高校和培訓(xùn)機(jī)構(gòu)都開(kāi)設(shè)了各類(lèi)軟件測(cè)試課程。我們總結(jié)多年的軟件測(cè)試技術(shù)教學(xué)和實(shí)踐經(jīng)驗(yàn)編寫(xiě)了本書(shū)。全書(shū)共包括12章。第1章介紹軟件質(zhì)量和軟件測(cè)試的相關(guān)概念,其中包括軟件質(zhì)量保證、軟件質(zhì)量成本以及軟件測(cè)試的定義、目的、原則、分類(lèi)和測(cè)試用例的相關(guān)知識(shí)。第2章介紹軟件測(cè)試模型與過(guò)程,分別介紹軟件測(cè)試中的常見(jiàn)模型:V模型、W模型、X模型、H模型。第3章介紹軟件測(cè)試管理,重點(diǎn)介紹軟件測(cè)試的組織和管理,包括測(cè)試小組的組建、測(cè)試環(huán)境的搭建、被測(cè)件的版本管理、測(cè)試計(jì)劃、缺陷管理等相關(guān)內(nèi)容。第4章介紹黑盒測(cè)試的主要方法,包括邊界值分析、等價(jià)類(lèi)測(cè)試、基于判定表的測(cè)試、因果圖、正交試驗(yàn)設(shè)計(jì)法、錯(cuò)誤推測(cè)法等。第5章介紹白盒測(cè)試的主要方法,其中包括邏輯覆蓋測(cè)試、基本路徑測(cè)試、數(shù)據(jù)流測(cè)試、程序插裝、域測(cè)試等方法。第6章介紹單元測(cè)試的相關(guān)知識(shí),重點(diǎn)介紹單元測(cè)試的定義、環(huán)境、策略、方法、內(nèi)容以及單元測(cè)試的意義,最后通過(guò)一個(gè)案例來(lái)實(shí)踐單元測(cè)試的過(guò)程。第7章介紹集成測(cè)試的相關(guān)知識(shí),重點(diǎn)介紹集成測(cè)試的定義、集成測(cè)試的各類(lèi)方法,包括基于功能分解的集成測(cè)試、基于調(diào)用圖的集成、基于路徑的集成,最后通過(guò)一個(gè)拼圖游戲案例來(lái)實(shí)踐集成測(cè)試的過(guò)程。第8章介紹系統(tǒng)測(cè)試的相關(guān)知識(shí),重點(diǎn)介紹系統(tǒng)測(cè)試的定義、內(nèi)容,以及系統(tǒng)測(cè)試的方法。由于Web系統(tǒng)的廣泛應(yīng)用以及其軟件的特點(diǎn),本章還介紹了關(guān)于Web系統(tǒng)測(cè)試的特有方法。第9章介紹面向?qū)ο蟪绦驕y(cè)試的相關(guān)知識(shí),回顧了面向?qū)ο蟪绦蛟O(shè)計(jì)的特性:封裝、繼承、多態(tài),介紹了這些特性對(duì)測(cè)試的影響,對(duì)比了面向?qū)ο蟮臏y(cè)試方法和傳統(tǒng)測(cè)試方法。本章還介紹了面向?qū)ο筌浖䴗y(cè)試的層次以及各個(gè)層次的測(cè)試方法。第10章介紹自動(dòng)化測(cè)試的背景、自動(dòng)化測(cè)試的技術(shù)和常見(jiàn)的自動(dòng)化測(cè)試工具。第11章以一個(gè)博客網(wǎng)站為例,簡(jiǎn)要介紹Web系統(tǒng)的測(cè)試方法和流程。第12章介紹軟件測(cè)試實(shí)踐教學(xué)中適合開(kāi)展的軟件測(cè)試實(shí)驗(yàn),其中包括:軟件測(cè)試管理實(shí)驗(yàn)、軟件缺陷管理實(shí)驗(yàn)、單元測(cè)試實(shí)驗(yàn)、功能測(cè)試實(shí)驗(yàn)、性能測(cè)試實(shí)驗(yàn)、Web安全測(cè)試實(shí)驗(yàn)和綜合實(shí)驗(yàn)。教師可根據(jù)教學(xué)內(nèi)容選擇性地安排實(shí)驗(yàn)教學(xué)。本書(shū)突出案例教學(xué)的特點(diǎn),注重學(xué)生測(cè)試實(shí)踐能力的培養(yǎng)。在閱讀本書(shū)時(shí),對(duì)任何測(cè)試技術(shù),不僅要知其然,還要知其所以然。從理論到實(shí)踐,再?gòu)膶?shí)踐回歸理論。只有這樣,才能更好地領(lǐng)悟到書(shū)中所涉及的理論和技術(shù)。感謝劉自偉研究員審校了全書(shū)結(jié)構(gòu),感謝潘婭副教授提出了寶貴意見(jiàn)。感謝西安電子科技大學(xué)出版社為本書(shū)辛勤付出的所有編輯們。鑒于作者水平有限,編寫(xiě)時(shí)間倉(cāng)促,書(shū)中疏漏之處在所難免,懇請(qǐng)讀者批評(píng)指正。