軟件功能特征測(cè)試是國(guó)際化軟件測(cè)試最先開始并且貫穿于整個(gè)軟件開發(fā)過程的測(cè)試類型,目的是從軟件的各個(gè)側(cè)面進(jìn)行質(zhì)量保證,確保軟件的特征功能符合軟件的設(shè)計(jì)需求和功能規(guī)格說明。
在執(zhí)行特征功能測(cè)試前,應(yīng)該對(duì)國(guó)際化軟件提供的軟件特征功能以及這些功能的重要性進(jìn)行風(fēng)險(xiǎn)分析,以便確定測(cè)試過程中的測(cè)試成本。
1、測(cè)試輸入
國(guó)際化軟件的特征功能測(cè)試的輸入內(nèi)容包括:
軟件功能規(guī)格說明;
軟件需求;
軟件的性能目標(biāo);
軟件的布署場(chǎng)景 (Deployment Scenario) 。
2、測(cè)試過程
軟件特征功能測(cè)試的過程如下圖所示:

軟件測(cè)試計(jì)劃是指導(dǎo)軟件測(cè)試的主要文檔,指出測(cè)試的內(nèi)容、測(cè)試的起止日期、測(cè)試過程、測(cè)試方法、測(cè)試用例的優(yōu)先級(jí)和測(cè)試的其他詳細(xì)內(nèi)容,在軟件設(shè)計(jì)、編碼和測(cè)試期間,經(jīng)常需要更新測(cè)試計(jì)劃,特別是更改軟件的需求后,需要及時(shí)更新軟件測(cè)試計(jì)劃。
軟件測(cè)試計(jì)劃是指導(dǎo)軟件測(cè)試的主要文檔,指出測(cè)試的內(nèi)容、測(cè)試的起止日期、測(cè)試過程、測(cè)試方法、測(cè)試用例的優(yōu)先級(jí)和測(cè)試的其他詳細(xì)內(nèi)容,在軟件設(shè)計(jì)、編碼和測(cè)試期間,經(jīng)常需要更新測(cè)試計(jì)劃,特別是更改軟件的需求后,需要及時(shí)更新測(cè)試計(jì)劃。
設(shè)計(jì)評(píng)審 (Design review) 確保軟件的設(shè)計(jì)階段包含了全部的布署場(chǎng)景和軟件需求,遵循了軟件的性能、安全性、國(guó)際化和可維護(hù)性的要求。
實(shí)現(xiàn)編碼評(píng)審確保軟件的代碼正確和遵守規(guī)范,符合軟件國(guó)際化的需要。
軟件的白盒測(cè)試也稱為“結(jié)構(gòu)測(cè)試”,是對(duì)軟件的代碼進(jìn)行審查,找出引起軟件功能缺陷的編碼錯(cuò)誤。
軟件的白盒測(cè)試也稱為“功能測(cè)試”,是從用戶使用的角度運(yùn)行軟件,執(zhí)行全部的終端用戶場(chǎng)景的測(cè)試用例,發(fā)現(xiàn)軟件與設(shè)計(jì)需求和用戶需求不一致的缺陷。
3、測(cè)試過程分析
創(chuàng)建測(cè)試計(jì)劃
測(cè)試計(jì)劃文檔中主要的內(nèi)容是用于測(cè)試軟件的測(cè)試用例,涵蓋了設(shè)計(jì)評(píng)審、代碼評(píng)審、配置、布署測(cè)試和負(fù)載測(cè)試的各個(gè)方面,確保軟件的全部特征功能和使用場(chǎng)景都進(jìn)行了測(cè)試。
測(cè)試文檔包括詳細(xì)測(cè)試計(jì)劃文檔和詳細(xì)測(cè)試用例文檔。詳細(xì)測(cè)試計(jì)劃文檔按照“高、中、低”的順序列出了測(cè)試用例的優(yōu)先級(jí),對(duì)測(cè)試用例中的使用場(chǎng)景和需要測(cè)試的特征進(jìn)行了簡(jiǎn)要描述。根據(jù)測(cè)試用例的重要性和對(duì)期望的目標(biāo)和需求的全面影響,為每一個(gè)測(cè)試用例指定測(cè)試執(zhí)行的優(yōu)先級(jí)。
詳細(xì)測(cè)試用例文檔與詳細(xì)測(cè)試計(jì)劃文檔相對(duì)應(yīng),描述了詳細(xì)測(cè)試計(jì)劃文檔列出的需要執(zhí)行的每個(gè)測(cè)試用例的執(zhí)行步驟,以及測(cè)試所需要的數(shù)據(jù),給出了測(cè)試的期望結(jié)果。
需要強(qiáng)調(diào)的是詳細(xì)測(cè)試計(jì)劃文檔和詳細(xì)測(cè)試用例文檔不是一成不變的,相反,這兩個(gè)文檔的內(nèi)容要在軟件開發(fā)生命周期的全過程不斷更新。例如,當(dāng)軟件的功能規(guī)格說明、軟件的需求更改后,或者需要添加更多的測(cè)試輸入時(shí),需要及時(shí)更新文檔。另外,當(dāng)修改了測(cè)試用例的優(yōu)先級(jí),或者添加了使用場(chǎng)景或功能測(cè)試用例時(shí),也需要及時(shí)更新這兩個(gè)文檔。
設(shè)計(jì)評(píng)審
從軟件測(cè)試的視角看,設(shè)計(jì)評(píng)審非常重要,通過全面評(píng)審軟件設(shè)計(jì)內(nèi)容,可以在軟件開發(fā)的早期發(fā)現(xiàn)一些潛在與性能和安全性有關(guān)的缺陷。如果這些缺陷在編面階段才被發(fā)現(xiàn),則修正缺陷耗費(fèi)的時(shí)間將比設(shè)計(jì)階段修改缺陷大得多。
詳細(xì)而言,設(shè)計(jì)評(píng)審有助于確保下列問題:
軟件設(shè)計(jì)符合功能規(guī)格說明和軟件需求的全部?jī)?nèi)容;
確保軟件設(shè)計(jì)符合全部性能目標(biāo);
軟件設(shè)計(jì)考慮了應(yīng)用程序在不同的布署場(chǎng)景時(shí)的全部安全性;
軟件設(shè)計(jì)遵守了程序耦合和內(nèi)聚、一致性、通訊、類設(shè)計(jì)、異常管理、資源管理、緩沖區(qū)等的代碼編寫格式要求,以便開發(fā)人員可以方便地?cái)U(kuò)展和定制軟件。
軟件設(shè)計(jì)遵守了國(guó)際化和本地化有關(guān)的指導(dǎo)準(zhǔn)則。
此外,軟件設(shè)計(jì)評(píng)審還要確保軟件能夠正確處理可能的安全攻擊、性能優(yōu)化和內(nèi)存泄漏的問題。
實(shí)現(xiàn)編碼評(píng)審
在實(shí)現(xiàn)編碼評(píng)審階段,從詳細(xì)測(cè)試計(jì)劃文檔中執(zhí)行測(cè)試用例,對(duì)軟件的代碼進(jìn)行審閱,這是軟件單元測(cè)試的重要步驟。通過代碼評(píng)審,可以在軟件開發(fā)的早期發(fā)現(xiàn)問題。
具體地,實(shí)現(xiàn)代碼評(píng)審有助于確保下列問題:
軟件代碼遵守了軟件需求文檔的要求;
軟件的類命名、變量、方法名等代碼元素遵守了命名規(guī)范;
軟件代碼在合適位置包含了有助于其他開發(fā)人員正確理解的注釋語(yǔ)句;
軟件代碼可以正確處理與性能、擴(kuò)展性、安全性有關(guān)的問題;
軟件代碼對(duì)異常管理和內(nèi)存分配有關(guān)的資源管理能正確處理;
軟件代碼考慮了軟件國(guó)際化和本地化有關(guān)的問題;
軟件不包含冗余的從來不被調(diào)用的代碼。
此外,實(shí)現(xiàn)代碼評(píng)審還要確保軟件能夠正確處理邊界條件、特殊輸入、可能的安全攻擊、性能優(yōu)化、內(nèi)存泄漏和線程安全等問題。
執(zhí)行白盒測(cè)試
白盒測(cè)試執(zhí)行詳細(xì)測(cè)試計(jì)劃中與白盒測(cè)試有關(guān)的測(cè)試用例,通過分析軟件代碼的內(nèi)部工作方式和程序邏輯結(jié)構(gòu),尋找軟件存在的缺陷。
分析源程序編碼,確定測(cè)試不公 API 和測(cè)試代碼路徑所需要的輸入數(shù)據(jù),并且更新測(cè)試計(jì)劃。
白盒測(cè)試包括以下內(nèi)容:
剖析應(yīng)用程序在運(yùn)行時(shí)某些特殊代碼的行為特征,包括代碼覆蓋、內(nèi)存分配、競(jìng)爭(zhēng)和死鎖( Deadlock )問題;
跟蹤代碼路徑分析與關(guān)鍵性能的相關(guān)的時(shí)間占用,對(duì)于基于 Web 的應(yīng)用程序,還需要監(jiān)視請(qǐng)求的執(zhí)行時(shí)間;
測(cè)試程序的內(nèi)部分支路徑,確保每個(gè)路徑正確處理數(shù)據(jù),返回期望的輸出,而不會(huì)引起功能損失或不一致;
測(cè)試不同的循環(huán)和條件語(yǔ)句,例如簡(jiǎn)單循環(huán)、嵌套循環(huán),關(guān)系表達(dá)式、簡(jiǎn)單條件、符合條件、布爾表達(dá)式,保證代碼組建的精度要求;
安全性測(cè)試。如果軟件某段代碼在目標(biāo)布署環(huán)境存在安全訪問為題,應(yīng)該分析對(duì)應(yīng)的處理安全性的代碼,避免程序向攻擊者暴露敏感信息。
執(zhí)行黑盒測(cè)試
黑盒測(cè)試執(zhí)行詳細(xì)測(cè)試計(jì)劃中與黑盒測(cè)試有關(guān)的測(cè)試用例,黑河測(cè)試不需要測(cè)試者了解程序的內(nèi)部結(jié)構(gòu),而主要模擬終端用戶的操作方式。
黑盒測(cè)試確保應(yīng)用程序滿足以下要求:
應(yīng)用程序符合需求文檔中列出的全部目標(biāo);
應(yīng)用程序包括了功能規(guī)格說明指定的全部功能點(diǎn);
應(yīng)用程序能夠正確地處理期望的和異常的使用場(chǎng)景。
黑盒測(cè)試包括以下內(nèi)容:
測(cè)試全部使用場(chǎng)景的外部接口。確保接口符合功能規(guī)格說明和系統(tǒng)需求,使用場(chǎng)景既包括期望的處理流程,也包括隨機(jī)的輸入。
測(cè)試不同的輸入類型。確保軟件接口可以輸出期望的結(jié)果,并且可以正確處理無效的數(shù)據(jù)和異常情況。測(cè)試的輸入數(shù)據(jù)包括合理的數(shù)據(jù)、邊界數(shù)據(jù)和超出和最小的輸入數(shù)據(jù)。
性能測(cè)試。驗(yàn)證應(yīng)用程序在正常情況下和極限負(fù)載條件下,程序能夠處理不斷增加的訪問請(qǐng)求,具有良好的擴(kuò)展能力。性能測(cè)試包括負(fù)載測(cè)試和壓力測(cè)試。性能測(cè)試的測(cè)試結(jié)果可以作為實(shí)現(xiàn)代碼審閱和白盒測(cè)試的輸入。
安全性測(cè)試。從黑盒測(cè)試的觀點(diǎn)看,安全性測(cè)試通過模擬軟件真實(shí)運(yùn)行環(huán)境下攻擊者的操作行為,尋找軟件不正確的設(shè)計(jì)和編碼的安全隱患。安全性測(cè)試包括驗(yàn)證輸入數(shù)據(jù)、*加密和訪問敏感數(shù)據(jù)、緩沖區(qū)溢出、授權(quán)和證書功能等。
在執(zhí)行特征功能測(cè)試前,應(yīng)該對(duì)國(guó)際化軟件提供的軟件特征功能以及這些功能的重要性進(jìn)行風(fēng)險(xiǎn)分析,以便確定測(cè)試過程中的測(cè)試成本。
1、測(cè)試輸入
國(guó)際化軟件的特征功能測(cè)試的輸入內(nèi)容包括:
軟件功能規(guī)格說明;
軟件需求;
軟件的性能目標(biāo);
軟件的布署場(chǎng)景 (Deployment Scenario) 。
2、測(cè)試過程
軟件特征功能測(cè)試的過程如下圖所示:

