一般公司常用的軟件測(cè)試工具有哪些?
1、靜態(tài)測(cè)試工具:直接對(duì)代碼進(jìn)行分析,生成可執(zhí)行文件。靜態(tài)測(cè)試工具一般是對(duì)代碼進(jìn)行語(yǔ)法掃描,根據(jù)某種質(zhì)量模型評(píng)價(jià)代碼的質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等。靜態(tài)測(cè)試工具的代表有:Telelogic公司的Logiscope軟件;PR公司的PRQA軟件。
2、動(dòng)態(tài)測(cè)試工具:動(dòng)態(tài)測(cè)試工具的一般采用"插樁"的方式,向代碼生成的可執(zhí)行文件中插入一些監(jiān)測(cè)代碼,用來(lái)統(tǒng)計(jì)程序運(yùn)行時(shí)的數(shù)據(jù)。動(dòng)態(tài)測(cè)試工具的代表有:Compuware公司的軟件;Rational公司的Purify系列等。
3、黑盒測(cè)試工具
黑盒測(cè)試工具的一般原理是利用腳本的錄制(Record)/回放(Playback),模擬用戶(hù)的操作。黑盒測(cè)試工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。
4、性能測(cè)試工具
的是一種適用于各種體系架構(gòu)的自動(dòng)負(fù)載測(cè)試工具,它能預(yù)測(cè)系統(tǒng)行為并優(yōu)化系統(tǒng)性能。的測(cè)試對(duì)象是整個(gè)企業(yè)的系統(tǒng),它通過(guò)模擬實(shí)際用戶(hù)的操作行為和實(shí)行實(shí)時(shí)性能監(jiān)測(cè),來(lái)幫助您更快的查找和發(fā)現(xiàn)問(wèn)題。
5、測(cè)試管理工具
測(cè)試管理工具對(duì)測(cè)試計(jì)劃、測(cè)試用例、測(cè)試實(shí)施進(jìn)行管理,并且,測(cè)試管理工具還包括對(duì)缺陷的跟蹤管理。測(cè)試管理工具的代表有:Rational公司的;公司的;公司的等軟件。
參考資料:百度百科-軟件測(cè)試(第二版)
軟件測(cè)試工具有哪些?
1、禪道測(cè)試管理工具是功能比較全面的測(cè)試管理工具,功能涵蓋軟件研發(fā)的全部生命周期,為軟件測(cè)試和產(chǎn)品研發(fā)提供一體化的解決方案,是一款十分優(yōu)秀的國(guó)產(chǎn)開(kāi)源測(cè)試管理工具。
2、是一種預(yù)測(cè)系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級(jí)負(fù)載測(cè)試工具。通過(guò)模擬上千萬(wàn)用戶(hù)實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題,它能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過(guò),企業(yè)能*限度地縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。它是一種適用于各種體系架構(gòu)的自動(dòng)負(fù)載測(cè)試工具,它能預(yù)測(cè)系統(tǒng)行為并優(yōu)化系統(tǒng)性能。的測(cè)試對(duì)象是整個(gè)企業(yè)的系統(tǒng),它通過(guò)模擬實(shí)際用戶(hù)的操作行為和實(shí)時(shí)性能監(jiān)測(cè),來(lái)幫助更快地查找和發(fā)現(xiàn)問(wèn)題。
3、QTP是一個(gè)B/S系統(tǒng)的自動(dòng)化功能測(cè)試的利器,軟件程序測(cè)試工具。Mercury的自動(dòng)化功能測(cè)試軟件,可以覆蓋絕大多數(shù)的軟件開(kāi)發(fā)技術(shù),簡(jiǎn)單高效,并具備測(cè)試用例可重用的特點(diǎn)。是一款先進(jìn)的自動(dòng)化測(cè)試解決方案,用于創(chuàng)建功能和回歸測(cè)試。它自動(dòng)捕獲、驗(yàn)證和重放用戶(hù)的交互行為。為每一個(gè)重要軟件應(yīng)用和環(huán)境提供功能和回歸測(cè)試自動(dòng)化的行業(yè)*解決方案。
4、Selenium是為正在蓬勃發(fā)展的web應(yīng)用開(kāi)發(fā)的一套完整的測(cè)試系統(tǒng)。Selenium測(cè)試直接運(yùn)行在瀏覽器中,就像真正的用戶(hù)在操作一樣。它的主要功能包括:測(cè)試與瀏覽器的兼容性——測(cè)試你的應(yīng)用程序是否能夠很好的在不同瀏覽器和操作系統(tǒng)上工作。測(cè)試系統(tǒng)功能——?jiǎng)?chuàng)建衰退測(cè)試檢驗(yàn)軟件功能和用戶(hù)需求。支持自動(dòng)錄制動(dòng)作和自動(dòng)生成。Selenium的核心基于JsUnit,完全由編寫(xiě),因此可運(yùn)行于任何支持的瀏覽器上,包括IE、、Chrome、Safari等。
軟件測(cè)試一般都用到哪些工具
1、企業(yè)級(jí)自動(dòng)化測(cè)試工具WinRunner,用于檢測(cè)應(yīng)用程序是否能夠達(dá)到預(yù)期的功能及正常運(yùn)行。通過(guò)自動(dòng)錄制、檢測(cè)和回放用戶(hù)的應(yīng)用操作,能夠幫助測(cè)試人員對(duì)復(fù)雜的企業(yè)級(jí)應(yīng)用的不同發(fā)布版進(jìn)行測(cè)試,確??缙脚_(tái)的、復(fù)雜的企業(yè)級(jí)應(yīng)用無(wú)故障發(fā)布及長(zhǎng)期穩(wěn)定運(yùn)行。
2、工業(yè)標(biāo)準(zhǔn)級(jí)負(fù)載測(cè)試工具,是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具。通過(guò)以模擬上千萬(wàn)用戶(hù)實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題,能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。企業(yè)能*限度地縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。
3、功能測(cè)試工具Rational Robot,可以在測(cè)試人員學(xué)習(xí)高級(jí)腳本技術(shù)之前幫助其進(jìn)行成功的測(cè)試。它集成在測(cè)試人員的桌面IBM Rational 上,測(cè)試人員可以計(jì)劃、組織、執(zhí)行、管理和報(bào)告所有測(cè)試活動(dòng),包括手動(dòng)測(cè)試報(bào)告。這種測(cè)試和管理的雙重功能是自動(dòng)化測(cè)試的理想開(kāi)始。
4、功能測(cè)試工具SilkTest,是Borland公司所提出軟件質(zhì)量管理解決方案的套件之一。這個(gè)工具采用精靈設(shè)定與自動(dòng)化執(zhí)行測(cè)試,無(wú)論是程序設(shè)計(jì)新手或資深的專(zhuān)家都能快速建立功能測(cè)試,并分析功能錯(cuò)誤。
5、全球測(cè)試管理系統(tǒng),是基于Web的測(cè)試管理系統(tǒng),可以在公司內(nèi)部或外部進(jìn)行全球范圍內(nèi)測(cè)試的管理。通過(guò)在一個(gè)整體的應(yīng)用系統(tǒng)中集成了測(cè)試管理的各個(gè)部分,包括需求管理,測(cè)試計(jì)劃,測(cè)試執(zhí)行以及錯(cuò)誤跟蹤等功能,極大地加速了測(cè)試過(guò)程。
擴(kuò)展資料:
WinRunner可以通過(guò)Function Generator增加測(cè)試的功能。使用Function Generator可以從目錄列表中選擇一個(gè)功能增加到測(cè)試中以提高測(cè)試能力。
針對(duì)相當(dāng)數(shù)量的企業(yè)應(yīng)用里非標(biāo)準(zhǔn)對(duì)象,WinRunner提供了Virtual Object Wizard來(lái)識(shí)別以前未知的對(duì)象。使用Virtual Object Wizard,可以選擇未知對(duì)象的類(lèi)型,設(shè)定標(biāo)識(shí)和命名。在錄制使用該對(duì)象的測(cè)試時(shí),WinRunner會(huì)自動(dòng)對(duì)應(yīng)它的名字,從而提高測(cè)試腳本的可讀性和測(cè)試質(zhì)量。
常用的軟件測(cè)試工具有哪些?
在測(cè)試工作中,需要接觸到各種類(lèi)型的測(cè)試工具。一般來(lái)說(shuō),有以下一些類(lèi)型的工具:測(cè)試管理工具:可以幫助完成測(cè)試計(jì)劃、跟蹤測(cè)試運(yùn)行結(jié)果等的工具。這類(lèi)工具還包括有助于需求、設(shè)計(jì)、編碼測(cè)試及缺陷跟蹤的工具;
靜態(tài)分析工具:分析代碼而不執(zhí)行代碼。這種工具檢測(cè)某些缺陷比用其它方法更有效,開(kāi)銷(xiāo)也更小。這種工具一般可以度量代碼的各種指標(biāo),如McCabe測(cè)定復(fù)雜度,Logiscope度量代碼和規(guī)范的復(fù)合度等等;
覆蓋率工具:這種工具評(píng)估通過(guò)一系列測(cè)試后,軟件被執(zhí)行的程度。這種工具大量的被應(yīng)用于單元測(cè)試中,如、、Logiscope等;
動(dòng)態(tài)分析工具:這種工具評(píng)估正在運(yùn)行的系統(tǒng)。例如,檢查系統(tǒng)運(yùn)行過(guò)程中的內(nèi)存使用情況,是否有內(nèi)存越界、內(nèi)存泄露等等,這類(lèi)工具有Purify、等;
測(cè)試執(zhí)行工具:這類(lèi)工具可使測(cè)試能夠自動(dòng)化進(jìn)行,并且各個(gè)層次(單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試)的執(zhí)行工具都有。例如系統(tǒng)測(cè)試階段有功能測(cè)試自動(dòng)化工具,如Robot、Winrunner、SilkTest等;還有性能測(cè)試工具,如、等。
白盒測(cè)試工具主要有:
內(nèi)存資源泄漏檢查:Numega中的,Rational的Purify
代碼覆蓋率檢查:Numega中的,Rational的,Telelogic公司的logiscope,Macabe公司的Macabe
代碼性能檢查:Numega中的truetime,Rational的Quantify
代碼靜態(tài)度量分析質(zhì)量檢查工具:logiscope和Macabe
黑盒測(cè)試工具主要有:
客戶(hù)端功能測(cè)試:MI公司的winrunner,compuware的qarun,Rational的robot
服務(wù)器端壓力性能測(cè)試:MI公司的winload,compuware的qaload,Rational的SQAload等等
Web測(cè)試工具:MI公司的Astra系列,rsw公司的e-testsuite
測(cè)試管理工具:rational的,compuware的等
缺陷跟蹤工具:,Testtrack
單元測(cè)試工具:
測(cè)試框架:++cppunit
黑盒測(cè)試需要掌握哪些工具,技能?
軟件測(cè)試要求知識(shí)面廣,但不一定精,編程語(yǔ)言的話,*是什么都學(xué)過(guò),至少幾種主流的程序語(yǔ)言要學(xué)過(guò),如java、.net、C++。還有會(huì)一些腳本語(yǔ)言vba(vb)、sql、 C等。網(wǎng)絡(luò)的話:TCP/IP協(xié)議,局域網(wǎng)廣域網(wǎng)相關(guān)知識(shí)等
數(shù)據(jù)庫(kù):當(dāng)前主流的mysql、ms-sql、oracle
常用測(cè)試工具:HP的三劍客首當(dāng)其沖了:QTP(自動(dòng)化功能測(cè)試工具)、(自動(dòng)化性能測(cè)試工具)、QC(TD前身,測(cè)試管理追蹤工具)。當(dāng)然這些都是收費(fèi)產(chǎn)品。網(wǎng)上有破解版的可供學(xué)習(xí)。(一套)
開(kāi)源免費(fèi)的測(cè)試工具:QTP(自動(dòng)化功能測(cè)試工具,破解版的可以滿(mǎn)足絕大部分測(cè)試需求)、jmeter(自動(dòng)化性能測(cè)試工具)、bugzilla(測(cè)試管理追蹤工具)。
軟件測(cè)試中什么是白盒測(cè)試 黑盒測(cè)試
白盒測(cè)試也稱(chēng)結(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è)試對(duì)象看作一個(gè)打開(kāi)的盒子,測(cè)試人員依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)相關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試,通過(guò)在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。
采用什么方法對(duì)軟件進(jìn)行測(cè)試呢?常用的軟件測(cè)試方法有兩大類(lèi):靜態(tài)測(cè)試方法和動(dòng)態(tài)測(cè)試方法。其中軟件的靜態(tài)測(cè)試不要求在計(jì)算機(jī)上實(shí)際執(zhí)行所測(cè)程序,主要以一些人工的模擬技術(shù)對(duì)軟件進(jìn)行分析和測(cè)試;而軟件的動(dòng)態(tài)測(cè)試是通過(guò)輸入一組預(yù)先按照一定的測(cè)試準(zhǔn)則構(gòu)造的實(shí)例數(shù)據(jù)來(lái)動(dòng)態(tài)運(yùn)行程序,而達(dá)到發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程。
白盒測(cè)試的測(cè)試方法有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋法、基本路徑測(cè)試法、域測(cè)試、符號(hào)測(cè)試、Z路徑覆蓋、程序變異。
白盒測(cè)試法的覆蓋標(biāo)準(zhǔn)有邏輯覆蓋、循環(huán)覆蓋和基本路徑測(cè)試。其中邏輯覆蓋包括語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。
六種覆蓋標(biāo)準(zhǔn):語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋發(fā)現(xiàn)錯(cuò)誤的能力呈由弱至強(qiáng)的變化。語(yǔ)句覆蓋每條語(yǔ)句至少執(zhí)行一次。判定覆蓋每個(gè)判定的每個(gè)分支至少執(zhí)行一次。條件覆蓋每個(gè)判定的每個(gè)條件應(yīng)取到各種可能的值。判定/條件覆蓋同時(shí)滿(mǎn)足判定覆蓋條件覆蓋。條件組合覆蓋每個(gè)判定中各條件的每一種組合至少出現(xiàn)一次。路徑覆蓋使程序中每一條可能的路徑至少執(zhí)行一次。
"白盒"法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。"白盒"法是窮舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字。但即使每條路徑都測(cè)試了仍然可能有錯(cuò)誤。*,窮舉路徑測(cè)試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序。第二,窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò)。第三,窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。
如何挑選白盒測(cè)試工具
白盒測(cè)試目前主要用在具有高可靠性要求的軟件領(lǐng)域,例如:軍工軟件、航天航空軟件、工業(yè)控制軟件等等。白盒測(cè)試工具在選購(gòu)時(shí)應(yīng)當(dāng)主要是對(duì)開(kāi)發(fā)語(yǔ)言的支持、代碼覆蓋的深度、嵌入式軟件的測(cè)試、測(cè)試的可視化等。
對(duì)開(kāi)發(fā)語(yǔ)言的支持:白盒測(cè)試工具是對(duì)源代碼進(jìn)行的測(cè)試,測(cè)試的主要內(nèi)容包括詞法分析與語(yǔ)法分析、靜態(tài)錯(cuò)誤分析、動(dòng)態(tài)檢測(cè)等。但是對(duì)于不同的開(kāi)發(fā)語(yǔ)言,測(cè)試工具實(shí)現(xiàn)的方式和內(nèi)容差別是較大的。目前測(cè)試工具主要支持的開(kāi)發(fā)語(yǔ)言包括:標(biāo)準(zhǔn)C、C++、Visual C++、Java、Visual J++等。
代碼的覆蓋深度:從覆蓋源程序語(yǔ)句的詳盡程度分析,邏輯覆蓋標(biāo)準(zhǔn)包括以下不同的覆蓋標(biāo)準(zhǔn):語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、條件判定組合覆蓋、多條件覆蓋和修正判定條件覆蓋。
·語(yǔ)句覆蓋 為了暴露程序中的錯(cuò)誤,程序中的每條語(yǔ)句至少應(yīng)該執(zhí)行一次。因此語(yǔ)句覆蓋(Statement Coverage)的含義是:選擇足夠多的測(cè)試數(shù)據(jù),使被測(cè)程序中每條語(yǔ)句至少執(zhí)行一次。語(yǔ)句覆蓋是很弱的邏輯覆蓋。
·判定覆蓋 比語(yǔ)句覆蓋稍強(qiáng)的覆蓋標(biāo)準(zhǔn)是判定覆蓋(Decision Coverage)。判定覆蓋的含義是:設(shè)計(jì)足夠的測(cè)試用例,使得程序中的每個(gè)判定至少都獲得一次“真值”或“假值”,或者說(shuō)使得程序中的每一個(gè)取“真”分支和取“假”分支至少經(jīng)歷一次,因此判定覆蓋又稱(chēng)為分支覆蓋。
·條件覆蓋 在設(shè)計(jì)程序中,一個(gè)判定語(yǔ)句是由多個(gè)條件組合而成的復(fù)合判定。為了更徹底地實(shí)現(xiàn)邏輯覆蓋,可以采用條件覆蓋(Condition Coverage)的標(biāo)準(zhǔn)。條件覆蓋的含義是:構(gòu)造一組測(cè)試用例,使得每一判定語(yǔ)句中每個(gè)邏輯條件的可能值至少滿(mǎn)足一次。
·多條件覆蓋 多條件覆蓋也稱(chēng)條件組合覆蓋,它的含義是:設(shè)計(jì)足夠的測(cè)試用例,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次。顯然滿(mǎn)足多條件覆蓋的測(cè)試用例是一定滿(mǎn)足判定覆蓋、條件覆蓋和條件判定組合覆蓋的。
·修正條件判定覆蓋 修正條件判定覆蓋是由歐美的航空/航天制造廠商和使用單位聯(lián)合制定的“航空運(yùn)輸和裝備系統(tǒng)軟件認(rèn)證標(biāo)準(zhǔn)”,目前在國(guó)外的國(guó)防、航空航天領(lǐng)域應(yīng)用廣泛。這個(gè)覆蓋度量需要足夠的測(cè)試用例來(lái)確定各個(gè)條件能夠影響到包含的判定的結(jié)果。它要求滿(mǎn)足兩個(gè)條件:首先,每一個(gè)程序模塊的入口和出口點(diǎn)都要考慮至少要被調(diào)用一次,每個(gè)程序的判定到所有可能的結(jié)果值要至少轉(zhuǎn)換一次;其次,程序的判定被分解為通過(guò)邏輯操作符(and、or)連接的布爾條件,每個(gè)條件對(duì)于判定的結(jié)果值是獨(dú)立的。
不同的測(cè)試工具對(duì)于代碼的覆蓋能力也是不同的,通常能夠支持修正條件判定覆蓋的測(cè)試工具價(jià)格是極其昂貴的。
嵌入式軟件的測(cè)試:對(duì)于嵌入式軟件的測(cè)試,我們還需要一方面進(jìn)一步考慮測(cè)試工具對(duì)于嵌入式操作系統(tǒng)的支持能力,例如DOS、Vxworks、Neculeus、Linux和Windows CE等;另一方面還需要考慮測(cè)試工具對(duì)于硬件平臺(tái)的支持能力,包括是否支持所有64/32/16位CPU 和 MCU,是否可以支持 PCI/VME/CPCI 總線。
測(cè)試的可視化:白盒測(cè)試是工作量巨大并且枯燥的工作,可視化的設(shè)計(jì)對(duì)于測(cè)試來(lái)說(shuō)是十分重要的。在選購(gòu)白盒測(cè)試工具時(shí),應(yīng)當(dāng)考慮該款測(cè)試工具的可視化是否良好,例如:測(cè)試過(guò)程中是否可以顯示覆蓋率的函數(shù)分布圖和上升趨勢(shì)圖,是否使用不同的顏色區(qū)分已執(zhí)行和未執(zhí)行的代碼段顯示分配內(nèi)存情況實(shí)時(shí)圖表等,這些對(duì)于測(cè)試效率和測(cè)試質(zhì)量的提高是具有很大的作用的。
白盒測(cè)試之基本路徑測(cè)試法
白盒測(cè)試的測(cè)試方法有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋法、基本路徑測(cè)試法、域測(cè)試、符號(hào)測(cè)試、Z路徑覆蓋、程序變異。
其中運(yùn)用最為廣泛的是基本路徑測(cè)試法。
基本路徑測(cè)試法是在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法。
設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中程序的每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次。
在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例。包括以下4個(gè)步驟和一個(gè)工具方法:
1. 程序的控制流圖:描述程序控制流的一種圖示方法。
2. 程序圈復(fù)雜度:McCabe復(fù)雜性度量。從程序的環(huán)路復(fù)雜性可導(dǎo)出程序基本路徑集合中的獨(dú)立路徑條數(shù),這是確定程序中每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次所必須的測(cè)試用例數(shù)目的上界。
3. 導(dǎo)出測(cè)試用例:根據(jù)圈復(fù)雜度和程序結(jié)構(gòu)設(shè)計(jì)用例數(shù)據(jù)輸入和預(yù)期結(jié)果。
4. 準(zhǔn)備測(cè)試用例:確?;韭窂郊械拿恳粭l路徑的執(zhí)行。
工具方法:
圖形矩陣:是在基本路徑測(cè)試中起輔助作用的軟件工具,利用它可以實(shí)現(xiàn)自動(dòng)地確定一個(gè)基本路徑集。
程序的控制流圖:描述程序控制流的一種圖示方法。
圓圈稱(chēng)為控制流圖的一個(gè)結(jié)點(diǎn),表示一個(gè)或多個(gè)無(wú)分支的語(yǔ)句或源程序語(yǔ)句
流圖只有二種圖形符號(hào):
圖中的每一個(gè)圓稱(chēng)為流圖的結(jié)點(diǎn),代表一條或多條語(yǔ)句。
流圖中的箭頭稱(chēng)為邊或連接,代表控制流
任何過(guò)程設(shè)計(jì)都要被翻譯成控制流圖。
如何根據(jù)程序流程圖畫(huà)出控制流程圖?
在將程序流程圖簡(jiǎn)化成控制流圖時(shí),應(yīng)注意:
在選擇或多分支結(jié)構(gòu)中,分支的匯聚處應(yīng)有一個(gè)匯聚結(jié)點(diǎn)。
邊和結(jié)點(diǎn)圈定的區(qū)域叫做區(qū)域,當(dāng)對(duì)區(qū)域計(jì)數(shù)時(shí),圖形外的區(qū)域也應(yīng)記為一個(gè)區(qū)域。
基本路徑測(cè)試法的步驟:
*步:畫(huà)出控制流圖
流程圖用來(lái)描述程序控制結(jié)構(gòu)??蓪⒘鞒虉D映射到一個(gè)相應(yīng)的流圖(假設(shè)流程圖的菱形決定框中不包含復(fù)合條件)。在流圖中,每一個(gè)圓,稱(chēng)為流圖的結(jié)點(diǎn),代表一個(gè)或多個(gè)語(yǔ)句。一個(gè)處理方框序列和一個(gè)菱形決測(cè)框可被映射為一個(gè)結(jié)點(diǎn),流圖中的箭頭,稱(chēng)為邊或連接,代表控制流,類(lèi)似于流程圖中的箭頭。一條邊必須終止于一個(gè)結(jié)點(diǎn),即使該結(jié)點(diǎn)并不代表任何語(yǔ)句(例如:if-else-then結(jié)構(gòu))。由邊和結(jié)點(diǎn)限定的范圍稱(chēng)為區(qū)域。計(jì)算區(qū)域時(shí)應(yīng)包括圖外部的范圍。
第二步:計(jì)算圈復(fù)雜度
圈復(fù)雜度是一種為程序邏輯復(fù)雜性提供定量測(cè)度的軟件度量,將該度量用于計(jì)算程序的基本的獨(dú)立路徑數(shù)目,為確保所有語(yǔ)句至少執(zhí)行一次的測(cè)試數(shù)量的上界。獨(dú)立路徑必須包含一條在定義之前不曾用到的邊。
有以下三種方法計(jì)算圈復(fù)雜度:
流圖中區(qū)域的數(shù)量對(duì)應(yīng)于環(huán)型的復(fù)雜性;
給定流圖G的圈復(fù)雜度V(G),定義為V(G)=E-N+2,E是流圖中邊的數(shù)量,N是流圖中結(jié)點(diǎn)的數(shù)量;
給定流圖G的圈復(fù)雜度V(G),定義為V(G)=P+1,P是流圖G中判定結(jié)點(diǎn)的數(shù)量。
第三步:導(dǎo)出測(cè)試用例 根據(jù)上面的計(jì)算方法,可得出四個(gè)獨(dú)立的路徑。(一條獨(dú)立路徑是指,和其他的獨(dú)立路徑相比,至少引入一個(gè)新處理語(yǔ)句或一個(gè)新判斷的程序通路。V(G)值正好等于該程序的獨(dú)立路徑的條數(shù)。)
路徑1:4-14
路徑2:4-6-7-14
路徑3:4-6-8-10-13-4-14
路徑4:4-6-8-11-13-4-14
根據(jù)上面的獨(dú)立路徑,去設(shè)計(jì)輸入數(shù)據(jù),使程序分別執(zhí)行到上面四條路徑。
白盒測(cè)試三步法
1) 根據(jù)代碼的功能,人工設(shè)計(jì)測(cè)試用例進(jìn)行基本功能測(cè)試;
2) 統(tǒng)計(jì)白盒覆蓋率,為未覆蓋的白盒單位設(shè)計(jì)測(cè)試用例,實(shí)現(xiàn)完整的白盒覆蓋,比較理想的覆蓋率是實(shí)現(xiàn)*語(yǔ)句、條件、分支、路徑覆蓋;
3) 自動(dòng)生成大量的測(cè)試用例,捕捉"程序員未處理某些特殊輸入"形成的錯(cuò)誤。
第1步的測(cè)試用例通常是現(xiàn)成的,因?yàn)樵敿?xì)設(shè)計(jì)文檔會(huì)規(guī)定程序的基本功能,沒(méi)有文檔的,程序員在編程時(shí)也要想清楚程序的功能,這些基本功能就是基本測(cè)試用例;
第2步是在第1步的基礎(chǔ)上,檢查未覆蓋的白盒單位,由于未覆蓋的邏輯單位通常對(duì)應(yīng)未測(cè)試的等價(jià)類(lèi),因此第2步可以找出第1步所遺漏的測(cè)試用例;
第3步用自動(dòng)動(dòng)態(tài)測(cè)試彌補(bǔ)第2步的固有缺陷。
"三步法"盡量避免重復(fù)工作,白盒方法和黑盒方法相結(jié)合,人工方法和自動(dòng)方法相補(bǔ)充,如果第2步的覆蓋率比較理想,那么基本上可以保證找出所有等價(jià)類(lèi)。在開(kāi)發(fā)過(guò)程允許的限度內(nèi),"三步法"已接近極限,當(dāng)?shù)闷?徹底測(cè)試"四個(gè)字。
黑盒測(cè)試也稱(chēng)功能測(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è)試是以用戶(hù)的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行測(cè)試的。很明顯,如果外部特性本身有問(wèn)題或規(guī)格說(shuō)明的規(guī)定有誤,用墨盒測(cè)試方法是發(fā)現(xiàn)不了的。
黑盒測(cè)試法注重于測(cè)試軟件的功能需求,主要試圖發(fā)現(xiàn)下列幾類(lèi)錯(cuò)誤。
功能不正確或遺漏;
界面錯(cuò)誤;
數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤;
性能錯(cuò)誤;
初始化和終止錯(cuò)誤等。
從理論上講,黑盒測(cè)試只有采用窮舉輸入測(cè)試,把所有可能的輸入都作為測(cè)試情況考慮,才能查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無(wú)窮多個(gè),人們不僅要測(cè)試所有合法的輸入,而且還要對(duì)那些不合法但可能的輸入進(jìn)行測(cè)試。這樣看來(lái),完全測(cè)試是不可能的,所以我們要進(jìn)行有針對(duì)性的測(cè)試,通過(guò)制定測(cè)試案例指導(dǎo)測(cè)試的實(shí)施,保證軟件測(cè)試有組織、按步驟,以及有計(jì)劃地進(jìn)行。黑盒測(cè)試行為必須能夠加以量化,才能真正保證軟件質(zhì)量,而測(cè)試用例就是將測(cè)試行為具體量化的方法之一。具體的黑盒測(cè)試用例設(shè)計(jì)方法包括等價(jià)類(lèi)劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法、判定表驅(qū)動(dòng)法、正交試驗(yàn)設(shè)計(jì)法、功能圖法等。
等價(jià)類(lèi)劃分的辦法是把程序的輸入域劃分成若干部分(子集),然后從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)作為測(cè)試用例。每一類(lèi)的代表性數(shù)據(jù)在測(cè)試中的作用等價(jià)于這一類(lèi)中的其他值。該方法是一種重要的,常用的黑盒測(cè)試用例設(shè)計(jì)方法。
1) 劃分等價(jià)類(lèi): 等價(jià)類(lèi)是指某個(gè)輸入域的子集合。在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的,并合理地假定:測(cè)試某等價(jià)類(lèi)的代表值就等于對(duì)這一類(lèi)其它值的測(cè)試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類(lèi),在每一個(gè)等價(jià)類(lèi)中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,就可以用少量代表性的測(cè)試數(shù)據(jù).取得較好的測(cè)試結(jié)果.等價(jià)類(lèi)劃分可有兩種不同的情況:有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi).
有效等價(jià)類(lèi):是指對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō)是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合.利用有效等價(jià)類(lèi)可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明中所規(guī)定的功能和性能.
無(wú)效等價(jià)類(lèi):與有效等價(jià)類(lèi)的定義恰巧相反.
設(shè)計(jì)測(cè)試用例時(shí),要同時(shí)考慮這兩種等價(jià)類(lèi).因?yàn)?軟件不僅要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗(yàn).這樣的測(cè)試才能確保軟件具有更高的可靠性.
2)劃分等價(jià)類(lèi)的方法:下面給出六條確定等價(jià)類(lèi)的原則.
①在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi).
②在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi).
③在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi).
④在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi).
⑤在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個(gè)有效等價(jià)類(lèi)(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(lèi)(從不同角度違反規(guī)則).
⑥在確知已劃分的等價(jià)類(lèi)中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類(lèi)進(jìn)一步的劃分為更小的等價(jià)類(lèi).
3)設(shè)計(jì)測(cè)試用例:在確立了等價(jià)類(lèi)后,可建立等價(jià)類(lèi)表,列出所有劃分出的等價(jià)類(lèi):
輸入條件 有效等價(jià)類(lèi) 無(wú)效等價(jià)類(lèi)
... ... ...
... ... ...
然后從劃分出的等價(jià)類(lèi)中按以下三個(gè)原則設(shè)計(jì)測(cè)試用例:
①為每一個(gè)等價(jià)類(lèi)規(guī)定一個(gè)*的編號(hào).
②設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價(jià)類(lèi),重復(fù)這一步.直到所有的有效等價(jià)類(lèi)都被覆蓋為止.
③設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無(wú)效等價(jià)類(lèi),重復(fù)這一步.直到所有的無(wú)效等價(jià)類(lèi)都被覆蓋為止.
邊界值分析是通過(guò)選擇等價(jià)類(lèi)邊界的測(cè)試用例。邊界值分析法不僅重視輸入條件邊界,而且也必須考慮輸出域邊界。它是對(duì)等價(jià)類(lèi)劃分方法的補(bǔ)充.
(1)邊界值分析方法的考慮:
長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤.
使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類(lèi)的邊界,就是應(yīng)著重測(cè)試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類(lèi)中的典型值或任意值作為測(cè)試數(shù)據(jù).
(2)基于邊界值分析方法選擇測(cè)試用例的原則:
1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù).
2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用*個(gè)數(shù),最小個(gè)數(shù),比最小個(gè)數(shù)少一,比*個(gè)數(shù)多一的數(shù)作為測(cè)試數(shù)據(jù).
3)根據(jù)規(guī)格說(shuō)明的每個(gè)輸出條件,使用前面的原則1).
4)根據(jù)規(guī)格說(shuō)明的每個(gè)輸出條件,應(yīng)用前面的原則2).
5)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的*個(gè)元素和*一個(gè)元素作為測(cè)試用例.
6)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例.
7)分析規(guī)格說(shuō)明,找出其它可能的邊界條件.
錯(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ò)誤的情況. 可選擇這些情況下的例子作為測(cè)試用例.
因果圖法:
前面介紹的等價(jià)類(lèi)劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會(huì)產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價(jià)類(lèi),他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設(shè)計(jì)測(cè)試用例. 這就需要利用因果圖(邏輯模型).
因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
利用因果圖生成測(cè)試用例的基本步驟:
(1) 分析軟件規(guī)格說(shuō)明描述中, 那些是原因(即輸入條件或輸入條件的等價(jià)類(lèi)),那些是結(jié)果(即輸出條件), 并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符.
(2) 分析軟件規(guī)格說(shuō)明描述中的語(yǔ)義.找出原因與結(jié)果之間, 原因與原因之間對(duì)應(yīng)的關(guān)系. 根據(jù)這些關(guān)系,畫(huà)出因果圖.
(3) 由于語(yǔ)法或環(huán)境限制, 有些原因與原因之間,原因與結(jié)果之間的組合情況不不可能出現(xiàn). 為表明這些特殊情況, 在因果圖上用一些記號(hào)表明約束或限制條件.
(4) 把因果圖轉(zhuǎn)換為判定表.
(5) 把判定表的每一列拿出來(lái)作為依據(jù),設(shè)計(jì)測(cè)試用例.
從因果圖生成的測(cè)試用例(局部,組合關(guān)系下的)包括了所有輸入數(shù)據(jù)的取TRUE與取FALSE的情況,構(gòu)成的測(cè)試用例數(shù)目達(dá)到最少,且測(cè)試用例數(shù)目隨輸入數(shù)據(jù)數(shù)目的增加而線性地增加.
前面因果圖方法中已經(jīng)用到了判定表.判定表(Decision Table)是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況下的工具.在程序設(shè)計(jì)發(fā)展的初期,判定表就已被當(dāng)作編寫(xiě)程序的輔助工具了.由于它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得既具體又明確.
判定表通常由四個(gè)部分組成.
條件樁(Condition Stub):列出了問(wèn)題得所有條件.通常認(rèn)為列出得條件的次序無(wú)關(guān)緊要.
動(dòng)作樁(Action Stub):列出了問(wèn)題規(guī)定可能采取的操作.這些操作的排列順序沒(méi)有約束.
條件項(xiàng)(Condition Entry):列出針對(duì)它左列條件的取值.在所有可能情況下的真假值.
動(dòng)作項(xiàng)(Action Entry):列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作.
規(guī)則:任何一個(gè)條件組合的特定取值及其相應(yīng)要執(zhí)行的操作.在判定表中貫穿條件項(xiàng)和動(dòng)作項(xiàng)的一列就是一條規(guī)則.顯然,判定表中列出多少組條件取值,也就有多少條規(guī)則,既條件項(xiàng)和動(dòng)作項(xiàng)有多少列.
判定表的建立步驟:(根據(jù)軟件規(guī)格說(shuō)明)
①確定規(guī)則的個(gè)數(shù).假如有n個(gè)條件.每個(gè)條件有兩個(gè)取值(0,1),故有 種規(guī)則.
②列出所有的條件樁和動(dòng)作樁.
③填入條件項(xiàng).
④填入動(dòng)作項(xiàng).等到初始判定表.
⑤簡(jiǎn)化.合并相似規(guī)則(相同動(dòng)作).
B. Beizer 指出了適合使用判定表設(shè)計(jì)測(cè)試用例的條件:
①規(guī)格說(shuō)明以判定表形式給出,或很容易轉(zhuǎn)換成判定表.
②條件的排列順序不會(huì)也不影響執(zhí)行哪些操作.
③規(guī)則的排列順序不會(huì)也不影響執(zhí)行哪些操作.
④每當(dāng)某一規(guī)則的條件已經(jīng)滿(mǎn)足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則.
⑤如果某一規(guī)則得到滿(mǎn)足要執(zhí)行多個(gè)操作,這些操作的執(zhí)行順序無(wú)關(guān)緊要.
正交試驗(yàn)設(shè)計(jì)法,就是使用已經(jīng)造好了的正交表格來(lái)安排試驗(yàn)并進(jìn)行數(shù)據(jù)分析的一種方法,目的是用最少的測(cè)試用例達(dá)到*的測(cè)試覆蓋率。
黑盒測(cè)試的優(yōu)點(diǎn)
1. 基本上不用人管著,如果程序停止運(yùn)行了一般就是被測(cè)試程序crash了
2. 設(shè)計(jì)完測(cè)試?yán)螅聛?lái)的工作就是爽了,當(dāng)然更苦悶的是確定crash原因
黑盒測(cè)試的缺點(diǎn)
1. 結(jié)果取決于測(cè)試?yán)脑O(shè)計(jì),測(cè)試?yán)脑O(shè)計(jì)部分來(lái)勢(shì)來(lái)源于經(jīng)驗(yàn),OUSPG的東西很值得借鑒
2. 沒(méi)有狀態(tài)轉(zhuǎn)換的概念,目前一些成功的例子基本上都是針對(duì)PDU來(lái)做的,還做不到針對(duì)被測(cè)試程序的狀態(tài)轉(zhuǎn)換來(lái)作
3. 就沒(méi)有狀態(tài)概念的測(cè)試來(lái)說(shuō),尋找和確定造成程序crash的測(cè)試?yán)莻€(gè)麻煩事情,必須把周?chē)赡艿臏y(cè)試?yán)龁为?dú)確認(rèn)一遍。而就有狀態(tài)的測(cè)試來(lái)說(shuō),就更麻煩了,尤其不是一個(gè)單獨(dú)的testcase造成的問(wèn)題。這些在堆的問(wèn)題中表現(xiàn)的更為突出。
黑盒測(cè)試(功能測(cè)試)工具的選擇
那么,如何高效地完成功能測(cè)試?選擇一款合適的功能測(cè)試工具并培訓(xùn)一支高素質(zhì)的工具使用隊(duì)伍無(wú)疑是至關(guān)重要的。盡管現(xiàn)階段存在少數(shù)不采用任何功能測(cè)試工具,從事功能測(cè)試外包項(xiàng)目的軟件服務(wù)企業(yè)。短期來(lái)看,這類(lèi)企業(yè)盈利狀況尚可,但長(zhǎng)久來(lái)看,它們極有可能被自動(dòng)化程度較高的軟件服務(wù)企業(yè)取代。
目前,用于功能測(cè)試的工具軟件有很多,針對(duì)不同架構(gòu)軟件的工具也不斷推陳出新。這里重點(diǎn)介紹的是其中一個(gè)較為典型自動(dòng)化測(cè)試工具,即Mercury公司的WinRunner。
WinRunner是一種用于檢驗(yàn)應(yīng)用程序能否如期運(yùn)行的企業(yè)級(jí)軟件功能測(cè)試工具。通過(guò)自動(dòng)捕獲、檢測(cè)和模擬用戶(hù)交互操作,WinRunner能識(shí)別出絕大多數(shù)軟件功能缺陷,從而確保那些跨越了多個(gè)功能點(diǎn)和數(shù)據(jù)庫(kù)的應(yīng)用程序在發(fā)布時(shí)盡量不出現(xiàn)功能性故障。
WinRunner的特點(diǎn)在于: 與傳統(tǒng)的手工測(cè)試相比,它能快速、批量地完成功能點(diǎn)測(cè)試; 能針對(duì)相同測(cè)試腳本,執(zhí)行相同的動(dòng)作,從而消除人工測(cè)試所帶來(lái)的理解上的誤差; 此外,它還能重復(fù)執(zhí)行相同動(dòng)作,測(cè)試工作中最枯燥的部分可交由機(jī)器完成; 它支持程序風(fēng)格的測(cè)試腳本,一個(gè)高素質(zhì)的測(cè)試工程師能借助它完成流程極為復(fù)雜的測(cè)試,通過(guò)使用通配符、宏、條件語(yǔ)句、循環(huán)語(yǔ)句等,還能較好地完成測(cè)試腳本的重用; 它針對(duì)于大多數(shù)編程語(yǔ)言和Windows技術(shù),提供了較好的集成、支持環(huán)境,這對(duì)基于Windows平臺(tái)的應(yīng)用程序?qū)嵤┕δ軠y(cè)試而言帶來(lái)了極大的便利。
WinRunner的工作流程大致可以分為以下六個(gè)步驟:
1.識(shí)別應(yīng)用程序的GUI
在WinRunner中,我們可以使用GUI Spy來(lái)識(shí)別各種GUI對(duì)象,識(shí)別后,WinRunner會(huì)將其存儲(chǔ)到GUI Map File中。它提供兩種GUI Map File模式: Global GUI Map File和GUI Map File per Test。其*區(qū)別是后者對(duì)每個(gè)測(cè)試腳本產(chǎn)生一個(gè)GUI文件,它能自動(dòng)建立、存儲(chǔ)、加載,推薦初學(xué)者選用這種模式。但是,這種模式不易于描述對(duì)象的改變,其效率比較低,因此對(duì)于一個(gè)有經(jīng)驗(yàn)的測(cè)試人員來(lái)說(shuō)前者不失為一種更好的選擇,它只產(chǎn)生一個(gè)共享的GUI文件,這使得測(cè)試腳本更容易維護(hù),且效率更高。
2.建立測(cè)試腳本
在建立測(cè)試腳本時(shí),一般先進(jìn)行錄制,然后在錄制形成的腳本中手工加入需要的TSL(與C語(yǔ)言類(lèi)似的測(cè)試腳本語(yǔ)言)。錄制腳本有兩種模式: Context Sensitive和Analog,選擇依據(jù)主要在于是否對(duì)鼠標(biāo)軌跡進(jìn)行模擬,在需要回放時(shí)一般選用Analog。在錄制過(guò)程中這兩種模式可以通過(guò)F2鍵相互切換。
只要看看現(xiàn)代軟件的規(guī)模和功能點(diǎn)數(shù)就可以明白,功能測(cè)試早已跨越了單靠手工敲敲鍵盤(pán)、點(diǎn)點(diǎn)鼠標(biāo)就可以完成的階段。而性能測(cè)試則是控制系統(tǒng)性能的有效手段,在軟件的能力驗(yàn)證、能力規(guī)劃、性能調(diào)優(yōu)、缺陷修復(fù)等方面都發(fā)揮著重要作用。
3.對(duì)測(cè)試腳本除錯(cuò)(debug)
在WinRunner中有專(zhuān)門(mén)一個(gè)Debug Toolbar用于測(cè)試腳本除錯(cuò)??梢允褂胹tep、pause、等來(lái)控制和跟蹤測(cè)試腳本和查看各種變量值。
4.在新版應(yīng)用程序執(zhí)行測(cè)試腳本
當(dāng)應(yīng)用程序有新版本發(fā)布時(shí),我們會(huì)對(duì)應(yīng)用程序的各種功能包括新增功能進(jìn)行測(cè)試,這時(shí)當(dāng)然不可能再來(lái)重新錄制和編寫(xiě)所有的測(cè)試腳本。我們可以使用已有的腳本,批量運(yùn)行這些測(cè)試腳本測(cè)試舊的功能點(diǎn)是否正常工作??梢允褂靡粋€(gè)call命令來(lái)加載各測(cè)試腳本。還可在call命令中加各種TSL腳本來(lái)增加批量能力。
5.分析測(cè)試結(jié)果
分析測(cè)試結(jié)果在整個(gè)測(cè)試過(guò)程中最重要,通過(guò)分析可以發(fā)現(xiàn)應(yīng)用程序的各種功能性缺陷。當(dāng)運(yùn)行完某個(gè)測(cè)試腳本后,會(huì)產(chǎn)生一個(gè)測(cè)試報(bào)告,從這個(gè)測(cè)試報(bào)告中我們能發(fā)現(xiàn)應(yīng)用程序的功能性缺陷,能看到實(shí)際結(jié)果和期望結(jié)果之間的差異,以及在測(cè)試過(guò)程中產(chǎn)生的各類(lèi)對(duì)話框等。
6.回報(bào)缺陷(defect)
在分析完測(cè)試報(bào)告后,按照測(cè)試流程要回報(bào)應(yīng)用程序的各種缺陷,然后將這些缺陷發(fā)給指定人,以便進(jìn)行修改和維護(hù)。
常用的功能測(cè)試方法
功能測(cè)試就是對(duì)產(chǎn)品的各功能進(jìn)行驗(yàn)證,根據(jù)功能測(cè)試用例,逐項(xiàng)測(cè)試,檢查產(chǎn)品是否達(dá)到用戶(hù)要求的功能。
*的軟件測(cè)試方法有哪些?
隨著軟件測(cè)試技術(shù)的不斷發(fā)展,測(cè)試方法也越來(lái)越多樣化,針對(duì)性更強(qiáng);選擇合適的軟件測(cè)試方法可以讓我們事半功倍。以下是一些常用的軟件測(cè)試方法:β測(cè)試_Beta測(cè)試
β測(cè)試,英文是Beta testing。又稱(chēng)Beta測(cè)試,用戶(hù)驗(yàn)收測(cè)試(UAT)。
β測(cè)試是軟件的多個(gè)用戶(hù)在一個(gè)或多個(gè)用戶(hù)的實(shí)際使用環(huán)境下進(jìn)行的測(cè)試。開(kāi)發(fā)者通常不在測(cè)試現(xiàn)場(chǎng),Beta測(cè)試不能由程序員或測(cè)試員完成。
當(dāng)開(kāi)發(fā)和測(cè)試根本完成時(shí)所做的測(cè)試,而最終的錯(cuò)誤和問(wèn)題需要在最終發(fā)行前找到。這種測(cè)試一般由最終用戶(hù)或其他人員完成,不能由程序員或測(cè)試員完成。
α測(cè)試_Alpha測(cè)試
α測(cè)試,英文是Alpha testing。又稱(chēng)Alpha測(cè)試.
Alpha測(cè)試是由一個(gè)用戶(hù)在開(kāi)發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是公司內(nèi)部的用戶(hù)在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測(cè)試,Alpha測(cè)試不能由該系統(tǒng)的程序員或測(cè)試員完成。
在系統(tǒng)開(kāi)發(fā)接近完成時(shí)對(duì)應(yīng)用系統(tǒng)的測(cè)試;測(cè)試后,仍然會(huì)有少量的設(shè)計(jì)變更。這種測(cè)試一般由最終用戶(hù)或其他人員來(lái)完成,不能由程序員或測(cè)試員完成。
可移植性測(cè)試
可移植性測(cè)試,英文是 testing。又稱(chēng)兼容性測(cè)試。
可移植性測(cè)試是指測(cè)試軟件是否可以被成功移植到指定的硬件或軟件平臺(tái)上。
用戶(hù)界面測(cè)試-UI測(cè)試
用戶(hù)界面測(cè)試,英文是User interface testing。又稱(chēng)UI測(cè)試。
用戶(hù)界面,英文是User interface。是指軟件中的可見(jiàn)外觀及其底層與用戶(hù)交互的部分(菜單、對(duì)話框、窗口和其它控件)。
用戶(hù)界面測(cè)試是指測(cè)試用戶(hù)界面的風(fēng)格是否滿(mǎn)足客戶(hù)要求,文字是否正確,頁(yè)面是否美觀,文字,圖片組合是否完美,操作是否友好等等。UI 測(cè)試的目標(biāo)是確保用戶(hù)界面會(huì)通過(guò)測(cè)試對(duì)象的功能來(lái)為用戶(hù)提供相應(yīng)的訪問(wèn)或?yàn)g覽功能。確保用戶(hù)界面符合公司或行業(yè)的標(biāo)準(zhǔn)。包括用戶(hù)友好性、人性化、易操作性測(cè)試。
用戶(hù)界面測(cè)試用戶(hù)分析軟件用戶(hù)界面的設(shè)計(jì)是否合乎用戶(hù)期望或要求。它常常包括菜單,對(duì)話框及對(duì)話框上所有按鈕,文字,出錯(cuò)提示,幫助信息 (Menu 和Help content)等方面的測(cè)試。比如,測(cè)試Microsoft Excel中插入符號(hào)功能所用的對(duì)話框的大小,所有按鈕是否對(duì)齊,字符串字體大小,出錯(cuò)信息內(nèi)容和字體大小,工具欄位置/圖標(biāo)等等。
冒煙測(cè)試
冒煙測(cè)試,英文是Smoke testing。
冒煙測(cè)試的名稱(chēng)可以理解為該種測(cè)試耗時(shí)短,僅用一袋煙功夫足夠了。也有人認(rèn)為是形象地類(lèi)比新電路板功基本功能檢查。任何新電路板焊好后,先通電檢查,如果存在設(shè)計(jì)缺陷,電路板可能會(huì)短路,板子冒煙了。
冒煙測(cè)試的對(duì)象是每一個(gè)新編譯的需要正式測(cè)試的軟件版本,目的是確認(rèn)軟件基本功能正常,可以進(jìn)行后續(xù)的正式測(cè)試工作。冒煙測(cè)試的執(zhí)行者是版本編譯人員。
隨機(jī)測(cè)試
隨機(jī)測(cè)試,英文是Ad hoc testing。
隨機(jī)測(cè)試沒(méi)有書(shū)面測(cè)試用例、記錄期望結(jié)果、檢查列表、腳本或指令的測(cè)試。主要是根據(jù)測(cè)試者的經(jīng)驗(yàn)對(duì)軟件進(jìn)行功能和性能抽查。隨機(jī)測(cè)試是根據(jù)測(cè)試說(shuō)明書(shū)執(zhí)行用例測(cè)試的重要補(bǔ)充手段,是保證測(cè)試覆蓋完整性的有效方式和過(guò)程。
隨機(jī)測(cè)試主要是對(duì)被測(cè)軟件的一些重要功能進(jìn)行復(fù)測(cè),也包括測(cè)試那些當(dāng)前的測(cè)試樣例(TestCase)沒(méi)有覆蓋到的部分。另外,對(duì)于軟件更新和新增加的功能要重點(diǎn)測(cè)試。重點(diǎn)對(duì)一些特殊點(diǎn)情況點(diǎn)、特殊的使用環(huán)境、并發(fā)性、進(jìn)行檢查。尤其對(duì)以前測(cè)試發(fā)現(xiàn)的重大Bug,進(jìn)行再次測(cè)試,可以結(jié)合回歸測(cè)試 ( testing)一起進(jìn)行。
本地化測(cè)試
本地化測(cè)試,英文是 testing。
本地化就是將軟件版本語(yǔ)言進(jìn)行更改,比如將英文的windows改成中文的windows就是本地化。本地化測(cè)試的對(duì)象是軟件的本地化版本。本地化測(cè)試的目的是測(cè)試特定目標(biāo)區(qū)域設(shè)置的軟件本地化質(zhì)量。本地化測(cè)試的環(huán)境是在本地化的操作系統(tǒng)上安裝本地化的軟件。從測(cè)試方法上可以分為基本功能測(cè)試,安裝/卸載測(cè)試,當(dāng)?shù)貐^(qū)域的軟硬件兼容性測(cè)試。測(cè)試的內(nèi)容主要包括軟件本地化后的界面布局和軟件翻譯的語(yǔ)言質(zhì)量,包含軟件、文檔和聯(lián)機(jī)幫助等部分。
本地化能力測(cè)試
本地化能力測(cè)試,英文是 testing。
本地化能力測(cè)試是指不需要重新設(shè)計(jì)或修改代碼,將程序的用戶(hù)界面翻譯成任何目標(biāo)語(yǔ)言的能力。為了降低本地化能力測(cè)試的成本,提高測(cè)試效率,本地化能力側(cè)是通常在軟件的偽本地化版本上進(jìn)行。
本地化能力測(cè)試中發(fā)現(xiàn)的典型錯(cuò)誤包括:字符的硬編碼(即軟件中需要本地化的字符寫(xiě)在了代碼內(nèi)部),對(duì)需要本地化的字符長(zhǎng)度設(shè)置了固定值,在軟件運(yùn)行時(shí)以控件位置定位,圖標(biāo)和位圖中包含了需要本地化的文本,軟件的用戶(hù)界面與文檔術(shù)語(yǔ)不一致等。
國(guó)際化測(cè)試
國(guó)際化測(cè)試,英文是 testing。又稱(chēng)國(guó)際化支持測(cè)試。
國(guó)際化測(cè)試的目的是測(cè)試軟件的國(guó)際化支持能力,發(fā)現(xiàn)軟件的國(guó)際化的潛在問(wèn)題,保證軟件在世界不同區(qū)域都能正常運(yùn)行。國(guó)際化測(cè)試使用每種可能的國(guó)際輸入類(lèi)型,針對(duì)任何區(qū)域性或區(qū)域設(shè)置檢查產(chǎn)品的功能是否正常,軟件國(guó)際化測(cè)試的重點(diǎn)在于執(zhí)行國(guó)際字符串的輸入/輸出功能。國(guó)際化測(cè)試數(shù)據(jù)必須包含東亞語(yǔ)言、德語(yǔ)、復(fù)雜腳本字符和英語(yǔ)(可選)的混合字符。
國(guó)際化支持測(cè)試是指驗(yàn)證軟件程序在不同*或區(qū)域的平臺(tái)上也能夠如預(yù)期的那樣運(yùn)行,而且還可以按照原設(shè)計(jì)尊重和支持使用當(dāng)?shù)爻S玫娜掌冢煮w,文字表示,特殊格式等等。比如,用英文版的 Windows XP 和 Microsoft Word 能否展示阿拉伯字符串?用阿拉伯版的 Windows XP 和 阿拉伯版的Microsoft Word 能否展示阿拉伯字符串?又比如,日文版的Microsoft Excel對(duì)話框是否顯示正確翻譯的日語(yǔ)?一旦來(lái)說(shuō)執(zhí)行國(guó)際化支持測(cè)試的測(cè)試人員往往需要基本上了解這些*或地區(qū)的語(yǔ)言要求和期望行為是什么。
安裝測(cè)試
安裝測(cè)試,英文是 testing。
安裝測(cè)試是確保軟件在正常情況和異常情況下,例如,進(jìn)行首次安裝、升級(jí)、完整的或自定義的安裝都能進(jìn)行安裝的測(cè)試。異常情況包括磁盤(pán)空間不足、缺少目錄創(chuàng)建權(quán)限等場(chǎng)景。核實(shí)軟件在安裝后可立即正常運(yùn)行。安裝測(cè)試包括測(cè)試安裝代碼以及安裝手冊(cè)。安裝手冊(cè)提供如何進(jìn)行安裝,安裝代碼提供安裝一些程序能夠運(yùn)行的基礎(chǔ)數(shù)據(jù)。
白盒測(cè)試-結(jié)構(gòu)測(cè)試-邏輯驅(qū)動(dòng)測(cè)試
白盒測(cè)試,英文是White Box Testing。又稱(chēng)結(jié)構(gòu)測(cè)試或者邏輯驅(qū)動(dòng)測(cè)試。
白盒測(cè)試是把測(cè)試對(duì)象看作一個(gè)打開(kāi)的盒子。利用白盒測(cè)試法進(jìn)行動(dòng)態(tài)測(cè)試時(shí),需要測(cè)試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過(guò)程,不需測(cè)試軟件產(chǎn)品的功能。
白盒測(cè)試法的覆蓋標(biāo)準(zhǔn)有邏輯覆蓋、循環(huán)覆蓋和基本路徑測(cè)試。其中邏輯覆蓋包括語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。
白盒測(cè)試是知道產(chǎn)品內(nèi)部工作過(guò)程,可通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證。
白盒測(cè)試常用工具有:Jtest、VcSmith、Jcontract、C++ Test、、logiscope。
黑盒測(cè)試-功能測(cè)試-數(shù)據(jù)驅(qū)動(dòng)測(cè)試
黑盒測(cè)試,英文是Black Box Testing。又稱(chēng)功能測(cè)試或者數(shù)據(jù)驅(qū)動(dòng)測(cè)試。
黑盒測(cè)試是根據(jù)軟件的規(guī)格對(duì)軟件進(jìn)行的測(cè)試,這類(lèi)測(cè)試不考慮軟件內(nèi)部的運(yùn)作原理,因此軟件對(duì)用戶(hù)來(lái)說(shuō)就像一個(gè)黑盒子。
軟件測(cè)試人員以用戶(hù)的角度,通過(guò)各種輸入和觀察軟件的各種輸出結(jié)果來(lái)發(fā)現(xiàn)軟件存在的缺陷,而不關(guān)心程序具體如何實(shí)現(xiàn)的一種軟件測(cè)試方法。
黑盒測(cè)試常用工具有:、winrunner、。
自動(dòng)化測(cè)試
自動(dòng)化測(cè)試,英文是Automated Testing。
使用自動(dòng)化測(cè)試工具來(lái)進(jìn)行測(cè)試,這類(lèi)測(cè)試一般不需要人干預(yù),通常在GUI、性能等測(cè)試和功能測(cè)試中用得較多。通過(guò)錄制測(cè)試腳本,然后執(zhí)行這個(gè)測(cè)試腳本來(lái)實(shí)現(xiàn)測(cè)試過(guò)程的自動(dòng)化。國(guó)內(nèi)領(lǐng)先的自動(dòng)化測(cè)試服務(wù)提供商是澤眾軟件。自動(dòng)化測(cè)試工具有和TAR等。
回歸測(cè)試
回歸測(cè)試,英文是 testing。
回歸測(cè)試是指在發(fā)生修改之后重新測(cè)試先前的測(cè)試以保證修改的正確性。理論上,軟件產(chǎn)生新版本,都需要進(jìn)行回歸測(cè)試,驗(yàn)證以前發(fā)現(xiàn)和修復(fù)的錯(cuò)誤是否在新軟件版本上再次出現(xiàn)。
根據(jù)修復(fù)好了的缺陷再重新進(jìn)行測(cè)試。回歸測(cè)試的目的在于驗(yàn)證以前出現(xiàn)過(guò)但已經(jīng)修復(fù)好的缺陷不再重新出現(xiàn)。一般指對(duì)某已知修正的缺陷再次圍繞它原來(lái)出現(xiàn)時(shí)的步驟重新測(cè)試。通常確定所需的再測(cè)試的范圍時(shí)是比較困難的,特別當(dāng)臨近產(chǎn)品發(fā)布日期時(shí)。因?yàn)闉榱诵拚橙毕輹r(shí)必需更改源代碼,因而就有可能影響這部分源代碼所控制的功能。所以在驗(yàn)證修好的缺陷時(shí)不僅要服從缺陷原來(lái)出現(xiàn)時(shí)的步驟重新測(cè)試,而且還要測(cè)試有可能受影響的所有功能。因此應(yīng)當(dāng)鼓勵(lì)對(duì)所有回歸測(cè)試用例進(jìn)行自動(dòng)化測(cè)試。
驗(yàn)收測(cè)試
驗(yàn)收測(cè)試,英文是 testing。
驗(yàn)收測(cè)試是指系統(tǒng)開(kāi)發(fā)生命周期方法論的一個(gè)階段,這時(shí)相關(guān)的用戶(hù)或獨(dú)立測(cè)試人員根據(jù)測(cè)試計(jì)劃和結(jié)果對(duì)系統(tǒng)進(jìn)行測(cè)試和接收。它讓系統(tǒng)用戶(hù)決定是否接收系統(tǒng)。它是一項(xiàng)確定產(chǎn)品是否能夠滿(mǎn)足合同或用戶(hù)所規(guī)定需求的測(cè)試。
驗(yàn)收測(cè)試一般有三種策略:正式驗(yàn)收、非正式驗(yàn)收或Alpha 測(cè)試、Beta 測(cè)試。
動(dòng)態(tài)測(cè)試
動(dòng)態(tài)測(cè)試,英文是Moment Testing。
動(dòng)態(tài)測(cè)試是指通過(guò)運(yùn)行軟件來(lái)檢驗(yàn)軟件的動(dòng)態(tài)行為和運(yùn)行結(jié)果的正確性。
根據(jù)動(dòng)態(tài)測(cè)試在軟件開(kāi)發(fā)過(guò)程中所處的階段和作用,動(dòng)態(tài)測(cè)試可分為如下幾個(gè)步驟:
1、單元測(cè)試
2、集成測(cè)試
3、系統(tǒng)測(cè)試
4、驗(yàn)收測(cè)試
5、回歸測(cè)試
探索測(cè)試
探索測(cè)試,英文是 Testing。
探索測(cè)試是指通常用于沒(méi)有產(chǎn)品說(shuō)明書(shū)的測(cè)試,這需要把軟件當(dāng)作產(chǎn)品說(shuō)明書(shū)來(lái)看待,分步驟逐項(xiàng)探索軟件特性,記錄軟件執(zhí)行情況,詳細(xì)描述功能,綜合利用靜態(tài)和動(dòng)態(tài)技術(shù)來(lái)進(jìn)行測(cè)試。探索測(cè)試人員只靠智能、洞察力和經(jīng)驗(yàn)來(lái)對(duì)bug的位置進(jìn)行判斷,所以探索測(cè)試又被稱(chēng)為自由形式測(cè)試。
單元測(cè)試
單元測(cè)試,英文是Unit Testing。
單元測(cè)試是最微小規(guī)模的測(cè)試;以測(cè)試某個(gè)功能或代碼塊。典型地由程序員而非測(cè)試員來(lái)做,因?yàn)樗枰纼?nèi)部程序設(shè)計(jì)和編碼的細(xì)節(jié)知識(shí)。這個(gè)工作不容易做好,除非應(yīng)用系統(tǒng)有一個(gè)設(shè)計(jì)很好的體系結(jié)構(gòu); 還可能需要開(kāi)發(fā)測(cè)試驅(qū)動(dòng)器模塊或測(cè)試套具。
集成測(cè)試
集成測(cè)試,英文是 Testing。
集成測(cè)試是指一個(gè)應(yīng)用系統(tǒng)的各個(gè)部件的聯(lián)合測(cè)試,以決定他們能否在一起共同工作并沒(méi)有沖突。部件可以是代碼塊、獨(dú)立的應(yīng)用、網(wǎng)絡(luò)上的客戶(hù)端或服務(wù)器端程序。這種類(lèi)型的測(cè)試尤其與客戶(hù)服務(wù)器和分布式系統(tǒng)有關(guān)。一般集成測(cè)試以前,單元測(cè)試需要完成。
集成測(cè)試是單元測(cè)試的邏輯擴(kuò)展。它的最簡(jiǎn)單的形式是:兩個(gè)已經(jīng)測(cè)試過(guò)的單元組合成一個(gè)組件,并且測(cè)試它們之間的接口。從這一層意義上講,組件是指多個(gè)單元的集成聚合。在現(xiàn)實(shí)方案中,許多單元組合成組件,而這些組件又聚合成程序的更大部分。方法是測(cè)試片段的組合,并最終擴(kuò)展進(jìn)程,將您的模塊與其他組的模塊一起測(cè)試。*,將構(gòu)成進(jìn)程的所有模塊一起測(cè)試。此外,如果程序由多個(gè)進(jìn)程組成,應(yīng)該成對(duì)測(cè)試它們,而不是同時(shí)測(cè)試所有進(jìn)程。
集成測(cè)試識(shí)別組合單元時(shí)出現(xiàn)的問(wèn)題。通過(guò)使用要求在組合單元前測(cè)試每個(gè)單元,并確保每個(gè)單元的生存能力的測(cè)試計(jì)劃,可以知道在組合單元時(shí)所發(fā)現(xiàn)的任何錯(cuò)誤很可能與單元之間的接口有關(guān)。這種方法將可能發(fā)生的情況數(shù)量減少到更簡(jiǎn)單的分析級(jí)別
系統(tǒng)測(cè)試
系統(tǒng)測(cè)試,英文是System Testing。
系統(tǒng)測(cè)試是基于系統(tǒng)整體需求說(shuō)明書(shū)的黑盒類(lèi)測(cè)試,應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿(mǎn)足了需求規(guī)格的定義,找出與需求規(guī)格不相符合或與之矛盾的地方。
系統(tǒng)測(cè)試的對(duì)象不僅僅包括需要測(cè)試的產(chǎn)品系統(tǒng)的軟件,還要包含軟件所依賴(lài)的硬件、外設(shè)甚至包括某些數(shù)據(jù)、某些支持軟件及其接口等。因此,必須將系統(tǒng)中的軟件與各種依賴(lài)的資源結(jié)合起來(lái),在系統(tǒng)實(shí)際運(yùn)行環(huán)境下來(lái)進(jìn)行測(cè)試。
端到端測(cè)試
端到端測(cè)試,英文是End to End Testing。
端到端測(cè)試類(lèi)似于系統(tǒng)測(cè)試,測(cè)試級(jí)的“宏大”的端點(diǎn),涉及整個(gè)應(yīng)用系統(tǒng)環(huán)境在一個(gè)現(xiàn)實(shí)世界使用時(shí)的模擬情形的所有測(cè)試。例如與數(shù)據(jù)庫(kù)對(duì)話,用網(wǎng)絡(luò)通訊,或與外部硬件、應(yīng)用系統(tǒng)或適當(dāng)?shù)南到y(tǒng)對(duì)話。端到端架構(gòu)測(cè)試包含所有訪問(wèn)點(diǎn)的功能測(cè)試及性能測(cè)試。端到端架構(gòu)測(cè)試實(shí)質(zhì)上是一種"灰盒"測(cè)試,一種集合了白盒測(cè)試和黑盒測(cè)試的優(yōu)點(diǎn)的測(cè)試方法。
健全測(cè)試
健全測(cè)試,英文是Sanity testing。
健全測(cè)試是指一個(gè)初始化的測(cè)試工作,以決定一個(gè)新的軟件版本測(cè)試是否足以執(zhí)行下一步大的測(cè)試能力。例如,如果一個(gè)新版軟件每5分鐘與系統(tǒng)沖突,使系統(tǒng)陷于泥潭,說(shuō)明該軟件不夠“健全”,目前不具備進(jìn)一步測(cè)試的條件。
衰竭測(cè)試
衰竭測(cè)試,英文是Failure Testing。
衰竭測(cè)試是指軟件或環(huán)境的修復(fù)或更正后的“再測(cè)試”。可能很難確定需要多少遍再次測(cè)試。尤其在接近開(kāi)發(fā)周期結(jié)束時(shí)。自動(dòng)測(cè)試工具對(duì)這類(lèi)測(cè)試尤其有用。
接受測(cè)試
接受測(cè)試,英文是Accept Testing。
接受測(cè)試是基于客戶(hù)或最終用戶(hù)的規(guī)格書(shū)的最終測(cè)試,或基于用戶(hù)一段時(shí)間的使用后,看軟件是否滿(mǎn)足客戶(hù)要求。一般從功能、用戶(hù)界面、性能、業(yè)務(wù)關(guān)聯(lián)性進(jìn)行測(cè)試。
負(fù)載測(cè)試
負(fù)載測(cè)試,英文是Load testing。
負(fù)載測(cè)試是測(cè)試一個(gè)應(yīng)用在重負(fù)荷下的表現(xiàn)。例如測(cè)試一個(gè) Web 站點(diǎn)在大量的負(fù)荷下,何時(shí)系統(tǒng)的響應(yīng)會(huì)退化或失敗,以發(fā)現(xiàn)設(shè)計(jì)上的錯(cuò)誤或驗(yàn)證系統(tǒng)的負(fù)載能力。在這種測(cè)試中,將使測(cè)試對(duì)象承擔(dān)不同的工作量,以評(píng)測(cè)和評(píng)估測(cè)試對(duì)象在不同工作量條件下的性能行為,以及持續(xù)正常運(yùn)行的能力。
負(fù)載測(cè)試的目標(biāo)是確定并確保系統(tǒng)在超出*預(yù)期工作量的情況下仍能正常運(yùn)行。此外,負(fù)載測(cè)試還要評(píng)估性能特征,例如,響應(yīng)時(shí)間、事務(wù)處理速率和其他與時(shí)間相關(guān)的方面。
強(qiáng)迫測(cè)試
強(qiáng)迫測(cè)試,英文是Force Testing。
強(qiáng)迫測(cè)試是在交替進(jìn)行負(fù)荷和性能測(cè)試時(shí)常用的術(shù)語(yǔ)。也用于描述象在異乎尋常的重載下的系統(tǒng)功能測(cè)試之類(lèi)的測(cè)試,如某個(gè)動(dòng)作或輸入大量的重復(fù),大量數(shù)據(jù)的輸入,對(duì)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)大量的復(fù)雜查詢(xún)等。
壓力測(cè)試
壓力測(cè)試,英文是Stress Testing。和負(fù)載測(cè)試差不多。
壓力測(cè)試是一種基本的質(zhì)量保證行為,它是每個(gè)重要軟件測(cè)試工作的一部分。壓力測(cè)試的基本思路很簡(jiǎn)單:不是在常規(guī)條件下運(yùn)行手動(dòng)或自動(dòng)測(cè)試,而是在計(jì)算機(jī)數(shù)量較少或系統(tǒng)資源匱乏的條件下運(yùn)行測(cè)試。通常要進(jìn)行壓力測(cè)試的資源包括內(nèi)部?jī)?nèi)存、CPU 可用性、磁盤(pán)空間和網(wǎng)絡(luò)帶寬等。一般用并發(fā)來(lái)做壓力測(cè)試。
性能測(cè)試
性能測(cè)試,英文是 Testing。
性能測(cè)試是在交替進(jìn)行負(fù)荷和強(qiáng)迫測(cè)試時(shí)常用的術(shù)語(yǔ)。理想的“性能測(cè)試”(和其他類(lèi)型的測(cè)試)應(yīng)在需求文檔或質(zhì)量保證、測(cè)試計(jì)劃中定義。性能測(cè)試一般包括負(fù)載測(cè)試和壓力測(cè)試。
通常驗(yàn)證軟件的性能在正常環(huán)境和系統(tǒng)條件下重復(fù)使用是否還能滿(mǎn)足性能指標(biāo)。或者執(zhí)行同樣任務(wù)時(shí)新版本不比舊版本慢。一般還檢查系統(tǒng)記憶容量在運(yùn)行程序時(shí)會(huì)不會(huì)流失(memory leak)。比如,驗(yàn)證程序保存一個(gè)巨大的文件新版本不比舊版本慢。
可用性測(cè)試
可用性測(cè)試,英文是Practical Usability Testing。
可用性測(cè)試是對(duì)“用戶(hù)友好性”的測(cè)試。顯然這是主觀的,且將取決于目標(biāo)最終用戶(hù)或客戶(hù)。用戶(hù)面談、調(diào)查、用戶(hù)對(duì)話的錄象和其他一些技術(shù)都可使用。程序員和測(cè)試員通常都不宜作可用性測(cè)試員。
卸載測(cè)試
卸載測(cè)試,英文是Uninstall Testing。
卸載測(cè)試是對(duì)軟件的全部、部分或升級(jí)卸載處理過(guò)程的測(cè)試。主要是測(cè)試軟件能否卸載,卸載是否干凈,對(duì)系統(tǒng)有無(wú)更改,在系統(tǒng)中的殘留與后來(lái)的生成文件如何處理等。還有原來(lái)更改的系統(tǒng)值是否修改回去
恢復(fù)測(cè)試
恢復(fù)測(cè)試,英文是Recovery testing。
恢復(fù)測(cè)試是測(cè)試一個(gè)系統(tǒng)從如下災(zāi)難中能否很好地恢復(fù),如遇到系統(tǒng)崩潰、硬件損壞或其他災(zāi)難性問(wèn)題?;謴?fù)測(cè)試指通過(guò)人為的讓軟件(或者硬件)出現(xiàn)故障來(lái)檢測(cè)系統(tǒng)是否能正確的恢復(fù),通常關(guān)注恢復(fù)所需的時(shí)間以及恢復(fù)的程度。
恢復(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)證重新初始化()、檢查點(diǎn)( )、數(shù)據(jù)恢復(fù)(data recovery)和重新啟動(dòng) (restart)等機(jī)制的正確性;對(duì)于人工干預(yù)的恢復(fù)系統(tǒng),還需估測(cè)平均修復(fù)時(shí)間,確定其是否在可接受的范圍內(nèi)。
安全測(cè)試
安全測(cè)試,英文是Security Testing。
安全測(cè)試是測(cè)試系統(tǒng)在防止非授權(quán)的內(nèi)部或外部用戶(hù)的訪問(wèn)或故意破壞等情況時(shí)怎么樣。這可能需要復(fù)雜的測(cè)試技術(shù)。安全測(cè)試檢查系統(tǒng)對(duì)非法侵入的防范能力。安全測(cè)試期間,測(cè)試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如:
①想方設(shè)法截取或破譯口令;
②專(zhuān)門(mén)定做軟件破壞系統(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ú)利可圖。
兼容性測(cè)試
兼容測(cè)試,英文是 Testing。
兼容測(cè)試是測(cè)試軟件在一個(gè)特定的硬件/軟件/操作系統(tǒng)/網(wǎng)絡(luò)等環(huán)境下的性能如何。向上兼容向下兼容,軟件兼容硬件兼容。軟件的兼容性有很多需要考慮的地方。
比較測(cè)試
比較測(cè)試,英文是Compare Testing。
比較測(cè)試是指與競(jìng)爭(zhēng)伙伴的產(chǎn)品的比較測(cè)試,如軟件的弱點(diǎn)、優(yōu)點(diǎn)或?qū)嵙?。?lái)取長(zhǎng)補(bǔ)短,以增強(qiáng)產(chǎn)品的競(jìng)爭(zhēng)力。
可接受性測(cè)試
可接受性測(cè)試,英文是 Testing。
可接受性測(cè)試是在把測(cè)試的版本交付測(cè)試*大范圍測(cè)試以前進(jìn)行的對(duì)最基本功能的簡(jiǎn)單測(cè)試。因?yàn)樵诎褱y(cè)試的版本交付測(cè)試*大范圍測(cè)試以前應(yīng)該先驗(yàn)證該版本對(duì)于所測(cè)試的功能基本上比較穩(wěn)定。必須滿(mǎn)足一些*要求。比如不會(huì)很容易程序就掛起或崩潰。如果一個(gè)新版本沒(méi)通過(guò)可測(cè)試性的驗(yàn)證,就應(yīng)該阻攔測(cè)試*花時(shí)間在該測(cè)試版本上測(cè)試。同時(shí)還要找到造成該版本不穩(wěn)定的主要缺陷并督促盡快加以修正
邊界條件測(cè)試
邊界條件測(cè)試,英文是Boudary Testing。又稱(chēng)邊界值測(cè)試。
一種黑盒測(cè)試方法,適度等價(jià)類(lèi)分析方法的一種補(bǔ)充,由長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)得知,大量的錯(cuò)誤是發(fā)生在輸入或輸出的邊界上。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。
邊界條件測(cè)試是環(huán)繞邊界值的測(cè)試。通常意味著測(cè)試軟件各功能是否能正確處理*值,最小值或者所設(shè)計(jì)軟件能夠處理的最長(zhǎng)的字符串等等。
強(qiáng)力測(cè)試
強(qiáng)力測(cè)試,英文是 Testing。
強(qiáng)力測(cè)試通常驗(yàn)證軟件的性能在各種極端的環(huán)境和系統(tǒng)條件下是否還能正常工作?;蛘哒f(shuō)是驗(yàn)證軟件的性能在各種極端環(huán)境和系統(tǒng)條件下的承受能力。比如,在*的硬盤(pán)驅(qū)動(dòng)器空間或系統(tǒng)記憶容量條件下,驗(yàn)證程序重復(fù)執(zhí)行打開(kāi)和保存一個(gè)巨大的文件1000次后也不會(huì)崩潰或死機(jī)。
裝配/安裝/配置測(cè)試
裝配/安裝/配置測(cè)試是驗(yàn)證軟件程序在不同廠家的硬件上,所支持的不同語(yǔ)言的新舊版本平臺(tái)上,和不同方式安裝的軟件都能夠如預(yù)期的那樣正確運(yùn)行。比如,把英文版的 Microsoft Office 2003安裝在韓文版 的Windows Me 上,再驗(yàn)證所有功能都正常運(yùn)行。
靜態(tài)測(cè)試
靜態(tài)測(cè)試,英文是Static Testing。
靜態(tài)測(cè)試指測(cè)試不運(yùn)行的部分,例如測(cè)試產(chǎn)品說(shuō)明書(shū),對(duì)此進(jìn)行檢查和審閱.。靜態(tài)方法是指不運(yùn)行被測(cè)程序本身,僅通過(guò)分析或檢查源程序的文法、結(jié)構(gòu)、過(guò)程、接口等來(lái)檢查程序的正確性。靜態(tài)方法通過(guò)程序靜態(tài)特性的分析,找出欠缺和可疑之處,例如不匹配的參數(shù)、不適當(dāng)?shù)难h(huán)嵌套和分支嵌套、不允許的遞歸、未使用過(guò)的變量、空指針的引用和可疑的計(jì)算等。靜態(tài)測(cè)試結(jié)果可用于進(jìn)一步的查錯(cuò),并為測(cè)試用例選取提供指導(dǎo)。
靜態(tài)測(cè)試常用工具有:Logiscope、PRQA;
隱藏?cái)?shù)據(jù)測(cè)試
隱藏?cái)?shù)據(jù)測(cè)試在軟件驗(yàn)收和確認(rèn)階段是十分必要和重要的一部分。程序的質(zhì)量不僅僅通過(guò)用戶(hù)界面的可視化數(shù)據(jù)來(lái)驗(yàn)證,而且必須包括遍歷系統(tǒng)的所有數(shù)據(jù)。
假設(shè)一個(gè)應(yīng)用程序要求用戶(hù)兩條信息-----用戶(hù)名和密碼來(lái)創(chuàng)建帳戶(hù)。這個(gè)用戶(hù)輸入這兩條數(shù)據(jù)后保存。*,一個(gè)確認(rèn)窗口將通過(guò)數(shù)據(jù)庫(kù)中找到這條數(shù)據(jù)來(lái)顯示用戶(hù)名和密碼給用戶(hù)。為了驗(yàn)證所有的數(shù)據(jù)保存是否正確,一個(gè)QA測(cè)試人員會(huì)在這個(gè)確認(rèn)窗口簡(jiǎn)單的查看下用戶(hù)名和密碼。如果他們成功了?假設(shè)數(shù)據(jù)庫(kù)記錄了第三條信息----創(chuàng)建日期,它可能不會(huì)出現(xiàn)在確認(rèn)窗口,而只在存檔中才出現(xiàn)。如果創(chuàng)建日期保留的不正確,而QA測(cè)試人員只驗(yàn)證屏幕上的數(shù)據(jù),那么這個(gè)問(wèn)題就不可能被發(fā)現(xiàn)。創(chuàng)建日期可能就是一個(gè)bug,由于一個(gè)用戶(hù)帳戶(hù)保存了一個(gè)錯(cuò)誤的日期到數(shù)據(jù)庫(kù)中,這個(gè)問(wèn)題也不可能會(huì)被引起注意,因?yàn)樗挥脩?hù)界面所隱藏。這只是一個(gè)簡(jiǎn)單的例子,但是它卻演化出了一點(diǎn):隱藏?cái)?shù)據(jù)測(cè)試的重要性。
等價(jià)劃分測(cè)試
等價(jià)劃分測(cè)試的英文是 partition testing。
等價(jià)劃分測(cè)試是根據(jù)等價(jià)類(lèi)設(shè)計(jì)測(cè)試用例的一種技術(shù)。是黑盒測(cè)試的典型方法之一,通過(guò)把被測(cè)試程序所有可能的輸入數(shù)據(jù)域劃分成若干部分。從每一部分中選取少數(shù)有代表性的數(shù)據(jù)作為測(cè)試用例,可有效減少測(cè)試次數(shù),極大提高軟件測(cè)試效率,縮短軟件開(kāi)發(fā)周期.等價(jià)類(lèi)劃分測(cè)試的目的就是為了在有限的測(cè)試資源的情況下,用少量有代表性的數(shù)據(jù)得到比較好的測(cè)試效果。有效等價(jià)類(lèi)盒無(wú)效等價(jià)類(lèi)。有效等價(jià)類(lèi)中的數(shù)據(jù)代表的是一組符合需求文檔的正確的有意義數(shù)據(jù)。無(wú)效等價(jià)類(lèi)則正相反。
判定表
判定表的英文是decision table,是指一個(gè)表格,用于顯示條件和條件導(dǎo)致動(dòng)作的集合。
定義:判定表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作的情況的工具。
判定表的優(yōu)點(diǎn):能夠?qū)?fù)雜的問(wèn)題按照各種可能的情況全部列舉出來(lái),簡(jiǎn)明并避免遺漏。因此,利用判定表能夠設(shè)計(jì)出完整的測(cè)試用例集合。
在一些數(shù)據(jù)處理問(wèn)題當(dāng)中,某些操作的實(shí)施依賴(lài)于多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。判定表很適合于處理這類(lèi)問(wèn)題
深度測(cè)試
深度測(cè)試的英文Depth test ,是指執(zhí)行一個(gè)產(chǎn)品的一個(gè)特性的所有細(xì)節(jié),但不測(cè)試所有特性。
當(dāng)比較函數(shù)返回真的時(shí)候才顯示出效果來(lái)。必須啟用“#深度測(cè)試”,才能執(zhí)行測(cè)試。不使用的時(shí)候需要關(guān)閉。
基于設(shè)計(jì)的測(cè)試
基于設(shè)計(jì)的測(cè)試的英文是design-based testing,是根據(jù)軟件的構(gòu)架或詳細(xì)設(shè)計(jì)引出測(cè)試用例的一種方法。
一種基于設(shè)計(jì)模型的測(cè)試方法(Model Based TestIng System,MATIS).該方法利用用戶(hù)界面自動(dòng)生成方法,把設(shè)計(jì)模型中的類(lèi)屬性定義和實(shí)現(xiàn)中的控件屬性組織在一起,構(gòu)建描述界面的邏輯對(duì)照表,輔助測(cè)試腳本引擎執(zhí)行自動(dòng)測(cè)試腳本.借助設(shè)計(jì)模型中擴(kuò)展的類(lèi)定義,MATIS方法可以自動(dòng)生成測(cè)試用例和測(cè)試數(shù)據(jù)。
文檔測(cè)試
軟件測(cè)試的方法有哪些?
測(cè)試的有2種方法
答:黑盒測(cè)試和白盒測(cè)試
黑盒:這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明。
黑盒測(cè)試又叫做功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。
白盒:此方法把測(cè)試對(duì)象看做一個(gè)透明的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。
通過(guò)在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試又稱(chēng)為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。
軟件測(cè)試按過(guò)程分為三個(gè)步驟
答:?jiǎn)卧獪y(cè)試:?jiǎn)卧獪y(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è)試。
集成測(cè)試:在運(yùn)行(可能是不完整)的應(yīng)用中保證軟件單元被結(jié)合后能正常操作的測(cè)試執(zhí)行的階段
系統(tǒng)測(cè)試:當(dāng)應(yīng)用作為整體運(yùn)行時(shí)的測(cè)試執(zhí)行階段
軟件測(cè)試的步驟是什么?
1)測(cè)試過(guò)程按4個(gè)步驟進(jìn)行,即單元測(cè)試()、集成測(cè)試()、確認(rèn)測(cè)試()和系統(tǒng)測(cè)試()及發(fā)版測(cè)試。
2)開(kāi)始是單元測(cè)試,集中對(duì)用源代碼實(shí)現(xiàn)的每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。
3)集成測(cè)試把已測(cè)試過(guò)的模塊組裝起來(lái),主要對(duì)與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測(cè)試。
4)確認(rèn)測(cè)試則是要檢查已實(shí)現(xiàn)的軟件是否滿(mǎn)足了需求規(guī)格說(shuō)明中確定了的各種需求,以及軟件配置是否完全、正確。
應(yīng)該考慮進(jìn)行如何測(cè)試的測(cè)試方法
黑盒測(cè)試()——不考慮內(nèi)部設(shè)計(jì)和代碼,根據(jù)需求和功能進(jìn)行測(cè)試。
白盒測(cè)試()——根據(jù)應(yīng)用軟件的代碼的內(nèi)部邏輯,按照代碼的語(yǔ)句、分支、路徑和條件進(jìn)行測(cè)試。
功能測(cè)試()——對(duì)一個(gè)應(yīng)用軟件的功能模塊進(jìn)行黑盒測(cè)試。這種測(cè)試應(yīng)當(dāng)由測(cè)試人員進(jìn)行。但這并不意味著程序員在推出軟件之前不進(jìn)行代碼檢查。(這一原則適用于所有的測(cè)試階段。)
系統(tǒng)測(cè)試——針對(duì)全部需求說(shuō)明進(jìn)行黑盒測(cè)試,包括系統(tǒng)中所有的部件。
回歸測(cè)試()——每當(dāng)軟件經(jīng)過(guò)了整理、修改、或者其環(huán)境發(fā)生變化,都重復(fù)進(jìn)行測(cè)試。很難說(shuō)需要進(jìn)行多少次回歸測(cè)試,特別是是到了開(kāi)發(fā)周期的*階段。進(jìn)行此種測(cè)試,特別適于使用自動(dòng)測(cè)試工具。
負(fù)荷試驗(yàn)()——在大負(fù)荷條件下對(duì)應(yīng)用軟件進(jìn)行測(cè)試。例如測(cè)試一個(gè)網(wǎng)站在不同負(fù)荷情況下的狀況,以確定在什么情況下系統(tǒng)響應(yīng)速度下降或是出現(xiàn)故障。
壓力測(cè)試()——經(jīng)??梢耘c“負(fù)荷測(cè)試”或“性能測(cè)試”相互代替。這種測(cè)試是用來(lái)檢查系統(tǒng)在下列條件下的情況:在非正常的巨大負(fù)荷下、某些動(dòng)作和輸入大量重復(fù)、輸入大數(shù)、對(duì)數(shù)據(jù)庫(kù)進(jìn)行非常復(fù)雜的查詢(xún),等等。
性能測(cè)試()——經(jīng)??梢耘c“壓力測(cè)試”或“負(fù)荷測(cè)試”相互代替。理想的“性能測(cè)試”(也包括其他任何類(lèi)型的測(cè)試)都應(yīng)在質(zhì)量保障和測(cè)試計(jì)劃的文檔終予以規(guī)定。
可用性測(cè)試()——是專(zhuān)為“對(duì)用戶(hù)友好”的特性進(jìn)行測(cè)試。這是一種主觀的感覺(jué),取決于最終用戶(hù)或顧客??梢赃M(jìn)行用戶(hù)會(huì)見(jiàn)、檢查、對(duì)用戶(hù)會(huì)議錄像、或者使用其他技術(shù)。程序員和測(cè)試人員通常不參加可用性測(cè)試。
安裝/卸載測(cè)試(install/)——對(duì)安裝/卸載進(jìn)行測(cè)試(包括全部、部分、升級(jí)操作)。
安全測(cè)試()——測(cè)試系統(tǒng)在應(yīng)付非授權(quán)的內(nèi)部/外部訪問(wèn)、故意的損壞時(shí)的防護(hù)情況。這需要精密復(fù)雜的測(cè)試技術(shù)。
兼容性測(cè)試()——測(cè)試在特殊的硬件/軟件/操作系統(tǒng)/網(wǎng)絡(luò)環(huán)境下的軟件表現(xiàn)。
α測(cè)試()——在開(kāi)發(fā)一個(gè)應(yīng)用軟件即將完成時(shí)所進(jìn)行的測(cè)試。此時(shí)還允許有較小的設(shè)計(jì)修改。通常由最終用戶(hù)或其他人進(jìn)行這種測(cè)試,而不是由程序員和測(cè)試人員來(lái)進(jìn)行。
β測(cè)試()——當(dāng)開(kāi)發(fā)和測(cè)試已基本完成,需要在正式發(fā)行之前*尋找毛病而進(jìn)行的測(cè)試。通常由最終用戶(hù)或其他人進(jìn)行這種測(cè)試,而不是由程序員和測(cè)試人員來(lái)進(jìn)行。