Unit testing(單元測試),指一段代碼的基本測試,其實(shí)際大小是未定的,通常是一個函數(shù)或子程序,一般由開發(fā)者執(zhí)行。
Integration testing(集成測試),被測試系統(tǒng)的所有組件都集成在一起,找出被測試系統(tǒng)組件之間關(guān)系和接口中的錯誤。該測試一般在單元測試之后進(jìn)行。
Acceptance testing(驗(yàn)收測試),系統(tǒng)開發(fā)生命周期方法論的一個階段,這時相關(guān)的用戶和/或獨(dú)立測試人員根據(jù)測試計(jì)劃和結(jié)果對系統(tǒng)進(jìn)行測試和接收。它讓系統(tǒng)用戶決定是否接收系統(tǒng)。它是一項(xiàng)確定產(chǎn)品是否能夠滿足合同或用戶所規(guī)定需求的測試。這是管理性和防御性控制。
Alpha testing (α測試),是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測試,Alpha測試不能由程序員或測試員完成。
Beta testing(β測試),測試是軟件的多個用戶在一個或多個用戶的實(shí)際使用環(huán)境下進(jìn)行的測試。開發(fā)者通常不在測試現(xiàn)場,Beta測試不能由程序員或測試員完成。
Black box testing(黑盒測試),指測試人員不關(guān)心程序具體如何實(shí)現(xiàn)的一種測試方法。根據(jù)軟件的規(guī)格對軟件進(jìn)行各種輸入和觀察軟件的各種輸出結(jié)果來發(fā)現(xiàn)軟件的缺陷的測試,這類測試不考慮軟件內(nèi)部的運(yùn)作原理,因此軟件對用戶來說就像一個黑盒子。
White box testing(白盒測試),根據(jù)軟件內(nèi)部的工作原理分析來進(jìn)行測試,基于代碼的測試,測試人員通過閱讀程序代碼或者通過使用開發(fā)工具中的單步調(diào)試來判斷軟件的質(zhì)量,一般黑盒測試由項(xiàng)目經(jīng)理在程序員開發(fā)中來實(shí)現(xiàn)。
Automated Testing(自動化測試),使用自動化測試工具來進(jìn)行測試,這類測試一般不需要人干預(yù),通常在GUI、性能等測試中用得較多。
Bug (錯誤),有時稱作defect(缺陷)或error(錯誤),軟件程序中存在的編程錯誤,可能會帶來不必要的副作用,軟件的功能和特性與設(shè)計(jì)規(guī)格說明書或用戶需求不一致的方面。軟件缺陷表現(xiàn)特征為:軟件未達(dá)到產(chǎn)品說明書標(biāo)明的功能;軟件出現(xiàn)產(chǎn)品說明書指明不會出現(xiàn)的錯誤;軟件功能超出產(chǎn)品說明書指明的范圍;雖然產(chǎn)品說明書未指出但是軟件應(yīng)達(dá)到的目標(biāo);軟件測試人員或用戶認(rèn)為軟件難以理解,不易使用,運(yùn)行速度緩慢等問題。 Bug report(錯誤報(bào)告),也稱為“Bug record(錯誤記錄)”,記錄發(fā)現(xiàn)的軟件錯誤信息的文檔,通常包括錯誤描述、復(fù)現(xiàn)步驟、抓取的錯誤圖像和注釋等。
Bug tracking system(錯誤跟蹤系統(tǒng),BTS),也稱為“Defect tracking system,DTS”,管理軟件測試缺陷的專用數(shù)據(jù)庫系統(tǒng),可以高效率地完成軟件缺陷的報(bào)告、驗(yàn)證、修改、查詢、統(tǒng)計(jì)、存儲等任務(wù)。尤其適用于大型多語言軟件的測試管理。
“抓蟲大掃除”(Bug Bash):在某一個版本的發(fā)行里程碑到達(dá)之后,在發(fā)行之前項(xiàng)目經(jīng)理向全體開發(fā)組織發(fā)出通知,告訴大家哪一天的某個時間是Bug Bash的時間,到時候全體成員,包括開發(fā)、測試、文檔等團(tuán)隊(duì)、甚至市場部門的員工,全都放下手中的工作,在規(guī)定的那一個或幾個小時的時間里,每個人把自己當(dāng)作是用戶一樣來使用這個未成品的軟件,并且進(jìn)行競賽,看誰能找到最多的Bug。這樣做的目的是,不是按照測試方案的順序來檢查軟件,而是通過像真正的用戶那樣來使用軟件,即完全是任意性的、無規(guī)則的順序,看看在這樣的使用條件下,還有沒有仍舊沒有被發(fā)現(xiàn)的嚴(yán)重的Bug。 我們往往采用誰找到最嚴(yán)重的Bug 就得獎的方法來鼓勵大家盡力找出Bug。抓蟲大掃除一結(jié)束,項(xiàng)目經(jīng)理馬上進(jìn)行新呈交的Bug數(shù)量的統(tǒng)計(jì),然后向開發(fā)組織中的全體員工公布。得獎的小有免費(fèi)的咖啡、午餐、電影票等,大有各種禮物。所以每次Bug Bash 大家都踴躍參加,找到很多測試案例執(zhí)行時沒找到的問題。
Exception(異常/例外),一個引起正常程序執(zhí)行掛起的事件。
Crash(崩潰),計(jì)算機(jī)系統(tǒng)或組件突然并完全的喪失功能,例如軟件或系統(tǒng)突然退出或沒有任何反應(yīng)(死機(jī))。
Build(工作版本),軟件開發(fā)過程中用于內(nèi)部測試的功能和性能等不完善的軟件版本。工作版本既可以是系統(tǒng)的可操作版本,也可以是展示要在最終產(chǎn)品中提供的部分功能的部分系統(tǒng)。
Functional testing (功能測試),也稱為behavioral testing(行為測試),根據(jù)產(chǎn)品特征、操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作行為以確定它們滿足設(shè)計(jì)需求。本地化軟件的功能測試,用于驗(yàn)證應(yīng)用程序或網(wǎng)站對目標(biāo)用戶能正確工作。使用適當(dāng)?shù)钠脚_、瀏覽器和測試腳本,以保證目標(biāo)用戶的體驗(yàn)將足夠好,就像應(yīng)用程序是專門為該市場開發(fā)的一樣。
Load testing(負(fù)載測試),通過測試系統(tǒng)在資源超負(fù)荷情況下的表現(xiàn),以發(fā)現(xiàn)設(shè)計(jì)上的錯誤或驗(yàn)證系統(tǒng)的負(fù)載能力。在這種測試中,將使測試對象承擔(dān)不同的工作量,以評測和評估測試對象在不同工作量條件下的性能行為,以及持續(xù)正常運(yùn)行的能力。負(fù)載測試的目標(biāo)是確定并確保系統(tǒng)在超出最大預(yù)期工作量的情況下仍能正常運(yùn)行。此外,負(fù)載測試還要評估性能特征,例如,響應(yīng)時間、事務(wù)處理速率和其他與時間相關(guān)的方面。
Performance testing(性能測試),評價(jià)一個產(chǎn)品或組件與性能需求是否符合的測試。包括負(fù)載測試、強(qiáng)度測試、數(shù)據(jù)庫容量測試、基準(zhǔn)測試等類型。
Pilot testing(引導(dǎo)測試),軟件開發(fā)中,驗(yàn)證系統(tǒng)在真實(shí)硬件和客戶基礎(chǔ)上處理典型操作的能力。在軟件外包測試中,引導(dǎo)測試通常是客戶檢查軟件測試公司測試能力的一種形式,只有通過了客戶特定的引導(dǎo)測試,軟件測試公司才能接受客戶真實(shí)軟件項(xiàng)目的軟件測試。
Portability testing(可移植性測試),測試軟件是否可以被成功移植到指定的硬件或軟件平臺上。
Compatibility Testing(兼容性測試),也稱“Configuration testing(配置測試)”,測試軟件是否和系統(tǒng)的其它與之交互的元素之間兼容,如:瀏覽器、操作系統(tǒng)、硬件等。驗(yàn)證測試對象在不同的軟件和硬件配置中的運(yùn)行情況。
Installing testing(安裝測試),確保該軟件在正常情況和異常情況的不同條件下,例如,進(jìn)行首次安裝、升級、完整的或自定義的安裝都能進(jìn)行安裝。異常情況包括磁盤空間不足、缺少目錄創(chuàng)建權(quán)限等。核實(shí)軟件在安裝后可立即正常運(yùn)行。安裝測試包括測試安裝代碼以及安裝手冊。安裝手冊提供如何進(jìn)行安裝,安裝代碼提供安裝一些程序能夠運(yùn)行的基礎(chǔ)數(shù)據(jù)。
International testing(國際化測試),國際化測試的目的是測試軟件的國際化支持能力,發(fā)現(xiàn)軟件的國際化的潛在問題,保證軟件在世界不同區(qū)域中都能正常運(yùn)行。國際化測試使用每種可能的國際輸入類型,針對任何區(qū)域性或區(qū)域設(shè)置檢查產(chǎn)品的功能是否正常,軟件國際化測試的重點(diǎn)在于執(zhí)行國際字符串的輸入/輸出功能。國際化測試數(shù)據(jù)必須包含東亞語言、德語、復(fù)雜腳本字符和英語(可選)的混合字符。
Localizability testing(本地化能力測試),本地化能力是指不需要重新設(shè)計(jì)或修改代碼,將程序的用戶界面翻譯成任何目標(biāo)語言的能力。為了降低本地化能力測試的成本,提高測試效率,本地化能力側(cè)是通常在軟件的偽本地化版本上進(jìn)行。本地化能力測試中發(fā)現(xiàn)的典型錯誤包括:字符的硬編碼(即軟件中需要本地化的字符寫在了代碼內(nèi)部),對需要本地化的字符長度設(shè)置了國定值,在軟件運(yùn)行時以控件位置定位,圖標(biāo)和位圖中包含了需要本地化的文本,軟件的用戶界面與文檔術(shù)語不一致等。
Localization testing(本地化測試),本地化測試的對象是軟件的本地化版本。本地化測試的目的是測試特定目標(biāo)區(qū)域設(shè)置的軟件本地化質(zhì)量。本地化測試的環(huán)境是在本地化的操作系統(tǒng)上安裝本地化的軟件。從測試方法上可以分為基本功能測試,安裝/卸載測試,當(dāng)?shù)貐^(qū)域的軟硬件兼容性測試。測試的內(nèi)容主要包括軟件本地化后的界面布局和軟件翻譯的語言質(zhì)量,包含軟件、文檔和聯(lián)機(jī)幫助等部分。
Ad hoc testing (隨機(jī)測試),沒有書面測試用例、記錄期望結(jié)果、檢查列表、腳本或指令的測試。主要是根據(jù)測試者的經(jīng)驗(yàn)對軟件進(jìn)行功能和性能抽查。隨機(jī)測試是根據(jù)測試說明書執(zhí)行用例測試的重要補(bǔ)充手段,是保證測試覆蓋完整性的有效方式和過程。
Smoke testing(冒煙測試),冒煙測試的對象是每一個新編譯的需要正式測試的軟件版本,目的是確認(rèn)軟件基本功能正常,可以進(jìn)行后續(xù)的正式測試工作。冒煙測試的執(zhí)行者是版本編譯人員。參考“Sanity testing(健全測試)”。
Sanity testing(健全測試),軟件主要功能成分的簡單測試以保證它是否能進(jìn)行基本的測試。
User interface(用戶界面,UI),廣義是指使用戶可以和計(jì)算機(jī)進(jìn)行交互的硬件和/或軟件。狹義是指軟件中的可見外觀及其底層與用戶交互的部分(菜單、對話框、窗口和其它控件)。
User interface testing (用戶界面測試),指測試用戶界面的風(fēng)格是否滿足客戶要求,文字是否正確,頁面是否美觀,文字,圖片組合是否完美,操作是否友好等等。UI 測試的目標(biāo)是確保用戶界面會通過測試對象的功能來為用戶提供相應(yīng)的訪問或?yàn)g覽功能。確保用戶界面符合公司或行業(yè)的標(biāo)準(zhǔn)。包括用戶友好性、人性化、易操作性測試。
Static testing(靜態(tài)測試),不通過執(zhí)行來測試一個系統(tǒng)。如代碼檢查,文檔檢查和評審等。
Regression testing(回歸測試),在發(fā)生修改之后重新測試先前的測試以保證修改的正確性。理論上,對軟件的任何新版本,都需要進(jìn)行回歸測試,驗(yàn)證以前發(fā)現(xiàn)和修復(fù)的錯誤是否在新軟件版本上再現(xiàn)。
Capture/Replay Tool (捕獲/回放工具),一種測試工具,能夠捕獲在測試過程中傳遞給軟件的輸入,并且能夠在以后的時間中,重復(fù)這個執(zhí)行的過程。這類工具一般在GUI測試中用的較多。
Debug(調(diào)試),開發(fā)人員確定引起錯誤的根本原因和確定可能的修復(fù)措施的過程。一般發(fā)生在子系統(tǒng)或單元模塊編碼完成時,或者根據(jù)測試錯誤報(bào)告指出錯誤以后,開發(fā)人員需要執(zhí)行調(diào)試過程來解決已存在的錯誤。
Deployment(部署),也稱為shipment(發(fā)布),對內(nèi)部IT系統(tǒng)而言,指它的第一個版本通過徹底的測試、形成產(chǎn)品、交付給付款客戶的階段。 Dynamic testing(動態(tài)測試),通過執(zhí)行軟件的手段來測試軟件。
Garbage characters(亂碼字符),程序界面中顯示的無意義的字符,例如,程序?qū)﹄p字節(jié)字符集的字符不支持時,這些字符不能正確顯示。
GB 18030 testing(GB 18030測試),軟件支持GB 18030字符集標(biāo)準(zhǔn)能力的測試,包括GB 18030字符的輸入、輸出、顯示、存儲的支持程度。
Priority(優(yōu)先權(quán)),從商業(yè)角度出發(fā)是指錯誤的重要性,尤其是從客戶和用戶的角度出發(fā),是指錯誤對于系統(tǒng)的可行性和可接受性的影響。與“Severity(嚴(yán)重性)”相對照。
Severity(嚴(yán)重性),錯誤對被測系統(tǒng)的影響程度,在終端用戶條件下發(fā)生的可能性,軟件錯誤妨礙系統(tǒng)使用的程度。
Quality assurance(質(zhì)量保證QA),采取相關(guān)活動,以保證一個開發(fā)組織交付的產(chǎn)品滿足性能需求和已確立的標(biāo)準(zhǔn)和過程。
Review(評審),在產(chǎn)品開發(fā)過程中,把產(chǎn)品提交給項(xiàng)目成員、用戶、管理者或其它相關(guān)人員評價(jià)或批準(zhǔn)的過程。
Screen shot(抓屏、截圖),軟件測試中,將軟件界面中的錯誤(窗口、菜單、對話框等)的全部或一部分,使用專用工具存儲成圖像文件,以便于后續(xù)處理。
Software life cycle(軟件生命周期),開始于一個軟件產(chǎn)品的構(gòu)思,結(jié)束于該產(chǎn)品不再被使用的這段期間。
Structured query language(結(jié)構(gòu)化查詢語句,SQL),在一個關(guān)系數(shù)據(jù)庫中查詢和處理數(shù)據(jù)的一種語言。
TBD(To be determined,待定),在測試文檔中標(biāo)是一項(xiàng)進(jìn)行中的尚未最終確定的工作。
Test(測試),執(zhí)行軟件以驗(yàn)證其滿足指定的需求并檢測錯誤的過程。檢測已有條件之間的不同,并評價(jià)軟件項(xiàng)的特性軟件項(xiàng)的分析過程。軟件工程過程的一個活動,它將軟件在預(yù)定的條件下運(yùn)行以判斷軟件是否符合預(yù)期結(jié)果。
Test case(測試用例),為特定目標(biāo)而開發(fā)的一組測試輸入、執(zhí)行條件和預(yù)期結(jié)果,其目標(biāo)可以是測試某個程序路徑或核實(shí)是否滿足某個特定的需求。
Testing coverage(測試覆蓋),指測試系統(tǒng)覆蓋被測試系統(tǒng)的程度,一項(xiàng)給定測試或一組測試對某個給定系統(tǒng)或構(gòu)件的所有指定測試用例進(jìn)行處理所達(dá)到的程度。
Testing environment(測試環(huán)境),進(jìn)行測試的環(huán)境,包括測試平臺、測試基礎(chǔ)設(shè)施、測試實(shí)驗(yàn)室和其他設(shè)施。
Testing item(測試項(xiàng)),作為測試對象的工作版本。
Testing plan(測試計(jì)劃),描述了要進(jìn)行的測試活動的范圍、方法、資源和進(jìn)度的文檔。它確定測試項(xiàng)、被測特性、測試任務(wù)、誰執(zhí)行任務(wù)、各種可能的風(fēng)險(xiǎn)。
Testing procedure(測試過程),指設(shè)置、執(zhí)行給定測試用例并對測試結(jié)果進(jìn)行評估的一系列詳細(xì)步驟。
Testing script(測試腳本),一般指的是一個特定測試的一系列指令,這些指令可以被自動化測試工具執(zhí)行。
Testing suite(測試包),一組測試用里的執(zhí)行框架;一種組織測試用例的方法。在測試包里,測試用例可以組合起來創(chuàng)造出獨(dú)特的測試條件。