天天看點

軟體測試筆記

性能測試通常和應用程式、作業系統、資料庫伺服器、中間件伺服器、網絡裝置等有關,定位問題也很難,如何快速、有效地定位并解決性能問題,是性能測試人員的一個重要任務。

軟體測試的分類,測試流程,性能測試技術

loadrunner的使用

完整的性能測試方案、計劃、用例設計、性能總結、相關傳遞文檔

性能測試的基本過程:性能測試需求分析、性能測試計劃、性能測試用例、測試腳本編寫、測試場景設計、測試場景運作、場景運作監控、運作結果分析、系統性能調優、性能測試總結。

腳本錄制、負載(場景設計、執行)、結果分析、斷點設定、單步跟蹤、日志輸出等調試技術。

監控程序、CPU、記憶體、磁盤I/O等性能

LoadRunner在性能測試中的應用過程。包括 模型建立、性能測試用例設計、工具的引入、腳本代碼的編寫、場景設計、性能結果分析等。

前端性能測試, 以及前端性能測試分析工具HttpWatch、DynaTrace Ajax、FireBug、YSlow.

功能測試工具QTP、WinRunner、Jmeter

軟體=程式+文檔 

程式:實作某種功能的指令的集合

文檔:軟體的整個生命周期中産生的各類圖文的集合。包括《使用者需求規格說明書》、《需求分析》、《系統概要設計》、《系統詳細設計》、《資料庫設計》、《使用者操作手冊》等。

軟體缺陷:計算機的硬體、軟體系統、應用軟體出現的錯誤。

硬體錯誤,原因:1. 設計錯誤 2.硬體部件老化失效

軟體生命周期:從軟體需求的定義、産生直到被廢棄的生命周期。

軟體測試就是在軟體投入正式運作前期,對軟體需求文檔、設計文檔、代碼實作的最終産品以及使用者操作手冊等方面審查過程。

軟體測試,是為了找出軟體缺陷而執行多組測試用例的活動。

測試用例是執行軟體測試的最小實體。

軟體測試還需要考慮測試環境。包括硬體環境(PC、筆記本電腦、伺服器、小型機、大型機),軟體環境(作業系統、web應用伺服器、資料庫)、網絡環境(區域網路、城域網、網際網路、區域網路是10Mbit/s還是100Mbit/s等)。

測試環境的搭建,需要注意:1).盡量模拟使用者的真實場景 2).幹淨的環境(避免其他軟體等的幹擾) 3).獨立的測試環境(測試和研發的環境應該獨立)。

測試的各種分類結構圖

性能測試:性能測試、負載測試、壓力測試、容量測試、并發測試、配置測試、可靠性測試、失敗測試。

軟體測試筆記

黑盒測試, 随機性比較大。美國一個官方說法:20%的問題是在開發過程中發現的,80%的問題是在內建測試和系統測試過程中發現的。

白盒測試,着重于程式的内部結構及算法,通常不關心功能與性能名額。

灰盒測試,基于程式運作時刻的外部表現同時又結合程式内部邏輯結構來設計用例,執行程式并采集内部路徑執行資訊和外部使用者接口結果的測試技術。

單元測試,是測試過程中的最小粒度。對函數和子產品進行測試。 針對JAVA的單元測試主要用Junit,.Net則有Nunit,Delphi有Dunit等工具。

單元測試環境:驅動子產品->被測子產品->多個樁子產品。

驅動子產品,模拟被測子產品的調用子產品;樁子產品,模拟被 被測子產品 調用的子產品。

內建測試:驗證組成系統的各子產品的接口和互動作用。分為增量式內建和非增量式內建。

一次性将所有子產品組裝到一起進行測試,即非增量式內建。

系統測試完全采用黑盒測試。根據需求分析時确定的标準檢驗軟體是否滿足功能、性能等方面的要求。

這是發現問題的主要階段。将部分有規律的重複性工作使用自動化測試工具來進行,會減少我們的工作量,提高工作效率。

驗收測試,驗證軟體是否符合使用者的要求。

α測試,軟體開發公司組織内部人員模拟各類使用者行為對即将面市的産品進行測試。α測試之後,β測試,典型使用者對軟體進行測試。如在網際網路上供使用者下載下傳試用。

回歸測試,對軟體新的版本,重新執行上一個版本測試時使用的測試用例。

冒煙測試,版本編譯人員或其他研發人員,确定軟體的基本功能正常。

随機測試。考察健壯性

防止生成大量垃圾資料的情況時非常有用。

軟體開發模式:直接編寫法、邊寫邊改法、瀑布法、快速原型法,螺旋模式法。

直接編寫法,幾乎被放棄了。

邊寫邊改法,适用于小項目。

瀑布法,是一種線性順序模型,優點是各階段之間存在嚴格的順序性和依賴性,缺點是,在系統建立前,很難給出一套完整、有效的使用者需求。   需求明确時可以使用瀑布模型。

計劃->需求分析->設計->編碼->測試->運作維護。

快速原型法。快速的開發出軟體的原型,實作産品最重要的功能,然後逐漸調整,得到更加明确的使用者需求。然後,丢棄原型,開發出使用者滿意的産品。

螺旋模式法。規劃,風險分析,原型開發,使用者評審。

進行風險分析,大大影響項目利潤,那麼進行風險分析就毫無意義。是以,螺旋模式法隻适合大型項目。風險分析要準确。并且讓客戶相信這種風險分析,是比較困難的,是以,這種模式往往适應于内部大型軟體開發。

軟體測試流程:測試計劃,測試設計,執行測試,測試總結。

測試計劃,就是描述所有要完成的測試工作。包括被測試項目的背景、目标、範圍、方式、資源、進度安排、測試組織,與測試有關的風險等。

測試設計,設計測試用例和測試資料,要保證測試用例完全覆寫測試需求。

測試用例:

功能測試用例、安全測試用例、使用者界面測試用例、安裝/反安裝測試用例、內建測試用例、性能測試用例。

評價測試用例的好壞的兩個标準:(1)是否可以發現尚未發現的軟體缺陷 (2)是否可以覆寫全部的測試需求

測試用例的設計方法:等價類劃分,邊界值分析法,因果圖表法,判定表方法,錯誤推測法,場景法

測試執行。分為缺陷管理和測試執行。

缺陷管理:發現缺陷,進行處理。

測試執行:設定測試環境,測試環境初始化,執行測試過程。

使測試用例通過評審,部署相應的環境,執行用例,将發現的缺陷送出到缺陷管理工具中。第一輪測試完成。  然後,修改、完善、補充用例,并且給出一個測試報告,指出目前存在缺陷的嚴重等級數目、重要的缺陷、缺陷的清單等。

開發人員修複缺陷之後,進行第二輪測試。需要進行回歸測試。

測試報告包括如下内容:系統的概述、編寫目的、參考資料、測試環境、差異、測試充分性評價、殘留缺陷、缺陷統計、缺陷分析、測試活動總結、測試結論等方面。

系統概述:主要歸納對測試項的評價。指明 被測試項及其版本/修訂級别,測試項概述,如項目/産品的名稱、版本以及測試項内容等。