一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

一文搞懂軟件測試,完整總結(jié)軟件測試基礎(chǔ)知識

 曲鳥 2022-01-10

一、軟件測試的基本概念

1.測試是軟件生存周期中十分重要的一個過程,是產(chǎn)品發(fā)布、提交給最終用戶前的穩(wěn)定化階段。

2.軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程?;蛘哒f,軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序內(nèi)部結(jié)構(gòu)而精心設(shè)計的一批

二、軟件測試的目的

1.基于不同的立場,存在著兩種完全不同的測試目的。

2.從用戶的角度出發(fā),普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,以考慮是否可接受該產(chǎn)品。

3.從軟件開發(fā)者的角度出發(fā),則希望測試成為表明軟件產(chǎn)品中不存在錯誤的過程,驗(yàn)證該軟件已正確地實(shí)現(xiàn)了用戶的要求,確立人們對軟件質(zhì)量的信心。
換言之,測試的目的是想以最少的時間和人力,系統(tǒng)地找出軟件中潛在的各種錯誤和缺陷。

4.測試的目標(biāo)是能夠以耗費(fèi)最少時間與最小工作量找出軟件系統(tǒng)中潛在的各種錯誤與缺陷。另外,我們應(yīng)該認(rèn)識到:測試只能證明程序中錯誤的存在,但不能證明程序中沒有錯誤。因?yàn)榧词箤?shí)施了最嚴(yán)格的測試,仍然可能還有尚未被發(fā)現(xiàn)的錯誤或缺陷存在于程序當(dāng)中,因而測試不能證明程序沒有錯誤,但可能查出程序中的錯誤。

三、軟件測試的原則

1.盡早地并不斷地進(jìn)行軟件測試。

2.程序員或程序設(shè)計機(jī)構(gòu)應(yīng)避免測試自己設(shè)計的程序。

3.測試用例中不僅要有輸入數(shù)據(jù),還要有與之對應(yīng)的預(yù)期結(jié)果。

4.測試用例的設(shè)計不僅要有合法的輸入數(shù)據(jù),還要有非法的輸入數(shù)據(jù)。

5.在對程序修改之后要進(jìn)行回歸測試。

6.程序中尚未發(fā)現(xiàn)的錯誤的數(shù)量通常與該程序中已發(fā)現(xiàn)的錯誤的數(shù)量成正比。

7.妥善保留測試計劃、全部測試用例、出錯統(tǒng)計和最終分析報告,并把它們作為軟件的組成部分之一,為維護(hù)提供方便。

8.應(yīng)當(dāng)對每一個測試結(jié)果做全面檢查。

9.嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性。測試計劃內(nèi)容應(yīng)包括:所測軟件的功能、輸入和輸出、測試內(nèi)容、各項(xiàng)測試的進(jìn)度安排、資源要求、測試資料、測試工具、測試用例的選擇、測試的控制方式和過程、系統(tǒng)組裝方式、跟蹤規(guī)程、調(diào)試規(guī)程、回歸測試的規(guī)定以及評價標(biāo)準(zhǔn)等。

三、軟件測試的對象

1.軟件測試并不等于程序測試。軟件測試應(yīng)貫穿于軟件定義與開發(fā)的整個期間。

2.需求分析、概要設(shè)計、詳細(xì)設(shè)計以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說明、概要設(shè)計規(guī)格說明、詳細(xì)設(shè)計規(guī)格說明以及源程序,都應(yīng)成為軟件測試的對象。

四、軟件測試的對象

1.從測試方法的角度可以分為手工測試和自動化測試:
1)手工測試:不使用任何測試工具,根據(jù)事先設(shè)計好的測試用例來運(yùn)行系統(tǒng),測試各功能模塊。
2)自動化測試:利用測試工具,通過編寫測試腳本和輸入測試數(shù)據(jù),自動運(yùn)行測試程序。

2.兩種常用的測試方法:黑盒測試、白盒測試

五、黑盒測試

1.這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。

2.黑盒測試法是根據(jù)被測程序功能來進(jìn)行測試,所以通常又叫做功能測試或數(shù)據(jù)驅(qū)動測試

3.黑盒測試方法是在程序接口上進(jìn)行測試,主要是為了發(fā)現(xiàn)以下錯誤:
1)是否有不正確或遺漏了的功能
2)在接口上,輸入能否正確地接受?能否輸出正確的結(jié)果?
3)是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤?
4)性能上是否能夠滿足要求?
5)是否有初始化或終止性錯誤?
6)用黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的輸出。
但這是不可能的。

六、黑盒測試的測試用例設(shè)計

1.等價類劃分

