本節書摘來自異步社群《精通軟體性能測試與loadrunner最佳實戰》一書中的第1章1.3節軟體測試的定義,作者于湧 , 王磊 , 曹向志 , 高樓 , 于躍,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
1.3 軟體測試的定義
精通軟體性能測試與loadrunner最佳實戰
随着計算機行業的不斷發展,軟體系統規模和複雜性不斷擴大,先前由一兩個人就可以完成的中小型項目已經不再适用于現在軟體項目的開發模式和系統的規模。現行軟體項目通常業務功能複雜,操作人數較多,軟體廠商在激烈的市場競争中不僅需要考慮産品的功能實用性、界面的美觀性、易用性等,産品的健壯性,以及快速及時的響應、支援多使用者的并發請求等性能測試方面的要求也越來越受到關注,軟體的性能測試可以說是軟體測試的重中之重。它是測試人員從使用者角度出發對軟體系統功能、性能等方面進行測試的行為,是一種非常重要的軟體品質保證的手段。
軟體測試就是在軟體投入正式運作前期,對軟體需求文檔、設計文檔、代碼實作的最終産品以及使用者操作手冊等方面審查過程。軟體測試通常主要描述了兩項内容。
描述1:軟體測試是為了發現軟體中的錯誤而執行程式的過程。
描述2:軟體測試是根據軟體開發各個階段的規格說明和程式的内部結構而精心設計的多組測試用例(即輸入資料及其預期的輸出結果),并利用這些測試用例運作程式以發現錯誤的過程,即執行測試步驟。
這裡又提到了兩個概念:測試和測試用例。
測試包含硬體測試和軟體測試,在這裡如沒有特殊說明,測試僅指軟體測試。它是為了找出軟體中的缺陷而執行多組軟體測試用例的活動。
軟體測試用例是針對需求規格說明書中相關功能描述和系統實作而設計的,用于測試輸入、執行條件和預期輸出,測試用例是執行軟體測試的最小實體。
關于軟體測試還有一個概念,就是測試環境。測試環境包括很多内容,具體如下。
(1)硬體環境(pc、筆記本電腦、伺服器、小型機、大型機等)。
(2)軟體環境(作業系統,如windows 2000、windows 9x、windows xp、windows nt、unix、linux等;web應用伺服器,如tomcat、weblogic、iis、websphere等;資料庫,如oracle、sql server、mysql、db2等;還有一些其他的軟體,如辦公軟體,防毒軟體等)。軟體環境的配置還需要考慮軟體的具體版本和更新檔的安裝情況。
(3)網絡環境(如區域網路、城域網或網際網路,區域網路是10mbit/s、100mbit/s的,還是其他類型的)。
有時在進行軟體測試的時候,同一個應用系統,因為測試環境的不同将直接導緻軟體運作結果的不同(如界面不同、運作結果不同等),為了保證不再出現類似“獅子王遊戲”軟體相容性測試方面的問題發生,在進行測試環境搭建的時候,需要注意以下幾點。
(1)盡量模拟使用者的真實場景。
就是測試環境盡量模拟使用者應用的網絡應用、軟體、硬體使用環境,全面仿真使用者的真實場景的測試,與使用者的各項配置均一緻。有些情況下,完全模拟使用者的場景是有困難的,這時可以通過與客戶溝通,在特定的時間段(如節假日、下班以後等時間)應用客戶的環境來達到測試的目的。
(2)幹淨的環境。
有時為了考查一款軟體是否可以在新安裝的作業系統下正常運作,就需要在幹淨的機器上考查這個軟體相關的動态連結庫(dll檔案),相應元件是否能夠正常注冊、複制到相應路徑下;有些情況下由于程式的運作需要第三方元件或者動态連結庫的支援,然而,在打包的時候忘記把這些内容打進去,而導緻在幹淨的系統中會出現問題。在幹淨的系統下測試還可以有效避免由于安裝了其他軟體,産生沖突,影響問題定位方面的事情發生。
(3)沒有病毒的影響。
有時,測試人員會發現系統在本機上出現檔案無法寫入、網絡不通、驅動錯誤、ie浏覽器和其他軟體的設定頻繁被改變等一系列莫名其妙的問題,而這些問題在别的計算機上沒有,遇到這些問題,一般情況下可能是您的計算機感染上了病毒,需要殺毒以後再進行測試。在有病毒的計算機上進行測試是沒有意義的事情,因為不知道這是系統的問題還是病毒原因而産生的問題。
(4)獨立的測試環境。
做過測試的讀者可能經常都會被研發和測試共用一套測試環境而困擾,因為測試和研發的資料互相影響。例如,一個進銷存軟體,測試人員做了進貨處理,進了10口電飯鍋,進貨單價為100元/口,接下來進入庫存統計時發現庫存金額為800元,原來是因為開發人員銷售了兩口電飯鍋,緻使庫存統計的結果資料不對。在共用一套環境情況下,研發、測試互相影響的事情比比皆是,不利于缺陷的定位,也不利于項目或者産品任務的進度控制。
本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。