樓主需要好好學(xué)學(xué)軟件工程概論,做開(kāi)發(fā)和測(cè)試都必須要有了解的 WEB應(yīng)用和桌面應(yīng)用的理論大多是通用的 系統(tǒng)測(cè)試的任務(wù)是近可能徹底的檢查出程序中的錯(cuò)誤,提高軟件系統(tǒng)的可靠性,其目的是檢驗(yàn)系統(tǒng)"做得怎樣?"。
這階段又可分為三個(gè)步驟:模塊測(cè)試,測(cè)試每個(gè)模塊的程序是否有錯(cuò)誤;組裝測(cè)試,測(cè)試模塊之間的接口是否正確;確認(rèn)測(cè)試,測(cè)試整個(gè)軟件系統(tǒng)是否滿足用戶功能和性能的要求。該階段結(jié)束應(yīng)交付測(cè)試報(bào)告,說(shuō)明測(cè)試數(shù)據(jù)的選擇,測(cè)試用例以及測(cè)試結(jié)果是否符合預(yù)期結(jié)果。
測(cè)試發(fā)現(xiàn)問(wèn)題之后要經(jīng)過(guò)調(diào)試找出錯(cuò)誤原因和位置,然后進(jìn)行改正。 白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。
黑盒測(cè)試也稱功能測(cè)試,它是通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試地,把程序看作一個(gè)不能打開(kāi)的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。
黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。
軟件測(cè)試的方法根據(jù)軟件工程的組織和實(shí)現(xiàn)方式,有很大差別,有些是比較技術(shù)化的方法,有些則是工程方法,主要分為: 黑盒測(cè)試方法群:等價(jià)類劃分、邊界值、因果圖、基路徑法、專家測(cè)試法、smoking、場(chǎng)景測(cè)試等 白盒測(cè)試方法群:同行評(píng)審、需求審查、代碼審查、接口測(cè)試(調(diào)用測(cè)試和返回測(cè)試,需要結(jié)合等價(jià)類和因果圖方法)等。
當(dāng)在單元層面黑盒而在集成層面白盒時(shí),基本上兩類方法就會(huì)有結(jié)合了,就會(huì)出現(xiàn)習(xí)慣上說(shuō)的灰盒測(cè)試(說(shuō)實(shí)話,不做到純產(chǎn)品級(jí)開(kāi)發(fā),基本上都是用的灰盒測(cè)試)。
(1)黑盒測(cè)試(black-box testing):只關(guān)心輸入和輸出的結(jié)果 (2)白盒測(cè)試(white-box testing):去研究里面的源代碼和程序結(jié)構(gòu)2、按是否運(yùn)行程序分為:(1)靜態(tài)測(cè)試(static testing):是指不實(shí)際運(yùn)行被測(cè)軟件,而只是靜態(tài)地檢查程序代碼、界面或文檔可能存在的錯(cuò)誤的過(guò)程。
靜態(tài)測(cè)試包括:對(duì)于代碼測(cè)試,主要是測(cè)試代碼是否符合相應(yīng)的標(biāo)準(zhǔn)和規(guī)范。對(duì)于界面測(cè)試,主要測(cè)試軟件的實(shí)際界面與需求中的說(shuō)明是否相符。
對(duì)于文檔測(cè)試,主要測(cè)試用戶手冊(cè)和需求說(shuō)明是否真正符合用戶的實(shí)際需求。(5)動(dòng)態(tài)測(cè)試(dynamic testing),是指實(shí)際運(yùn)行被測(cè)程序,輸入相應(yīng)的測(cè)試數(shù)據(jù),檢查輸出結(jié)果和預(yù)期結(jié)果是否相符的過(guò)程3、按階段劃分:(1)單元測(cè)試(unit testing),是指對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證。
樁模塊(stud)是指模擬被測(cè)模塊所調(diào)用的模塊,驅(qū)動(dòng)模塊(driver)是指模擬被測(cè)模塊的上級(jí)模塊,驅(qū)動(dòng)模塊用來(lái)接收測(cè)試數(shù)據(jù),啟動(dòng)被測(cè)模塊并輸出結(jié)果。(2)集成測(cè)試(integration testing),是單元測(cè)試的下一階段,是指將通過(guò)測(cè)試的單元模塊組裝成系統(tǒng)或子系統(tǒng),再進(jìn)行測(cè)試,重點(diǎn)測(cè)試不同模塊的接口部門。
集成測(cè)試就是用來(lái)檢查各個(gè)單元模塊結(jié)合到一起能否協(xié)同配合,正常運(yùn)行。(3)系統(tǒng)測(cè)試(system testing),指的是將整個(gè)軟件系統(tǒng)看做一個(gè)整體進(jìn)行測(cè)試,包括對(duì)功能、性能,以及軟件所運(yùn)行的軟硬件環(huán)境進(jìn)行測(cè)試。
系統(tǒng)測(cè)試的主要依據(jù)是《系統(tǒng)需求規(guī)格說(shuō)明書(shū)》文檔。(4)驗(yàn)收測(cè)試(acceptance testing),指的是在系統(tǒng)測(cè)試的后期,以用戶測(cè)試為主,或有測(cè)試人員等質(zhì)量保障人員共同參與的測(cè)試,它也是軟件正式交給用戶使用的最后一道工序。
驗(yàn)收測(cè)試又分為a測(cè)試和beta測(cè)試,其中a測(cè)試指的是由用戶、測(cè)試人員、開(kāi)發(fā)人員等共同參與的內(nèi)部測(cè)試,而beta測(cè)試指的是內(nèi)測(cè)后的公測(cè),即完全交給最終用戶測(cè)試。4、黑盒測(cè)試分為功能測(cè)試和性能測(cè)試:1)功能測(cè)試(function testing),是黑盒測(cè)試的一方面,它檢查實(shí)際軟件的功能是否符合用戶的需求。
包括邏輯功能測(cè)試(logic function testing) 界面測(cè)試(UI testing)UI=User Interface 易用性測(cè)試(usability testing):是指從軟件使用的合理性和方便性等角度對(duì)軟件系統(tǒng)進(jìn)行檢查,來(lái)發(fā)現(xiàn)軟件中不方便用戶使用的地方。兼容性測(cè)試(compatibility testing):包括硬件兼容性測(cè)試和軟件兼容性測(cè)試2)性能測(cè)試(performance testing) 軟件的性能主要有時(shí)間性能和空間性能兩種 時(shí)間性能:主要指軟件的一個(gè)具體事務(wù)的響應(yīng)時(shí)間(respond time)。
空間性能:主要指軟件運(yùn)行時(shí)所消耗的系統(tǒng)資源。軟件性能測(cè)試分為:一般性能測(cè)試:指的是讓被測(cè)系統(tǒng)在正常的軟硬件環(huán)境下運(yùn)行,不向其施加任何壓力的性能測(cè)試。
穩(wěn)定性測(cè)試也叫可靠性測(cè)試(reliability testing):是指連續(xù)運(yùn)行被測(cè)系統(tǒng)檢查系統(tǒng)運(yùn)行時(shí)的穩(wěn)定程度。負(fù)載測(cè)試(load testing):是指讓被測(cè)系統(tǒng)在其能忍受的壓力的極限范圍之內(nèi)連續(xù)運(yùn)行,來(lái)測(cè)試系統(tǒng)的穩(wěn)定性。
壓力測(cè)試(stress testing):是指持續(xù)不斷的給被測(cè)系統(tǒng)增加壓力,直到將被測(cè)系統(tǒng)壓垮為止,用來(lái)測(cè)試系統(tǒng)所能承受的最大壓力。(Validate the system or software can allowed the biggest stress.)5、其他測(cè)試類型:回歸測(cè)試(regression testing)是指對(duì)軟件的新的版本測(cè)試時(shí),重復(fù)執(zhí)行上一個(gè)版本測(cè)試時(shí)的用例。
(When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.) 冒煙測(cè)試(smoke testing),是指在對(duì)一個(gè)新版本進(jìn)行大規(guī)模的測(cè)試之前,先驗(yàn)證一下軟件的基本功能是否實(shí)現(xiàn),是否具備可測(cè)性。(validate the major function is deployed or not in software of system when a new build or release is implement.) 隨機(jī)測(cè)試(random testing),是指測(cè)試中所有的輸入數(shù)據(jù)都是隨機(jī)生成的,其目的是模擬用戶的真實(shí)操作,并發(fā)現(xiàn)一些邊緣性的錯(cuò)誤。
(means or all the test data is random, to validate the some edge bugs.)。
1、從是否關(guān)心內(nèi)部結(jié)構(gòu)來(lái)看 (1)白盒測(cè)試:又稱為結(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è)試:又稱為數(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í)行信息和外部用戶接口結(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è)試:又稱模塊測(cè)試,是針對(duì)軟件設(shè)計(jì)的最小單位----程序模塊或功能模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試工作。其目的在于檢驗(yàn)程序各模塊是否存在各種差錯(cuò),是否能正確地實(shí)現(xià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è)試類型有:(1)功能測(cè)試:對(duì)軟件需求規(guī)格說(shuō)明書(shū)中的功能需求逐項(xiàng)進(jìn)行的測(cè)試,以驗(yàn)證功能是否滿足要求。
(2)性能測(cè)試:對(duì)軟件需求規(guī)格說(shuō)明書(shū)的功能需求逐項(xiàng)進(jìn)行的測(cè)試,以驗(yàn)證功能是否滿足要求。(3)接口測(cè)試:對(duì)軟件需求規(guī)格說(shuō)明中的接口需求逐項(xiàng)進(jìn)行的測(cè)試。
(4)人機(jī)交互界面測(cè)試:對(duì)所有人機(jī)交互界面提供的操作和顯示界面進(jìn)行的測(cè)試,以檢驗(yàn)是否滿足用戶的需求。(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ù)或重置功能的軟件的每一類導(dǎo)致恢復(fù)或重置的情況,逐一進(jìn)行的測(cè)試。
(10)邊界測(cè)試:對(duì)軟件處在邊界或端點(diǎn)情況下運(yùn)行狀態(tài)的測(cè)試。(11)數(shù)據(jù)處理測(cè)試:對(duì)完成專門數(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)在有效輸入類中可能引起某種不穩(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í)能滿足有關(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)用戶測(cè)試:用戶方進(jìn)行的測(cè)試 (3)第三方測(cè)試:有別于開(kāi)發(fā)人員或用戶進(jìn)行的測(cè)試,由專業(yè)的第三方承擔(dān)的測(cè)試,目的是為了保證測(cè)試工作的客觀性6、從測(cè)試所處的環(huán)境看 (1)阿爾法測(cè)試:是由一個(gè)用戶在開(kāi)發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的測(cè)試 (2)。
軟件測(cè)試的目的;在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)程序錯(cuò)誤,衡量軟件質(zhì)量,并對(duì)其是否能滿足設(shè)計(jì)要求進(jìn)行評(píng)估。
準(zhǔn)則:對(duì)計(jì)算機(jī)軟件進(jìn)行測(cè)試前,首先需遵循軟件測(cè)試原則,即不完全原則的遵守。不完全原則即為若測(cè)試不完全、測(cè)試過(guò)程中涉及免疫性原則的部分較多,可對(duì)軟件測(cè)試起到一定幫助。
因軟件測(cè)試因此類因素具有一定程度的免疫性,測(cè)試人員能夠完成的測(cè)試內(nèi)容與其免疫性成正比,若想使軟件測(cè)試更為流暢、測(cè)試效果更為有效,首先需遵循此類原則,將此類原則貫穿整個(gè)開(kāi)發(fā)流程,不斷進(jìn)行測(cè)試,而并非一次性全程測(cè)試。
測(cè)試方法:
1、靜態(tài)測(cè)試方法
軟件代碼的靜態(tài)分析測(cè)驗(yàn),此類過(guò)程中應(yīng)用數(shù)據(jù)較少,主要過(guò)程為通過(guò)軟件的靜態(tài)性測(cè)試(即人工推斷或計(jì)算機(jī)輔助測(cè)試)測(cè)試程序中運(yùn)算方式、算法的正確性,進(jìn)而完成測(cè)試過(guò)程,此類測(cè)試的優(yōu)點(diǎn)在于能夠消耗較短時(shí)間、較少資源完成對(duì)軟件、軟件代碼的測(cè)試,能夠較為明顯地發(fā)現(xiàn)此類代碼中出現(xiàn)的錯(cuò)誤。
2、動(dòng)態(tài)測(cè)試
計(jì)算機(jī)動(dòng)態(tài)測(cè)試的主要目的為檢測(cè)軟件運(yùn)行中出現(xiàn)的問(wèn)題,較靜態(tài)測(cè)試方式相比,其被稱為動(dòng)態(tài)的原因即為其測(cè)試方式主要依賴程序的運(yùn)用,主要為檢測(cè)軟件中動(dòng)態(tài)行為是否缺失、軟件運(yùn)行效果是否良好。
3、黑盒測(cè)試
通過(guò)數(shù)據(jù)輸入觀察數(shù)據(jù)輸出,檢查軟件內(nèi)部功能是否正常。測(cè)試展開(kāi)時(shí),數(shù)據(jù)輸入軟件中,等待數(shù)據(jù)輸出。數(shù)據(jù)輸出時(shí)若與預(yù)計(jì)數(shù)據(jù)一致,則證明該軟件通過(guò)測(cè)試,若數(shù)據(jù)與預(yù)計(jì)數(shù)據(jù)有出入,即便出入較小亦證明軟件程序內(nèi)部出現(xiàn)問(wèn)題,需盡快解決。
4、白盒測(cè)試
白盒測(cè)試相對(duì)于黑盒測(cè)試而言具有一定透明性,原理為根據(jù)軟件內(nèi)部應(yīng)用、源代碼等對(duì)產(chǎn)品內(nèi)部工作過(guò)程進(jìn)行調(diào)試。測(cè)試過(guò)程中常將其與軟件內(nèi)部結(jié)構(gòu)協(xié)同展開(kāi)分析,最大優(yōu)點(diǎn)即為其能夠有效解決軟件內(nèi)部應(yīng)用程序出現(xiàn)的問(wèn)題,測(cè)試過(guò)程中常將其與黑盒測(cè)試方式結(jié)合,當(dāng)測(cè)試軟件功能較多時(shí),白盒測(cè)試法亦可對(duì)此類情況展開(kāi)有效調(diào)試。
擴(kuò)展資料
軟件測(cè)試工具
開(kāi)源測(cè)試管理工具:Bugfree、Bugzilla、TestLink、mantis zentaopms。
開(kāi)源功能自動(dòng)化測(cè)試工具:Watir、Selenium [1] 、MaxQ、WebInject。
開(kāi)源性能自動(dòng)化測(cè)試工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator。
其他測(cè)試工具與框架:Rational Functional Tester、Borland Silk系列工具、WinRunner、Robot等。
禪道測(cè)試管理工具:功能比較全面的測(cè)試管理工具,功能涵蓋軟件研發(fā)的全部生命周期,為軟件測(cè)試和產(chǎn)品研發(fā)提供一體化的解決方案。是一款優(yōu)秀的國(guó)產(chǎn)開(kāi)源測(cè)試管理工具。
Quality Center:基于Web的測(cè)試管理工具,可以組織和管理應(yīng)用程序測(cè)試流程的所有階段,包括指定測(cè)試需求、計(jì)劃測(cè)試、執(zhí)行測(cè)試和跟蹤缺陷。
QuickTest Professional:用于創(chuàng)建功能和回歸測(cè)試。
LoadRunner:預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具。
國(guó)內(nèi)免費(fèi)軟件測(cè)試工具有:AutoRunner和TestCenter。
參考資料來(lái)源:百度百科-軟件測(cè)試技術(shù)
參考資料來(lái)源:百度百科-軟件測(cè)試
軟件測(cè)試生命周期包括6個(gè)階段(大體上):1)計(jì)劃 2)分析,3)設(shè)計(jì),4)構(gòu)建,5)測(cè)試周期,6)最后測(cè)試和實(shí)施,和7)實(shí)施后。
1. 計(jì)劃(產(chǎn)品定義階段)
高層次的測(cè)試計(jì)劃(包含多重測(cè)試周期)
質(zhì)量保證計(jì)劃(質(zhì)量目標(biāo),測(cè)試標(biāo)準(zhǔn)等 )
確定計(jì)劃評(píng)審的時(shí)間
報(bào)告問(wèn)題過(guò)程
確定問(wèn)題的分類
確定驗(yàn)收標(biāo)準(zhǔn)-給質(zhì)量保證員和用戶。
建立應(yīng)用程序測(cè)試數(shù)據(jù)庫(kù)
確定衡量標(biāo)準(zhǔn),例如缺陷數(shù)量/嚴(yán)重程度和缺陷起源(僅舉幾個(gè)例子) 。
確定項(xiàng)目質(zhì)量度量
開(kāi)始制定項(xiàng)目整體測(cè)試時(shí)間表(時(shí)間,資源等)
必需階段:評(píng)審產(chǎn)品定義文檔
文檔中加入質(zhì)量保證標(biāo)準(zhǔn),作為工程改善進(jìn)程的一部分
根據(jù)該產(chǎn)品的特點(diǎn)幫助確定問(wèn)題的范圍
大約每月要花5 -1 0小時(shí)在這一方面
計(jì)劃在數(shù)據(jù)庫(kù)管理所有測(cè)試用例,包括手工方面或者自動(dòng)化方面。
2. 分析(外部文檔階段)
根據(jù)業(yè)務(wù)需求開(kāi)發(fā)功能驗(yàn)證矩陣。
制定測(cè)試用例格式-估計(jì)時(shí)間和分配優(yōu)先級(jí)。
制定測(cè)試周期矩陣與時(shí)間線
根據(jù)功能驗(yàn)證矩陣開(kāi)始編寫(xiě)測(cè)試用例
根據(jù)業(yè)務(wù)需求計(jì)劃測(cè)試用例基準(zhǔn)數(shù)據(jù)
確定用于自動(dòng)化測(cè)試的測(cè)試用例。
自動(dòng)化團(tuán)隊(duì)開(kāi)始在測(cè)試工具中創(chuàng)建變量文件和高層次的測(cè)試腳本。
為自動(dòng)化系統(tǒng)中的跟蹤組件設(shè)置路徑和自動(dòng)化引導(dǎo)。
界定壓力和性能測(cè)試的范疇。
按照每個(gè)測(cè)試用例的數(shù)據(jù)要求開(kāi)始建立基準(zhǔn)數(shù)據(jù)庫(kù)。
定義維護(hù)基準(zhǔn)數(shù)據(jù)庫(kù)的過(guò)程,即備份,恢復(fù),驗(yàn)證。
開(kāi)始規(guī)劃項(xiàng)目所需的測(cè)試周期數(shù),和回歸測(cè)試次數(shù)。
開(kāi)始文檔復(fù)查,如:功能設(shè)計(jì)文檔,業(yè)務(wù)需求文檔,產(chǎn)品規(guī)格說(shuō)明書(shū),產(chǎn)品外部文檔等。
審查測(cè)試環(huán)境和實(shí)驗(yàn)室,前端與后端系統(tǒng)都要。
準(zhǔn)備使用McCabe工具,以支持白盒測(cè)試中代碼的研發(fā)和復(fù)雜性分析
建立反饋機(jī)制并開(kāi)始錄入文檔。
必需階段:審查外部文件
1、恢復(fù)測(cè)試 恢復(fù)測(cè)試主要檢查系統(tǒng)的容錯(cuò)能力。
當(dāng)系統(tǒng)出錯(cuò)時(shí),能否在指定時(shí)間間隔內(nèi)修正錯(cuò)誤并重新啟動(dòng)系統(tǒng)?;謴?fù)測(cè)試首先要采用各種辦法強(qiáng)迫系統(tǒng)失敗,然后驗(yàn)證系統(tǒng)是否能盡快恢復(fù)。
對(duì)于自動(dòng)恢復(fù)需驗(yàn)證重新初始化(reinitialization)、檢查點(diǎn)(checkpointing mechanisms)、數(shù)據(jù)恢復(fù)(data recovery)和重新啟動(dòng) (restart)等機(jī)制的正確性;對(duì)于人工干預(yù)的恢復(fù)系統(tǒng),還需估測(cè)平均修復(fù)時(shí)間,確定其是否在可接受的范圍內(nèi)。 2、安全測(cè)試 安全測(cè)試檢查系統(tǒng)對(duì)非法侵入的防范能力。
安全測(cè)試期間,測(cè)試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如,①想方設(shè)法截取或破譯口令;②專門定做軟件破壞系統(tǒng)的保護(hù)機(jī)制;③故意導(dǎo)致系統(tǒng)失敗,企圖趁恢復(fù)之機(jī)非法進(jìn)入;④試圖通過(guò)瀏覽非保密數(shù)據(jù),推導(dǎo)所需信息,等等。
理論上講,只要有足夠的時(shí)間和資源,沒(méi)有不可進(jìn)入的系統(tǒng)。因此系統(tǒng)安全設(shè)計(jì)的準(zhǔn)則是,使非法侵入的代價(jià)超過(guò)被保護(hù)信息的價(jià)值。
此時(shí)非法侵入者已無(wú)利可圖。 3、強(qiáng)度測(cè)試 強(qiáng)度測(cè)試檢查程序?qū)Ξ惓G闆r的抵抗能力。
強(qiáng)度測(cè)試總是迫使系統(tǒng)在異常的資源配置下運(yùn)行。例如,①當(dāng)中斷的正常頻率為每秒一至兩個(gè)時(shí),運(yùn)行每秒產(chǎn)生十個(gè)中斷的測(cè)試用例;②定量地增長(zhǎng)數(shù)據(jù)輸入率,檢查輸入子功能的反映能力;③運(yùn)行需要最大存儲(chǔ)空間(或其他資源)的測(cè)試用例;④運(yùn)行可能導(dǎo)致虛存操作系統(tǒng)崩潰或磁盤數(shù)據(jù)劇烈抖動(dòng)的測(cè)試用例,等等。
4、性能測(cè)試 對(duì)于那些實(shí)時(shí)和嵌入式系統(tǒng),軟件部分即使?jié)M足功能要求,也未必能夠滿足性能要求,雖然從單元測(cè)試起,每一測(cè)試步驟都包含性能測(cè)試,但只有當(dāng)系統(tǒng)真正集成之后,在真實(shí)環(huán)境中才能全面、可靠地測(cè)試運(yùn)行性能系統(tǒng)性能測(cè)試是為了完成這一任務(wù)。性能測(cè)試有時(shí)與強(qiáng)度測(cè)試相結(jié)合,經(jīng)常需要其他軟硬件的配套支持。
1. 等價(jià)類劃分 常見(jiàn)的軟件測(cè)試面試題劃分等價(jià)類: 等價(jià)類是指某個(gè)輸入域的子集合.在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的.并合理地假定:測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,就可以用少量代表性的測(cè)試數(shù)據(jù).取得較好的測(cè)試結(jié)果.等價(jià)類劃分可有兩種不同的情況:有效等價(jià)類和無(wú)效等價(jià)類. 2. 邊界值分析法 邊界值分析方法是對(duì)等價(jià)類劃分方法的補(bǔ)充。
測(cè)試工作經(jīng)驗(yàn)告訴我,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤. 使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測(cè)試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值作為測(cè)試數(shù)據(jù). 3. 錯(cuò)誤推測(cè)法 基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤, 從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法. 錯(cuò)誤推測(cè)方法的基本思想: 列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)他們選擇測(cè)試用例. 例如, 在單元測(cè)試時(shí)曾列出的許多在模塊中常見(jiàn)的錯(cuò)誤. 以前產(chǎn)品測(cè)試中曾經(jīng)發(fā)現(xiàn)的錯(cuò)誤等, 這些就是經(jīng)驗(yàn)的總結(jié)。還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況。
輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯(cuò)誤的情況??蛇x擇這些情況下的例子作為測(cè)試用例. 4. 因果圖方法 前面介紹的等價(jià)類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會(huì)產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價(jià)類,他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設(shè)計(jì)測(cè)試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況. 5. 正交表分析法 有時(shí)候,可能因?yàn)榇罅康膮?shù)的組合而引起測(cè)試用例數(shù)量上的激增,同時(shí),這些測(cè)試用例并沒(méi)有明顯的優(yōu)先級(jí)上的差距,而測(cè)試人員又無(wú)法完成這么多數(shù)量的測(cè)試,就可以通過(guò)正交表來(lái)進(jìn)行縮減一些用例,從而達(dá)到盡量少的用例覆蓋盡量大的范圍的可能性。
6. 場(chǎng)景分析方法 指根據(jù)用戶場(chǎng)景來(lái)模擬用戶的操作步驟,這個(gè)比較類似因果圖,但是可能執(zhí)行的深度和可行性更好。 白盒測(cè)試用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果 黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。
不可能做到完全測(cè)試,以最少的用例在合理的時(shí)間內(nèi)發(fā)現(xiàn)最多的問(wèn)題 詳細(xì)的描述一個(gè)測(cè)試活動(dòng)完整的過(guò)程。1. 項(xiàng)目經(jīng)理通過(guò)和客戶的交流,完成需求文檔,由開(kāi)發(fā)人員和測(cè)試人員共同完成需求文檔的評(píng)審,評(píng)審的內(nèi)容包括:需求描述不清楚的地方和可能有明顯沖突或者無(wú)法實(shí)現(xiàn)的功。
可以采用軟件測(cè)試常用的基該方法:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法、邏輯覆蓋法等設(shè)計(jì)測(cè)試用例。視軟件的不同性質(zhì)采用不同的方法。如何靈活運(yùn)用各種基該方法來(lái)設(shè)計(jì)完整的測(cè)試用例,并最終實(shí)現(xiàn)暴露隱藏的缺陷,全憑測(cè)試設(shè)計(jì)人員的豐富經(jīng)驗(yàn)和精心設(shè)計(jì)。
編寫(xiě)測(cè)試用例文檔應(yīng)有文檔模板,須符合內(nèi)部的規(guī)范要求。測(cè)試用例文檔將受制于測(cè)試用例管理軟件的約束。 軟件產(chǎn)品或軟件開(kāi)發(fā)項(xiàng)目的測(cè)試用例一般以該產(chǎn)品的軟件模塊或子系統(tǒng)為單位,形成一個(gè)測(cè)試用例文檔,但并不是絕對(duì)的。
測(cè)試用例文檔由簡(jiǎn)介和測(cè)試用例兩部分組成。簡(jiǎn)介部分編制了測(cè)試目的、測(cè)試范圍、定義術(shù)語(yǔ)、參考文檔、概述等。測(cè)試用例部分逐一列示各測(cè)試用例。每個(gè)具體測(cè)試用例都將包括下列詳細(xì)信息:版本號(hào)、模塊名稱、用例編號(hào)、用例名稱、用例級(jí)別、預(yù)知條件、驗(yàn)證步驟、期望結(jié)果(含判斷標(biāo)準(zhǔn))、測(cè)試結(jié)果、測(cè)試時(shí)間、測(cè)試人員等。
擴(kuò)展資料
測(cè)試執(zhí)行過(guò)程中,應(yīng)該注意及時(shí)更新測(cè)試用例。往往在測(cè)試執(zhí)行過(guò)程中,才發(fā)現(xiàn)遺漏了一些測(cè)試用例,這時(shí)候應(yīng)該及時(shí)的補(bǔ)充;往往也會(huì)發(fā)現(xiàn)有些測(cè)試用例在具體的執(zhí)行過(guò)程中根本無(wú)法操作,這時(shí)候應(yīng)該刪除這部分用例;也會(huì)發(fā)現(xiàn)若干個(gè)冗余的測(cè)試用例完全可以由某一個(gè)測(cè)試用例替代,那么刪除冗余的測(cè)試用例。
總之,測(cè)試執(zhí)行的過(guò)程中及時(shí)地更新測(cè)試用例是很好的習(xí)慣。不要打算在測(cè)試執(zhí)行結(jié)束后,統(tǒng)一更新測(cè)試用例,如果這樣,往往會(huì)遺漏很多本應(yīng)該更新的測(cè)試用例。
參考資料來(lái)源:百度百科-測(cè)試用例設(shè)計(jì)
參考資料來(lái)源:百度百科-測(cè)試用例
聲明:本網(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í)間:3.068秒