軟件的特點(diǎn)
- 邏輯實(shí)體、沒有制造過程、沒有磨損老化、隨時(shí)間退化
- 對(duì)計(jì)算機(jī)系統(tǒng)有依賴性
- 沒有擺脫手工開發(fā)方式、實(shí)現(xiàn)起來愈加復(fù)雜
- 成本昂貴
軟件分類
- 按功能分類:1.系統(tǒng)軟件 2.支持軟件 3.應(yīng)用軟件
- 按部署結(jié)構(gòu)分類:1.單機(jī)版軟件 2.分布式軟件
按技術(shù)測(cè)試分類
黑盒測(cè)試
- 黑盒測(cè)試是指不基于內(nèi)部設(shè)計(jì)和代碼的任何知識(shí),而基于需求和功能性的的測(cè)試,黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。

白盒測(cè)試
- 白盒測(cè)試是基于一個(gè)應(yīng)用代碼的內(nèi)部邏輯知識(shí),基基于覆蓋全部代碼、分支、路徑、條件的測(cè)試。
白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。

兩者對(duì)比
白盒測(cè)試:測(cè)試依據(jù):程序內(nèi)部結(jié)構(gòu)
優(yōu)點(diǎn):能夠?qū)Τ绦騼?nèi)部的特定部位進(jìn)行覆蓋測(cè)試
缺點(diǎn):無法檢驗(yàn)程序的外特性,無法對(duì)為實(shí)現(xiàn)規(guī)格說明的程序內(nèi)部欠缺部分進(jìn)行測(cè)試
黑盒測(cè)試:測(cè)試依據(jù):需求規(guī)格說明書
優(yōu)點(diǎn):能夠站在用戶的立場上進(jìn)行測(cè)試
缺點(diǎn):不能測(cè)試程序背部特定部位,如果需求規(guī)格說明書有誤,則無法發(fā)現(xiàn)。
按測(cè)試階段分類
單元測(cè)試
集成測(cè)試
系統(tǒng)測(cè)試
驗(yàn)收測(cè)試
單元測(cè)試
單元測(cè)試又稱為模塊測(cè)試,是針對(duì)程序模塊(軟件設(shè)計(jì)的最小單位)來進(jìn)行正確性檢驗(yàn)的測(cè)試工作
單元測(cè)試的目的
1. 驗(yàn)證單元代碼和詳細(xì)設(shè)計(jì)文檔的一致性
2. 發(fā)現(xiàn)在編碼過程中引入的錯(cuò)誤
3. 減少開發(fā)人員的調(diào)試代碼時(shí)間
4. 大幅度減少后期缺陷的數(shù)量-
單元測(cè)試案例
-
求絕對(duì)值的一個(gè)方法Abs();
Public int Abs(int x){ if(x<=0) return x; else return -x; } 分析:代碼把x>=0寫成了x<=0,就出現(xiàn)了與設(shè)計(jì)不相符的錯(cuò)誤。但實(shí)際上該代碼編譯是沒有問題的。
-
集成測(cè)試
集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,將所有模塊按照概要設(shè)計(jì)要求(如根據(jù)流程圖)組裝成為子系統(tǒng)或者系統(tǒng)而進(jìn)行的測(cè)試
-
集成測(cè)試的目的
1.驗(yàn)證各個(gè)子模塊組合起來,能否達(dá)到預(yù)期要求的功能 2.驗(yàn)證一個(gè)模塊的功能是否會(huì)對(duì)另外一個(gè)模塊的功能產(chǎn)生不利的影響
系統(tǒng)測(cè)試
系統(tǒng)測(cè)試的概念:系統(tǒng)測(cè)試是通過集成測(cè)試的軟件,作為整個(gè)基于計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行全面的功能覆蓋
-
系統(tǒng)測(cè)試的目的
驗(yàn)證軟件產(chǎn)品是否滿足用戶需求 -
系統(tǒng)測(cè)試包含:
1. 功能測(cè)試:對(duì)產(chǎn)品的各個(gè)功能進(jìn)行驗(yàn)證,檢查產(chǎn)品是否達(dá)到了用戶要求的功能 2. 性能測(cè)試:通過自動(dòng)化工具模式正常、峰值及異常負(fù)載條件,檢查系統(tǒng)各項(xiàng)性能指標(biāo)是否滿足需求 3. 安全性測(cè)試:驗(yàn)證應(yīng)用程序的安全級(jí)別和識(shí)別潛在安全性缺陷 4. 易用性測(cè)試:測(cè)試用戶在使用軟件時(shí),軟件交互的使用性、功能性和有效性 5. 兼容性測(cè)試:測(cè)試軟件在不同的平臺(tái)、不同的網(wǎng)絡(luò)環(huán)境、不同的應(yīng)用軟件之間能否友好的運(yùn)行
驗(yàn)收測(cè)試
驗(yàn)收測(cè)試的概念:驗(yàn)收測(cè)試是軟件產(chǎn)品交付用戶正式使用前的最后一道工序,它是以用戶為主的測(cè)試,軟件開發(fā)和軟件測(cè)試人員也應(yīng)該參加。
-
驗(yàn)收測(cè)試的目的
確認(rèn)系統(tǒng)是否滿足用戶需求并且能夠發(fā)行 -
驗(yàn)收測(cè)試的常用方法
Alpha測(cè)試 Alpha測(cè)試是由軟件開發(fā)公司組織內(nèi)部人員模擬各類用戶對(duì)即將面市軟件產(chǎn)品(稱為Alpha版本)進(jìn)行測(cè)試,試圖發(fā)現(xiàn)錯(cuò)誤并修正。俗稱“內(nèi)部測(cè)試”。 Beta測(cè)試 Beta測(cè)試是由軟件的最終用戶們?cè)谝粋€(gè)或多個(gè)場所進(jìn)行。定期將這些問題報(bào)告給開發(fā)者,開發(fā)者對(duì)軟件產(chǎn)品進(jìn)行必要的修改,并準(zhǔn)備向全體客戶發(fā)布最終的軟件產(chǎn)品。俗稱“公開測(cè)試”。
階段測(cè)試的關(guān)系

