關於基礎理論一二三,都已經重新整理更新到了基礎知識總結,傳送門:http://www.cnblogs.com/imyalost/p/6144862.html
1、什么是軟件
定義:計算機系統中與硬件相互依存的一部分(程序+數據+相關文檔)
程序:按事先設計的功能和性能要求執行的指令序列
數據:使程序能正常操縱信息的數據結構
文檔:與程序開發、維護和使用有關的圖文資料
2、軟件的生命周期
可行性研究和計划、需求分析、概要設計、詳細設計、實現(開發階段)、
組裝測試、確認測試、使用和維護
3、什么是軟件測試
定義:軟件質量保證的一種手段
目的:發現錯誤以及避免這些錯誤的發生
4、軟件測試的方法
1)用試題檢查法
2)用新舊兩個系統做平行處理檢查
3)軟件測試自動化工具測試
5、軟件測試有哪幾個階段(任務)
1)制定測試大綱(測試計划)
2)制作測試數據(測試方案)
3)單元測試(程序測試,一般由開發人員進行)
4)功能測試/性能測試(這兩個階段重合性較大,可以歸為一類)
5)集成測試(子系統測試)
6)系統測試
7)驗收測試
8)測試報告
9)向下階段提交系統運行、維護用戶手冊
備注:可以分為產品→開發→測試→運維
6、軟件測試工作流程圖
立項階段→需求階段→設計階段→編碼&單元測試階段→集成測試階段→系統測試階段→驗收測試階段→結項總結階段
7、自動化測試的優點
提高工作效率,減少人的手工勞動,節省時間和成本
8、自動化測試的過程
需求分析→測試計划→框架搭建→測試—調試測試→評估
9、自動化測試的優點
1)能執行更多更頻繁的測試, 使某些測試任務執行方式更高效
2)能執行一些手動測試困難或者不能做的測試
3)任務自動化,使測試人員投入更多精力設計測試用例,提高測試准確性和人員積極性
4)具有一致和可重復性特點,更客觀,提高軟件信任度,仍存在一定局限
5)不能取代手工測試,不能自動化所有的測試(如只是偶爾執行測試,或需求經常變動,不穩定,或者需要大量手工參與時)
6)自動化測試工具只能執行命令,而手工可以在測試中判斷測試的輸入是否正確,以及改進測試,還可處理意外事件
7)對質量依賴較大,在確保質量的前提下,實施自動化才有意義
8)自動化測試需要在整個測試系統成熟穩定后,工作效率才會隨着測試執行次數的增加而提高
9)自動化測試的成本可能高於手工測試
10、自動化測試技術
錄制/回放、腳本技術、數據驅動(data driven)、關鍵字驅動(keyworddriven)、業務驅動
11、自動化測試的級別
1)捕獲和回放
2)捕獲、編程和回放
3)編程和回放
4)數據驅動的測試
5)使用動作詞的測試自動化
12、自動化測試方案選擇需要考慮的方面
1)項目的影響(能否幫助項目進度、覆蓋率、風險)
2)復雜度(是否容易實現,包括數據和其他環境等)
3)時間(實現自動化需要多少時間)
4)早期需求和代碼的穩定性
5)維護工作量(代碼能否能長期保持相對穩定)
6)覆蓋率
7)資源(是否擁有足夠的人力、硬件和數據資源來運行自動化測試)
8)執行(負責執行的人員是否有足夠的技能和時間去運行)
13、自動化測試的重點
1)搭建測試環境,測試場景
2)測試用例
3)測試結果的驗證
4)自動化測試的流程以及執行
14、自動化測試需要解決的問題
1、工具的選擇
2、測試用例腳本編寫
3、測試腳本的管理