軟件質(zhì)量保證及測試 第二章 軟件測試基本概念_第1頁
軟件質(zhì)量保證及測試 第二章 軟件測試基本概念_第2頁
軟件質(zhì)量保證及測試 第二章 軟件測試基本概念_第3頁
軟件質(zhì)量保證及測試 第二章 軟件測試基本概念_第4頁
軟件質(zhì)量保證及測試 第二章 軟件測試基本概念_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

軟件測試方法和技術(shù)第2章軟件測試的基本概念第2章軟件測試的基本概念2.1軟件缺陷2.2軟件測試的分類2.3靜態(tài)測試與動態(tài)測試2.4主動測試與被動測試2.5黑盒測試與白盒測試2.6軟件測試級別2.7軟件測試計劃與用例2.8專業(yè)測試人員的責(zé)任和要求缺陷是質(zhì)量的對立面2.1軟件缺陷2.1.1軟件質(zhì)量的內(nèi)涵2.1.2軟件缺陷的定義2.1.3軟件缺陷的產(chǎn)生2.1.4軟件缺陷的構(gòu)成2.1.5修復(fù)軟件缺陷的代價軟件質(zhì)量的內(nèi)涵軟件質(zhì)量:軟件產(chǎn)品滿足規(guī)定的和隱含的與需求能力有關(guān)的全部特征和特性。包括:軟件產(chǎn)品滿足使用要求的程度軟件各種屬性的組合程度用戶對軟件產(chǎn)品的綜合反映程度軟件在使用過程中滿足用戶要求的程度

軟件質(zhì)量模型從測量的角度看,影響軟件質(zhì)量的因素可以分為兩大類:可直接測量(如每個功能點(diǎn)的錯誤);間接度量(如可用性、可維護(hù)性)1、McCall模型McCall軟件質(zhì)量模型產(chǎn)品轉(zhuǎn)換產(chǎn)品修改產(chǎn)品運(yùn)行正確性可靠性效率完整性可用性可移植性重復(fù)性互用性可維護(hù)性可測試性靈活性ISO9126軟件質(zhì)量三層模型軟件產(chǎn)品質(zhì)量屬性根據(jù)ISO9126,軟件產(chǎn)品質(zhì)量可以歸納為以下屬性:(1)功能性(functionlity):在指定條件下,軟件產(chǎn)品滿足明確和隱含要求功能的能力匹配性:軟件為指定的任務(wù)和用戶目標(biāo)提供一組合適功能的能力精確性:軟件提供所需精確度的正確或相符結(jié)果及效果的能力互用性:軟件產(chǎn)品與一個或更多規(guī)定系統(tǒng)進(jìn)行交互的能力安全性:軟件產(chǎn)品保護(hù)信息和數(shù)據(jù)的能力(2)可靠性(reliability):在指定條件使用時,軟件產(chǎn)品維持規(guī)定的性能級別的能力成熟性:軟件產(chǎn)品為避免由軟件中錯誤而導(dǎo)致失效的能力容錯能力:在軟件失效或者違反規(guī)定的接口的情況下,軟件產(chǎn)品維持規(guī)定的性能級別的能力可恢復(fù)性:在發(fā)生故障的情況下,軟件重建規(guī)定的性能級別并恢復(fù)受直接影響的數(shù)據(jù)的能力軟件產(chǎn)品質(zhì)量屬性(3)可用性(usability):在指定條件使用時,軟件產(chǎn)品被理解、學(xué)習(xí)、使用和吸引用戶的能力可理解性:完成特定任務(wù)的功能明顯性和適用性可學(xué)習(xí)性:軟件產(chǎn)品使用戶能學(xué)習(xí)它的應(yīng)用的能力可操作性:軟件產(chǎn)品使用戶能操作和控制它的能力*吸引性:軟件產(chǎn)品吸引用戶的能力軟件產(chǎn)品質(zhì)量屬性(4)效率(efficiency):在規(guī)定條件下,相對于所用資源數(shù)量,軟件產(chǎn)品提供適當(dāng)性能的能力時間表現(xiàn):在規(guī)定條件下,軟件產(chǎn)品執(zhí)行其功能時,提供適當(dāng)?shù)捻憫?yīng)和處理時間以及吞吐量的能力資源表現(xiàn):在規(guī)定條件下,軟件產(chǎn)品執(zhí)行其功能時,使用合適的數(shù)量和類型的資源的能力軟件產(chǎn)品質(zhì)量屬性(5)可維護(hù)性(maintainability):軟件產(chǎn)品可被修改的能力,包括修正、改進(jìn)或軟件適應(yīng)環(huán)境、需求和功能規(guī)格說明中的變化可分析性:軟件診斷缺陷或失效原因以及判定修改部分的能力可變化性:軟件產(chǎn)品使指定的修改可以被實現(xiàn)的能力穩(wěn)定性:軟件產(chǎn)品避免由于軟件修改而造成意外結(jié)果的能力可測試性:軟件產(chǎn)品使已修改軟件能被確認(rèn)的能力軟件產(chǎn)品質(zhì)量屬性(6)可移植性(portability):軟件產(chǎn)品從一種環(huán)境遷移到另外一種環(huán)境的能力適應(yīng)性:軟件產(chǎn)品無需采用手段就可能適應(yīng)不同的指定環(huán)境的能力易安裝性:軟件產(chǎn)品在指定環(huán)境中被安裝的能力一致性:軟件在公共環(huán)境中分享資源與其它獨(dú)立軟件共存的能力可替換性:在環(huán)境、目的相同的情況下替代另一個指定軟件的能力軟件產(chǎn)品質(zhì)量屬性14根據(jù)ISO/IECTR9126(2003)或ISO/IEC25000(2010)系列標(biāo)準(zhǔn),軟件質(zhì)量可以分為:內(nèi)部質(zhì)量、外部質(zhì)量、使用質(zhì)量,三者關(guān)系如圖:軟件質(zhì)量模型內(nèi)部和外部質(zhì)量模型使用質(zhì)量模型16使用質(zhì)量有效性生產(chǎn)率安全滿意度軟件質(zhì)量的度量

