軟體測試學習 01

2021-09-25 19:25:17 字數 1961 閱讀 1410

在規定的條件下對程式進行操作,以發現程式錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。

測試應盡早介入:軟體測試的目的就是保證軟體的質量、預防風險、降低研發成本,越是在開發初期,修復bug的成本往往越低,所以測試應盡早介入,一般測試人員在需求階段就開始介入了。

完全測試時不可能的:想要做到完全測試乙個軟體是不可能的,比如我們要測試乙個計算器軟體,輸入的資料有無窮多個,所以我們不可能進行完全的測試,只能選擇一些有代表性的資料進行測試。

測試只證明軟體存在缺陷:個人覺得可以這樣理解,因為我們對乙個軟體不可能完全測試,所以我們不能證明這個軟體是完美的、無bug的,所以我們只能證明軟體存在缺陷,哪怕我們測試過程中並沒有發現缺陷,但並不代表該軟體沒有缺陷。

缺陷存在群集現象(二八原則):乙個軟體如果只有20%的核心功能,但這核心功能是軟體的靈魂,需要花費測試人員80%的時間,那麼在這20%的核心功能發現的bug也會非常多,未發現的bug也會很多,這就是群集現象。

殺蟲劑現象:隨著測試進度的慢慢推進,測試人員能發現的bug越來越少,到最後不能發現bug了。這不是說軟體沒有bug,而是測試人員對bug產生了「免疫」,即使bug放在測試人員面前,也可能發現不了。出現這種情況一般可以做交叉測試、更新測試用例、嘗試其他的測試方法等。

不存在缺陷的謬論:判斷乙個軟體的好壞,不是它是否存在缺陷,而是它是否能滿足使用者的需求,如果都無法滿足使用者的需求,那麼找出再多的缺陷也是毫無意義的。

1.單元測試(ut):針對實現軟體的最小的**結構進行測試(白盒測試)

2.整合測試(it):整合是單元和單元拼在一起,不注重單元與單元之間的內部結構,而更注重於單元和單元拼在一起後的介面是否正確,一般用灰盒來測(介面測試)

3.系統測試(st):測試軟體的功能主體(黑盒測試)

4.驗收測試:

功能測試:驗證軟體主體功能是否可用。

相容性測試:驗證軟體在不同環境下是否能使用,如果不同的作業系統、不同的瀏覽器等等。

安全測試:驗證軟體是否只能是授權的使用者使用。

效能測試:軟體消耗的資源和其執行的效率。

5.1按是否關心內部結構分為:

白盒測試:注重於內部結構,又稱為結構測試或邏輯驅動測試,是一種按照程式內部邏輯結構和編碼結構設計測試資料並完成測試的一種測試方法,一般為靜態測試。

黑盒測試:注重於軟體的功能,把測試物件當作看不見內部的黑盒,在完全不考慮程式內部結構和處理過程的情況下,測試者僅依據程式功能的需求規範考慮,確定測試用例和推斷測試結果的正確性。基本為動態測試。

灰盒測試:介於白盒和黑盒之間,它不像白盒那樣詳細、完整、但比黑盒更注重於內部邏輯。

5.2按是否執行程式分為:

靜態測試:靜態測試是指不執行被測程式本身,通過分析或檢查源程式的語法、結構、過程、介面等來檢查程式的正確性。其被測物件是各種與軟體相關的有必要進行測試的產物,是對需求規格說明書、軟體設計說明書、源程式做結構分析、流程圖分析、符號執行來找錯。靜態測試可以手工進行,充分發揮人的思維的優勢,並且不需要特別的條件,容易展開,但是靜態測試對測試人員的要求較高,至少測試人員需要具有程式設計經驗。

靜態測試主要包括各階段的評審、**檢查、程式分析、軟體質量度量等,用於對被測程式進行特性分析。其中評審通常有人來執行;**檢查程式分析、軟體質量度量等即可人工完成,也可用工具來完成,但工具的作用和效果相對更大更好一些。

動態測試:通過執行被測程式來檢查執行結果與預期結果的差異。

5.3按照執行過程是否要人工干預分為:

手工測試

自動化測試

功能性:軟體需滿足使用者顯式或隱式的需求。

易用性:軟體易於學習、容易上手。

可靠性:軟體必須實現需求中明確的功能。

效率性:軟體的執行效率能滿足使用者的需求。

可維護性:軟體某個功能修復後還可以繼續使用。

可以移植性:軟體可以從乙個平台移植到另乙個平台使用。

需求分析

設計用例

評審用例

配置環境

執行用例

回歸測試及缺陷跟蹤

輸出測試報告

測試結束

軟體測試理論01

瀑布就是線性的,開發流程不可逆,如果加入一些小型的迭代工作 每個階段都進行小更新 那麼此模型更趨近於完美。需求分析 概要設計 詳細設計 編碼 單元測試 整合測試 系統測試 驗收測試 解釋 v模型就是瀑布模型的變種,所以在每個階段加入迭代工作,會更加完美 開發乙個v 需求分析 概要設計 詳細設計 編碼...

01 軟體測試入門

在學習軟測試之前應該熟悉乙個網際網路公司的結構,然後發現問題後,更加高效準確的找到對應的人員。網際網路公司的結構 產品經理 ui設計師 前端開發 後台開發 軟體測試 運維運營 軟體測試定義 定義 在規定的條件下對程式進行操作,以發現程式錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。軟體...

01 複習 軟體測試基礎

一 軟體測試的定義 通過手工或者工具對被測物件進行測試操作,從而驗證實際結果和預期結果是否存在差異 二 軟體測試的作用 目的 1 通過測試工作發現並修改軟體中存在的缺陷,從而提高使用者對軟體的資訊 2 測試可以記錄軟體執行過程中產生的一些資料,從而為決策提高資料的支援 3 測試可以有效降低同類產品開...