從常用的角度分別介紹:
從基於功能的角度:
1、unit testing(單元測試)
這個步驟主要是開發者針對開發過程中,程式內部的函式、類、變數等等資料進行正確性的測試。
ex:乙個函式需要把一些重要的資料插入到資料庫中。那在編寫完這個函式之後,就要進行測試,以驗證:1)函式能正確帶出需要插入資料庫的資料變數。2)帶出的資料可以正確的插入需要插入的資料庫。
2、function testing(功能測試)
顧名思義就是對產品的各功能進行驗證,根據功能測試用例,逐項測試,檢查產品是否達到使用者要求的功能。
ex:在乙個專案中,有許多功能組成,每乙個功能中有許多方法組成,我們經過單元測試不能確定其正確性,所以需要更加詳盡的功能測試過程。
3、integrated testing(整合測試)
整合測試是在單元測試的基礎上,將所有模組按照詳細設計的要求組裝成子系統或系統,進行整合測試。整合測試側重於模組間的介面正確性以及整合後的整體功能的正確性。
ex:等乙個個函式或者功能模組的單元測試完成之後,就需要測試這些函式或者模組之間的整體的資料流是否正確。
4、scenario testing(場景測試)
通過運用場景來對系統的功能點或業務流程的描述,從而提高測試效果的一種方法。
ex:為什麼場景法能如此清晰的描述整個事件?因為,現在的系統基本上都是由事件來觸發控制流程的。如:我們申請乙個專案,需先提交審批單據,再由部門經理審批,審核通過後由總經理來最終審批,如果部門經理審核不通過,就直接退回。每個事件觸發時的情景便形成了場景。而同一事件不同的觸發順序和處理結果形成事件流。這一系列的過程我們利用場景法可以清晰的描述清楚。
5、system testing(系統測試)
系統測試是將經過整合測試的軟體,作為計算機系統的乙個部分,與系統中其他部分結合起來,在實際執行環境下對計算機系統進行的一系列嚴格有效地測試,以發現軟體潛在的問題,保證系統的正常執行。 系統測試的目的是驗證最終軟體系統是否滿足使用者規定的需求。
基於非功能的角度:
1、stress testing(壓力測試)
壓力測試是對系統不斷施加壓力的測試,通過確定乙個系統的瓶頸或者不能接收的效能點,來獲得系統能提供的最多服務級別的測試。
ex:我們平時瀏覽網頁過程中,web站點在大量的負荷下,何時系統的響應會退化或失敗。
2、regression testing(回歸測試)
回歸測試是指在發生修改之後重新測試先前的測試以保證修改的正確性。理論上,軟體產生新版本,都需要進行回歸測試,驗證以前發現和修復的錯誤是否在新軟體版本上再次出現。
ex:回歸測試的目的在於驗證以前出現過但已經修復好的缺陷不再重新出現。一般指對某個已知已經修正的缺陷再次圍繞它原來出現時的步驟重新測試。
3、security testing(安全測試)
對產品進行檢驗以驗證產品符合安全需求定義和產品質量標準的過程。
ex:1)提公升it產品的安全質量; 2).盡量在發布前找到安全問題予以修補降低成本 ;
3)度量安全。4)驗證安裝在系統內的保護機制能否在實際應用中對系統進行保護,使之不被非法入侵,不受各種因素的干擾。
4、accessibility testing(可達性測試)
就是給那些可達性出現不同程度問題的人們使用軟體的可能性的測試。簡單說,就是測試軟體是否能夠被盲人、無滑鼠人士、老花眼、色盲等殘疾或者部分有障礙人士正常使用,這其中也包含了正常人在某些時候發生暫時性障礙的情況下正常使用,如懷抱嬰兒等。
ex:測軟體給殘障人士的可使用性,是否可被特定read軟體讀出所有頁面和元件,是否支援全鍵盤操作等等
5、compatibility testing(相容性測試)
相容性測試將驗證軟體與其所依賴的環境的依賴程度,包括對硬體平台的依賴程度和對軟體平台依賴程度,即是通常說的軟體的可移植性。
ex:相容性測試主要目的是為了相容第三方軟體,確保第三方軟體能正常執行,使用者不受影響。由於各類應用軟體和系統軟體已經到了多如牛毛的地步,而且可以預見還將繼續以**式的速度增長,軟體之間的資料共享和系統資源分享變成為乙個問題,這也是相容性測試的意義所在。雖然相容性測試無法做到完全的質量保證,但對於乙個專案來講,相容性測試是必不可少的乙個步驟。
05 總結一下,以軟體開發周期說明不同的測試使用
1.軟體開發生命週期 問題定義階段 可行性研究階段 需求分析階段 概要設計階段 詳細設計階段 編碼測試階段 執行維護階段 2.軟體測試 主要的測試過程 單元測試 整合測試 確認測試 系統測試與發布測試 1.單元測試 測試目的 驗證和確認各個單元模組是否正確實現了規定的功能 測試內容 模組介面 模組內...
來說一下Ansible的簡明教程
ansible是當下比較流行的自動化運維工具,可通過ssh協議對遠端伺服器進行集中化的配置管理 應用部署等,常結合jenkins來實現自動化部署。除了ansible,還有像saltstack fabric 曾經管理100多台伺服器上的應用時也曾受益於它 puppet等自動化工具。相比之下,ansib...
描述一下Spring Bean的生命週期
描述一下spring bean的生命週期?1 解析類得到bean definition 2 如果有多個構造方法,則要推斷構造方法 3 確定好構造方法後,進行例項化得到乙個對像 4 對物件中的加了 autowired註解的屬性進行屬性填充 5 aware方法,比如beannameaware,beanf...