17軟件質(zhì)量的度量主要是根據(jù)軟件生存周期中對軟件質(zhì)量的要求所進(jìn)行的一項活動。它主要分為三方面:外部度量、內(nèi)部度量和使用度量。外部度量—測試和使用軟件產(chǎn)品過程中進(jìn)行內(nèi)部度量—軟件設(shè)計和編碼過程中進(jìn)行使用質(zhì)量的度量—在用戶使用過程中完成的2.1.2軟件缺陷的定義IEEE(1983)729軟件缺陷一個標(biāo)準(zhǔn)的定義:從產(chǎn)品內(nèi)部看,軟件缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過程中所存在的錯誤、毛病等各種問題;從外部看,軟件缺陷是系統(tǒng)所需要實現(xiàn)的某種功能的失效或違背。軟件缺陷的現(xiàn)象功能、特性沒有實現(xiàn)或部分實現(xiàn)設(shè)計不合理,存在缺陷實際結(jié)果和預(yù)期結(jié)果不一致運(yùn)行出錯,包括運(yùn)行中斷、系統(tǒng)崩潰、界面混亂數(shù)據(jù)結(jié)果不正確、精度不夠用戶不能接受的其他問題,如存取時間過長、界面不美觀軟件缺陷的產(chǎn)生技術(shù)問題算法錯誤,語法錯誤,計算和精度問題,接口參數(shù)傳遞不匹配團(tuán)隊工作溝通不充分,誤解軟件本身文檔錯誤、用戶使用場合(userscenario),時間上不協(xié)調(diào)、或不一致性所帶來的問題系統(tǒng)的自我恢復(fù)或數(shù)據(jù)的異地備份、災(zāi)難性恢復(fù)等問題軟件缺陷構(gòu)成需求41%初步設(shè)計12%設(shè)計24%代碼23%缺陷成本2.2軟件測試的分類(1)按照是否運(yùn)行程序劃分為:靜態(tài)測試、動態(tài)測試(2)按照測試的方法劃分為:主動測試、被動測試(3)按照測試用例設(shè)計方法劃分為:白盒測試、黑盒測試、灰盒測試(4)按照開發(fā)階段劃分為:單元測試、集成測試、系統(tǒng)測試、驗收測試、α測試、β測試(5)按照測試中是否使用工具劃分手工測試、自動化測試(6)按照實施測試的組織劃分為:開發(fā)方測試、用戶測試、第三方測試2.3靜態(tài)測試和動態(tài)測試狹義的測試:(早期)將測試局限于對程序進(jìn)行動態(tài)測試。廣義的測試:(現(xiàn)在)將需求和設(shè)計的評審納入測試范疇。靜態(tài)測試包括對軟件產(chǎn)品的需求和設(shè)計規(guī)格說明書的評審、對程序代碼的復(fù)審等。動態(tài)測試是通過真正運(yùn)行程序發(fā)現(xiàn)錯誤,通過觀察代碼運(yùn)行過程,來獲取系統(tǒng)信息,對系統(tǒng)行為進(jìn)行驗證。靜態(tài)測試和動態(tài)測試產(chǎn)品評審靜態(tài)分析驗證和確認(rèn)靜態(tài)測試2.3.1

