一、測(cè)試定義
a、什么是測(cè)試
測(cè)試是一個(gè)帶著找到錯(cuò)誤的目的來(lái)運(yùn)行程序或系統(tǒng)的過(guò)程?;蛘?,它是任何旨在評(píng)估程序或系統(tǒng)屬性和性能的活動(dòng),通過(guò)這些活動(dòng)來(lái)決定該程序或系統(tǒng)是否符合所要求的結(jié)果。
對(duì)于軟件來(lái)說(shuō),它并沒(méi)有不同于其他那些接收輸入、產(chǎn)出輸出的物理過(guò)程,它不同之處在于以何種方式運(yùn)行失敗。大多數(shù)物理系統(tǒng)運(yùn)行失敗在一個(gè)固定的(相當(dāng)?。┰O(shè)置方式上。相反的,軟件可以失敗在許多奇怪的方式上。要發(fā)現(xiàn)軟件所有不同的失敗方式通常是不太可能的。
b、測(cè)試目標(biāo)
要證明所提供的軟件產(chǎn)品達(dá)到了被要求的指標(biāo)。
軟件能正常運(yùn)行,沒(méi)有任何錯(cuò)誤或故障(功能上)。
產(chǎn)生高品質(zhì)的測(cè)試案例,進(jìn)行有效測(cè)試,發(fā)表正確有幫助的錯(cuò)誤報(bào)告。
c、一個(gè)優(yōu)秀測(cè)試案例的特征
一個(gè)好的或者說(shuō)一個(gè)成功的測(cè)試案例在于它具有很高的可能性來(lái)發(fā)現(xiàn)尚未發(fā)現(xiàn)的錯(cuò)誤。
它容易找到程序失敗的方式。
它讓測(cè)試捕捉到錯(cuò)誤的這種可能性變的合理。
它不是多余的。
它既不是太過(guò)簡(jiǎn)單也不是太過(guò)復(fù)雜。
d、測(cè)試原則
1、測(cè)試是一個(gè)帶著找到錯(cuò)誤的目的來(lái)運(yùn)行程序的過(guò)程。測(cè)試不應(yīng)該把"不會(huì)有錯(cuò)誤被發(fā)現(xiàn)"計(jì)劃在隱性假設(shè)中。
2、不僅使用有效的輸入條件進(jìn)行測(cè)試,還要使用無(wú)效和意想不到的輸入條件來(lái)測(cè)試。
3、當(dāng)遇到一個(gè)無(wú)效的測(cè)試時(shí)程序應(yīng)該產(chǎn)生正確的消息,當(dāng)遇到一個(gè)有效的測(cè)試時(shí)程序應(yīng)該產(chǎn)生正確的結(jié)果。
4、在一個(gè)或一組模塊中存在更多錯(cuò)誤的可能性與已經(jīng)找到的錯(cuò)誤數(shù)量,是成正比的。
5、測(cè)試時(shí)保持軟件靜態(tài)。
6、在設(shè)計(jì)的測(cè)試用例集被執(zhí)行的時(shí)候,不能修改程序。
7、使用文檔形式來(lái)記載測(cè)試案例和測(cè)試結(jié)果
8、如果可能的話提供預(yù)期的測(cè)試結(jié)果。
e、V過(guò)程模型總結(jié)
V模型是一個(gè)軟件開(kāi)發(fā)的過(guò)程。V模型揭示了開(kāi)發(fā)生命周期每個(gè)階段與測(cè)試的關(guān)系。
V模型部署了一個(gè)結(jié)構(gòu)良好的框架方法。按照這個(gè)框架,每個(gè)階段都能按照前一階段的詳細(xì)文檔來(lái)執(zhí)行。測(cè)試活動(dòng)就像測(cè)試設(shè)計(jì),開(kāi)始于項(xiàng)目的最開(kāi)端,放在編程之前,這樣就很有可能為工程進(jìn)度省下一大部分時(shí)間。
二、白盒測(cè)試與黑盒測(cè)試
f、白盒測(cè)試
白盒測(cè)試基于應(yīng)用程序代碼的內(nèi)部邏輯知識(shí)。測(cè)試基于代碼語(yǔ)句、分支、路徑、條件的覆蓋。
測(cè)試人員必須知道軟件內(nèi)部是怎么工作的,要知道軟件的結(jié)構(gòu)和程序語(yǔ)言,至少要知道程序語(yǔ)言的意義
白盒測(cè)試是在一個(gè)結(jié)構(gòu)性測(cè)試策略下進(jìn)行的,要求對(duì)對(duì)象結(jié)構(gòu)的完全訪問(wèn),也就是源代碼。
g、黑盒測(cè)試
黑盒測(cè)試不需要知道軟件內(nèi)部是如何工作的,也不需要知道軟件的結(jié)構(gòu)、設(shè)計(jì)、代碼或測(cè)試模塊的程序語(yǔ)言。黑盒測(cè)試,像其他大多數(shù)測(cè)試一樣,必須依據(jù)一個(gè)最終源文件,比如規(guī)格說(shuō)明書或要求文件。"你看到的就是你測(cè)試的。"它基于需求和功能來(lái)測(cè)試。
h、白盒測(cè)試技術(shù)
白盒測(cè)試技術(shù)包括以下4種
I、代碼覆蓋
1、段覆蓋:確保對(duì)每一句代碼都測(cè)試一次。
2、分支覆蓋或節(jié)點(diǎn)測(cè)試:覆蓋所有可能的代碼分支。
3、復(fù)合條件覆蓋:對(duì)于多個(gè)條件,通過(guò)多個(gè)路徑測(cè)試每一個(gè)條件,并且通過(guò)不同路徑組合來(lái)達(dá)到這一條件。
II、基本路徑測(cè)試
代碼中每個(gè)獨(dú)立的路徑都要被測(cè)試過(guò)。數(shù)據(jù)流測(cè)試是一種方式,即你通過(guò)各種可能的計(jì)算來(lái)跟蹤特定變量,從而通過(guò)代碼定義中間路徑集。數(shù)據(jù)流測(cè)試往往反映相關(guān)性,它主要是通過(guò)數(shù)據(jù)序列來(lái)操作。簡(jiǎn)言之即跟蹤每個(gè)數(shù)據(jù)變量,驗(yàn)證其使用。這種方法往往會(huì)發(fā)現(xiàn)錯(cuò)誤來(lái)源于變量使用而不是變量初始化,或者來(lái)源于變量聲明而不是使用,等等諸如此類。
III、路徑測(cè)試
路徑測(cè)試就是定義和覆蓋測(cè)試代碼中所有可能的路徑。這是一項(xiàng)費(fèi)時(shí)的工作。
IV、回歸測(cè)試
測(cè)試思路涉及到測(cè)試單圈、串聯(lián)循環(huán)、和嵌套循環(huán)。通過(guò)這種方法測(cè)試獨(dú)立和非獨(dú)立代碼循環(huán)和代碼值。
i、黑盒測(cè)試技術(shù)
為便于理解,將在下面詳細(xì)給出黑盒測(cè)試主要技術(shù)。
I、等價(jià)類劃分
等價(jià)類劃分是一種軟件測(cè)試技術(shù)。將軟件單元的輸入數(shù)據(jù)范圍劃分成若干等價(jià)區(qū)域,每一個(gè)區(qū)域編寫一個(gè)測(cè)試案例。原則上,測(cè)試案例的編寫至少覆蓋每個(gè)分區(qū)一次。該技術(shù)試圖定義測(cè)試用例從而揭示錯(cuò)誤類,這樣測(cè)試案例的總數(shù)就相應(yīng)減少了。
在極少數(shù)情況下,等價(jià)區(qū)域劃分也適用于軟件組件的產(chǎn)出,是具有代表性的,它適用于測(cè)試元件的輸入。等價(jià)區(qū)域劃分常常遵循于輸入屬性需求規(guī)格說(shuō)明書,從而影響測(cè)試對(duì)象的處理。輸入具有一定的有效輸入范圍和無(wú)效輸入范圍。這里的無(wú)效輸入數(shù)據(jù)不是說(shuō)數(shù)據(jù)類型是錯(cuò)誤的,而是指該輸入數(shù)據(jù)在某個(gè)具體分區(qū)之外。
舉個(gè)等價(jià)區(qū)域劃分的例子,比如你想要測(cè)試范圍在1到10,000之間的某個(gè)輸入數(shù)字,你不需要一一測(cè)試每一個(gè)1到10,000之間的數(shù)字,你只需使用等價(jià)區(qū)域劃分的方法,將數(shù)字范圍劃分,比如劃分成一位數(shù)、兩位數(shù)、三位數(shù)和四位數(shù),像5、15、555、5555。
II、邊界值分析
邊界值分析是等價(jià)區(qū)域劃分的擴(kuò)展,它是取等價(jià)區(qū)域上的邊界值來(lái)進(jìn)行測(cè)試。很多錯(cuò)誤往往就是發(fā)生在輸入范圍的邊界值上而不是輸入范圍中間的地方,至于為什么會(huì)這樣還不是完全清楚。正是由于這個(gè)原因,邊界值分析發(fā)展成了一項(xiàng)測(cè)試技術(shù)。邊界值分析產(chǎn)生了測(cè)試用例的選擇,選擇使用邊界值來(lái)進(jìn)行測(cè)試。
邊界值分析是一個(gè)測(cè)試案例設(shè)計(jì)技術(shù),是等價(jià)區(qū)域劃分的補(bǔ)充。邊界值分析不是選擇等價(jià)區(qū)域內(nèi)任意的數(shù)據(jù),而是選擇區(qū)域邊界值作為測(cè)試案例。邊界值分析不僅僅關(guān)注輸入條件,還從輸出域中產(chǎn)生出測(cè)試用例。
舉個(gè)邊界值分析的例子,比如測(cè)試1到12月之間的某個(gè)月份,我們?nèi)∫粋€(gè)小于0的負(fù)數(shù)據(jù),取一個(gè)1到12之間的有效數(shù)據(jù),取一個(gè)大于12的數(shù)據(jù)來(lái)進(jìn)行測(cè)試,觀察是否是只有1到12之間的有效數(shù)據(jù)被輸入才是可接受的。
III、錯(cuò)誤猜測(cè)
這是一個(gè)基于測(cè)試者綜合能力的一項(xiàng)軟件測(cè)試設(shè)計(jì)技術(shù)。在測(cè)試過(guò)程中,測(cè)試者根據(jù)他的經(jīng)驗(yàn)、知識(shí)和直覺(jué)來(lái)預(yù)測(cè)軟件上的錯(cuò)誤。一些典型的錯(cuò)誤域常常會(huì)發(fā)生在空字符串、零實(shí)例、某些特殊值、字符串中的空字符、負(fù)數(shù)數(shù)據(jù)上。
盡管過(guò)去測(cè)試經(jīng)驗(yàn)對(duì)錯(cuò)誤猜測(cè)來(lái)說(shuō)是很關(guān)鍵的基礎(chǔ),但它們也可能會(huì)用不到。容易出錯(cuò)的情況,有包括數(shù)據(jù)初始化(例如,重復(fù)某個(gè)過(guò)程,查看數(shù)據(jù)是否被正確刪除),錯(cuò)誤類型數(shù)據(jù)(例如,負(fù)數(shù)數(shù)據(jù)、非數(shù)字對(duì)數(shù)字),真實(shí)數(shù)據(jù)處理(也就是,測(cè)試那些通過(guò)系統(tǒng)或真實(shí)記錄創(chuàng)建的使用數(shù)據(jù),因?yàn)槌绦騿T往往會(huì)通過(guò)創(chuàng)建的數(shù)據(jù)來(lái)反映他們預(yù)期的設(shè)想),錯(cuò)誤管理(例如,將多個(gè)錯(cuò)誤進(jìn)行優(yōu)先排序,清除錯(cuò)誤消息,當(dāng)遇到某個(gè)錯(cuò)誤時(shí)需適當(dāng)進(jìn)行數(shù)據(jù)保存,錯(cuò)誤過(guò)后程序應(yīng)當(dāng)能繼續(xù)處理), 計(jì)算(例如,手工計(jì)算需比較的項(xiàng)目),重新啟動(dòng)、恢復(fù)(也就是,強(qiáng)制終止一個(gè)批處理程序,并且測(cè)定重啟/恢復(fù)進(jìn)程是否能工作正常),妥善處理并發(fā)進(jìn)程(也就是,在事件驅(qū)動(dòng)的應(yīng)用程序上,同時(shí)讓多個(gè)進(jìn)程運(yùn)行,測(cè)試程序的處理情況)。
IV、決策表
決策表是一種精確且緊湊塑造復(fù)雜邏輯的方式。像if-then-else和switch-case語(yǔ)句那樣,通過(guò)條件來(lái)執(zhí)行相應(yīng)事件。不同于傳統(tǒng)編程語(yǔ)言里的控制結(jié)構(gòu),決策表能通過(guò)一個(gè)直觀的方式將許多獨(dú)立的條件和事件關(guān)聯(lián)起來(lái)。
一個(gè)決策表通常被分成四個(gè)象限,如下圖所示。
每個(gè)決策對(duì)于一個(gè)變量、關(guān)系或表明滿足條件選項(xiàng)中的可能值。每一個(gè)動(dòng)作執(zhí)行一個(gè)過(guò)程或操作,并且該項(xiàng)指定動(dòng)作是否(或按什么順序)按照項(xiàng)目對(duì)應(yīng)的條件選項(xiàng)集執(zhí)行。
舉例:描述有限項(xiàng)決策表是最簡(jiǎn)單的。條件選項(xiàng)是簡(jiǎn)單的布爾值,并且動(dòng)作項(xiàng)是檢查標(biāo)記,表明哪一個(gè)給定列中的動(dòng)作將被執(zhí)行。一個(gè)技術(shù)支持公司編寫決策表來(lái)診斷打印機(jī)問(wèn)題,問(wèn)題的了解基于客戶通過(guò)電話向他們描述的癥狀。下面是一個(gè)平衡的決策表。
V、因果圖
在軟件測(cè)試中,因果圖是一個(gè)定向圖,由原因集映射到結(jié)果集上。原因可能被認(rèn)為是程序的輸入,結(jié)果可能被認(rèn)為是程序的輸出。通常,圖表顯示在左邊的節(jié)點(diǎn)代表原因,顯示在右邊的節(jié)點(diǎn)代表結(jié)果。中間可能有中間節(jié)點(diǎn),使用邏輯運(yùn)算符,如AND 和OR,將輸入結(jié)合起來(lái)。
三、測(cè)試類型
j、單元測(cè)試
單元測(cè)試的主要目標(biāo)是測(cè)試應(yīng)用程序中可測(cè)試的最小組成部分,可以獨(dú)立于軟件的其余代碼,測(cè)試其是否按照你所希望的在運(yùn)行。在將每一個(gè)單元集合成模塊來(lái)測(cè)試模塊間的接口前,應(yīng)該先分別測(cè)試每一個(gè)單元。單元測(cè)試很重要,很大比例的錯(cuò)誤都是在單元測(cè)試中發(fā)現(xiàn)的。
單元測(cè)試最常用的方法需要寫入驅(qū)動(dòng)和存根。驅(qū)動(dòng)模擬一個(gè)呼叫單元,存根模擬一個(gè)被呼叫單元。由于單元測(cè)試投資在開(kāi)發(fā)時(shí)間上較長(zhǎng),有時(shí)會(huì)導(dǎo)致將單元測(cè)試放在較低的優(yōu)先級(jí)上,但這樣做往往是錯(cuò)的。盡管編寫驅(qū)動(dòng)和存根要耗費(fèi)一定人力和時(shí)間,但單元測(cè)試展現(xiàn)了一些不可否認(rèn)的優(yōu)勢(shì)。單元測(cè)試允許測(cè)試過(guò)程自動(dòng)化,降低了從更復(fù)雜的應(yīng)用程序塊中找到錯(cuò)誤的難度。因?yàn)槊總€(gè)單元都被關(guān)注了,所以測(cè)試的覆蓋率也往往被提高了。
例如,如果你有兩個(gè)單元,想知道將他們集合在一起進(jìn)行測(cè)試所花的成本是否會(huì)偏低些,一開(kāi)始就將它們作為一個(gè)整體單元進(jìn)行測(cè)試,錯(cuò)誤的發(fā)生點(diǎn)可能會(huì)出現(xiàn)在很多地方:
單元一這里會(huì)出現(xiàn)錯(cuò)誤嗎?
單元二這里會(huì)出現(xiàn)錯(cuò)誤嗎?
兩個(gè)單元都會(huì)出現(xiàn)錯(cuò)誤嗎?
兩個(gè)單元之間的地方會(huì)出現(xiàn)錯(cuò)誤嗎?
會(huì)因?yàn)闇y(cè)試的缺陷出現(xiàn)錯(cuò)誤嗎?
將模塊直接集合在一起進(jìn)行測(cè)試遠(yuǎn)比先獨(dú)立測(cè)試每一個(gè)單元模塊,然后再將它們集合在一起進(jìn)行測(cè)試要復(fù)雜的多。
驅(qū)動(dòng)和存根可重復(fù)使用,在開(kāi)發(fā)周期中不斷發(fā)生的變化可以經(jīng)常進(jìn)行重新測(cè)試,而無(wú)需編寫大量的額外測(cè)試代碼。事實(shí)上,這減少了每次編寫驅(qū)動(dòng)和存根的成本,并且對(duì)重復(fù)測(cè)試的成本也更好控制。
k、集成測(cè)試
集成測(cè)試是單元測(cè)試邏輯上的延伸。最簡(jiǎn)單的測(cè)試形式是,在完成了兩個(gè)單元的單元測(cè)試后,將這兩個(gè)單元組合成一個(gè)組件,測(cè)試兩單元之間的界面。這里組件的意思是指多個(gè)單元的綜合。在真實(shí)的場(chǎng)景中,很多單元被合并成組件,這些組件又被合并成更大的部分。這個(gè)想法是測(cè)試組合件,最終擴(kuò)大測(cè)試該組模塊與別組模塊的過(guò)程。最終所有模塊將并一起進(jìn)行測(cè)試。除此之外,如果程序是多個(gè)進(jìn)程組成,它們應(yīng)該成對(duì)測(cè)試,而不是一次性全部一起測(cè)試。
集成測(cè)試是在將單元結(jié)合在一起的時(shí)候發(fā)現(xiàn)錯(cuò)誤。通過(guò)使用一個(gè)測(cè)試計(jì)劃,測(cè)試每一個(gè)單元,并在合并單元前確保每個(gè)單元的都是ok的。你就會(huì)知道在合并單元時(shí)發(fā)現(xiàn)的錯(cuò)誤就可能和單元間的界面有關(guān)系。利用這種方法,可以將推測(cè)錯(cuò)誤位置的可能性降低到一個(gè)簡(jiǎn)單的多的分析水平上。
集成測(cè)試有很多種方法,以下三種是最常見(jiàn)的:
自上而下的方法:需要測(cè)試最高級(jí)別的模塊,并且先集成起來(lái)。這使得在過(guò)程中要先測(cè)試高層次的邏輯和數(shù)據(jù)流,往往最小化了驅(qū)動(dòng)的需要。然而,存根的需求使測(cè)試管理復(fù)雜化。并且在軟件開(kāi)發(fā)生命周期中,低級(jí)別的往往在后面測(cè)試。自上而下的集成測(cè)試另外個(gè)不好的地方在于它不支持有限功能的提前釋放。
自下而上的方法:需要測(cè)試最低級(jí)別的單元,并且先集成起來(lái)。這些單元常常被稱為公用模塊。通過(guò)使用這個(gè)方法,在開(kāi)發(fā)過(guò)程早期測(cè)試公用模塊,存根的需要就被最小化了。不過(guò)這個(gè)方法的缺點(diǎn)就是驅(qū)動(dòng)的需求使測(cè)試管理復(fù)雜化,并且高級(jí)別的邏輯和數(shù)據(jù)流往往在后面測(cè)試。像自上而下的方法一樣,自下而上的方法同樣不支持有限功能的提前釋放。
第三個(gè)方法,有時(shí)也被稱為傘方法,需要沿著函數(shù)數(shù)據(jù)和控制流路徑來(lái)測(cè)試。首先,函數(shù)的輸入是集成在上面討論的自下而上的模式中。然后,函數(shù)的輸出是集成在自上而下的模式中。該方法最主要的優(yōu)勢(shì)在于它支持有限功能的提前釋放。并且它將存根和驅(qū)動(dòng)的需求最小化。該方法潛在的弱點(diǎn)是顯著的,它比其他兩種方法要欠缺系統(tǒng)性,導(dǎo)致需要更多的回歸測(cè)試。
l、驗(yàn)收測(cè)試
用戶驗(yàn)收測(cè)試常常是推出程序之前的最后一步測(cè)試。
通常,使用程序的最終用戶會(huì)在接受程序前對(duì)應(yīng)用程序進(jìn)行測(cè)試。這種形式的測(cè)試使最終用戶對(duì)交付到他們手上的應(yīng)用程序質(zhì)量更具有信心。該測(cè)試也能幫助發(fā)現(xiàn)程序在可用性上的缺陷。該測(cè)試有兩種測(cè)試類型,分別是Alpha測(cè)試和Beta測(cè)試。
Alpha和Beta測(cè)試
Alpha測(cè)試在開(kāi)發(fā)員的站點(diǎn)上進(jìn)行,在發(fā)行給外面客戶使用前,先由內(nèi)部工作人員對(duì)業(yè)務(wù)系統(tǒng)進(jìn)行測(cè)試。
Beta測(cè)試在客戶的站點(diǎn)上進(jìn)行,在發(fā)行給別的客戶前,先由一組顧客在他們自己的站點(diǎn)上使用該系統(tǒng)對(duì)其進(jìn)行測(cè)試。后者通常被稱為"現(xiàn)場(chǎng)測(cè)試"。
m、系統(tǒng)測(cè)試
系統(tǒng)測(cè)試對(duì)軟件整體進(jìn)行測(cè)試。在一個(gè)有代表性的企業(yè)里,由程序員來(lái)做單元測(cè)試。這保證了每一個(gè)組件都正常工作。集成測(cè)試關(guān)鍵在于軟件各個(gè)部分的成功組合(組件或單元代碼)。一旦組件被組合到一塊,整個(gè)系統(tǒng)就需要進(jìn)行徹底的測(cè)試來(lái)保證它達(dá)到質(zhì)量標(biāo)準(zhǔn)。
因此系統(tǒng)測(cè)試建立在單元測(cè)試和集成測(cè)試的基礎(chǔ)上。通常一個(gè)專業(yè)的測(cè)試團(tuán)隊(duì)是有責(zé)任做系統(tǒng)測(cè)試的。系統(tǒng)測(cè)試在質(zhì)量管理過(guò)程中是關(guān)鍵性的一步。
為什么系統(tǒng)測(cè)試如此重要?
在軟件開(kāi)發(fā)生命周期中,系統(tǒng)測(cè)試在系統(tǒng)作為一個(gè)整體進(jìn)行測(cè)試中是第一級(jí)的。通過(guò)測(cè)試系統(tǒng)來(lái)檢驗(yàn)它是否達(dá)到功能和技術(shù)上的要求。應(yīng)用程序/系統(tǒng)是在一個(gè)很類似于生產(chǎn)環(huán)境的環(huán)境下進(jìn)行測(cè)試的,那里應(yīng)用程序最后要被釋放。系統(tǒng)測(cè)試讓我們測(cè)試、檢驗(yàn)并確認(rèn)產(chǎn)品無(wú)論在業(yè)務(wù)需求還是體系結(jié)構(gòu)上是否都達(dá)到標(biāo)準(zhǔn)。
i、性能測(cè)試
性能測(cè)試是在程序運(yùn)行下進(jìn)行的,從某個(gè)角度來(lái)講,是檢測(cè)系統(tǒng)在特定的負(fù)載下各方面的運(yùn)行情況。它也可以用來(lái)驗(yàn)證和核實(shí)系統(tǒng)其他質(zhì)量屬性,如可擴(kuò)展性,可靠性和資源使用率。性能測(cè)試是性能工程的一個(gè)子集,是一種新興的計(jì)算機(jī)科學(xué)實(shí)踐,為提高系統(tǒng)設(shè)計(jì)和體系結(jié)構(gòu)的性能而努力,做在實(shí)際的編碼工作之前。
性能測(cè)試可用于不同的目的。它可以證明該系統(tǒng)性能符合標(biāo)準(zhǔn)。它可以通過(guò)比較來(lái)發(fā)現(xiàn)哪個(gè)系統(tǒng)執(zhí)行地好?;蛘撸梢詼y(cè)量系統(tǒng)或負(fù)載的哪部分導(dǎo)致系統(tǒng)運(yùn)行失敗。在診斷進(jìn)行中,軟件工程師使用工具,如廓線儀,來(lái)測(cè)量是設(shè)備或軟件的哪部分導(dǎo)致運(yùn)行失敗,或者為維持可接受的響應(yīng)時(shí)間來(lái)創(chuàng)建吞吐量水平(和閥值)。對(duì)一個(gè)新系統(tǒng)來(lái)說(shuō),性價(jià)比是至關(guān)重要的。性能測(cè)試工作始于開(kāi)發(fā)項(xiàng)目的啟動(dòng),并且擴(kuò)展到整個(gè)項(xiàng)目中。性能缺陷發(fā)現(xiàn)的越晚,修復(fù)的成本越高。這在功能測(cè)試中,情況屬實(shí),性能測(cè)試更是如此,原因在于其終端到終端的范圍性質(zhì)。
ii、回歸測(cè)試
如果軟件的某一部分因?yàn)槟硞€(gè)原因被修改了,就需要進(jìn)行測(cè)試,測(cè)試修正過(guò)后的軟件是否按照指定要求在工作,確保軟件沒(méi)有被影響并且之前的功能都俱全。這種測(cè)試就叫做回歸測(cè)試。
為什么回歸測(cè)試很重要?
因?yàn)槿魏诬浖系男薷亩寄芤瓞F(xiàn)有的功能遭破壞。軟件組件上的改變可能會(huì)影響到別的相關(guān)組件。軟件上的一個(gè)修正可能會(huì)引起其他錯(cuò)誤,這是很常見(jiàn)的。所有這些都影響了系統(tǒng)的質(zhì)量和穩(wěn)定性。因?yàn)榛貧w測(cè)試的目的是為了驗(yàn)證并確保這一切不會(huì)發(fā)生,所以是非常重要的。
四、測(cè)試過(guò)程
n、測(cè)試計(jì)劃
測(cè)試計(jì)劃是一個(gè)文件,詳細(xì)說(shuō)明了測(cè)試一個(gè)系統(tǒng),如一機(jī)器或一軟件的系統(tǒng)方法。該計(jì)劃通常包含最終工作流程會(huì)是什么樣子的詳細(xì)說(shuō)明。
它是一份描述測(cè)試計(jì)劃的文件,換句話說(shuō),即如何執(zhí)行測(cè)試計(jì)劃。它通常包括測(cè)試對(duì)象的羅列、測(cè)試人員角色和責(zé)任分配、開(kāi)始測(cè)試的前提條件、測(cè)試環(huán)境、假設(shè)、測(cè)試執(zhí)行成功后要做什么、測(cè)試執(zhí)行失敗后要做什么,等等。
一個(gè)測(cè)試計(jì)劃描述了如何驗(yàn)證和確保產(chǎn)品或系統(tǒng)滿足其設(shè)計(jì)規(guī)范和其他要求的戰(zhàn)略步驟。通常,測(cè)試工程師會(huì)對(duì)測(cè)試計(jì)劃做大量準(zhǔn)備和投入。
i、測(cè)試計(jì)劃的目標(biāo)
測(cè)試計(jì)劃的目標(biāo)是提供一套工具,以各種方式來(lái)支持測(cè)試團(tuán)隊(duì)的工作。這些好處包括:
a、可以減少重要工作被忽略、被誤估計(jì)、被忘記的風(fēng)險(xiǎn)
b、可以將工作按照重要性的高低來(lái)完成。
c、可以估計(jì)該項(xiàng)目(技術(shù)和程序性)的風(fēng)險(xiǎn),并確定是否可以緩解步驟。
d、可以組織安排測(cè)試的工作。
e、可以將測(cè)試工作的進(jìn)展情況和該項(xiàng)目作為一個(gè)整體來(lái)監(jiān)視。
五、單元測(cè)試
單元測(cè)試是一個(gè)驗(yàn)證源代碼的個(gè)別單位是否正常工作的測(cè)試(通常是自動(dòng)的)。單位是應(yīng)用程序中最小的可測(cè)試部分。在程序編程里,一個(gè)單位可能是一段指令、一個(gè)函數(shù)或者一段程序等等。而在面向?qū)ο蟮木幊汤?,單位可能是一個(gè)基數(shù)類/父類、抽象類或派生類/子類。
單元測(cè)試通常是由軟件開(kāi)發(fā)商來(lái)操作,要確保他們編寫的代碼符合軟件的要求,并且按照開(kāi)發(fā)員意想來(lái)運(yùn)行。
單元測(cè)試該測(cè)試些什么呢?
這在很大程度上取決于程序或正在創(chuàng)建的單元的類型。它可能是一個(gè)畫面或一個(gè)組件或web服務(wù)。大致上從以下幾方面來(lái)考慮:
a、對(duì)于UI畫面,測(cè)試用例要能驗(yàn)證所有需要顯示在屏幕上的屏幕元素。
b、對(duì)于UI畫面,測(cè)試用例要能驗(yàn)證所有顯示在屏幕上的標(biāo)簽或文本的拼寫/字體/大小。
c、創(chuàng)建測(cè)試用例,保證單位每行代碼在一個(gè)測(cè)試周期中至少被測(cè)試一次。
d、創(chuàng)建測(cè)試用例,保證條件語(yǔ)句里每一個(gè)條件都被測(cè)試過(guò)。
e、創(chuàng)建測(cè)試用例,測(cè)試數(shù)據(jù)可輸入的最小和最大范圍。例如,參數(shù)傳遞,要測(cè)試數(shù)值型參數(shù)的最大輸入值或字符串型參數(shù)的最長(zhǎng)輸入長(zhǎng)度。
f、創(chuàng)建測(cè)試用例,查看遇到各種錯(cuò)誤程序會(huì)如何處理。
g、創(chuàng)建測(cè)試用例,驗(yàn)證是否所有的驗(yàn)證工作都在被執(zhí)行。
聯(lián)系客服