軟件測(cè)試計(jì)劃是指導(dǎo)軟件測(cè)試的主要文檔,指出測(cè)試的內(nèi)容、測(cè)試的起止日期、測(cè)試過程、測(cè)試方法、測(cè)試用例的優(yōu)先級(jí)和測(cè)試的其他詳細(xì)內(nèi)容,在軟件設(shè)計(jì)、編碼和測(cè)試期間,經(jīng)常需要更新測(cè)試計(jì)劃,特別是更改軟件的需求后,需要及時(shí)更新軟件測(cè)試計(jì)劃。
軟件測(cè)試計(jì)劃是指導(dǎo)軟件測(cè)試的主要文檔,指出測(cè)試的內(nèi)容、測(cè)試的起止日期、測(cè)試過程、測(cè)試方法、測(cè)試用例的優(yōu)先級(jí)和測(cè)試的其他詳細(xì)內(nèi)容,在軟件設(shè)計(jì)、編碼和測(cè)試期間,經(jīng)常需要更新測(cè)試計(jì)劃,特別是更改軟件的需求后,需要及時(shí)更新測(cè)試計(jì)劃。
設(shè)計(jì)評(píng)審 (Design review) 確保軟件的設(shè)計(jì)階段包含了全部的布署場(chǎng)景和軟件需求,遵循了軟件的性能、安全性、國(guó)際化和可維護(hù)性的要求。
實(shí)現(xiàn)編碼評(píng)審確保軟件的代碼正確和遵守規(guī)范,符合軟件國(guó)際化的需要。
軟件的白盒測(cè)試也稱為“結(jié)構(gòu)測(cè)試”,是對(duì)軟件的代碼進(jìn)行審查,找出引起軟件功能缺陷的編碼錯(cuò)誤。
軟件的白盒測(cè)試也稱為“功能測(cè)試”,是從用戶使用的角度運(yùn)行軟件,執(zhí)行全部的終端用戶場(chǎng)景的測(cè)試用例,發(fā)現(xiàn)軟件與設(shè)計(jì)需求和用戶需求不一致的缺陷。
3、測(cè)試過程分析
創(chuàng)建測(cè)試計(jì)劃
測(cè)試計(jì)劃文檔中主要的內(nèi)容是用于測(cè)試軟件的測(cè)試用例,涵蓋了設(shè)計(jì)評(píng)審、代碼評(píng)審、配置、布署測(cè)試和負(fù)載測(cè)試的各個(gè)方面,確保軟件的全部特征功能和使用場(chǎng)景都進(jìn)行了測(cè)試。
測(cè)試文檔包括詳細(xì)測(cè)試計(jì)劃文檔和詳細(xì)測(cè)試用例文檔。詳細(xì)測(cè)試計(jì)劃文檔按照“高、中、低”的順序列出了測(cè)試用例的優(yōu)先級(jí),對(duì)測(cè)試用例中的使用場(chǎng)景和需要測(cè)試的特征進(jìn)行了簡(jiǎn)要描述。根據(jù)測(cè)試用例的重要性和對(duì)期望的目標(biāo)和需求的全面影響,為每一個(gè)測(cè)試用例指定測(cè)試執(zhí)行的優(yōu)先級(jí)。
詳細(xì)測(cè)試用例文檔與詳細(xì)測(cè)試計(jì)劃文檔相對(duì)應(yīng),描述了詳細(xì)測(cè)試計(jì)劃文檔列出的需要執(zhí)行的每個(gè)測(cè)試用例的執(zhí)行步驟,以及測(cè)試所需要的數(shù)據(jù),給出了測(cè)試的期望結(jié)果。
需要強(qiáng)調(diào)的是詳細(xì)測(cè)試計(jì)劃文檔和詳細(xì)測(cè)試用例文檔不是一成不變的,相反,這兩個(gè)文檔的內(nèi)容要在軟件開發(fā)生命周期的全過程不斷更新。例如,當(dāng)軟件的功能規(guī)格說明、軟件的需求更改后,或者需要添加更多的測(cè)試輸入時(shí),需要及時(shí)更新文檔。另外,當(dāng)修改了測(cè)試用例的優(yōu)先級(jí),或者添加了使用場(chǎng)景或功能測(cè)試用例時(shí),也需要及時(shí)更新這兩個(gè)文檔。
設(shè)計(jì)評(píng)審
從軟件測(cè)試的視角看,設(shè)計(jì)評(píng)審非常重要,通過全面評(píng)審軟件設(shè)計(jì)內(nèi)容,可以在軟件開發(fā)的早期發(fā)現(xiàn)一些潛在與性能和安全性有關(guān)的缺陷。如果這些缺陷在編面階段才被發(fā)現(xiàn),則修正缺陷耗費(fèi)的時(shí)間將比設(shè)計(jì)階段修改缺陷大得多。
詳細(xì)而言,設(shè)計(jì)評(píng)審有助于確保下列問題:
軟件設(shè)計(jì)符合功能規(guī)格說明和軟件需求的全部?jī)?nèi)容;
確保軟件設(shè)計(jì)符合全部性能目標(biāo);
軟件設(shè)計(jì)考慮了應(yīng)用程序在不同的布署場(chǎng)景時(shí)的全部安全性;
軟件設(shè)計(jì)遵守了程序耦合和內(nèi)聚、一致性、通訊、類設(shè)計(jì)、異常管理、資源管理、緩沖區(qū)等的代碼編寫格式要求,以便開發(fā)人員可以方便地?cái)U(kuò)展和定制軟件。
軟件設(shè)計(jì)遵守了國(guó)際化和本地化有關(guān)的指導(dǎo)準(zhǔn)則。
此外,軟件設(shè)計(jì)評(píng)審還要確保軟件能夠正確處理可能的安全攻擊、性能優(yōu)化和內(nèi)存泄漏的問題。
實(shí)現(xiàn)編碼評(píng)審
在實(shí)現(xiàn)編碼評(píng)審階段,從詳細(xì)測(cè)試計(jì)劃文檔中執(zhí)行測(cè)試用例,對(duì)軟件的代碼進(jìn)行審閱,這是軟件單元測(cè)試的重要步驟。通過代碼評(píng)審,可以在軟件開發(fā)的早期發(fā)現(xiàn)問題。
具體地,實(shí)現(xiàn)代碼評(píng)審有助于確保下列問題:
軟件代碼遵守了軟件需求文檔的要求;
軟件的類命名、變量、方法名等代碼元素遵守了命名規(guī)范;
軟件代碼在合適位置包含了有助于其他開發(fā)人員正確理解的注釋語(yǔ)句;
軟件代碼可以正確處理與性能、擴(kuò)展性、安全性有關(guān)的問題;
軟件代碼對(duì)異常管理和內(nèi)存分配有關(guān)的資源管理能正確處理;
軟件代碼考慮了軟件國(guó)際化和本地化有關(guān)的問題;
軟件不包含冗余的從來不被調(diào)用的代碼。
此外,實(shí)現(xiàn)代碼評(píng)審還要確保軟件能夠正確處理邊界條件、特殊輸入、可能的安全攻擊、性能優(yōu)化、內(nèi)存泄漏和線程安全等問題。
執(zhí)行白盒測(cè)試
白盒測(cè)試執(zhí)行詳細(xì)測(cè)試計(jì)劃中與白盒測(cè)試有關(guān)的測(cè)試用例,通過分析軟件代碼的內(nèi)部工作方式和程序邏輯結(jié)構(gòu),尋找軟件存在的缺陷。
分析源程序編碼,確定測(cè)試不公 API 和測(cè)試代碼路徑所需要的輸入數(shù)據(jù),并且更新測(cè)試計(jì)劃。
白盒測(cè)試包括以下內(nèi)容:
剖析應(yīng)用程序在運(yùn)行時(shí)某些特殊代碼的行為特征,包括代碼覆蓋、內(nèi)存分配、競(jìng)爭(zhēng)和死鎖( Deadlock )問題;
跟蹤代碼路徑分析與關(guān)鍵性能的相關(guān)的時(shí)間占用,對(duì)于基于 Web 的應(yīng)用程序,還需要監(jiān)視請(qǐng)求的執(zhí)行時(shí)間;
測(cè)試程序的內(nèi)部分支路徑,確保每個(gè)路徑正確處理數(shù)據(jù),返回期望的輸出,而不會(huì)引起功能損失或不一致;
測(cè)試不同的循環(huán)和條件語(yǔ)句,例如簡(jiǎn)單循環(huán)、嵌套循環(huán),關(guān)系表達(dá)式、簡(jiǎn)單條件、符合條件、布爾表達(dá)式,保證代碼組建的精度要求;
安全性測(cè)試。如果軟件某段代碼在目標(biāo)布署環(huán)境存在安全訪問為題,應(yīng)該分析對(duì)應(yīng)的處理安全性的代碼,避免程序向攻擊者暴露敏感信息。
執(zhí)行黑盒測(cè)試
黑盒測(cè)試執(zhí)行詳細(xì)測(cè)試計(jì)劃中與黑盒測(cè)試有關(guān)的測(cè)試用例,黑河測(cè)試不需要測(cè)試者了解程序的內(nèi)部結(jié)構(gòu),而主要模擬終端用戶的操作方式。
黑盒測(cè)試確保應(yīng)用程序滿足以下要求:
應(yīng)用程序符合需求文檔中列出的全部目標(biāo);
應(yīng)用程序包括了功能規(guī)格說明指定的全部功能點(diǎn);
應(yīng)用程序能夠正確地處理期望的和異常的使用場(chǎng)景。
黑盒測(cè)試包括以下內(nèi)容:
測(cè)試全部使用場(chǎng)景的外部接口。確保接口符合功能規(guī)格說明和系統(tǒng)需求,使用場(chǎng)景既包括期望的處理流程,也包括隨機(jī)的輸入。
測(cè)試不同的輸入類型。確保軟件接口可以輸出期望的結(jié)果,并且可以正確處理無效的數(shù)據(jù)和異常情況。測(cè)試的輸入數(shù)據(jù)包括合理的數(shù)據(jù)、邊界數(shù)據(jù)和超出和最小的輸入數(shù)據(jù)。
性能測(cè)試。驗(yàn)證應(yīng)用程序在正常情況下和極限負(fù)載條件下,程序能夠處理不斷增加的訪問請(qǐng)求,具有良好的擴(kuò)展能力。性能測(cè)試包括負(fù)載測(cè)試和壓力測(cè)試。性能測(cè)試的測(cè)試結(jié)果可以作為實(shí)現(xiàn)代碼審閱和白盒測(cè)試的輸入。
安全性測(cè)試。從黑盒測(cè)試的觀點(diǎn)看,安全性測(cè)試通過模擬軟件真實(shí)運(yùn)行環(huán)境下攻擊者的操作行為,尋找軟件不正確的設(shè)計(jì)和編碼的安全隱患。安全性測(cè)試包括驗(yàn)證輸入數(shù)據(jù)、*加密和訪問敏感數(shù)據(jù)、緩沖區(qū)溢出、授權(quán)和證書功能等。