產(chǎn)品評審目的:通過軟件評審,可以更早地發(fā)現(xiàn)需求工程、軟件設(shè)計等各個方面的問題,大大減少大量的后期返工,將質(zhì)量成本從昂貴的后期返工轉(zhuǎn)化為前期的缺陷發(fā)現(xiàn)。定義:評審是對軟件元素或者項目狀態(tài)的一種評估手段,以確定其是否與計劃的結(jié)果保持一致,并使其得到改進(jìn)。檢驗工作產(chǎn)品是否正確地滿足了以往工作產(chǎn)品中建立的規(guī)范。2.3.2

靜態(tài)分析兩種手段:人工檢測:人工檢測偏重于編碼風(fēng)格、質(zhì)量的檢驗,對設(shè)計、代碼進(jìn)行分析,有效地發(fā)現(xiàn)邏輯設(shè)計和編碼錯誤。計算機(jī)輔助靜態(tài)分析:利用靜態(tài)分析工具對被測程序進(jìn)行特性分析,從程序中提取一些信息,以便檢查程序邏輯的各種缺陷和可疑的程序構(gòu)造。2.3.3驗證和確認(rèn)(V&V)Verification:是否正確地構(gòu)造了軟件?即是否正確地做事,驗證開發(fā)過程是否遵守已定義好的內(nèi)容。驗證產(chǎn)品滿足規(guī)格設(shè)計說明書的一致性Validation:是否構(gòu)造了正是用戶所需要的軟件?即是否正在做正確的事。驗證產(chǎn)品所實現(xiàn)的功能是否滿足用戶的需求2.4

主動測試和被動測試主動測試方法:測試人員主動向被測試對象發(fā)送請求、或借助數(shù)據(jù)、事件驅(qū)動被測試對象的行為,從而驗證被測試對象的反應(yīng)或輸出結(jié)果被動測試方法:測試人員不干預(yù)產(chǎn)品的運(yùn)行,而是被動地監(jiān)控產(chǎn)品在實際環(huán)境中運(yùn)行,通過一定的被動機(jī)制來獲得系統(tǒng)運(yùn)行的數(shù)據(jù),包括輸入、輸出數(shù)據(jù)。2.5白盒測試和黑盒測試功能測試數(shù)據(jù)驅(qū)動測試結(jié)構(gòu)測試邏輯驅(qū)動測試

客戶需求事件驅(qū)動輸入輸出白盒測試黑盒測試被測軟件系統(tǒng)白盒測試和黑盒測試2.6軟件測試級別調(diào)試組件功能

健壯性

效率組件之間的接口系統(tǒng)功能

安全性

健壯性

效率

功能及用戶界面

安全性

效率

