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