按實(shí)施組織分類
-
開發(fā)商測(cè)試
開發(fā)商測(cè)試指的是軟件開發(fā)部門與軟件測(cè)試部門隸屬于同一個(gè)公司。本公司開發(fā)的產(chǎn)品由本公司負(fù)責(zé)測(cè)試發(fā)布維護(hù)。 -
外包測(cè)試
外包測(cè)試是企業(yè)把一套成型的產(chǎn)品交給專門的測(cè)試組織進(jìn)行測(cè)試,檢查產(chǎn)品是否達(dá)到用戶的使用標(biāo)準(zhǔn)。
軟件開發(fā)模型
- 軟件開發(fā)模型是指軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)架構(gòu)。它能清晰、直觀地表達(dá)軟件開發(fā)全過程,明確規(guī)定了要完成的主要活動(dòng)和任務(wù)。

瀑布模型
- 瀑布模型的特征
1.軟件開發(fā)的各項(xiàng)活動(dòng)嚴(yán)格按照線性方式進(jìn)行
2.當(dāng)前活動(dòng)接受上一項(xiàng)活動(dòng)的工作結(jié)果
3.當(dāng)前活動(dòng)的工作結(jié)果需要進(jìn)行驗(yàn)證 - 瀑布模型的缺點(diǎn)
1.由于開發(fā)模型是線性的,增加了開發(fā)的風(fēng)險(xiǎn)
2.早期的錯(cuò)誤可能要等到開發(fā)后期的階段才能發(fā)現(xiàn)
V模型
“V”的左端表示傳統(tǒng)的瀑布開發(fā)模型,而“V”的右端表名相應(yīng)的測(cè)試階段

敏捷模型

軟件開發(fā)人員配備與職責(zé)

