?軟件測試一般可以看做不斷“驗證”的過程,具體應以客戶需求或者軟件規(guī)格說明書為準。目的就是盡量更早的發(fā)現(xiàn)軟件缺陷,降低開發(fā)及修復的成本,保證軟件的質(zhì)量。這里涉及兩個概念,QA和QC,QA是質(zhì)量保證(Quality Assurance?),為保證質(zhì)量采取的技術(shù)和活動。另一個概念就是QC(Quality Control 質(zhì)量控制),類似于我們常說的審計,主要是看過程是否符合流程,不關(guān)心結(jié)果。
軟件測試的不同層次
? ?????軟件測試針對的是軟件產(chǎn)品,常見的包括對需求文檔,設計文檔,代碼,系統(tǒng)的交互,用戶手冊等進行檢查。對應可分為單元測試,集成測試,系統(tǒng)測試和驗收測試。
?????????單元測試是對代碼塊,模塊,函數(shù),對象等代碼層的測試,以及代碼的健壯性,這個過程一般由開發(fā)人員組織完成。
????????集成測試一般是測試模塊參數(shù),接口傳遞是否有問題。逐漸加入被測模塊持續(xù)進行測試,直到所有模塊能夠集成在一起,組成一個正常的,可使用的軟件。
????????系統(tǒng)測試是驗證軟件是否符合需求,測試中包含對系統(tǒng)的功能測試(是否符合需求上功能實現(xiàn)的邏輯),兼容性測試(如不同瀏覽器,不同的操作系統(tǒng),同一個瀏覽器的不同版本),可靠性測試(壓力測試和性能測試)。
????????驗收測試也稱交付測試,主要檢查產(chǎn)品需求,規(guī)格說明書,開發(fā)技術(shù)合同等。另外就是,這個過程一般有客戶或者獨立第三方驗收參與,這個時候也是團隊壓力比較大的時候,都會默默祈禱別出岔子,不然又得加班了。
軟件測試方法都有哪些類型
對于軟件測試的類型,分成很多種,細分起來相當?shù)膹碗s,最常見的是以下幾點:
功能測試:驗證系統(tǒng)是否按照我們要求的工作,也需要我們測試人員真正的理解需求和對應的行業(yè)知識。
壓力測試:即強度測試,使用工具或者腳本模擬巨大工作負荷來測試應用程序在峰值情況下的服務處理能力,如逐漸增加訪問量,使應用系統(tǒng)資源使用保持在一定水平,看系統(tǒng)的報錯或者響應時間,打開一個網(wǎng)站超過7s就會失去耐心,這就是壓測找出系統(tǒng)瓶頸的必要性。
性能測試:測試系統(tǒng)在不同負載下的各項性能指標。
單元測試:單元測試(或模塊測試)是對程序中的單個子程序或具有獨立功能的代碼段進行測試的過程。
回歸測試:回歸測試是指修改了舊代碼后,重新進行測試以確認修改后沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤?;貧w測試一般是在進行軟件的第二輪測試開始的,驗證第一輪中發(fā)現(xiàn)的問題是否得到修復。當然,回歸也是一個循環(huán)的過程,如果回歸的問題通不過,則需要開發(fā)人員修改后再次進行回歸,直到通過為止。系統(tǒng)比較穩(wěn)定的話,可使用相關(guān)工具和代碼完成回歸測試,這就是常說的自動化測試。
安全性測試:測試系統(tǒng)不同操作的權(quán)限,SQL注入,數(shù)據(jù)備份等。安全測試也在越來越受到企業(yè)的關(guān)注和重視,因為由于安全性問題造成的后果是很嚴重的。