软件测试的基本知识
軟件測試基本概念
1、軟件=程序+文檔,軟件測試=程序測試+文檔測試。
“程序”是指能夠?qū)崿F(xiàn)某種功能的指令的集合,“文檔”是指軟件在開發(fā)、使用和維護過程中產(chǎn)生的圖文集合。;
2、軟件的分類
按功能分:系統(tǒng)軟件、應(yīng)用軟件
按技術(shù)架構(gòu)分:單機版軟件、C/S結(jié)構(gòu)軟件(C是指客戶端, S指服務(wù)器端)、B/S結(jié)構(gòu)軟件(B是指瀏覽器)
按照用戶劃分:產(chǎn)品軟件、項目軟件
按開發(fā)規(guī)模劃分:小型、中型、大型
3、BUG的定義:軟件的BUG指的是軟件中(包括程序和文檔)不符合用戶需求的問題。常見的軟件BUG分三種類型:完全沒有實現(xiàn)的功能;基本實現(xiàn)了用戶需求的功能;實現(xiàn)了用戶不需要的功能。
4、測試環(huán)境=軟件+網(wǎng)絡(luò)+硬件。搭建環(huán)境:真實、干凈、無毒、獨立
5、軟件環(huán)境的分類:軟件開發(fā)環(huán)境\軟件生產(chǎn)運行環(huán)境
6、測試用例:指在測試執(zhí)行之前設(shè)計的一套詳細(xì)的測試方案,包括測試環(huán)境、測試步驟、測試數(shù)據(jù)和與其結(jié)果!測試用例=輸入+輸出+測試環(huán)境。測試用例有兩個模板,word和excel,前者適合性能測試,后者適合功能測試。
軟件測試分類
1、黑盒測試:指的是把被測的軟件看作是一個黑盒子,我們不去關(guān)心盒子里面的結(jié)構(gòu)是什么樣子的,只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果
???白盒測試:指的是把盒子蓋打開,去研究里面的源代碼和程序結(jié)構(gòu)。
2、靜態(tài)測試:是指不實際運行被測軟件,而只是靜態(tài)的檢查程序代碼、界面或文檔中可能存在的錯誤的過程。
???動態(tài)測試:是指實際運行被測程序,輸入相應(yīng)的測試數(shù)據(jù),檢查實際輸出結(jié)果和預(yù)期結(jié)果是否相符的過程,所以我們判斷一個測試屬于動態(tài)測試還是靜態(tài)測試,唯一的標(biāo)準(zhǔn)就是看是否運行程序。
???注:同一個測試,既有可能屬于黑盒測試,也有可能屬于動態(tài)測試;既有可能屬于靜態(tài)測試,也有可能屬于白盒測試。他們之間也有可能交叉。
3、單元測試:編譯運行程序——靜態(tài)測試——動態(tài)測試
???集成測試:是單元測試的下一個階段,是指將通過測試的單元模塊組裝成系統(tǒng)或子系統(tǒng),再進行測試,重點測試不同模塊的接口部分。
???系統(tǒng)測試:指的是將整個軟件系統(tǒng)看作1個整體進行測試,包括對功能、性能,以及軟件所運行的軟硬件環(huán)境進行測試。
???驗收測試:指的是在系統(tǒng)測試的后期,以用戶測試為主,或有測試人員等質(zhì)量保障人員共同參與的測試,它也是軟件正式交給用戶使用的最后一道工序.
???驗收測試又分為α測試和β測試,其實α測試指的是由用戶、測試人員、開發(fā)人員等共同參與的內(nèi)部測試,而β測試指的是內(nèi)側(cè)后的公測,即完全交給最終用戶測試。
4、功能測試:是黑盒測試的一方面,它檢查實際軟件的功能是否符合用戶的需求。功能測試又可以細(xì)分為很多種:邏輯功能測試、界面測試、易用性測試、安裝測試、兼容性測試等。
???性能測試:軟件的性能包括很多方面,主要有時間性能和空間性能兩種。時間性能:主要指軟件的一個具體事務(wù)的響應(yīng)時間。空間性能:主要指軟件運行時所消耗的系統(tǒng)資源。
???軟件性能測試分為一般性能測試、穩(wěn)定性測試、負(fù)載測試和壓力測試。一般性能測試指的是讓被測系統(tǒng)在正常的軟硬件環(huán)境下運行,不向其施加任何壓力的性能測試。穩(wěn)定性測試,也叫可靠性測試,是指連續(xù)運行內(nèi)測系統(tǒng),檢查系統(tǒng)運行時的穩(wěn)定程度。我們通常用MTBF(錯誤發(fā)生的平均時間間隔)來衡量系統(tǒng)的穩(wěn)定性,越大穩(wěn)定性越強。負(fù)載測試是性能測試的一種,通常是指讓被測系統(tǒng)在其能忍受的極限范圍之內(nèi)連續(xù)運行,來測試系統(tǒng)的穩(wěn)定性。壓力測試是性能測試的一種,通常是指連續(xù)不斷地給被測系統(tǒng)增加壓力,直到將被測系統(tǒng)壓垮為止,用來測試系統(tǒng)所能承受的最大壓力。
????????????假設(shè)一個人很輕松的就能背一袋米,背兩袋米很吃力,最多就能背三袋米,那么:
????????????一般性能測試:我就讓他背一袋米
????????????穩(wěn)定性測試:我讓他背一袋米,但是讓他去操場上跑圈,看多久累倒。
????????????負(fù)載測試:我讓他背兩袋米去操場上跑圈,看多久累倒。
????????????壓力測試:我讓他背兩袋米,三袋米,四袋米......發(fā)現(xiàn)他最多就能背三袋米。
5、回歸測試:是指對軟件的新的版本測試時,重復(fù)執(zhí)行上一個版本測試時的用例
???冒煙測試:是指在對一個新版本進行西戎大規(guī)模的測試之前,先驗證一下軟件的基本功能是否可以實現(xiàn),是否具備可測性
???隨機測試:是指測試中所有的輸入數(shù)據(jù)都是都是隨機生成的,其目的是模擬用戶的真是操作,并發(fā)現(xiàn)一些邊緣的錯誤。
6、關(guān)系
測試工程師
1、測試工程應(yīng)該具備的基本職業(yè)素質(zhì):三心二意一能力。三心:細(xì)心、耐心、信心。二意:服務(wù)意識、團隊意識。一能力:溝通能力。
2、如何成為一名優(yōu)秀的測試工程師:內(nèi)功(基礎(chǔ)知識:計算機硬件、網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫等)、測試技術(shù)(黑盒測試中等價類、邊界值、因果圖等,白盒測試中的語句覆蓋、分支覆蓋、路徑覆蓋等)
???1)、不斷學(xué)習(xí)充電
???2)、閱讀原版書籍
???3)、閱讀缺陷管理系統(tǒng)中的缺陷報告
???4)、閱讀高手寫的測試用例
???5)、學(xué)習(xí)產(chǎn)品相關(guān)的業(yè)務(wù)知識
3、SQA——軟件質(zhì)量保障,CMM是SQA用來監(jiān)督項目的一個標(biāo)準(zhǔn)質(zhì)量模型,SQA按照CMM上面各種規(guī)則來檢驗各種各樣的項目。CMM——能力成熟度模型
4、軟件測試的原則:
???1)、Zero bug——指的是軟件沒有任何bug,沒有bug是不可能的,我們只能想方設(shè)法把軟件的bug數(shù)控制在可以忍受的范圍之內(nèi)。Good enough——指的是只要軟件達到一定的質(zhì)量要求,就可以停止測試了。
???2)、不要試圖窮舉測試
???3)、開發(fā)人員不能既是運動員又是裁判員
???4)、軟件測試要盡早執(zhí)行
???5)、軟件測試應(yīng)該追溯需求
???6)、缺陷的二八定理——缺陷的集群現(xiàn)象或是蟲子窩現(xiàn)象
???7)、缺陷具有免疫性
黑盒測試技術(shù)
等價類技術(shù)、邊界值技術(shù)、因果圖法、流程圖法
缺陷管理
1、BUG的分類
Bug嚴(yán)重級別(Severity,Bug級別):是指因缺陷引起的故障對軟件產(chǎn)品的影響程度。由測試人員指定。
A
錯誤導(dǎo)致了死機、產(chǎn)品失敗(“崩潰”)、系統(tǒng)懸掛無法操作;
B
功能未實現(xiàn)或?qū)е乱粋€特性不能運行并且不可能有替代方案(包括計算錯誤);
C
錯誤導(dǎo)致了一個特性不能運行但可有一個替代方案;
D
錯誤是表面化或微小的(提示信息不太準(zhǔn)確友好、錯別字、UI布局或罕見故障等),對功能幾乎沒有影響,產(chǎn)品及屬性仍可使用;
E
建設(shè)性的意見或建議。
Bug優(yōu)先級(Priority):指缺陷必須被修復(fù)的緊急程度。由Bug分配者(開發(fā)組長/經(jīng)理)指定。5
阻止相關(guān)開發(fā)人員的進一步開發(fā)活動,立即進行修復(fù)工作;阻止與此密切相關(guān)功能的進一步測試
4
必須修改,發(fā)版前必須修正
3
必須修改,不一定馬上修改,但需確定在某個特定里程碑結(jié)束前須修正
2
如果時間允許應(yīng)該修改
1
允許不修改
缺陷類型(Type):是根據(jù)缺陷的自然屬性劃分的缺陷種類。
Build
由于配置庫、變更管理或版本控制引起的錯誤。
Data
數(shù)據(jù)、數(shù)據(jù)庫、計算錯誤等。
Function
影響了重要的特性、產(chǎn)品接口、硬件結(jié)構(gòu)接口和全局?jǐn)?shù)據(jù)結(jié)構(gòu)。如邏輯,指針,循環(huán),遞歸,功能等缺陷。
Interface
與其他組件、模塊或設(shè)備驅(qū)動程序、調(diào)用參數(shù)、控制塊或參數(shù)列表相互影響的接口缺陷。
Performance
不滿足系統(tǒng)可測量的屬性值,如:執(zhí)行時間,事務(wù)處理速率等。
Requirement
需求方面缺陷如(不明確、錯誤、考慮不全面等等)。
User Interface(簡寫UI)
人機交互特性:屏幕格式,頁面排版、控件位置等方面的缺陷。
其它
未知錯誤
Bug狀態(tài)(Status):指缺陷通過一個跟蹤修復(fù)過程的進展情況。包括Open、Fixed、Closed及Postponed等Open
為測試人員新問題提交所標(biāo)志的狀態(tài)。為任務(wù)分配人(開發(fā)組長/經(jīng)理)對該問題準(zhǔn)備進行修改并對該問題分配修改人員所標(biāo)志的狀態(tài)。Bug解決中的狀態(tài),由任務(wù)分配人改變。對沒有進入此狀態(tài)的Bug,程序員不用管。
Fixed
為開發(fā)人員修改問題后所標(biāo)志的狀態(tài),修改后還未測試。
Closed
為測試人員對修改問題進行驗證后通過所標(biāo)志的狀態(tài)。由測試人員改變。
Postponed
1、由于開發(fā)時間、進度、重要程度或者技術(shù)/設(shè)計/需求等方面的原因,認(rèn)為不能解決、須延期解決、或者本版不做留待到后續(xù)版本解決的Bug;
2、因設(shè)計結(jié)構(gòu)問題無法修改。測試人員認(rèn)為是Bug,不符合邏輯,也不符合用戶的要求,但開發(fā)人員則認(rèn)為是按照設(shè)計做的、只能如此處理,否則修改代價太大,這種問題可以拖后處理
duplicated
bug重復(fù)提交
Not error
測試員理解錯,不是bug,測試員提錯了
2、提交BUG注意事項:確保重現(xiàn)、要用最少且必要的步驟描述BUG、簡潔準(zhǔn)確完整、一個BUG一個報告
3、常見的BUG管理工具:TD、Track Record、Clearquest、Bugzilla、Mantis、JIRA
測試管理
測試周期:計劃——測試設(shè)計——測試執(zhí)行——測試評估
軟件測試工具簡介
1、一般軟件測試工具分為黑盒測試工具、白盒測試工具、測試管理工具
2、MI loadrunner——性能測試,MI winrunner——功能測試,MI testdirector——測試管理工具,MI QTP——功能測試工具......
轉(zhuǎn)載于:https://www.cnblogs.com/sj1992042607/p/7237838.html
總結(jié)
- 上一篇: boost库shared_ptr实现桥接
- 下一篇: Bootstrap 3 Typeahea