測(cè)試用例的概念
- 測(cè)試用例(Test Case)是指為實(shí)施測(cè)試而向被測(cè)試系統(tǒng)提供的輸入數(shù)據(jù)、操作或各種環(huán)境設(shè)置以及期望結(jié)果的一個(gè)特定的集合。
- 測(cè)試用例貫穿于整個(gè)測(cè)試的執(zhí)行過程,是軟件測(cè)試的重要組成部分。
測(cè)試用例的依據(jù)
- 如果是需求明確則是軟件需求規(guī)格說明書,如果是需求不明確則是閱讀其他可參考文檔咨詢相關(guān)人員


測(cè)試用例的更新維護(hù)
測(cè)試用例更新
- 需求簡單,用例隨著需求細(xì)化也需要不斷細(xì)化
- 需求變化,導(dǎo)致用例變化
測(cè)試用例維護(hù)
- 一個(gè)持續(xù)的過程
- 使用配置管理工具
測(cè)試用例的作用
-
實(shí)施測(cè)試指導(dǎo)
測(cè)試人員在執(zhí)行測(cè)試的過程中嚴(yán)格按照測(cè)試用例的測(cè)試步驟逐一測(cè)試
-
指導(dǎo)測(cè)試數(shù)據(jù)的規(guī)劃
對(duì)數(shù)據(jù)正確性要求較高的測(cè)試(例如:報(bào)表),需要對(duì)數(shù)據(jù)進(jìn)行規(guī)劃,測(cè)試操作才能幽暗可查。
分析缺陷的基準(zhǔn)
測(cè)試用例的作用
- 提高功能測(cè)試覆蓋率
要確保所開發(fā)的軟件能讓最終用戶滿意,最好的辦法就是明確闡述最終用戶的期望(用戶需求),對(duì)這些期望進(jìn)行核實(shí)并確認(rèn)其有效性,測(cè)試用例直接反映了這些要核實(shí)的需求,令測(cè)試的實(shí)施明確、有依據(jù),減少了軟件功能漏測(cè)現(xiàn)象
- 指導(dǎo)腳本編寫
軟件測(cè)試行業(yè)由原來的人工測(cè)試逐步向人工測(cè)試和自動(dòng)化測(cè)試并行的方向發(fā)展。而自動(dòng)化測(cè)試的核心就是腳本測(cè)試,自動(dòng)化測(cè)試所使用的測(cè)試腳本編寫的依據(jù)就是測(cè)試用例
測(cè)試用例的設(shè)計(jì)方法
1. 等價(jià)類劃分法
2. 邊界值分析法
3. 判定表分析法
4. 因果圖分析法
5. 正交實(shí)驗(yàn)法
6. 狀態(tài)圖分析法
7. 場景分析法
等價(jià)類劃分法
-
加法器程序需求
輸入兩個(gè)兩位整數(shù),相加后,結(jié)果正確顯示。要求:1、輸入的整數(shù)值在-99到99之間(包含-99和99)2、非法輸入應(yīng)被拒絕,并顯示錯(cuò)誤信息
等價(jià)類劃分法
1. 是一種最為典型的黑盒測(cè)試方法
2. 把程序的輸入劃分成若干個(gè)部分,從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)作為測(cè)試用例
3. 每一類的代表性數(shù)據(jù)在測(cè)試中的作用等價(jià)于這一類中的其他值
設(shè)計(jì)測(cè)試用例
- 設(shè)計(jì)一個(gè)測(cè)試用例,使它能夠盡量覆蓋尚未覆蓋的有效等價(jià)類。重復(fù)該操作,從而使所有有效等價(jià)類均被覆蓋。
- 設(shè)計(jì)一個(gè)測(cè)試用例,使它能夠覆蓋一個(gè)無效等價(jià)類。重復(fù)該操作,從而使所有無效等價(jià)類均被覆蓋
邊界值分析法
- 應(yīng)當(dāng)選取正好等于、剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù)
- 重點(diǎn)測(cè)試追后一個(gè)肯定合法的數(shù)據(jù)和剛剛超過邊界的非法數(shù)據(jù)
- 通常和等價(jià)類劃分一起使用,產(chǎn)生一套完整的測(cè)試用例