本書是軟件測試方法與技術的配套實驗教材, 主要包括軟件測試的原理與方法、軟件測試的技術和軟件測試項目實踐三部分。其中軟件測試的原理與方法主要是黑盒測試的4種經典方法: 等價類劃分、邊界值法、判定表法和因果圖法的實驗原理及具體實驗案例的講述, 還有白盒測試的經典方法的實驗原理及具體實驗案例的講述; 軟件測試的技術主要是單元測試、集成測試和系統(tǒng)測試原理及具體實驗案例的講述; 利用TestDirector進行軟件測試管理。
軟件測試是一門對于工程實踐能力要求很高的課程,在整個計算機科學與技術學科的人才培養(yǎng)規(guī)劃里,是一門偏重于實踐的核心課程,旨在培養(yǎng)學生的計算機實際開發(fā)能力。目前,許多高校在計算機專業(yè)或軟件工程專業(yè)開設了這門課程,可見軟件測試課程的重要性。
事實上,由于軟件測試這門課程重在培養(yǎng)學生的工程實踐能力的特點,從軟件測試教學大綱和教學計劃可以看出,所安排的實驗節(jié)數(shù)非常多,應該是全部學時的一半以上,因為學生只有通過一個個軟件測試案例的實驗,才能夠真正掌握軟件測試的各種方法并且做到融會貫通。
目前,軟件測試課程的教材數(shù)量多而且質量都很好,但是基于培養(yǎng)軟件測試實際動手能力的實驗配套教材還不多,學生反映即使買到了合適的軟件測試教材,但是很難買到真正實用的軟件測試實驗指導用書。原因是這類書籍由于偏重實踐環(huán)節(jié),所涉及的課題和實驗的準備需要很長的時間,不像一般的理論教材那么好寫,所以出書十分困難。但是學生要想掌握軟件測試方法,在實際測試環(huán)節(jié)中,又迫切地需要好的、詳細介紹實施軟件測試方法具體步驟的實驗教程。
本人多年從事軟件工程、軟件測試及軟件質量保證的研究并講授相關課程,長期指導學生進行實際的軟件測試活動,在軟件測試的課堂上多年采用清華大學出版社出版、朱少民老師編寫的《軟件測試方法和技術》一書,按照朱老師教材的章節(jié)編寫思路,結合自己多年輔導學生進行軟件測試學習所積累的案例,編寫了這本軟件測試的實驗教程。本書充實了軟件測試方法和技術的實驗環(huán)節(jié)案例,詳細描述了各種軟件測試常用的方法和技術在實踐中應用的步驟和過程,由淺入深、循序漸進,有些章節(jié)的實驗甚至分步驟詳盡地做了闡述。所以,本書應該是一本容易入門的、淺顯易懂的實驗教材,特別適合作為一本學習軟件測試的入門實驗指導書。書中所涉及的所有案例都是筆者這些年在課堂上帶著學生反復實踐過的,相信會對學習軟件測試的讀者有所啟發(fā)。
本書設想成為清華大學出版社出版、朱少民老師編寫的《軟件測試方法和技術》一書的配套實驗類指導書,因此在內容與篇章結構上盡量與朱老師的原書一致,可以說本書是《軟件測試方法和技術》一書的實踐教程和重要補充。同時,本書注重實踐環(huán)節(jié)的積累,用具體的案例來講述軟件測試理論應用的具體方法,實用性和指導性很強。
本書對軟件測試的主要方法和重要技術均做了介紹,本著理論與實踐相結合的原則,在介紹軟件測試某個具體的方法之后,以實驗指導書的形式相應地給出一個利用此方法的實驗案例,便于讀者學習實踐。
在各章的實驗指導書中,除說明本次實驗的目的、所要求的實驗環(huán)境、本次實驗的內容之外,對于實驗相關的軟件測試理論,都以【實驗原理】的形式再次簡明扼要地加以闡明;對于軟件測試初學者感覺困難的地方,都以【實驗步驟】的形式予以具體講解,讀者只要按照實驗步驟進行操作,就可以很容易地完成整個實驗。提醒讀者不要急于閱讀【實驗指導】部分,因為【實驗指導】是類似習題答案的內容,因此為了培養(yǎng)和鍛煉自己的軟件測試能力,可以先不閱讀【實驗指導】,自己完成整個實驗之后再閱讀這一部分,看看自己的測試設計方法與【實驗指導】有什么不同,從而達到學習提高的目的。對于初學者容易犯的錯誤都以【實驗中需要注意的問題】的形式進行了概括總結。有些實驗還有【實驗拓展】部分,提出實驗拓展問題,或者是需要進一步進行實驗的內容。
對于本實驗教程的所有實驗案例,讀者都可以參閱書中的【實驗指導】,自己進行相同的實驗操作,所涉及的被測程序和相應的軟件系統(tǒng)平臺、測試工具軟件,都可以從本書指定的配套網站下載使用。
本書所涉及的多個測試實驗均可被讀者實際操作,相信許多讀者憑借本書,可以真正擺脫只能學習軟件測試理論,無法動手進行實際測試的困境。各章的實驗指導闡述細致,淺顯易懂。
本書參考了軟件測試的相關書籍以及互聯(lián)網上的一些軟件測試理論文章,特別是朱少民老師編寫的《軟件測試方法和技術》一書,對于各位作者表示深深的謝意。
本書還參考了我的學生郭瑩和范逸飛的畢業(yè)設計論文。作為畢業(yè)設計導師,向他們表示感謝。
由于本人水平有限,盡管參照了很多的文獻和聽取多方的意見,但由于時間問題和本人能力問題,書中難免存在漏洞與誤區(qū),還望讀者朋友指正。
第1篇 軟件測試的原理與方法
第1章 測試用例設計
1.1 軟件測試的基本理念
1.1.1 軟件質量
1.1.2 軟件缺陷
1.1.3 軟件測試
1.2 測試用例設計
1.2.1 測試用例的類型
1.2.2 測試用例的一般結構
1.2.3 設計測試用例需考慮的因素
第2章 黑盒測試原理與方法
2.1 黑盒測試概述
2.2 等價類劃分法
2.2.1 等價類劃分法的原理
2.2.2 等價類劃分法的實驗
2.3 邊界值分析法
2.3.1 邊界值分析法的原理
2.3.2 邊界值分析法的實驗
2.4 判定表法
2.4.1 判定表法的原理
2.4.2 判定表法的實驗
2.5 Pair—wise方法
2.5.1 Pair—wise方法的原理
2.5.2 Pair—wise方法的實驗
第3章 白盒測試原理與方法
3.1 白盒測試概述
3.1.1 語句覆蓋
3.1.2 判定覆蓋
3.1.3 條件覆蓋
3.1.4 判定/條件覆蓋
3.1.5 條件組合覆蓋
3.1.6 基本路徑覆蓋
3.1.7 白盒測試與黑盒測試的比較
3.2 白盒測試實驗
第2篇 軟件測試的技術
第4章 單元測試
4.1 單元測試概述
4.1.1 什么是單元測試
4.1.2 單元測試中的測試用例設計
4.1.3 單元測試的過程
4.1.4 單元測試的主要測試手段
4.2 單元功能測試
4.2.1 單元功能測試概述
4.2.2 單元功能測試實驗
4.3 單元邏輯覆蓋測試
4.3.1 單元邏輯覆蓋測試概述
4.3.2 靜態(tài)測試
4.3.3 驅動程序和樁程序
4.3.4 利用驅動程序和樁程序進行單元測試
4.3.5 利用JUnit進行單元測試
4.3.6 利用JUnit進行單元測試的實驗
第5章 集成和系統(tǒng)測試
5.1 集成測試概述
5.2 系統(tǒng)測試概述
5.3 利用業(yè)務流進行集成和系統(tǒng)功能測試
5.4 利用業(yè)務流進行集成和系統(tǒng)功能測試的實驗
5.5 系統(tǒng)性能測試
5.5.1 性能測試定義與要點
5.5.2 性能測試術語
5.5.3 性能測試流程
5.5.4 系統(tǒng)性能測試軟件LoadRunner
5.5.5 利用LoadRunner軟件進行系統(tǒng)性能測試的實驗
附錄A 管理信息系統(tǒng)單元測試共通點檢查表
附錄B “實驗設備管理系統(tǒng)”程序安裝說明
參考文獻