軟件測試?
發現程序中的側屋執行程序工程
目的:不僅是找出錯誤,還要分析錯誤產生原因和錯誤分布。檢查開發如阿健過程出現的bug,使開發人員及時修改。測試只能說明軟件中存在錯誤
目標:盡可能發現多的錯誤。一個好的測試案例是指很可能找到迄今為止尚未發現的錯誤的用
一個成功的測試是指揭示了迄今為止尚未發現的錯誤的測試。
軟件測試原則
盡早發現錯誤;測試用例=輸入數據+預期結果;程序員避免檢查自己的程序;設計測試用例:合理+不合理的輸入;
軟件測試的原則:
充分注意測試中的群集現象。
嚴格執行測試計劃,排除測試的隨意性。
應當對每一個測試結果做全面檢查。
妥善保存測試計劃,測試用例,出錯統計和最終分析報告,為維護提供方便。
測試工作流程
- 產品完成需求文檔,完成文檔評審
- 開始編寫測試用例:測試功能點來源需求文檔,從產品需求文檔中提煉。
- 設計測試用例和產品開發并行。案例編寫后評審案例,補充一樓測試點
- 執行測試,記錄案例執行情況
- 填寫測試報告
測試工程師:
指定測試計劃,執行測試;編寫用例;搭建測試環境
軟件分類 4類
貼近電腦硬件的軟件--固件
系統軟件:操作系統,編譯器軟件
支持軟件:數據庫,軟件評測工具,軟件開發工具等
應用軟件
測試主要方面
軟件測試對象:軟件定義和開發期間產物
軟件測試方法
黑盒和白盒測試
白盒測試用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果
黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,
以最少的用例在合理的時間內發現最多的問題
測試結束標準:
用例全部執行,覆蓋率達到標準,缺陷率達到標準,其他指標達到標準
軟件測試三步驟
單元測試/模塊測試;集成測試;系統測試
面向對象設計的測試:需要追溯到內部設計,再到功能測試,最后是需求測試
四步驟:單元測試,集成測試,確認測試,系統測試
軟件錯誤原因
交流不夠、交流上有誤解或者根本不進行交流
軟件復雜性
程序設計錯誤
需求變化
時間壓力
代碼文檔貧乏
軟件開發工具
CS模式
cs模式優點:
由于客戶端實現與服務器的直接相連,沒有中間環節,因此響應速度快。
操作界面漂亮、形式多樣,可以充分滿足客戶自身的個性化要求。
CS結構的管理信息系統具有較強的事務處理能力,能實現復雜的業務流程。
CS模式缺點:
1)需要專門的客戶端安裝程序,分布功能弱,針對點多面廣且不具備網絡條件的用戶
群體,不能夠實現快速部署安裝和配置。
2)兼容性差,對于不同的開發工具,具有較大的局限性。若采用不同工具,需要重新改寫程序。
3)開發成本較高,需要具有一定專業水準的技術人員才能完成。
BS模式
優點:
1.具有分布性特點,可以隨時隨地進行查詢、瀏覽等業務處理。
2.業務擴展簡單方便,通過增加網頁即可增加服務器功能。
3.維護簡單方便,只需要改變網頁,即可實現所有用戶的同步更新。
4.開發簡單,共享性強。
B/S模式的缺點
1.個性化特點明顯降低,無法實現具有個性化的功能要求。
2.操作是以鼠標為最基本的操作方式,無法滿足快速操作的要求。
3.頁面動態刷新,響應速度明顯降低。
4.無法實現分頁顯示,給數據庫訪問造成較大的壓力。
5.功能弱化,難以實現傳統模式下的特殊功能要求。
測試結束標準
第一類標準:測試超過了預定時間
第二類標準:執行了所有的測試用例,但并沒有發現故障,則停止測試。
第三類標準:使用特定的測試用例設計方案作為判斷測試停止的基礎。
第四類標準:正面指出停止測試的具體要求
第五類標準:根據單位時間內查出故障的數量決定是否停止測試。
開發和測試
開發和測試是一個有機整體,產品發布前,開發測試是循環的。
測試過程
指定系統測試計劃
編寫系統測試用例
執行系統測試用例
跟蹤管理缺陷
總結測試
?
質量八大特性
功能性、可靠性、性能、安全性、實用性、維護性、一致性、重用性
CMM--能力成熟度模型
初始級:過程無序
管理級:過程得到管理和計劃
已定義級:建立并標準化組織過程
定量管理級:過程有量化的管理
優化級::追求不斷創新
負載測試、壓力測試、容量測試和強度測試
負載測試:在一定的工作負荷下,系統的負荷及響應時間。通過逐步增加系統負載,最終確定在滿足性能指標的情況下,系統能承受的最大負載量的測試。
強度測試:又稱疲勞強度測試,在系統穩定運行的情況下能夠支持的最大并發用戶數,持續執行一段時間業務,通過綜合分析,確定系統處理最大工作量強度性能的過程。
容量測試:容量測試目的是通過測試預先分析出反映軟件系統應用特征的某項指標的極限值(如最大并發用戶數、數據庫記錄數等),系統在其極限值狀態下沒有出現任何軟件故障或還能保持主要功能正常運行。目的是使系統承受超額的數據容量來發現它是否能夠正確處理。容量測試是面向數據的,并且目的是顯示系統可以處理目標內確定的數據容量。
壓力測試:通過逐步增加系統負載,最終確定在什么負載條件下系統性能將處于崩潰狀態,以此獲得系統能提供的最大服務級別的測試。
兼容性測試
細分兼容性測試:網絡兼容,平臺兼容,數據庫兼容,數據格式兼容
樁模塊:被測模塊調用模塊
驅動模塊調用被測模塊
測試基本素質要求
細心:不遺漏測試點
善于懷疑
追根究底精神:對于不好復現的bug
考慮問題要周到
有良好溝通能力
軟件開發過程常見問題
需求說明查
不切實際的時間表
測試不充分
不斷增加功能
交流問題
軟件安全性測試
用戶認證機制:數字證書等
加密機制
安全防護策略:安全日志,入侵檢測,隔離防護,漏洞掃描
數據備份和回復:存儲設備,存儲優化,設備保護,存儲管理
防病毒系統
BUG級別
web測試和APP測試不同點
場景題目
書寫軟件測試用例
web服務器評價指標
測試流程
開發說不是bug
測試時間不夠
- 和客戶溝通本次發布的版本什么是最重要的,什么是次要的,使用優先級來對整體的測試進行篩選
- 不可避免地不能完整--加班