1、拿到一個(gè)軟件(系統)后,先確定測試需求(負責人來(lái)把握方向),后面的計劃、方案、用例,和測試組織(何時(shí)進(jìn)行測試,模塊開(kāi)發(fā)完,還是集成完以后)等過(guò)程是確定方向后的執行。
軟件測試沒(méi)有窮盡,把握方向階段,根據測試部門(mén)現有資源情況,博弈,獲取最大測試收益,選取幾個(gè)方面的測試因素。是為制定測試計劃的前期工作。
測試策略:
目標-
1、利益相關(guān)者(管理、開(kāi)發(fā)、測試、用戶(hù))一致性目標
2、管理期望值
3、確保開(kāi)發(fā)方向正確
4、確定測試類(lèi)型
涵蓋范圍-
1、項目計劃、風(fēng)險、需求
2、相關(guān)規則、政策、指示
3、所需過(guò)程、標準、模板
4、支持準則
5、利益相關(guān)者及其測試目標
6、測試資源與評估
7、測試層次與階段
9、各位階段完成標準
10、所需測試文檔與檢查方法
目的-
是不是所有軟件測試都要運用現有軟件測試方法去測試呢?答案是否定的。依據軟件本身性質(zhì)、規模和應用場(chǎng)合的不同,我們將選擇不同測試方案,以最少的軟硬件、人力資源投入得到最佳的測試效果,這就是測試策略的目標所在。
影響因素-
軟件測試策略隨著(zhù)軟件生命周期的變化、軟件測試方法、技術(shù)與工具的不同發(fā)生的變化。這就要求我們在制定測試策略時(shí)候,應該綜合考慮測試策略的影響因素及其依賴(lài)關(guān)系。這些影響因素可能包括:測試項目資源因素、項目的約束和測試項目的特殊需要等。
軟件測試策略的制定過(guò)程
(1)輸入
需要的軟硬件資源的詳細說(shuō)明;
針對測試和進(jìn)度約束而需要的人力資源的角色和職責;
測試方法、測試標準和完成標準;
目標系統的功能性和技術(shù)性需求;
系統局限(即系統不能夠提供的需求)等等。
(2)輸出
已批準和簽署的測試策略文檔、測試用例、測試計劃;
需要解決方案的測試項目;
(3)過(guò)程
1)確定測試的需求
測試需求所確定的是測試內容,即測試的具體對象。在分析測試需求時(shí),可應用以下幾條一般規則:
測試需求必須是可觀(guān)測、可測評的行為。如果不能觀(guān)測或測評測試需求,就無(wú)法對其進(jìn)行評估,以確定需求是否已經(jīng)滿(mǎn)足。
在每個(gè)用例或系統的補充需求與測試需求之間不存在一對一的關(guān)系。用例通常具有多個(gè)測試需求;有些補充需求將派生一個(gè)或多個(gè)測試需求,而其他補充需求(如市場(chǎng)需求或包裝需求)將不派生任何測試需求。
測試需求可能有許多來(lái)源,其中包括用例模型、補充需求、設計需求、業(yè)務(wù)用例、與最終用戶(hù)的訪(fǎng)談和軟件構架文檔等。應該對所有這些來(lái)源進(jìn)行檢查,以收集可用于確定測試需求的信息。
2)評估風(fēng)險并確定測試優(yōu)先級¤
成功的測試需要在測試工作中成功地權衡資源約束和風(fēng)險等因素。為此,應該確定測試工作的優(yōu)先級,以便先測試最重要、最有意義或風(fēng)險最高的用例或構件。為了確定測試工作的優(yōu)先級,需執行風(fēng)險評估和實(shí)施概要,并將其作為確定測試優(yōu)先級的基礎。
3)確定測試策略
一個(gè)好的測試策略應該包括:實(shí)施的測試類(lèi)型和測試的目標、實(shí)施測試的階段、技術(shù)、用于評估測試結果和測試是否完成的評測和標準、對測試策略所述的測試工作存在影響的特殊事項等內容。
如何才能確定一個(gè)好的測試策略呢?我們可以從基于測試技術(shù)的測試策略、基于測試方案的測試策略?xún)蓚€(gè)方面來(lái)回答這個(gè)問(wèn)題。
?、?基于測試技術(shù)的測試策略的要點(diǎn)
著(zhù)名測試專(zhuān)家給出了使用各種測試方法的綜合策略:
任何情況下都必須使用邊界值測試方法;
必要時(shí)使用等價(jià)類(lèi)劃分方法補充一定數量的測試用例;
對照程序邏輯,檢查已設計出的測試用例的邏輯覆蓋程度,看是否達到了要求;
如果程序功能規格說(shuō)明中含有輸入條的組合情況,則已開(kāi)始可以選擇因果圖方法。
?、?基于測試方案的測試策略
對于基于測試方法的測試策略,一般來(lái)說(shuō)應該考慮如下方面:
根據程序的重要性和一旦發(fā)生故障將造成的損失來(lái)確定它的測試等級和測試重點(diǎn);
認真研究,使用盡可能少的測試用例發(fā)現盡可能多的程序錯誤,避免測試過(guò)度和測試不足!
第二部分 測試策略的方法
軟件測試的策略、方法和技術(shù)是多種多樣的。對于軟件測試技術(shù),可以從不同的角度加以分類(lèi):從是否需要執行被測軟件的角度,可分為靜態(tài)測試和動(dòng)態(tài)測試。從測試是否針對系統的內部結構和具體實(shí)現算法的角度來(lái)看,可分為白盒測試和黑盒測試。
1. 靜態(tài)方法與動(dòng)態(tài)方法
所謂靜態(tài)方法是指不運行被測程序本身,僅通過(guò)分析或檢查源程序的文法、結構、過(guò)程、接口等來(lái)檢查程序的正確性。靜態(tài)方法通過(guò)程序靜態(tài)特性的分析,找出欠缺和可疑之處,例如不匹配的參數、不適當的循環(huán)嵌套和分支嵌套、不允許的遞歸、未使用過(guò)的變量、空指針的引用和可疑的計算等。靜態(tài)測試結果可用于進(jìn)一步的查錯,并為測試用例選取提供指導。
動(dòng)態(tài)方法是指通過(guò)運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率和健壯性等性能,這種方法由三部分組成:構造測試實(shí)例、執行程序、分析程序的輸出結果。
2. 功能測試與結構測試
(1)功能測試
功能測試是指在對程序進(jìn)行的功能抽象的基礎上,將程序劃分成功能單元,然后在數據抽象的基礎上,對每個(gè)功能單元生成測試數據進(jìn)行測試。用這種方法進(jìn)行測試時(shí),被測程序被當作打不開(kāi)的黑盒,因而無(wú)法了解其內部構造,因此又稱(chēng)為黑盒測試。
黑盒測試也稱(chēng)功能測試或數據驅動(dòng)測試,它是在已知產(chǎn)品所應具有的功能,通過(guò)測試來(lái)檢測每個(gè)功能是否都能正常使用。在測試時(shí),把程序看作一個(gè)不能打開(kāi)的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進(jìn)行測試,只檢查程序功能是否按照需求規格說(shuō)明書(shū)的規定正常使用,程序是否能適當接收輸入數據而產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。
原文轉自:http://kjueaiud.com