等價類劃分是一種典型的黑盒測試方法,使用這一方法時, 完全不考慮程序的內(nèi)部結(jié)構(gòu),只依據(jù)程序的規(guī)格說明來設(shè)計測試用例。
等價類劃分方法把所有可能的輸入數(shù)據(jù),即程序的輸入域 ,劃分成若干部分,然后從每一部分中選取少數(shù)有代表性的數(shù)據(jù)做為測試用例。
使用這一方法設(shè)計測試用例要經(jīng)歷劃分等價類(列出等價類表)和選取測試用例兩步。

等價類是指某個輸入域的子集合。在該子集合中, 各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的。測試某等價類的代表值就等價于對這一類其它值的測試。
等價類的劃分有兩種不同的情況:
①有效等價類:是指對于程序的規(guī)格說明來說,是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合。
②無效等價類:是指對于程序的規(guī)格說明來說,是不合理的,無意義的輸入數(shù)據(jù)構(gòu)成的集合。
在設(shè)計測試用例時,要同時考慮有效等價類和無效等價類的設(shè)計。

2.邊界值分析

1.邊界值分析也是一種黑盒測試方法,是對等價類劃分方法的補(bǔ)充。

2,從長期的測試工作經(jīng)驗(yàn)得知,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是在輸入范圍的內(nèi)部。因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤。

3.比如,在做三角形計算時,要輸入三角形的三個邊長:A、B和C。 我們應(yīng)注意到這三個數(shù)值應(yīng)當(dāng)滿足A>0、B>0、C>0、 A+B>C、A+C>B、B+C>A,才能構(gòu)成三角形。但如果把六個不等式中的任何一個大于號“>”錯寫成大于等于號“≥”,那就不能構(gòu)成 三角形。問題恰出現(xiàn)在容易被疏忽的邊界附近。

4.這里所說的邊界是指,相當(dāng)于輸入等價類和輸出等價類而言,稍高于其邊界值及稍低于其邊界值的一些特定情況。

5.使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況。 應(yīng)當(dāng)大于等于最大值,小于等于最小值作為邊界值進(jìn)行測試。

3.錯誤推測法

1.人們也可以靠經(jīng)驗(yàn)和直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的例子。這就是錯誤推測法。

2.錯誤推測法的基本想法是: 列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)它們選擇測試用例。

4,因果圖

1.因果圖的適用范圍
1)如果在測試時必須考慮輸入條件的各種組合,可使用一種適合于描述對于多種條件的組合,相應(yīng)產(chǎn)生多個動作的形式來設(shè)計測試用例,這就需要利用因果圖。
2)因果圖方法最終生成的就是判定表。它適合于檢查程序輸入條件的各種組合情況。

七、軟件測試的策略

1.大型軟件系統(tǒng)通常由若干個子系統(tǒng)組成,每個子系統(tǒng)又由許多模塊組成。大型軟件系統(tǒng)的測試步驟基本由以下四個步驟組成:單元測試、集成測試(組裝測試)、確認(rèn)測試和系統(tǒng)測試。

2.開始是單元測試,集中對用源代碼實(shí)現(xiàn)的每一個程序單元進(jìn)行測試,檢查各個程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。
組裝測試把已測試過的模塊組裝起 ,主要對與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測試。

3.確認(rèn)測試則是要檢查已實(shí)現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。

4.系統(tǒng)測試 把已經(jīng)經(jīng)過確認(rèn)的軟件納入實(shí)際運(yùn)行環(huán)境中,與其它系統(tǒng)成份組合在一起進(jìn)行測試。
在這里插入圖片描述

七、測試策略詳解

1.單元測試 (Unit Testing)

1)單元測試又稱模塊測試, 是針對軟件設(shè)計的最小單位 ── 程序模塊 ,進(jìn)行正確性檢驗(yàn)的測試工作。

2)其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯。

3)單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例 。

4)多個模塊可以平行地獨(dú)立進(jìn)行單元測試。

2.組裝測試( Integrated Testing)

1)組裝測試(集成測試、聯(lián)合測試)

2)通常,在單元測試的基礎(chǔ)上,需要將所有模塊按照設(shè)計要求組裝成為系統(tǒng)。這時需要考慮的問題是: 在把各個模塊連接起來的時侯,穿越模塊接口的數(shù)據(jù)是否會丟失;

3)一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;

4)各個子功能組合起來,能否達(dá)到預(yù)期要求的父功能;

5)全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題;

6)單個模塊的誤差累積起來,是否會放大,從而達(dá)到不能接受的程度。

7)在單元測試的同時可進(jìn)行組裝測,發(fā)現(xiàn)并排除在模塊連接中可能出現(xiàn)的問題,最終構(gòu)成要求的軟件系統(tǒng)。

3.確認(rèn)測試( Validation Testing)

1)確認(rèn)測試又稱有效性測試

2)任務(wù)是驗(yàn)證軟件的功能和性能及其它特性是否與用戶的要求一致。

