一、軟件測試是干什么的
軟件測試,是指對開發(fā)的軟件功能、使用進行測試的過程,軟件測試的目的主要有:
1、發(fā)現程序中的錯誤,好的測試方案能發(fā)現尚未發(fā)現的錯誤,成功的測試是發(fā)現了至今為止尚未發(fā)現的錯誤。
2、除了找出錯誤,軟件測試的作用還有一個,是通過分析錯誤產生的原因和錯誤的發(fā)生趨勢,幫助軟件項目管理者發(fā)現當前軟件開發(fā)過程中的缺陷,以便及時改進。這種分析也能幫助測試人員設計出有針對性的測試方法,改善測試的效率和有效性。
3、另外,根據測試目的的不同,還有回歸測試、壓力測試、性能測試等,分別為了檢驗修改或優(yōu)化過程是否引發(fā)新的問題、軟件所能達到處理能力和是否達到預期的處理能力等。

二、軟件測試的原則有哪些
進行軟件測試時,要注意遵循以下幾大原則:
1、測試應該盡早進行,最好在需求階段就開始介入,因為最嚴重的錯誤不外乎是系統(tǒng)不能滿足用戶的需求。
2、程序員應該避免檢查自己的程序,軟件測試應該由第三方來負責。
3、設計測試用例時應考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下還要制造極端狀態(tài)和意外狀態(tài),如網絡異常中斷、電源斷電等。
4、應該充分注意測試中的群集現象。
5、對錯誤結果要進行一個確認過程。一般由A測試出來的錯誤,一定要由B來確認。嚴重的錯誤可以召開評審會議進行討論和分析,對測試結果要進行嚴格地確認,是否真的存在這個問題以及嚴重程度等。
6、制定嚴格的測試計劃。一定要制定測試計劃,并且要有指導性。測試時間安排盡量寬松,不要希望在極短的時間內完成一個高水平的測試。
7、妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護提供方便。
三、軟件測試的方法有哪些
軟件測試有多種不同的方法,其中常用的四種測試方法分別是:
1、靜態(tài)測試
靜態(tài)測試方式指軟件代碼的靜態(tài)分析測驗,此類過程中應用數據較少,主要過程為通過軟件的靜態(tài)性測試(即人工推斷或計算機輔助測試)測試程序中運算方式、算法的正確性,進而完成測試過程,此類測試的優(yōu)點在于能夠消耗較短時間、較少資源完成對軟件、軟件代碼的測試,能夠較為明顯地發(fā)現此類代碼中出現的錯誤。靜態(tài)測試方法適用范圍較大,尤其適用于較大型的軟件測試。
2、動態(tài)測試
計算機動態(tài)測試的主要目的為檢測軟件運行中出現的問題,與靜態(tài)測試方式相比,其被稱為動態(tài)的原因是,測試方式主要依賴程序的運用,主要為檢測軟件中動態(tài)行為是否缺失、軟件運行效果是否良好。其最為明顯的特征即為進行動態(tài)測試時軟件為運轉狀態(tài),只有如此才能于使用過程中發(fā)現軟件缺陷,進而對此類缺陷進行修復。目前動態(tài)測試過程中可包括兩類因素,即被測試軟件與測試中所需數據,兩類因素決定動態(tài)測試正確展開、有效展開。
3、黑盒測試
黑盒測試,顧名思義,就是將軟件測試的環(huán)境模擬為不可見的“黑盒”。通過數據輸入觀察數據輸出,檢查軟件內部功能是否正常。測試展開時,數據輸入軟件中,等待數據輸出。數據輸出時若與預計數據一致,則證明該軟件通過測試,若數據與預計數據有出入,即便出入較小亦證明軟件程序內部出現問題,需盡快解決。
4、白盒測試
白盒測試相對于黑盒測試而言具有一定透明性,原理為根據軟件內部應用、源代碼等對產品內部工作過程進行調試。測試過程中常將其與軟件內部結構協同展開分析,最大優(yōu)點即為其能夠有效解決軟件內部應用程序出現的問題,測試過程中常將其與黑盒測試方式結合,當測試軟件功能較多時,白盒測試法亦可對此類情況展開有效調試。其中,判定測試作為白盒測試法中最為主要的測試程序結構之一,此類程序結構作為對程序邏輯結構的整體實現,對于程序測試而言具有較為重要的作用。此類測試方式針對程序中各類型的代碼進行覆蓋式檢測,覆蓋范圍較廣,適用于多類型程序。
實際檢測中,白盒測試法常與黑盒檢測法并用,以動態(tài)檢測方式中測試出的未知錯誤為例,首先使用黑盒檢測法,若程序輸入數據與輸出數據相同,則證明內部數據未出現問題,應從代碼方面進行分析,若出現問題則使用白盒測試法,針對軟件內部結構進行分析,直至檢測出問題所在,及時加以修改。