最近看完了DotNet軟體測試實戰技術著本書,總結了下基本的內容提綱,用到時作為參考。裡面的很多概念,方法論,工具和最佳實務都適應其他語言和平台,部分工具受限於.net平台。
.Net 軟體測試基礎篇
1. 軟體品質測試基礎介紹
1) 軟體品質與軟體測試
A. 僅依靠軟體測試不能保證軟體品質
B. 進行全面品質管理
2) 軟體開發與軟體測試
具備UML或編程可以做更多層面的測試,如單元,白盒,效能測試
3) 測試載入器與軟體測試
A. 按照用途分
測試管理工具
自動化功能測試工具
效能測試工具
單元測試工具
白盒測試載入器
測試案例設計工具
B. 按收費方式
商業測試載入器
開源測試載入器
免費測試載入器
C. 正確使用測試載入器
4) MSF(Microsoft solution Framework,微軟的專案管理)中的軟體測試
A. 推行一個從角色到使用方式情節的設計流程
B. 開發過程採用迴圈型的三星期的周期
C. 要求單元測試 程式和開發程式的原始碼一起提交
D. 要求100%的原始碼執行測試(Code Coverage)
2. .Net軟體基礎介紹
1) .Net平台
2) 記憶體管理與測試方法(CLRProfiler,GDIUsage,AQTime測試記憶體流失)
3) 反射機制在測試中的應用 (很多測試載入器採用反射機制進行測試如QTP)
4) .Net平台的開發工具和測試載入器
A. 開發工具:VSTS,team foundation,Team edition for architects,developers,tester
B. 測試載入器
單元測試-Nunit,Nmock,NunitForms
程式碼分析和檢查工具-DevPartner,StyleCop
效能測試:LoadRunner,NTime,AQTime
C. .Net軟體類型(c/s結構,b /s結構,web服務,智慧型裝置) 及其測試
3. .Net軟體調試
1) 調試與測試
2) 測試人員掌握基本調試能力
3) VS基本調試技巧
4) 斷言與跟蹤 Debug,Trace
5) Diagnostics類的使用
6) DatasetWatch調試dataset
7) 託管程式單獨監視, ManagedSpy可以顯示託管程式的控制項屬性和事件等資訊
4. VS.Net的單元測試 (資料驅動DDT,code coverage)
5. Nunit,NMock,NCover,NUnitForms(介面層測試)
6. .Net程式碼分析及自動化
1) 單元測試與程式碼分析
廣義的單元測試則可以是編寫單元模組的測試代碼,代碼標準檢查,注釋檢查,代碼整齊度檢查,代碼審查,單個功能模組的測試等
2) VS 2005 FxCop,VS2008 code analysis (FxCop的規則可以自訂開發)
3) Computer DevPartner Studio中的程式碼分析工具
4) CodeReview
Code Review結果分析,規則篩選
Rule Manager編輯代碼規則和描述,代碼規則引發條件
Rule manager添加自訂規則
5) StyleCop測試.Net代碼風格
7. 讓客戶參與到測試中來 ---FIT(Framework for integrated Test)
1) 讓客戶可以通過HTML表格的形式編寫測試案例,用於對代碼進行直接的測試。
2) VS中開發FIT testfixture
3) FitRunner.net, 開源工具,輔助fit運行
4) 把Fit整合到Wiki中,FitNesse(軟體開發協作工具),使用FitNesse測試.Net代碼
8. QTP
1) 為.Net提供了外掛程式
2) QTP支援的WPF控制項
3) QTP支援的windows form控制項
4) QTP支援的web form控制項
5) Object Spy
6) Windows form Spy
7) DotNetFactory 類庫
8) 錄製運行
9) QTP物件模型
10) QTP .Net外掛程式擴充開發
11) QTP for ruby,java
9. TestComplete
1) 基本使用,測試專案建立,指令碼錄製編輯運行
2) TestComplete既可以把其當成普通windows 控制項來測試,也可以把其作為open的程式來進行測試。
3) TestComplete物件模型
4) TestComplete與MSTest的整合
5) TestComplete提供了ODT(對象驅動測試)
10. .Net 自動化測試
1) 調用windows API
2) Spy++
3) FindWindEx。Automation類等API
4) 反射
5) 利用Regex協助測試,檔案處理功能協助測試,COM介面等
11. 猴子測試(隨機測試技術)
1) TestComplete中的Random,持續記錄被測試程式的相關資訊,Logman,Log.Pictre截屏
2) 讓猴子測試載入器更加智能
12. Vs.Net中的負載測試
1) 煙霧測試 (Smoke Test):驗證和測試程式在短時間內負載最小的情況下是如何執行的
2) 壓力測試:驗證和測試程式在較長時間內負載較大的情況下是否能正確運行
3) 效能測試:驗證和測試程式的響應能力
4) 容量測試計劃:驗證和測試程式在各種容量下是如何執行的
5) Vs.net內建 錄製web測試,建立負載測試情節,負載測試計數器集合,運行負載測試,分析負載測試結果,整合SQL跟蹤功能
13. 單元層級的效能測試
1) NTime 進行代碼的效能分析
2) AQTime進行代碼的效能分析,整合到Vs.net
3) Vs提供了效能工具
14. 使用LoadRnner進行效能測試
.Net 軟體測試基礎篇
1. .Net軟體的安全性測試
1) 記憶體流失 MemProof,AQTime,Purify,BndsChecker,CLRPriler,GDIUsage
2) Cookie安全性測試,加密,內容檢查,禁用篡改cookie測試
3) 拒絕服務威脅檢測的方法,主要通過代碼審查
4) 測試程式是否建立安全的錯誤資訊,包括日誌。避免被竊取
5) CSS安全,跨站指令碼攻擊 ,TamperIE輔助測試
6) SQL注入
7) 安全性測試工具 Wapiti檢測網頁漏洞
2. .Net軟體的介面及使用者體驗測試
1) .Net標準控制項 windows form,web form,WPF
2) 第三方控制項如Component One,DeveExpress,Infragistics
3) 軟體介面規範制定
4) TestComplete簡單介面規範測試自動化
5) 可訪問性 Accessibility 測試機器自動化 Web Accessibility Toolbar,Color Contrast Analyzer進行顏色對比,QTP進行可訪問性測試
6) 全球化測試,Vs中的Code analysis進行測試
3. .Net網路軟體的測試
連結測試 Xenu連結測試載入器
Asp.net 頁面自動化測試,使用DOM,mshtml.Dll,shdocvw.dll
IE Dom Inspector
Mozilla Firefox瀏覽器的Dom Inspector
Internet Explorer Developer Toolbar的Dom查看
Selenium 的IDE進行頁面自動化測試
Vs.net中的web測試,建立錄製回放,事務等
4. Web服務的測試
Vs.net進行web服務測試
Web服務測試載入器 –WebInject
Web服務測試載入器—SoapUI
LoadRunner對web服務進行壓力測試
5. 瀏覽器安全色性測試
IETab,IEView (plug-in of Mozilla Firefox)
使用Browsershots的服務進行瀏覽器安全色性測試
使用QTP進行瀏覽器安全色性測試
使用Selenium進行瀏覽器安全色性測試
6. .Net智慧型裝置軟體測試
TestComplete 對windows CE.Net的支援
Windows MobileSDK提供的輔助測試載入器 Hopper,FakeGPS,Celllar Emulator
裝置模擬器(Device Emulator)在測試中的使用
VS的Remote Tools在測試中使用,遠程堆查看器,遠程放大,遠程監視,遠程進程查看器,遠程檔案查看器,遠端登錄編輯器
7. 資料庫測試
VS.Net中進行資料庫單元測試,Vs2005 team edition for database professionals,Vs2008內建
資料庫比較(schema,data)
T-SQL測試架構,TSQLUnit,類比XUnit,用storeprocedure類比