3)對軟件的功能和性能要求在軟件需求規(guī)格說明書中已經(jīng)明確規(guī)定。它包含的信息就是軟件確認(rèn)測試的基礎(chǔ)。

4)主要由使用用戶參加測試,檢驗(yàn)軟件規(guī)格說明的技術(shù)標(biāo)準(zhǔn)的符合程度,是保證軟件質(zhì)量的最后關(guān)鍵環(huán)節(jié).

5)進(jìn)行有效性測試(黑盒測試)
有效性測試是在模擬的環(huán)境(可能就是開發(fā)的環(huán)境) 下,運(yùn)用黑盒測試的方法,驗(yàn)證被測軟件是否滿足需求規(guī)格說明書列出的需求。
首先制定測試計劃,規(guī)定要做測試的種類。還需要制定一組測試步驟,描述具體的測試用例。
通過實(shí)施預(yù)定的測試計劃和測試步驟,確定
軟件的特性是否與需求相符;
所有的文檔都是正確且便于使用;
?同時,對其它軟件需求,例如可移植性、兼容性、出錯自動恢復(fù)、可維護(hù) 性等,也都要進(jìn)行測試
在全部軟件測試的測試用例運(yùn)行完后,所有的測試結(jié)果可以分為兩類:
①測試結(jié)果與預(yù)期的結(jié)果相符。這說明軟件的這部分功能或性能特征與需求規(guī)格說明書相符合,從而這部分程序被接受。
②測試結(jié)果與預(yù)期的結(jié)果不符。這說明軟件的這部分功能或性能特征與需求規(guī)格說明不一致,因此要為它提交一份問題報告。

6)軟件配置復(fù)查
軟件配置復(fù)查的目的是保證:
1.軟件配置的所有成分都齊全;
2.各方面的質(zhì)量都符合要求;
具有維護(hù)階段所必需的細(xì)節(jié);
而且已經(jīng)編排好分類的目錄。
應(yīng)當(dāng)嚴(yán)格遵守用戶手冊和操作手冊中規(guī)定的使用步驟,以便檢查這些文檔資料的完整性和正確性。

4.系統(tǒng)測試(System Testing)

1.系統(tǒng)測試,是將通過確認(rèn)測試的軟件,作為整個基于計算機(jī)系統(tǒng)的一個元素,與計算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起, 在實(shí)際運(yùn)行環(huán)境下,對計算機(jī)系統(tǒng)進(jìn)行一系列的組裝測試和確認(rèn)測試。

2.系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義作比較, 發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合或與之矛盾的地方。

3.在系統(tǒng)測試實(shí)施之前,軟件工程師應(yīng)完成以下工作:
為測試軟件系統(tǒng)的輸入信息設(shè)計出錯處理通路;設(shè)計測試用例,模擬錯誤數(shù)據(jù)和軟件界面可能發(fā)生的錯誤,記錄測試結(jié)果,為系統(tǒng)測試提供經(jīng)驗(yàn)和幫助;參與系統(tǒng)測試的規(guī)劃和設(shè)計,保證軟件測試的合理性。

5.驗(yàn)收測試( Acceptance Testing)

1.在通過了系統(tǒng)的有效性測試及軟件配置審查之后,就應(yīng)開始系統(tǒng)的驗(yàn)收測試。

2.驗(yàn)收測試是以用戶為主的測試。軟件開發(fā)人員和QA(質(zhì)量保證)人員也應(yīng)參加。

3.由用戶參加設(shè)計測試用例,使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測試。

4.在測試過程中,除了考慮軟件的功能和性能外,還應(yīng)對軟件的可移植性、兼容性、可維護(hù)性、錯誤的恢復(fù)功能等進(jìn)行確認(rèn)。

5.確認(rèn)測試應(yīng)交付的文檔有:確認(rèn)測試分析報告、最終的用戶手冊和操作手冊
、項(xiàng)目開發(fā)總結(jié)報告。

八、軟件測試的過程

在這里插入圖片描述
1.測試過程說明:

(1) 軟件配置:指被測試軟件的文件,如軟件需求規(guī)格說明書、軟件設(shè)計說明書和源程序清單等文檔。

(2) 測試配置:指測試方案、測試計劃、測試用例、測試驅(qū)動程序等文檔。

(3) 測試工具:是為了提高測試效率而設(shè)計的支持軟件測試的軟件。例如,測試數(shù)據(jù)自動生成程序、靜態(tài)分析程序、動態(tài)分析程序、測試結(jié)果分析程序以及驅(qū)動測試的測試數(shù)據(jù)庫等。

(4) 測試評價:由測試出的錯誤跡象,分析、找出錯誤的原因和位置,以便糾正和積累軟件設(shè)計的經(jīng)驗(yàn)。

(5) 糾錯(調(diào)試):是指找到出錯的原因與位置并糾錯,包括修正文件直到軟件正確為止。糾錯本身所具有的不確定性,常常難以準(zhǔn)確地安排測試日程表。

