- 精通軟件性能測試與LoadRunner實戰(第2版)
- 于涌 王磊 曹向志 高樓 于躍
- 1653字
- 2020-07-07 17:15:59
1.3 軟件測試的定義
隨著計算機行業的不斷發展,軟件系統規模和復雜性不斷擴大,先前由一兩個人就可以完成的中小型項目已經不再適用于現在軟件項目的開發模式和系統的規模。現行軟件項目通常業務功能復雜,操作人數較多,軟件廠商在激烈的市場競爭中不僅需要考慮產品的功能實用性、界面的美觀性、易用性等,產品的健壯性,以及快速及時的響應、支持多用戶的并發請求等性能測試方面的要求也越來越受到關注,軟件的性能測試可以說是軟件測試的重中之重。它是測試人員從用戶角度出發對軟件系統功能、性能等方面進行測試的行為,是一種非常重要的軟件質量保證的手段。
軟件測試就是在軟件投入正式運行前期,對軟件需求文檔、設計文檔、代碼實現的最終產品以及用戶操作手冊等方面審查過程。軟件測試通常主要描述了兩項內容。
描述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元,原來是因為開發人員銷售了兩口電飯鍋,致使庫存統計的結果數據不對。在共用一套環境情況下,研發、測試相互影響的事情比比皆是,不利于缺陷的定位,也不利于項目或者產品任務的進度控制。
- Java逍遙游記
- Mastering Concurrency in Go
- 編寫高質量代碼:改善Python程序的91個建議
- OpenStack Cloud Computing Cookbook(Fourth Edition)
- 數據結構習題解析與實驗指導
- FPGA嵌入式項目開發實戰
- 一步一步跟我學Scratch3.0案例
- Python網絡爬蟲實例教程(視頻講解版)
- 超好玩的Scratch 3.5少兒編程
- Python物理建模初學者指南(第2版)
- 產品架構評估原理與方法
- Image Processing with ImageJ(Second Edition)
- 高性能Java架構:核心原理與案例實戰
- 編程改變生活:用Python提升你的能力(基礎篇·微課視頻版)
- Java編程兵書