用戶的可接受性組件測試集成測試系統(tǒng)測試實現(xiàn)(編碼)驗收測試單元測試單元測試單元測試:針對程序系統(tǒng)中的最小單元---模塊或組件進(jìn)行測試,一般和編碼同步進(jìn)行。主要采用白盒測試方法,從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例,檢查程序模塊或組件的已實現(xiàn)的功能與定義的功能是否一致、以及編碼中是否存在錯誤。通常要編寫驅(qū)動模塊和樁模塊。單元測試一般由編程人員和測試人員共同完成,而以開發(fā)人員為主。單元測試包括代碼評審,代碼評審可以發(fā)現(xiàn)程序50%~70%代碼的缺陷。集成測試集成測試:也稱組裝測試、聯(lián)合測試,在單元測試的基礎(chǔ)上,將模塊按照設(shè)計要求組裝起來同時進(jìn)行測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的模塊之間問題。兩種集成方式:一次性集成方式和增殖式集成方式。系統(tǒng)測試系統(tǒng)功能測試:一般須在完成集成測試后進(jìn)行,而且是針對應(yīng)用系統(tǒng)進(jìn)行測試。功能測試是基于產(chǎn)品功能說明書,是在已知產(chǎn)品所應(yīng)具有的功能,從用戶角度來進(jìn)行功能驗證,以確認(rèn)每個功能是否都能正常使用系統(tǒng)非功能性測試:是將軟件放在整個計算機(jī)環(huán)境下,包括軟硬件平臺、某些支持軟件、數(shù)據(jù)和人員等,在實際運(yùn)行環(huán)境下進(jìn)行一系列的測試,包括:負(fù)載測試災(zāi)難恢復(fù)性測試可靠性測試性能測試安全測試……驗收測試&安裝測試驗收測試:目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作,驗證軟件的功能和性能如同用戶所合理期待的那樣安裝測試:指按照軟件產(chǎn)品安裝手冊或相應(yīng)的文檔,在一個和用戶使用該產(chǎn)品完全一樣的環(huán)境中或相當(dāng)于用戶使用環(huán)境中,進(jìn)行一步一步的安裝操作性的測試α、β測試α測試:指軟件開發(fā)公司組織內(nèi)部人員開始使用新產(chǎn)品(稱為α版本),在實際運(yùn)行環(huán)境和真實應(yīng)用過程中發(fā)現(xiàn)測試階段所沒有發(fā)現(xiàn)的缺陷。經(jīng)過α測試調(diào)整的軟件產(chǎn)品稱為β版本。β測試:指公司外部的典型用戶試用,并要求用戶報告異常情況、提出批評意見,然后再對β版本進(jìn)行修正和完善,最終得到正式發(fā)布的版本。(常見的試用版本)2.7軟件測試計劃和測試用例軟件測試工作范疇分兩個層次:軟件測試工作的組織與管理:制定測試策略、測試計劃,確認(rèn)所采用的測試方法與規(guī)范,控制測試進(jìn)度,管理測試資源。測試工作的實施:編制符合標(biāo)準(zhǔn)的測試文檔,搭建測試環(huán)境,開發(fā)測試腳本、與開發(fā)組織協(xié)作實現(xiàn)各階段的測試活動測試工作流程測試計劃內(nèi)容目標(biāo)和范圍項目估算風(fēng)險計劃進(jìn)度安排資源配置跟蹤和控制機(jī)制P30測試用例測試用例是測試人員在測試過程中的重要參考依據(jù)測試用例將有助于節(jié)約測試時間,提高測試效率。良好的測試用例不斷地被重復(fù)使用,使得測試過程事半功倍測試用例是一個知識積累的過程P302.8專業(yè)測試人員的責(zé)任與要求QA/測試經(jīng)理:人員管理,資源調(diào)配、測試方法改進(jìn)等;實驗室管理人員:設(shè)置、配置和維護(hù)實驗室的測試環(huán)境內(nèi)審員:審查流程,建立測試模板,跟蹤缺陷測試報告的質(zhì)量等;測試組長:負(fù)責(zé)項目的管理、測試計劃、測試用例、任務(wù)安排等;測試設(shè)計人員/資深測試工程師:產(chǎn)品設(shè)計規(guī)格說明書的審查、測試用例的設(shè)計、技術(shù)難題的解決、培訓(xùn)和指導(dǎo)、實際測試任務(wù)的執(zhí)行;一般(初級)測試工程師:執(zhí)行測試用例和相關(guān)的測試任務(wù)。對測試人員的要求技術(shù),編程能力責(zé)任感、耐力

溝通能力、理解能力

分析問題能力(批判性思維)

項目管理能力

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論