久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

軟件測試筆記(一):軟件測試概論

 路人甲Java 2022-11-03 發(fā)布于北京

1 軟件測試目的

測試的目的就是以最少的時(shí)間和人力找出軟件中潛在的各種錯誤和缺陷,證明軟件的功能和性能與需求說明相符,Glenford J.Myers曾提出以下觀點(diǎn):

  • 測試是為了證明程序有錯,,而不是證明程序無錯誤
  • 一個好的測試用例能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤
  • 一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤

軟件測試的目的往往包含以下內(nèi)容:

  • 測試并不僅僅是為了找出錯誤,通過分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中的缺陷,,以便及時(shí)改進(jìn)
  • 測試幫助測試人員設(shè)計(jì)有針對性的測試方法,改善測試的效率和有效性
  • 沒有發(fā)現(xiàn)錯誤的測試也是有價(jià)值的,,完整的測試是評定軟件質(zhì)量的一種方法

2 軟件測試的原則

  • 軟件測試是證偽而非證真
  • 盡早地和不斷地進(jìn)行軟件測試
  • 重視無效數(shù)據(jù)和非預(yù)期的測試
  • 應(yīng)當(dāng)對每一個測試結(jié)果做全面檢查
  • 測試現(xiàn)場保護(hù)和資料歸檔
  • 程序員應(yīng)避免檢查自己的程序
  • 充分注意測試中的群集現(xiàn)象
  • 用例要定期評審

3 軟件測試分類

3.1 按測試階段劃分

可以分為:

  • 單元測試:用于檢驗(yàn)被測代碼的一個很小的,、明確的功能是否正確
  • 集成測試:對經(jīng)過單元測試的模塊之間的依賴接口的關(guān)系圖進(jìn)行測試
  • 確認(rèn)測試:用于驗(yàn)證軟件的有效性
  • 系統(tǒng)測試:將整個軟件系統(tǒng)與計(jì)算機(jī)硬件、外設(shè),、支持軟件,、數(shù)據(jù)、人員等其他系統(tǒng)元素結(jié)合起來進(jìn)行測試
  • 驗(yàn)收測試:最終用戶參與測試的過程

3.2 按執(zhí)行狀態(tài)劃分

可以分為:

  • 動態(tài)測試:運(yùn)行被測程序,,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,,并分析運(yùn)行效率和健壯性等性能,由“構(gòu)造測試實(shí)例,、執(zhí)行程序和分析程序的輸出結(jié)果”組成
  • 靜態(tài)測試:對被測程序進(jìn)行特性分析方法的總成,,是指計(jì)算機(jī)不運(yùn)行被測試的程序,而對程序和文檔進(jìn)行分析和檢查,包括走查,、符號執(zhí)行,、需求確認(rèn)等

3.3 按照測試技術(shù)劃分

可以分為:

  • 黑盒測試:也叫功能測試或數(shù)據(jù)驅(qū)動測試,測試時(shí)把程序看做不能打開的黑盒,,完全不考慮程序內(nèi)部結(jié)構(gòu)和特性,,對程序接口測試,檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,,并且保持外部信息的完整性
  • 白盒測試:又叫結(jié)構(gòu)測試或邏輯驅(qū)動測試,用于檢測產(chǎn)品內(nèi)部的結(jié)構(gòu)及檢驗(yàn)程序中的每條通路能夠按照預(yù)定要求正確工作
  • 灰盒測試:介于白盒與黑盒測試之間,,主要用于測試各個組件之間的邏輯關(guān)系是否正確,,采用樁驅(qū)動把各個函數(shù)按照一定的邏輯串起來,達(dá)到在產(chǎn)品還沒有界面的情況下的結(jié)果輸出

