用了一個多月的時間看完了陳能技的《軟件測試技術大全》,可謂是受益不淺,如今總結一下筆記,分享也好,複習也好html
全書四篇二十章,我也按照篇章來總結,方便之後查看,可是總結完第一篇就總結第四篇,爲了彌補我以爲本書不夠好的地方。不少人都以爲測試很簡單,沒前途,因此不重視,學測試的人也有部分這樣認爲。第四篇講的是軟件測試的學習環境和研究方向及我的發展,無疑是給學習測試者打上一劑強心劑,才能讓他們更加自信的學下去。java
第一篇 軟件測試的基礎程序員
第1章 軟件測試概述web
測試人員的能力不足的緣由:正則表達式
Harry Robinson提出的迎接測試將來挑戰的建議:算法
第2章 軟件測試的組織數據庫
一我的的測試是不可能成功的,測試是一項須要合做進行的工做。編程
微軟的結論:不能依賴開發人員測試,也不能依賴外部公司的測試,必須本身創建一個獨立的測試部門。小程序
測試組織分類:項目型和職能型安全
快速融入項目團隊的技巧
儘快投入測試工做的技巧
測試規範:包括內部規範和全局規範
第3章 軟件測試人員應具有的條件
測試人員應具有的基本素質:
測試人員的技能要求:
第四篇 軟件測試的學習和研究
第19章 軟件測試的學習環境
良好的學習環境主要依靠3個方面支撐:
軟件測試的交流
與開發人員交流注意事項:
第20章 軟件測試的研究方向及我的發展
轉型:
發展:關鍵是選擇本身認爲適合的持續發展路線,不要輕易動搖。
第二篇 軟件測試基本理論
第4章 軟件工程與軟件測試
軟件的生命週期:計劃->需求分析->設計->編碼->測試->運行維護
軟件工程研究領域:人員管理、項目管理、配置管理、質量管理、可行性分析->需求分析->系統設計->編碼->測試。
軟件開發模型:
不一樣開發模式下的軟件測試:
CMM(承製方軟件工程能力的評估方法)分級
ISO 9000-3主要內容
敏捷開發中的軟件測試
配置管理(CM):用於控制複雜系統發展的一門學科,確保開發活動和測試活動順利進行的工具
軟件配置管理定義(SCM):管理計算機程序產品進展的一門學科,包括在開發的初始階段和產品的全部維護階段
SCM的基本任務:計劃、識別、控制、狀態記錄和狀態審計。
第5章 軟件測試的目的與原則
軟件測試的目的:爲了發現錯誤而執行軟件程序的過程。一個成功的測試是發現迄今爲止還沒有發現的錯誤
軟件測試的兩面性:
軟件測試的驗證和確認
軟件測試的原則:
第6章 軟件測試的方法論
軟件測試的學派及對軟件測試的定義
IBM軟件測試方法:基於RUP進行的
RUP:Rational統一過程模型,是一種強調迭代開發、持續集成的軟件開發過程模型
RUP對軟件測試的分類:
RUP對測試階段的劃分
第7章 軟件測試的過程管理
PDCA循環:P(Plan),D(Do),C(Check),A(Action)
需求說明書的檢查要點:
測試計劃要點:
測試用例設計方法
測試用例的選擇策略:先執行基本的測試用例,再執行復雜的測試用例;先執行優先級高的測試用例,再執行優先級低的測試用例。
BVT測試:編譯檢查測試,主要檢查源代碼是否能正確編譯成一個新的、完整可用的版本
冒煙測試:先檢查軟件的基本功能,在進行下一步測試
BVT測試和冒煙測試是全部正式測試執行以前的第一步
測試執行的結果只有兩個:測試經過和測試不經過;測試不經過,測試人員應把缺陷記錄下來,反饋給開發人員
撰寫測試報告的基本原則:客觀地陳述全部相關事實
Bug的生命週期:New->Open->Fixed->Rejected->Delay->Closed->Reopen
若是時間比較緊迫,修改後剩餘的時間不足以作一次有效的迴歸測試的話,不進行修改多是種明智的選擇
易脆(不可維護)是舊的軟件系統被替換的主要緣由之一
時間緊迫是迴歸測試的難度所在,但更難的是要克服測試人員的疲勞思惟。
測試報告綱要:
第8章軟件測試的度量
測試的度量原則
測試不能提升軟件質量,軟件的質量是固有屬性,其提升有賴於開發人員的努力
測試人員的工做成果不能從軟件的產品質量或軟件的最終結果獲得科學的評估
軟件測試的度量:
考覈測試人員的硬指標
考覈測試人員的軟指標:Bug報告和測試報告
第三篇 實用軟件測試技術與工具
第9章 實用軟件測試技術
黑盒測試:把軟件產品當成一個黑箱進行測試,測試只須要了解軟件的輸入結果和輸出結果
白盒測試:是一種以理解軟件內部結構和程序運行方式世紀城的軟件測試技術
自動化測試:利工具進行重複性的工做,從而提升測試效率
手工測試不可替代點:
探索性測試:同時設計測試和執行測試
探索性測試過程:
單元測試
狹義的單元測試:指編寫測試代碼來驗證被測試代碼的正確性
廣義的單元測試:指小到一行代碼的驗證,達到一個功能模塊的功能驗證,從代碼規範性的檢查到代碼性能和安全性的驗證都包括在內
單元測試進行:開發人員編寫測試代碼,測試人員執行測試代碼並收集和分析結果
單元級別的性能測試:性能的考慮應該在架構設計時就開始,對於架構原型要進行充分的評審和驗證。
單元級別的性能測試角度:
AQTime:可計算出每行代碼執行時間的工具
NTime:用於測試函數、方法的性能是否知足要求的工具
數據庫性能檢查
引發數據庫問題的主要緣由:數據庫的設計和SQL語句
數據庫的設計:數據庫的參數配置和邏輯結構設計
可找出有性能問題的語句的工具:SQL Best Practices Analyzer、SQLServer數據庫自帶的事件探查器和查詢分析器、LECCO SQLExpert等
壓力測試
負載測試與壓力測試區別
軟件的容量測試:指軟件系統在處理大數據量的時候,或者是加載大批量數據時的性能表現
容量測試的關鍵:模擬大批量的用戶業務數據,首先要估算好用戶若干年後可能出現的最大數據量
數據生成工具:DataFactor等
安全測試
跟蹤法測試:一種介於黑盒測試和白盒測試之間的測試技術
跟蹤法技術測試關心中間的一些環節是否也是正確的
跟蹤法測試應用:
C/S結構軟件系統的測試
B/S結構軟件系統測試
界面測試
界面模型:設計者模型、實現者模型和用戶模型
界面測試要點:
數據庫測試
Web Services的測試
Web Services:是一種新的使用基於XML標準和協議來交換信息的Web應用程序
測試工具:
內存泄露測試
內存泄露緣由:
檢測工具:MemProof、AQTime、Purify、BundsChecker、Perfmon的Handle Count、Virtual Bytes和Working Set計數器
可訪問性測試
工具:Rampweb_ToolBar、Watchfire WebXACT、Parasoft WebKing和QTP等
第10章 實用軟件測試工具
第11章 開源測試工具
第12章 測試工具的原理及製做
使用Windows腳本輔助測試
猴子測試:利用測試工具隨機產生鍵盤敲擊和鼠標點擊時間。
代碼覆蓋率測試工具:DevParner、AQTime
第13章 實用小工具的應用技巧
任務管理器:可用於瞭解被測程序各類信息的小工具
運行程序,查看「內存使用」和「虛擬內存大小」,當程序請求所須要的內存後,若是虛擬內存仍是持續地增加,就說明這個程序存在內存泄露。
判斷網絡鏈接速度是否存在瓶頸,能夠用字節數/間隔與目前網絡的帶寬進行比較
若是處理器時間持續超過95%,則代表CPU處理存在瓶頸
Perfmon:Windows自帶的性能監控工具
NetStat:Windows自帶的一個網絡信息查詢器
Visual SourceSafe的文件比較器:可用於比較兩個文件之間的差別。
第14章 單元測試管理
自動化靜態檢查:主要根據代碼的語法和詞法特徵來識別潛在的錯誤
自動化動態單元測試:經過執行那些實現了測試用例的測試代碼的方式來進行測試,測試工具動態生成某些測試用例,而後自動轉換成測試代碼並執行
第15章 自動化功能測試管理
適合自動化測試的用例:
自動化功能測試腳本
提升自動化測試效率的建議:
敏捷自動化測試原則
第16章 性能測試管理
性能測試的成本:測試成本和軟件修改爲本
性能測試步驟:
瓶頸分析:識別性能問題->分析性能問題->定位性能瓶頸
在有限的時間和資源的狀況下,完成儘量全面的性能測試,則是一個成功的性能測試
性能測試的全面性:功能模塊全面性和測試類型全面性
第17章 探索性測試管理
探索性測試:在對測試對象進行測試的同時學習測試對象,在測試過程當中運用得到的關於測試對象的信息設計新的更好的測試的方法
劇本化測試:嚴格按照先設計測試用例,再執行測試並記錄結果的順序的一種測試方式
探索性測試原理:在測試以前提出不少關於軟件產品的疑問,而後設計測試並執行測試以獲取答案。一般,測試不能很好地回答這些問題,全部須要調整測試比不斷嘗試
探索性測試過程:計劃、學習和調查、測試執行、結果分析。
第18章 用戶界面測試管理
操做界面要求:好用的、易用的、美觀的。
用戶界面應儘早進行,後期修改的風險及壓力:開發人員修改的風險和測試人員漏測的風險
用戶界面設計原則:
儘可能避免使用模式對話框,由於它會使正在交互的界面動做無效或引發非預期的結果
應避免把不一樣的操做綁在一塊兒