(6) 可靠性模型:通過對測試出的軟件出錯率的分析,建立模型,得出可靠的數(shù)據(jù),指導(dǎo)軟件的設(shè)計與維護(hù)。

九、項(xiàng)目測試的基本流程

1.項(xiàng)目測試啟動:項(xiàng)目立項(xiàng)后,在測試配置庫中創(chuàng)建項(xiàng)目。

2.測試計劃:系統(tǒng)詳細(xì)設(shè)計后,制定測試計劃,準(zhǔn)備測試資源。

3.設(shè)計測試用例,主要是與業(yè)務(wù)相關(guān)的測試用例。

4.實(shí)施功能模塊測試,搭建運(yùn)行或開發(fā)環(huán)境,采用功能模塊測試表的方式,開發(fā)人員在功能模塊測試表中更新進(jìn)度狀態(tài),測試人員在該表中描述測試進(jìn)度。形成測試錯誤列表,該表對每個錯誤都有相應(yīng)的測試記錄與之鏈接,在測試記錄中,詳細(xì)描述錯誤的情況。在測試記錄中還要包括修正信息和驗(yàn)證信息。

5.錯誤關(guān)閉后,測試人員維護(hù)測試記錄表和更新測試用例庫和問題庫,作為經(jīng)驗(yàn)積累。

6.項(xiàng)目在結(jié)項(xiàng)時,測試人員進(jìn)行項(xiàng)目完工驗(yàn)收測試,填寫項(xiàng)目測試報告。該測試報告可作為用戶驗(yàn)收的輸入工件。

十、測試過程管理

在這里插入圖片描述

十一、測試用例的設(shè)計

1.在編寫測試用例之前需要準(zhǔn)備以下幾個編寫的依據(jù):
①需求說明以及相關(guān)文檔;
②相關(guān)的設(shè)計說明(概要設(shè)計,詳細(xì)設(shè)計等);
③與開發(fā)組交流對需求理解的記錄(可以是開發(fā)人員的一個解釋);
④已經(jīng)基本成型的UI(可以有針對性地補(bǔ)充一些用例)。
⑤編寫測試用例文檔應(yīng)有文檔模板,須符合內(nèi)部的規(guī)范要求。

2.測試用例可以分為基本事件、備選事件和異常事件。

3.軟件測試常用的設(shè)計測試用例的基本方法有:等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、邏輯覆蓋法等。視軟件的不同性質(zhì)采用不同的方法。如何靈活運(yùn)用各種基本方法來設(shè)計完整的測試用例,并最終實(shí)現(xiàn)暴露隱藏的缺陷,則要憑測試設(shè)計人員的豐富經(jīng)驗(yàn)和精心設(shè)計。

4.測試用例的評審
由開發(fā)人員和測試人員共同進(jìn)行評審,目的是審查編寫的測試用例是否覆蓋了整個項(xiàng)目的需求點(diǎn)。

5.測試用例的修改更新

6.測試用例的管理
測試管理軟件的主要功能有三個:
①能將測試用例文檔的關(guān)鍵內(nèi)容;
②可供測試實(shí)施時及時輸入測試情況;
③最終實(shí)現(xiàn)自動生成測試結(jié)果文檔。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美黄色黑人一区二区| 国产av大片一区二区三区| 伊人久久青草地综合婷婷| 亚洲一区二区三区日韩91| 精品久久av一二三区| 人妻乱近亲奸中文字幕| 亚洲午夜福利视频在线| 麻豆亚州无矿码专区视频| 国产精品成人一区二区在线| 伊人久久青草地婷婷综合| 日本亚洲欧美男人的天堂| 精品伊人久久大香线蕉综合| 国产精品香蕉在线的人| 日韩一区中文免费视频| 国产毛片av一区二区三区小说| 国产精品大秀视频日韩精品| 三级理论午夜福利在线看| 在线观看视频日韩精品| 国产精品美女午夜视频| 福利一区二区视频在线| 五月婷婷欧美中文字幕| 五月婷婷综合激情啪啪| 视频一区二区三区自拍偷| 真实偷拍一区二区免费视频| 国内女人精品一区二区三区| 国产免费成人激情视频| 黄片在线免费看日韩欧美| 91天堂免费在线观看| 果冻传媒精选麻豆白晶晶| 日韩一区二区三区久久| 亚洲视频一区二区久久久| 亚洲一区二区精品久久av| 国产又粗又猛又长又大| 国产免费一区二区不卡| 精品熟女少妇av免费久久野外| 日韩欧美三级中文字幕| 亚洲欧美日韩在线看片| 亚洲一区二区亚洲日本| 日韩亚洲精品国产第二页| 亚洲天堂男人在线观看| 经典欧美熟女激情综合网|