一般來說,,單元測試采用白盒測試的方法,,集成測試采用灰盒測試的方法,而系統(tǒng)測試和確認(rèn)測試采用黑盒測試的方法,,黑盒測試與白盒測試比較如下:

  • 規(guī)劃方面:黑盒測試用于功能測試,,而白盒測試用于結(jié)構(gòu)測試
  • 性質(zhì):黑盒測試是一種確認(rèn)(Validation )技術(shù),而白盒測試是一種驗(yàn)證(Verification)技術(shù)
  • 優(yōu)點(diǎn):黑盒測試的優(yōu)點(diǎn)包括從用戶的角度出發(fā),、適用于各階段測試,、從產(chǎn)品功能角度測試、容易入手生成測試數(shù)據(jù),,而白盒測試的優(yōu)點(diǎn)包括針對程序內(nèi)部特定部分進(jìn)行覆蓋測試,、可構(gòu)成測試數(shù)據(jù)使特定程序部分得到測試、有一定充分性的度量手段,、可獲得較多工具的支持
  • 缺點(diǎn):黑盒測試的缺點(diǎn)包括無法測試程序內(nèi)部特定部分,、某些代碼得不到測試、如果規(guī)格說明錯誤則無法發(fā)現(xiàn),、不易進(jìn)行充分性的測試,,白盒測試的缺點(diǎn)包括無法測試程序外部特性、通常不易生成測試數(shù)據(jù),、無法對未實(shí)現(xiàn)規(guī)格說明的部分進(jìn)行測試,、工作量大通常只用于單元測試
  • 應(yīng)用范圍:黑盒測試的應(yīng)用范圍包括邊界分析法、等價(jià)類劃分法,、決策表測試,,白盒測試的應(yīng)用范圍包括:語句覆蓋、判定覆蓋,、條件覆蓋,、路徑覆蓋等

3.4 按執(zhí)行主體劃分

可以分為:

  • Alpha測試:也叫驗(yàn)收測試或開發(fā)方測試,,開發(fā)者和用戶共同去檢測與證實(shí)軟件的實(shí)現(xiàn)是否滿足軟件設(shè)計(jì)說明或軟件需求規(guī)格說明的要求
  • Beta測試:通常被認(rèn)為是用戶測試,通過用戶大量使用來評價(jià)檢查軟件
  • 第三方測試:也叫獨(dú)立測試,,由第三方機(jī)構(gòu)來進(jìn)行的測試

4 軟件測試模型

軟件測試模型用于指導(dǎo)軟件測試的實(shí)踐,,常見的有:

  • V模型
  • W模型
  • H模型
  • X模型
  • 前置模型

4.1 V模型

V模型反映了測試活動與開發(fā)活動間的關(guān)系,標(biāo)明測試過程中存在的不同級別,,并清楚描述測試的各個階段和開發(fā)過程的各個階段對應(yīng)關(guān)系,。

  • 左側(cè)是開發(fā)階段:從定義軟件需求開始,把需求轉(zhuǎn)換為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),,最后形成程序代碼
  • 右側(cè)是測試階段:在代碼編寫完成后,,從單元測試開始,依次進(jìn)行集成測試,、系統(tǒng)測試和客戶驗(yàn)收測試

在這里插入圖片描述

4.2 W模型

W模型相比起V模型,,增加了軟件各開發(fā)階段中應(yīng)同步進(jìn)行的驗(yàn)證和確認(rèn)活動。W模型強(qiáng)調(diào):

  • 測試伴隨整個軟件周期
  • 測試對象不僅是程序,,需求,、設(shè)計(jì)也要測試
  • 測試與開發(fā)同步進(jìn)行

在這里插入圖片描述

4.3 H模型

H模型將測試活動完全獨(dú)立出來,使得測試準(zhǔn)備活動和測試執(zhí)行活動清晰地體現(xiàn)出來,,從而使得測試準(zhǔn)備與測試執(zhí)行分離,,有利于資源調(diào)配,減低成本,,提高效率,。

在這里插入圖片描述

4.4 X模型

在這里插入圖片描述

  • 左邊:描述的是針對單獨(dú)程序片段進(jìn)行的編碼測試,此后將進(jìn)行頻繁的交接,,通過集成最終成為可執(zhí)行程序
  • 右邊:上方定位了已通過集成測試的成品進(jìn)行封板并提交給用戶,也可作為更大規(guī)模和范圍內(nèi)集成的一部分,,下方定位了探索性測試

4.5 前置模型

前置模型將測試和開發(fā)緊密結(jié)合,,優(yōu)點(diǎn)如下:

  • 開發(fā)和測試相結(jié)合
  • 對每一個交付內(nèi)容進(jìn)行測試
  • 讓驗(yàn)收測試和技術(shù)測試保持相互獨(dú)立
  • 反復(fù)交替的開發(fā)和測試
  • 引入新的測試?yán)砟?/li>

