A. 軟體測試的方法有哪些
測試的有2種方法
答:黑盒測試和白盒測試
黑盒:這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。
黑盒測試又叫做功能測試或數據驅動測試。
白盒:此方法把測試對象看做一個透明的盒子,它允許測試人員利用程序內部的邏輯結構及皮歷有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。
通過在漏戚不同點檢查程序的狀態,確定實際的狀態是否與預期的狀態一致。因此白盒測試又稱為結構測試或邏輯驅動測試。
軟體測試按過程分為三個步驟
答:單元測試:單元測試又稱模塊測試,是針對軟體設計的最小單位—程序模塊,進行正確性檢驗的測試工作。其目的在於發現各模塊內部可能存在的各種差錯。
單元測試需要從程序的內部結構出發設計測試用例。多個模塊可以平行地獨立進行單元測試。
集成測試:在運行(可能是不完整)的應用中保證軟體單元被結合後能正常操作的測試執行的階段
系統測試:當應用作為整體運行時的測試執行階段
軟體測試的步驟是什麼?
1)測試過程按4個步驟進行,即單元測試(UnitTesting)、集成測試(IntegratedTesting)、確認測試(ValidationTesting)和系統測試(SystemTesting)及發版測試。
2)開始是單元測試,集中對用源代碼實現的每一個程序單元進行測試,檢查各個程序模塊是否正確地實現了規定的功能。
3)集成測試把已測試過的模塊組裝起來,主要對與設計相關的軟體體系結構的構造進行測試。
4)確認測試則是要檢查已實現的軟體是否滿足了需求規格說明中確定了的各種需求,以及軟體配置是否完全、正確。
應該考慮進行如何測試的測試方法
黑盒測試(Blackboxtesting)——不考慮內部設計和代碼,根據需求和功能進行測試。
白盒測試(Whiteboxtesting)——根據應用軟體的代碼的內部邏輯,按照代碼的語句、分支、路徑和條件進行測試。
功能測試(functionaltesting)——對一個應用軟體的功能模塊進行黑盒測試。這種測試應當由測試燃搜搜人員進行。但這並不意味著程序員在推出軟體之前不進行代碼檢查。(這一原則適用於所有的測試階段。)
系統測試——針對全部需求說明進行黑盒測試,包括系統中所有的部件。
回歸測試(regressiontesting)——每當軟體經過了整理、修改、或者其環境發生變化,都重復進行測試。很難說需要進行多少次回歸測試,特別是是到了開發周期的最後階段。進行此種測試,特別適於使用自動測試工具。
負荷試驗(loadtesting)——在大負荷條件下對應用軟體進行測試。例如測試一個網站在不同負荷情況下的狀況,以確定在什麼情況下系統響應速度下降或是出現故障。
壓力測試(stresstesting)——經常可以與「負荷測試」或「性能測試」相互代替。這種測試是用來檢查系統在下列條件下的情況:在非正常的巨大負荷下、某些動作和輸入大量重復、輸入大數、對資料庫進行非常復雜的查詢,等等。
性能測試(performancetesting)——經常可以與「壓力測試」或「負荷測試」相互代替。理想的「性能測試」(也包括其他任何類型的測試)都應在質量保障和測試計劃的文檔終予以規定。
可用性測試(usabilitytesting)——是專為「對用戶友好」的特性進行測試。這是一種主觀的感覺,取決於最終用戶或顧客。可以進行用戶會見、檢查、對用戶會議錄像、或者使用其他技術。程序員和測試人員通常不參加可用性測試。
安裝/卸載測試(install/uninstalltesting)——對安裝/卸載進行測試(包括全部、部分、升級操作)。
安全測試(securitytesting)——測試系統在應付非授權的內部/外部訪問、故意的損壞時的防護情況。這需要精密復雜的測試技術。
兼容性測試(compatabilitytesting)——測試在特殊的硬體/軟體/操作系統/網路環境下的軟體表現。
α測試(alphatesting)——在開發一個應用軟體即將完成時所進行的測試。此時還允許有較小的設計修改。通常由最終用戶或其他人進行這種測試,而不是由程序員和測試人員來進行。
β測試(betatesting)——當開發和測試已基本完成,需要在正式發行之前最後尋找毛病而進行的測試。通常由最終用戶或其他人進行這種測試,而不是由程序員和測試人員來進行。
B. 程序測試的測試方法
白盒測試,又稱結構測試。他的前提是可以把程序看成在一個透明的白盒子里,測試者完全知道程序的結構和處理演算法。這種方法按照程序內部邏輯設計測試用例,檢測程序中的主要執行通路是否能按照預定要求正確工作。
白盒測試根據軟體的內部邏輯設計設施用例,常用的技術是邏輯覆蓋,即考察用測試數據運行被測程序是對程序邏輯的覆蓋程度。主要的覆蓋標准有:語鏈游句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合條件覆蓋和路徑覆蓋。 單元測試(unit testing),也稱模塊測試,通常可放在編程階段,由程序員對自己編寫的模塊自行測試,檢查模塊是否實現了詳細設計說明書中規定的功能和演算法。單元測試主要發現編程和詳細設計中產生的錯誤,棚橡銷單元測試計劃應該在詳細設計階段制定。
單元測試期間著重從以下幾個方面對模塊進行測試:模塊介面、如虛局部數據結構、重要的執行通路、出錯處理通路及邊界條件等。 確認測試(validation testing),主要依據軟體需求說明書檢查軟體的功能、性能及其他特徵是否與用戶的需求一致。確認測試計劃應該在需求分析階段制定。