軟件測試是為了確認所有有效的輸入都被正確地解釋和執行,而不正確的輸入則被拋出。測試還驗證了結果是有效地生成的,并且大量的數據可以在沒有中斷的情況下被處理。測試可以手動或以電子方式進行。自動化軟件測試包括使...
軟件測試是為了確認所有有效的輸入都被正確地解釋和執行,而不正確的輸入則被拋出。測試還驗證了結果是有效地生成的,并且大量的數據可以在沒有中斷的情況下被處理。測試可以手動或以電子方式進行。自動化軟件測試包括使用專門的軟件對正在開發的代碼進行測試。這種測試如果應用得當,有利于軟件開發過程。

拿著光盤的女人手工測試依賴于測試人員的細致程度。手工軟件測試非常耗時,大多數應用程序都需要大量的測試人員和開發人員,這增加了開發成本。此外,手動測試有一個限制,即大量的數據,或大量同時的用戶或輸入,無法輕松測試。自動軟件測試以編程方式控制測試執行和輸出評估。測試軟件提供輸入,它對應于不同的條件,對應于被評估的軟件。對于每一組條件,測試軟件將實際結果與期望結果進行比較,并維護目標軟件聚合行為的統計信息。在"運行"之后,測試軟件通常會提供匯總結果,以便人們可以迅速決定補救什么在自動化軟件測試中,測試所涉及的繁瑣任務,如登錄或輸入諸如郵政地址之類的數據,都是機械化的。每次運行都可以測試大量的條件組合。由于自動化測試涉及計算機和軟件的使用,它還可以模擬大量的輸入數據或極快的輸入。每次運行大量的測試條件可以在幾小時內完成。因此,自動測試對于回歸測試非常有用,它可以確保新功能或錯誤修復不會無意中破壞以前工作的代碼一些最新的開發方法如極限編程強調在編碼之前就可以進行測試,而開發方法則強調每天都要進行多次回歸測試,以確保軟件本身的正確性開發。如果軟件團隊必須對任何重要軟件遵守此方法,使用自動化軟件測試是強制性的。自動化測試軟件必須提供所需的輸入和輸出。一種方法是將手動測試條件存儲到軟件中。另一種方法是將代碼寫入在被測軟件的可接受范圍內產生各種條件,因此,自動化軟件測試的基礎無疑是人類的努力,自動化測試軟件本身不可能超越這一點,自動化軟件測試對于所要獲得的軟件以及在其使用過程中都要付出巨大的代價因此,是否自動化以及測試的哪一部分自動化是關鍵的決策。自動化測試不適合預期會發生重大變化的功能和環境。在大多數應用程序中,手動和自動測試的組合是合適的。