20110531 .NET測試基礎 軟件測試
1、.NET平臺
.NET平臺的軟件是指基于.NET Framework構建和運行的應用程序。.NET平臺的基本特征是代碼托管、自動(dòng)垃圾回收;.NET平臺來(lái)構建應用程序,可以免去很多與硬件、底層API打交道的麻煩,是構建面向對象的應用程序的基礎框架。
.NET Framework主要由三部分組成:公共語(yǔ)言運行庫、統一編程類(lèi)框架、ASP.NET
2、反射機制
通過(guò)System.Reflection命名空間中的類(lèi)以及System.Type,可以獲取有關(guān)程序集的類(lèi)、接口、屬性等信息,可以使用反射在運行時(shí)創(chuàng )建類(lèi)型實(shí)例,訪(fǎng)問(wèn)和調用這些實(shí)例。
反射機制可被用在測試中,通過(guò)反射來(lái)加載被測試程序,獲取被測試程序的各種屬性,觸發(fā)被測試程序的各種事件,從而達到自動(dòng)化測試的目的。
3、.NET平臺的開(kāi)發(fā)工具
.NET程序的開(kāi)發(fā)可以采用各種開(kāi)發(fā)工具,例如,Visual Studio.NET2005、SharpDevelop等。Visual Studio是一套完整的開(kāi)發(fā)工具,用于生成Windows應用程序、ASP.NET程序、Web服務(wù)、移動(dòng)設備應用程序等。Visual basic、Visual C++、Visual C#、和Visual J#都是用相同的集成開(kāi)發(fā)環(huán)境(IDE),利用此IDE可以共享工具且有助于創(chuàng )建混合語(yǔ)言解決方案。
Visual Studio Team System是一個(gè)高效、集成且可擴展的軟件開(kāi)發(fā)生命周期工具平臺,可以幫助軟件團隊提高整個(gè)軟件開(kāi)發(fā)過(guò)程中的溝通和協(xié)作能力。它由以下部分組成。
Team Foundation:可擴展的團隊協(xié)作服務(wù)器,可提供工作項跟蹤、源代碼管理、報告和流程指南
Team Edition for Architects:是一組集成的、用于面向服務(wù)的開(kāi)發(fā)的應用程序設計工具
Team Edition for Developers:提供代碼質(zhì)量和性能工具,使團隊可以構建可靠的、高質(zhì)量的服務(wù)和應用程序
Team Edition for Tester:提供高級負載測試工具,使團隊可以在產(chǎn)品發(fā)布之前驗證應用程序的性能
如果安裝了Visual Studio.NET2005 Team Edition for Database Professionals,還可以在Visual Studio.NET2005中對數據庫進(jìn)行單元測試、檢查數據庫差異、生成大批量的數據
4、.NET平臺的測試工具
除了Visual Studio.NET2005自帶的測試工具外,還有很多為測試.NET平臺軟件而生產(chǎn)的測試工具。主要分成以下幾類(lèi)
(1) 單元測試工具:用于對.NET平臺編寫(xiě)的代碼進(jìn)行單元測試,例如NUint、NMock、NUbitForms等。另外,還有一些用于輔助單元測試的工具,例如NCover,可用于統計代碼的測試覆蓋率。
(2) 代碼分析和檢查工具:用于檢查.NET代碼存在的隱藏缺陷,找出不滿(mǎn)足規范要求的代碼,例如DevPartner、StyleCop等
(3) 自動(dòng)化功能測試工具:用于驗證.NET軟件的功能正確性,自動(dòng)化地進(jìn)行回歸測試。例如QTP、TestComplete等
(4) 性能測試工具:用于檢查.NET軟件的性能是否滿(mǎn)足要求,驗證軟件的壓力承受能力。例如LoadRunner、NTime、AQTime等
5、.NET軟件的測試
(1) C/S結構的應用程序
這類(lèi)程序的測試特點(diǎn)在于界面操作,需要結合用戶(hù)界面規范來(lái)檢查其規范性,并且由于C/S節后的客戶(hù)端程序擁有比較豐富的業(yè)務(wù)邏輯處理代碼,因此,對于這些代碼的單元測試功能的集成測試是測試的重點(diǎn)?山Y合一些單元測試工具,基于GUI的自動(dòng)化測試工具來(lái)編寫(xiě)自動(dòng)化的回歸測試腳本。
大部分C/S結構的應用程序用于解決某些企業(yè)的內部業(yè)務(wù)處理問(wèn)題,因此會(huì )涉及比較多的基礎數據、業(yè)務(wù)數據問(wèn)題。對后臺數據庫設計的檢查會(huì )顯得非常必要,可結合一些數據庫測試和檢查工具來(lái)進(jìn)行數據庫的單元測試、數據結構的差異性檢查、數據的正確性檢查
(2) B/S結構的應用程序
對于這類(lèi)程序的測試,需要注意瀏覽器的兼容性測試,因為客戶(hù)端的用戶(hù)可能會(huì )采用各種平臺下的各種類(lèi)型和版本的瀏覽器來(lái)訪(fǎng)問(wèn)應用,為了支持這些訪(fǎng)問(wèn),則必須進(jìn)行瀏覽器的兼容性測試?梢越Y合一些自動(dòng)化的測試工具來(lái)進(jìn)行這項測試,例如QTP、Selenium RC等。
一般采用ASP.NET來(lái)構建B/S結構的程序,對于A(yíng)SP.NET程序的測試,與其他Web程序的測試一樣需要注意鏈接的檢查,Web頁(yè)面的功能測試,以及壓力測試,可結合LoadRunner等性能測試工具來(lái)對這類(lèi)程序進(jìn)行壓力測試。
(3) Web服務(wù)
Web服務(wù)的測試有點(diǎn)類(lèi)似于單元測試,因為Web服務(wù)器不提供界面,只能通過(guò)訪(fǎng)問(wèn)WSDL來(lái)調用Web服務(wù)操作,檢查返回的SOAP消息來(lái)驗證Web服務(wù)的功能正確性。另外,由于Web服務(wù)可能要支持多個(gè)使用者得并發(fā)調用,因此也需要進(jìn)行壓力測試,可結合soapUI、LoadRunner等測試工具來(lái)進(jìn)行Web服務(wù)的壓力測試。
(4) 只能設備應用程序
智能設備的應用程序和普通PC平臺的應用程序一樣需要進(jìn)行功能測試、界面規范性檢查、性能測試。但由于其運行平臺的限制,未必能非常方便地進(jìn)行這些測試,因此需要注意利用一些小工具來(lái)輔助進(jìn)行這類(lèi)程序的測試。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/