1. 概述
1.1 編寫(xiě)目的
1.2 項(xiàng)目背景
1.3 項(xiàng)目質(zhì)量目標(biāo)
1.4 預(yù)期讀者
1.5 參考資料
2. 測(cè)試環(huán)境
2.1 系統(tǒng)架構(gòu)
2.2 軟硬件環(huán)境要求
2.3 測(cè)試環(huán)境部署圖
3. 測(cè)試規(guī)劃
3.1 測(cè)試范圍
3.2 測(cè)試工具
3.3 人員、角色及職責(zé)
4. 測(cè)試策略
4.1 系統(tǒng)框測(cè)試
4.2 業(yè)務(wù)流程測(cè)試
4.3 功能點(diǎn)測(cè)試
4.4 UI界面測(cè)試
4.5 性能測(cè)試
4.6 兼容性測(cè)試
4.7 安全測(cè)試
5. 測(cè)試進(jìn)度安排
6. 工作匯報(bào)
軟件測(cè)試的方法根據(jù)軟件工程的組織和實(shí)現(xiàn)方式,有很大差別,有些是比較技術(shù)化的方法,有些則是工程方法,主要分為: 黑盒測(cè)試方法群:等價(jià)類(lèi)劃分、邊界值、因果圖、基路徑法、專(zhuān)家測(cè)試法、smoking、場(chǎng)景測(cè)試等 白盒測(cè)試方法群:同行評(píng)審、需求審查、代碼審查、接口測(cè)試(調(diào)用測(cè)試和返回測(cè)試,需要結(jié)合等價(jià)類(lèi)和因果圖方法)等。
當(dāng)在單元層面黑盒而在集成層面白盒時(shí),基本上兩類(lèi)方法就會(huì)有結(jié)合了,就會(huì)出現(xiàn)習(xí)慣上說(shuō)的灰盒測(cè)試(說(shuō)實(shí)話(huà),不做到純產(chǎn)品級(jí)開(kāi)發(fā),基本上都是用的灰盒測(cè)試)。
11、確定輸入環(huán)境的類(lèi)別、邊界值分析、錯(cuò)誤類(lèi)別。
12、準(zhǔn)備測(cè)試計(jì)劃文件和對(duì)計(jì)劃進(jìn)行必要的回顧。 13、準(zhǔn)備白盒測(cè)試案例。
14、對(duì)測(cè)試案例進(jìn)行必要的回顧/調(diào)查/計(jì)劃。 15、準(zhǔn)備測(cè)試環(huán)境和測(cè)試用具,得到必需的用戶(hù)手冊(cè)/參考文件/結(jié)構(gòu)指南/安裝指南,建立測(cè)試跟蹤過(guò)程,建立日志和檔案、建立或得到測(cè)試輸入數(shù)據(jù)。
16、得到并安裝軟件版本。 17、進(jìn)行測(cè)試。
18、評(píng)估和報(bào)告結(jié)果。 19、跟蹤問(wèn)題/錯(cuò)誤,并解決它。
20、如果有必要,重新進(jìn)行測(cè)試。 21、在整個(gè)生命周期里維護(hù)和修改測(cè)試計(jì)劃、測(cè)試案例、測(cè)試環(huán)境、和測(cè)試用具。
返回《軟件測(cè)試包含的內(nèi)容》。
軟件測(cè)試概念:通過(guò)各種手段和測(cè)試工具,判斷軟件系統(tǒng)是否能夠滿(mǎn)足預(yù)期期望。
從軟件開(kāi)發(fā)的過(guò)程按階段劃分有A.單元測(cè)試 B.集成測(cè)試 C.確認(rèn)測(cè)試 D.系統(tǒng)測(cè)試 E.驗(yàn)收測(cè)試 * 測(cè)試過(guò)程按4個(gè)步驟進(jìn)行,即單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試及發(fā)版測(cè)試。 * 開(kāi)始是單元測(cè)試,集中對(duì)用源代碼實(shí)現(xiàn)的每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。
* 集成測(cè)試把已測(cè)試過(guò)的模塊組裝起來(lái),主要對(duì)與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測(cè)試。 * 確認(rèn)測(cè)試則是要檢查已實(shí)現(xiàn)的軟件是否滿(mǎn)足了需求規(guī)格說(shuō)明中確定了的各種需求,以及軟件配置是否完全、正確。
* 系統(tǒng)測(cè)試把已經(jīng)經(jīng)過(guò)確認(rèn)的軟件納入實(shí)際運(yùn)行環(huán)境中,與其它系統(tǒng)成份組合在一起進(jìn)行測(cè)試。 單元測(cè)試 (Unit Testing) * 單元測(cè)試又稱(chēng)模塊測(cè)試,是針對(duì)軟件設(shè)計(jì)的最小單位 — 程序模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試工作。
其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯(cuò)。 * 單元測(cè)試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例。
多個(gè)模塊可以平行地獨(dú)立進(jìn)行單元測(cè)試。 1. 單元測(cè)試的內(nèi)容 * 在單元測(cè)試時(shí),測(cè)試者需要依據(jù)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)和源程序清單,了解該模塊的I/O條件和模塊的邏輯結(jié)構(gòu),主要采用白盒測(cè)試的測(cè)試用例,輔之以黑盒測(cè)試的測(cè)試用例,使之對(duì)任何合理的輸入和不合理的輸入,都能鑒別和響應(yīng)。
(1) 模塊接口測(cè)試 * 在單元測(cè)試的開(kāi)始,應(yīng)對(duì)通過(guò)被測(cè)模塊的數(shù)據(jù)流進(jìn)行測(cè)試。測(cè)試項(xiàng)目包括: – 調(diào)用本模塊的輸入?yún)?shù)是否正確; – 本模塊調(diào)用子模塊時(shí)輸入給子模塊的參數(shù)是否正確; – 全局量的定義在各模塊中是否一致; * 在做內(nèi)外存交換時(shí)要考慮: – 文件屬性是否正確; – OPEN與CLOSE語(yǔ)句是否正確; – 緩沖區(qū)容量與記錄長(zhǎng)度是否匹配; – 在進(jìn)行讀寫(xiě)操作之前是否打開(kāi)了文件; – 在結(jié)束文件處理時(shí)是否關(guān)閉了文件; – 正文書(shū)寫(xiě)/輸入錯(cuò)誤, – I/O錯(cuò)誤是否檢查并做了處理。
(2) 局部數(shù)據(jù)結(jié)構(gòu)測(cè)試 * 不正確或不一致的數(shù)據(jù)類(lèi)型說(shuō)明 * 使用尚未賦值或尚未初始化的變量 * 錯(cuò)誤的初始值或錯(cuò)誤的缺省值 * 變量名拼寫(xiě)錯(cuò)或書(shū)寫(xiě)錯(cuò) * 不一致的數(shù)據(jù)類(lèi)型 * 全局?jǐn)?shù)據(jù)對(duì)模塊的影響 (3) 路徑測(cè)試 * 選擇適當(dāng)?shù)臏y(cè)試用例,對(duì)模塊中重要的執(zhí)行路徑進(jìn)行測(cè)試。 * 應(yīng)當(dāng)設(shè)計(jì)測(cè)試用例查找由于錯(cuò)誤的計(jì)算、不正確的比較或不正常的控制流而導(dǎo)致的錯(cuò)誤。
* 對(duì)基本執(zhí)行路徑和循環(huán)進(jìn)行測(cè)試可以發(fā)現(xiàn)大量的路徑錯(cuò)誤。 (4) 錯(cuò)誤處理測(cè)試 * 出錯(cuò)的描述是否難以理解 * 出錯(cuò)的描述是否能夠?qū)﹀e(cuò)誤定位 * 顯示的錯(cuò)誤與實(shí)際的錯(cuò)誤是否相符 * 對(duì)錯(cuò)誤條件的處理正確與否 * 在對(duì)錯(cuò)誤進(jìn)行處理之前,錯(cuò)誤條件是否已經(jīng)引起系統(tǒng)的干預(yù)等 (5) 邊界測(cè)試 * 注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時(shí)出錯(cuò)的可能性。
對(duì)這些地方要仔細(xì)地選擇測(cè)試用例,認(rèn)真加以測(cè)試。 * 如果對(duì)模塊運(yùn)行時(shí)間有要求的話(huà),還要專(zhuān)門(mén)進(jìn)行關(guān)鍵路徑測(cè)試,以確定最壞情況下和平均意義下影響模塊運(yùn)行時(shí)間的因素。
2. 單元測(cè)試的步驟 * 模塊并不是一個(gè)獨(dú)立的程序,在考慮測(cè)試模塊時(shí),同時(shí)要考慮它和外界的聯(lián)系,用一些輔助模塊去模擬與被測(cè)模塊相聯(lián)系的其它模塊。 – 驅(qū)動(dòng)模塊 (driver) – 樁模塊 (stub) —— 存根模塊 * 如果一個(gè)模塊要完成多種功能,可以將這個(gè)模塊看成由幾個(gè)小程序組成。
必須對(duì)其中的每個(gè)小程序先進(jìn)行單元測(cè)試要做的工作,對(duì)關(guān)鍵模塊還要做性能測(cè)試。 * 對(duì)支持某些標(biāo)準(zhǔn)規(guī)程的程序,更要著手進(jìn)行互聯(lián)測(cè)試。
有人把這種情況特別稱(chēng)為模塊測(cè)試,以區(qū)別單元測(cè)試。 集成測(cè)試(Integrated Testing) * 集成測(cè)試 (集成測(cè)試、聯(lián)合測(cè)試) * 通常,在單元測(cè)試的基礎(chǔ)上,需要將所有模塊按照設(shè)計(jì)要求組裝成為系統(tǒng)。
這時(shí)需要考慮的問(wèn)題是: – 在把各個(gè)模塊連接起來(lái)的時(shí)候,穿越模塊接口的數(shù)據(jù)是否會(huì)丟失; – 一個(gè)模塊的功能是否會(huì)對(duì)另一個(gè)模塊的功能產(chǎn)生不利的影響; – 各個(gè)子功能組合起來(lái),能否達(dá)到預(yù)期要求的父功能; – 全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問(wèn)題; – 單個(gè)模塊的誤差累積起來(lái),是否會(huì)放大,從而達(dá)到不能接受的程度。 在單元測(cè)試的同時(shí)可進(jìn)行集成測(cè)試, 發(fā)現(xiàn)并排除在模塊連接中可能出現(xiàn) 的問(wèn)題,最終構(gòu)成要求的軟件系統(tǒng)。
* 子系統(tǒng)的集成測(cè)試特別稱(chēng)為部件測(cè)試,它所做的工作是要找出集成后的子系統(tǒng)與系統(tǒng)需求規(guī)格說(shuō)明之間的不一致。 * 通常,把模塊集成成為系統(tǒng)的方式有兩種 – 一次性集成方式 – 增殖式集成方式 1. 一次性集成方式(big bang) * 它是一種非增殖式組裝方式。
也叫做整體拼裝。 * 使用這種方式,首先對(duì)每個(gè)模塊分別進(jìn)行模塊測(cè)試,然后再把所有模塊組裝在一起進(jìn)行測(cè)試,最終得到要求的軟件系統(tǒng)。
2. 增殖式集成方式 * 這種集成方式又稱(chēng)漸增式集成 * 首先對(duì)一個(gè)個(gè)模塊進(jìn)行模塊測(cè)試,然后將這些模塊逐步組裝成較大的系統(tǒng) * 在集成的過(guò)程中邊連接邊測(cè)試,以發(fā)現(xiàn)連接過(guò)程中產(chǎn)生的問(wèn)題 * 通過(guò)增殖逐步組裝成為要求的軟件系統(tǒng)。 (1) 自頂向下的增殖方式 * 這種集成方式將模塊按系統(tǒng)程序結(jié)構(gòu),沿控制層次自頂向下進(jìn)行組裝。
* 自頂向下的增殖方式在測(cè)試過(guò)程中較早地驗(yàn)證了主要的控制和判斷點(diǎn)。 * 選用按深度方向組裝的方式,可以首先實(shí)現(xiàn)和驗(yàn)證一個(gè)完整的軟件功能。
。
軟件測(cè)試要學(xué)什么哪些內(nèi)容?
1. 測(cè)試專(zhuān)業(yè)知識(shí)
測(cè)試專(zhuān)業(yè)技能涉及的范圍很廣:既包括黑盒測(cè)試、白盒測(cè)試、測(cè)試用例設(shè)計(jì)等基礎(chǔ)測(cè)試技術(shù),也包括單元測(cè)試、功能測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、性能測(cè)試等測(cè)試方法,還包括基礎(chǔ)的測(cè)試流程管理、缺陷管理、自動(dòng)化測(cè)試技術(shù)等知識(shí)。
2. 編程語(yǔ)言方面
測(cè)試人員編寫(xiě)的程序和開(kāi)發(fā)人員編程是不太一樣的。測(cè)試人員的編程應(yīng)著眼于運(yùn)行正確,同時(shí)兼顧高效率,尤其體現(xiàn)在與性能測(cè)試相關(guān)的測(cè)試代碼編寫(xiě)上。因此測(cè)試人員要具備一定的算法設(shè)計(jì)能力。依據(jù)其他測(cè)試人員分享的經(jīng)驗(yàn),測(cè)試工程師至少應(yīng)該掌握J(rèn)ava、C#、C++之類(lèi)的一門(mén)語(yǔ)言以及相應(yīng)的開(kāi)發(fā)工具。
3. 網(wǎng)絡(luò)
在網(wǎng)絡(luò)方面,測(cè)試人員應(yīng)該掌握基本的網(wǎng)絡(luò)協(xié)議以及網(wǎng)絡(luò)工作原理,尤其要掌握一些網(wǎng)絡(luò)環(huán)境的配置,這些都是測(cè)試工作中經(jīng)常遇到的知識(shí)。
4. 操作系統(tǒng)
操作系統(tǒng)和中間件方面,測(cè)試人員應(yīng)該掌握基本的使用以及安裝、配置等。例如很多應(yīng)用系統(tǒng)都是基于Unix、linux來(lái)運(yùn)行的,這就要求測(cè)試人員掌握基本的操作命令以及相關(guān)的工具軟件。而WebLogic、Websphere等中間件的安裝、配置很多時(shí)候也需要測(cè)試人員掌握一些。
5. 數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)知識(shí)則是測(cè)試人員更應(yīng)該掌握的技能,因?yàn)楝F(xiàn)在的應(yīng)用系統(tǒng)幾乎離不開(kāi)數(shù)據(jù)庫(kù)。因此不但要掌握基本的安裝、配置,還要掌握SQL。測(cè)試人員至少應(yīng)該掌握Mysql、MS Sqlserver、Oracle等常見(jiàn)數(shù)據(jù)庫(kù)的使用。
1、從是否關(guān)心內(nèi)部結(jié)構(gòu)來(lái)看 (1)白盒測(cè)試:又稱(chēng)為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,是一種按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu),設(shè)計(jì)測(cè)試數(shù)據(jù)并完成測(cè)試的一種測(cè)試方法。
(2)黑盒測(cè)試:又稱(chēng)為數(shù)據(jù)驅(qū)動(dòng)測(cè)試,把測(cè)試對(duì)象當(dāng)做看不見(jiàn)的黑盒,在完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過(guò)程的情況下,測(cè)試者僅依據(jù)程序功能的需求規(guī)范考慮,確定測(cè)試用例和推斷測(cè)試結(jié)果的正確性,它是站在使用軟件或程序的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行的測(cè)試。(3)灰盒測(cè)試:是一種綜合測(cè)試法,它將“黑盒”測(cè)試與“白盒”測(cè)試結(jié)合在一起,是基于程序運(yùn)行時(shí)的外部表現(xiàn)又結(jié)合內(nèi)部邏輯結(jié)構(gòu)來(lái)設(shè)計(jì)用例,執(zhí)行程序并采集路徑執(zhí)行信息和外部用戶(hù)接口結(jié)果的測(cè)試技術(shù)。
2、從是否執(zhí)行代碼看 (1)靜態(tài)測(cè)試:指不運(yùn)行被測(cè)程序本身,僅通過(guò)分析或檢查源程序的語(yǔ)法、結(jié)構(gòu)、過(guò)程、接口等來(lái)檢查程序的正確性。(2)動(dòng)態(tài)測(cè)試:是指通過(guò)運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等性能指標(biāo)。
3、從開(kāi)發(fā)過(guò)程級(jí)別看 (1)單元測(cè)試:又稱(chēng)模塊測(cè)試,是針對(duì)軟件設(shè)計(jì)的最小單位----程序模塊或功能模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試工作。其目的在于檢驗(yàn)程序各模塊是否存在各種差錯(cuò),是否能正確地實(shí)現(xiàn)了其功能,滿(mǎn)足其性能和接口要求。
(2)集成測(cè)試:又叫組裝測(cè)試或聯(lián)合,是單元測(cè)試的多級(jí)擴(kuò)展,是在單元測(cè)試的基礎(chǔ)上進(jìn)行的一種有序測(cè)試。旨在檢驗(yàn)軟件單元之間的接口關(guān)系,以期望通過(guò)測(cè)試發(fā)現(xiàn)各軟件單元接口之間存在的問(wèn)題,最終把經(jīng)過(guò)測(cè)試的單元組成符合設(shè)計(jì)要求的軟件。
(3)系統(tǒng)測(cè)試:是為判斷系統(tǒng)是否符合要求而對(duì)集成的軟、硬件系統(tǒng)進(jìn)行的測(cè)試活動(dòng)、它是將已經(jīng)集成好的軟件系統(tǒng),作為基于整個(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)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。在系統(tǒng)測(cè)試中,對(duì)于具體的測(cè)試類(lèi)型有:(1)功能測(cè)試:對(duì)軟件需求規(guī)格說(shuō)明書(shū)中的功能需求逐項(xiàng)進(jìn)行的測(cè)試,以驗(yàn)證功能是否滿(mǎn)足要求。
(2)性能測(cè)試:對(duì)軟件需求規(guī)格說(shuō)明書(shū)的功能需求逐項(xiàng)進(jìn)行的測(cè)試,以驗(yàn)證功能是否滿(mǎn)足要求。(3)接口測(cè)試:對(duì)軟件需求規(guī)格說(shuō)明中的接口需求逐項(xiàng)進(jìn)行的測(cè)試。
(4)人機(jī)交互界面測(cè)試:對(duì)所有人機(jī)交互界面提供的操作和顯示界面進(jìn)行的測(cè)試,以檢驗(yàn)是否滿(mǎn)足用戶(hù)的需求。(5)強(qiáng)度測(cè)試:強(qiáng)制軟件運(yùn)行在異常乃至發(fā)生故障的情況下(設(shè)計(jì)的極限狀態(tài)到超出極限),驗(yàn)證軟件可以運(yùn)行到何種程序的測(cè)試。
(6)余量測(cè)試:對(duì)軟件是否達(dá)到規(guī)格說(shuō)明中要求的余量的測(cè)試。(7)安全性測(cè)試:檢驗(yàn)軟件中已存在的安全性、安全保密性措施是否有效的測(cè)試,(8)可靠性測(cè)試:在真實(shí)的或仿真的環(huán)境中,為做出軟件可靠性估計(jì)而對(duì)軟件進(jìn)行的功能(其輸入覆蓋和環(huán)境覆蓋一般大于普通的功能測(cè)試) (9)恢復(fù)性測(cè)試:對(duì)有恢復(fù)或重置功能的軟件的每一類(lèi)導(dǎo)致恢復(fù)或重置的情況,逐一進(jìn)行的測(cè)試。
(10)邊界測(cè)試:對(duì)軟件處在邊界或端點(diǎn)情況下運(yùn)行狀態(tài)的測(cè)試。(11)數(shù)據(jù)處理測(cè)試:對(duì)完成專(zhuān)門(mén)數(shù)據(jù)處理功能所進(jìn)行的測(cè)試。
(12)安裝性測(cè)試:對(duì)安裝過(guò)程是否符合安裝規(guī)程的測(cè)試,以發(fā)現(xiàn)安裝過(guò)程中的錯(cuò)誤。(13)容量測(cè)試:檢驗(yàn)軟件的能力最高能達(dá)到什么程度的測(cè)試。
(14)互操作性測(cè)試:為驗(yàn)證不同軟件之間的互操作能力而進(jìn)行的測(cè)試。(15)敏感性測(cè)試:為發(fā)現(xiàn)在有效輸入類(lèi)中可能引起某種不穩(wěn)定性或不正常處理的某些數(shù)據(jù)的組合而進(jìn)行的測(cè)試。
(16)標(biāo)準(zhǔn)符合性測(cè)試:驗(yàn)證軟件與相關(guān)國(guó)家標(biāo)準(zhǔn)或規(guī)范(如軍用標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)及國(guó)際標(biāo)準(zhǔn))一致性的測(cè)試。(17)兼容性測(cè)試:驗(yàn)證軟件在規(guī)定條件下與若干個(gè)實(shí)體共同使用或?qū)崿F(xiàn)數(shù)據(jù)格式轉(zhuǎn)換時(shí)能滿(mǎn)足有關(guān)要求能力的測(cè)試。
(18)中文本地化測(cè)試:驗(yàn)證軟件在不降低原有能力的條件下,處理中文能力的測(cè)試。4、從執(zhí)行過(guò)程是否需要人工干預(yù)來(lái)看 (1)手工測(cè)試:就是測(cè)試人員按照事先為覆蓋被測(cè)軟件需求而編寫(xiě)的測(cè)試用例,根據(jù)測(cè)試大綱中所描述的測(cè)試步驟和方法,手工地一個(gè)一個(gè)地輸 入執(zhí)行,包括與被測(cè)軟件進(jìn)行交互(如輸入測(cè)試數(shù)據(jù)、記錄測(cè)試結(jié)果等),然后觀察測(cè)試結(jié)果,看被測(cè)程序是否存在問(wèn)題,或在執(zhí)行過(guò)程中是否會(huì)有一場(chǎng)發(fā)生,屬于比較原始但是必須執(zhí)行的一個(gè)步驟。
(2)自動(dòng)化測(cè)試:實(shí)際上是將大量的重復(fù)性的測(cè)試工作交給計(jì)算機(jī)去完成,通常是使用自動(dòng)化測(cè)試工具來(lái)模擬手動(dòng)測(cè)試步驟,執(zhí)行用某種程序設(shè)計(jì)語(yǔ)言編寫(xiě)的過(guò)程(全自動(dòng)測(cè)試就是指在自動(dòng)測(cè)試過(guò)程中,不需要人工干預(yù),由程序自動(dòng)完成測(cè)試的全過(guò)程;半自動(dòng)測(cè)試就是指在自動(dòng)測(cè)試過(guò)程中,需要手動(dòng)輸入測(cè)試用例或選擇測(cè)試路徑,再由自動(dòng)測(cè)試程序按照人工指定的要求完成自動(dòng)測(cè)試)5、從測(cè)試實(shí)施組織看 (1)開(kāi)發(fā)測(cè)試:開(kāi)發(fā)人員進(jìn)行的測(cè)試 (2)用戶(hù)測(cè)試:用戶(hù)方進(jìn)行的測(cè)試 (3)第三方測(cè)試:有別于開(kāi)發(fā)人員或用戶(hù)進(jìn)行的測(cè)試,由專(zhuān)業(yè)的第三方承擔(dān)的測(cè)試,目的是為了保證測(cè)試工作的客觀性6、從測(cè)試所處的環(huán)境看 (1)阿爾法測(cè)試:是由一個(gè)用戶(hù)在開(kāi)發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是公司內(nèi)部的用戶(hù)在模擬實(shí)際操作環(huán)境下進(jìn)行的測(cè)試 (2)。
一、軟件測(cè)試的目的:發(fā)現(xiàn) bug。
二、軟件測(cè)試的概念: 在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)錯(cuò)誤,對(duì)軟件質(zhì)量進(jìn)行評(píng)估。
三、軟件測(cè)試的理論
1、像無(wú)經(jīng)驗(yàn)的用戶(hù)那樣做
輸入意想不到的數(shù)據(jù),中途變卦而退回去執(zhí)行其他操作。
2、在已經(jīng)找到軟件缺陷的地方再找找
原因有二:
一是軟件缺陷的集中性。如果發(fā)現(xiàn)在不同的特性中找出了大量上邊界條件軟件缺陷,那么就應(yīng)該對(duì)所有特性著重上邊界條件。對(duì)某個(gè)存在的缺陷,應(yīng)當(dāng)投入一些案例來(lái)保證這個(gè)問(wèn)題不是普遍存在的。
二是程序員傾向于只修改報(bào)告出來(lái)的軟件缺陷。重新測(cè)試時(shí),一定要重新執(zhí)行同樣的測(cè)試256次以上。
3、憑借經(jīng)驗(yàn)、直覺(jué)和預(yù)感
記錄哪些技術(shù)有效,哪些不行,嘗試不同的途徑。如果認(rèn)為有可疑之處,就要仔細(xì)探究。按照預(yù)感行事,直至證實(shí)這是錯(cuò)誤為止。
四、軟件測(cè)試的方法: 冒煙測(cè)試、系統(tǒng)測(cè)試、回歸測(cè)試、驗(yàn)收測(cè)試。
擴(kuò)展資料:
軟件測(cè)試的原則:
1、所有的軟件都應(yīng)追溯到客戶(hù)的需求。
2、應(yīng)當(dāng)把”盡早地和不斷地進(jìn)行軟件測(cè)試“作為軟件測(cè)試者的座右銘。
3、完全測(cè)試是不可能的,測(cè)試需要終止。
4、測(cè)試無(wú)法顯示軟件潛在的缺陷。
5、充分注意測(cè)試中的群集現(xiàn)象。
6、開(kāi)發(fā)工程師應(yīng)避免測(cè)試自己的程序。
7、盡量避免測(cè)試的隨意性。
8、測(cè)試的抗藥性。
軟件測(cè)試的工作內(nèi)容主要包括“驗(yàn)證”和“確認(rèn)”,具體內(nèi)容如下。
一、驗(yàn)證:保證軟件正確地實(shí)現(xiàn)了一些特定功能的一系列活動(dòng), 即保證軟件以正確的方式來(lái)做了這個(gè)事件。
1、確定軟件生存周期中的一個(gè)給定階段的產(chǎn)品是否達(dá)到前階段確立的需求的過(guò)程。
2、程序正確性的形式證明,即采用形式理論證明程序符合設(shè)計(jì)規(guī)約規(guī)定的過(guò)程。
3、評(píng)審、審查、測(cè)試、檢查、審計(jì)等各類(lèi)活動(dòng),或?qū)δ承╉?xiàng)處理、服務(wù)或文件等是否和規(guī)定的需求相一致進(jìn)行判斷和提出報(bào)告。
二、確認(rèn):一系列的活動(dòng)和過(guò)程,目的是想證實(shí)在一個(gè)給定的外部環(huán)境中軟件的邏輯正確性,即保證軟件做了用戶(hù)所期望的事情。
1、靜態(tài)確認(rèn),不在計(jì)算機(jī)上實(shí)際執(zhí)行程序,通過(guò)人工或程序分析來(lái)證明軟件的正確性。
2、動(dòng)態(tài)確認(rèn),通過(guò)執(zhí)行程序做分析,測(cè)試程序的動(dòng)態(tài)行為,以證實(shí)軟件是否存在問(wèn)題。
擴(kuò)展資料
一、軟件測(cè)試的原則
1、測(cè)試應(yīng)該盡早進(jìn)行,最好在需求階段就開(kāi)始介入,因?yàn)樽顕?yán)重的錯(cuò)誤不外乎是系統(tǒng)不能滿(mǎn)足用戶(hù)的需求。
2、程序員應(yīng)該避免檢查自己的程序,軟件測(cè)試應(yīng)該由第三方來(lái)負(fù)責(zé)。
3、設(shè)計(jì)測(cè)試用例時(shí)應(yīng)考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下還要制造極端狀態(tài)和意外狀態(tài),如網(wǎng)絡(luò)異常中斷、電源斷電等。
4、應(yīng)該充分注意測(cè)試中的群集現(xiàn)象。
5、對(duì)錯(cuò)誤結(jié)果要進(jìn)行一個(gè)確認(rèn)過(guò)程。嚴(yán)重的錯(cuò)誤可以召開(kāi)評(píng)審會(huì)議進(jìn)行討論和分析,對(duì)測(cè)試結(jié)果要進(jìn)行嚴(yán)格地確認(rèn),是否真的存在這個(gè)問(wèn)題以及嚴(yán)重程度等。
6、制定嚴(yán)格的測(cè)試計(jì)劃。一定要制定測(cè)試計(jì)劃,并且要有指導(dǎo)性。測(cè)試時(shí)間安排盡量寬松,不要希望在極短的時(shí)間內(nèi)完成一個(gè)高水平的測(cè)試。
7、妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。
二、軟件測(cè)試的主要目標(biāo)
1、發(fā)現(xiàn)一些可以通過(guò)測(cè)試避免的開(kāi)發(fā)風(fēng)險(xiǎn)。
2、實(shí)施測(cè)試來(lái)降低所發(fā)現(xiàn)的風(fēng)險(xiǎn)。
3、確定測(cè)試何時(shí)可以結(jié)束。
4、在開(kāi)發(fā)項(xiàng)目的過(guò)程中將測(cè)試看作是一個(gè)標(biāo)準(zhǔn)項(xiàng)目。
參考資料來(lái)源:搜狗百科——軟件測(cè)試
第一步,測(cè)試基礎(chǔ):
測(cè)試基礎(chǔ)是軟件測(cè)試最最最重要的部分,只要你是做測(cè)試,不管是什么測(cè)試,測(cè)試的基礎(chǔ)、理論知識(shí)都是必須學(xué)會(huì)的。大概就包括:測(cè)試計(jì)劃編寫(xiě)、設(shè)計(jì)測(cè)試用例、編寫(xiě)測(cè)試報(bào)告、編寫(xiě)B(tài)UG報(bào)告單、跟蹤BUG修復(fù)情況、還需要良好的溝通能力、以及各種測(cè)試階段所使用的測(cè)試方法、單元測(cè)試、功能測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試等。
第二步:學(xué)習(xí)腳本語(yǔ)言
如:python語(yǔ)言,當(dāng)然python 是一門(mén)相對(duì)簡(jiǎn)單的計(jì)算機(jī)語(yǔ)言,考慮長(zhǎng)遠(yuǎn)發(fā)展,需要了解C語(yǔ)言或者java。都說(shuō)C語(yǔ)言最難,但是用得確實(shí)也多。
第三步:學(xué)習(xí)軟件測(cè)試工具
學(xué)習(xí)軟件測(cè)試工具并不難,只是需要我們?nèi)ハ到y(tǒng)的學(xué)習(xí)。比如性能測(cè)試工具loadrunner,自動(dòng)化測(cè)試工具selenium、Appium,接口測(cè)試Jmeter、Postman等。雖然說(shuō)工具不是萬(wàn)能的但是工具能為我們提高工作效率,所以必須得會(huì)熟練的使用。最關(guān)鍵的一點(diǎn),是要結(jié)合項(xiàng)目具體去操作,實(shí)踐出真知,理論知識(shí)在實(shí)際項(xiàng)目中才能得到鞏固。
第四步:計(jì)算機(jī)硬件知識(shí)
做過(guò)性能測(cè)試的都知道在性能測(cè)試過(guò)程中硬件性能也是一個(gè)非常重要的指標(biāo)、CPU、內(nèi)存、IO、帶寬等等、如果你是做硬件測(cè)試的。那么就更不用說(shuō)了。交換機(jī)、路由器、防火墻這些設(shè)備都需要有所了解。
第五步:數(shù)據(jù)庫(kù)測(cè)試
MySQL數(shù)據(jù)庫(kù)
MySQL簡(jiǎn)介、命令行工具以及數(shù)據(jù)管理、MySQL數(shù)據(jù)查詢(xún)(條件、分組、聚合函數(shù)、排序、分頁(yè)、連接查詢(xún)、自關(guān)聯(lián)、子查詢(xún))、內(nèi)置函數(shù)、項(xiàng)目練習(xí)、數(shù)據(jù)分表、Python操作MySQL。
Redis數(shù)據(jù)庫(kù)
Redis簡(jiǎn)介、客戶(hù)端和服務(wù)器、數(shù)據(jù)類(lèi)型(string、hash、list、set、zset)、各種數(shù)據(jù)類(lèi)型操作、Python操作Redis、主從、集群。
第六步:項(xiàng)目實(shí)戰(zhàn)
最好參與真實(shí)項(xiàng)目的測(cè)試工作,積累真實(shí)項(xiàng)目的測(cè)試經(jīng)驗(yàn)。
成為優(yōu)秀軟件測(cè)試員之提升條件,如果你想成為一個(gè)更優(yōu)秀的軟件測(cè)試員的話(huà),除了上面那些,你也最好能夠具備開(kāi)發(fā)語(yǔ)言即代碼編寫(xiě)能力,雖然不會(huì)寫(xiě)代碼也能做測(cè)試、但是如果你想做到高級(jí)測(cè)試工程師以上、那么代碼編寫(xiě)能力就是必選項(xiàng)、如果不會(huì)寫(xiě)代碼、那么你不可能成為高級(jí)測(cè)試。高級(jí)測(cè)試工程 師的一部分工作就是在寫(xiě)測(cè)試工具。雖然測(cè)試也需要寫(xiě)代碼但不需要和開(kāi)發(fā)一樣那么精通某一門(mén)語(yǔ)言、可是測(cè)試卻需要了解很多門(mén)開(kāi)發(fā)語(yǔ)言(舉一個(gè)簡(jiǎn)單的例子:你 現(xiàn)在所在的項(xiàng)目從C++語(yǔ)言、2年后你換工作了、新公司的開(kāi)發(fā)語(yǔ)言是Java或者是VB什么的)所以在開(kāi)發(fā)語(yǔ)言中測(cè)試需要更廣的學(xué)習(xí)。
成為軟件測(cè)試員之必備條件,就是你一定要有良好的心態(tài)。心要靜、細(xì)心耐心、責(zé)任心。心靜不下來(lái)無(wú)法對(duì)bug展開(kāi)發(fā)向思維及拓展想像。任何一個(gè)測(cè)試最先面對(duì)的心理壓力就是重復(fù)性的勞動(dòng)。在你的測(cè)試生涯中,一定會(huì)碰見(jiàn)很多心理的考驗(yàn),自己對(duì)于質(zhì)量心里沒(méi)有底、或者由于產(chǎn)品發(fā)布問(wèn)題或者達(dá)到了測(cè)試瓶頸時(shí)候的困惑等。每個(gè)人都有自己的背景以及性格,往往對(duì)于測(cè)試來(lái)講,就是考驗(yàn)心理素質(zhì)的時(shí)候,這個(gè)時(shí)候就需要你自己不斷地去克服這些心理
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥(niǎo). 頁(yè)面生成時(shí)間:2.857秒