4.6 測試模型各自特點(diǎn)

  • V模型:強(qiáng)調(diào)了整個軟件項(xiàng)目開發(fā)中需要經(jīng)歷的若干個測試級別,每個級別都與一個開發(fā)階段相對應(yīng),,但它沒有明確指出應(yīng)該對需求,、設(shè)計(jì)進(jìn)行測試
  • W模型:對V模型進(jìn)行了補(bǔ)充,強(qiáng)調(diào)了測試計(jì)劃等工作的先行和堆系統(tǒng)需求和軟件設(shè)計(jì)的測試,,但和V模型一樣,,沒有專門針對軟件測試的流程予以說明
  • H模型:表現(xiàn)了測試是獨(dú)立的,就每一個軟件的測試細(xì)節(jié)來說,,都有一個獨(dú)立的操作流程,,只要測試前提具備了,就可以開始進(jìn)行測試
  • X模型:體現(xiàn)出測試設(shè)計(jì),、測試回溯的過程,,幫助有經(jīng)驗(yàn)的測試人員在測試計(jì)劃之外發(fā)現(xiàn)軟件錯誤
  • 前置模型:前置模型將測試和開發(fā)緊密結(jié)合,反復(fù)交替第執(zhí)行

5 測試用例

5.1 定義

測試用例是指對一項(xiàng)特定的軟件產(chǎn)品進(jìn)行測試任務(wù)的描述,體現(xiàn)測試方案,、方法,、技術(shù)和策略,內(nèi)容包括:

  • 測試目標(biāo)
  • 測試環(huán)境
  • 輸入數(shù)據(jù)
  • 預(yù)期結(jié)果
  • 測試腳本

等,,最終形成文檔,。

一個測試用例具有以下屬性:

  • 優(yōu)先級次序
  • 目標(biāo)性
  • 所屬的范圍
  • 階段性
  • 狀態(tài)性
  • 時(shí)效性
  • 所有者、日期等特性

5.2 測試用例的設(shè)計(jì)方法

分為有白盒和黑盒測試相對應(yīng)的設(shè)計(jì)方法,,比如,,黑盒測試的用例設(shè)計(jì)可以采用:

  • 等價(jià)類劃分
  • 因果圖法
  • 邊值分析
  • 用戶界面測試
  • 配置測試
  • 安裝選項(xiàng)驗(yàn)證

等,而白盒測試用例的設(shè)計(jì)方法如下:

  • 采用邏輯覆蓋等結(jié)構(gòu)的測試用例設(shè)計(jì)方法
  • 基于程序結(jié)構(gòu)的域測試用例設(shè)計(jì)方法
  • 根據(jù)對象狀態(tài)或等待狀態(tài)變化來設(shè)計(jì)測試用例
  • 基于程序錯誤的變異來設(shè)計(jì)測試用例
  • 基于代數(shù)運(yùn)算符號測試的測試用例設(shè)計(jì)方法

5.3 測試用例設(shè)計(jì)誤區(qū)

  • 把測試用例設(shè)計(jì)等同于測試輸入數(shù)據(jù)的設(shè)計(jì):測試用例中輸入數(shù)據(jù)的確定只是測試用例設(shè)計(jì)的一個子集,,測試用例設(shè)計(jì)還包括如何根據(jù)測試需求,、設(shè)計(jì)規(guī)格說明書等文檔設(shè)計(jì)用例的執(zhí)行策略、執(zhí)行步驟,、預(yù)期結(jié)構(gòu),、組織管理形式等問題
  • 測試用例設(shè)計(jì)得越詳細(xì)越好:編寫過于詳細(xì)的測試用例會耗費(fèi)大量的資源,必須分析被測試軟件的特征,,運(yùn)用有效的測試用例設(shè)計(jì)手段,,盡量使用較少的測試用例,同時(shí)滿足合理的測試覆蓋
  • 追求測試用例設(shè)計(jì)“一步到位”:任何軟件項(xiàng)目的開發(fā)過程都處于不斷變化的過程中,,在測試過程中可能發(fā)現(xiàn)設(shè)計(jì)測試用例時(shí)考慮不周的地方,,需要完善,也有可能用戶對軟件功能提出新的需求變更,,需要根據(jù)軟件變化對測試用例進(jìn)行調(diào)整
  • 將多個測試用例混在一個用例中:一個測試用例包含許多內(nèi)容很容易引起混淆,,從而使得測試結(jié)果很難記錄

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多