軟件測試基礎及一般流程

軟件測試行業基本介紹

軟件測試的定義:通過手工或者工具對“被測對象”進行測試的操作,從而驗證實際結果與預期效果之間是否存在差異。

爲什麼需要軟件測試?

  1. 一款軟件從無到有會經歷很多的開發階段有不同水平的人來參與開發,所以最終產出的軟件功能可能會存在問題,因此爲了保證軟件功能的可用性,我們必須進行軟件測試
  2. 當前的軟件行業已經不再是功能爲王了,用戶不僅僅只盯着軟件功能是否滿足需要,還會對軟件是否容易上手,執行效率是否可以等一系列其他體驗都有了更高的要求,所以我們需要對軟件進行大量的測試。

爲什麼選擇軟件測試?

  1. 國內的軟件行業對於專業的軟件測試人員需求是慢慢變大
  2. 有些人喜歡創造世界所以他們選擇了開發,而我們就是希望這個世界變得更完美所以做了測試。

爲什麼公司不讓開發自己做測試?

  1. 當前行業有許多的測試從業人員本身之前從事的都是開發崗
  2. 專業度:軟件測試和軟件開發分別屬於軟件行業當中的兩種不同的技術方向,所以讓專人做專事對於質量來說更有保障。
  3. 思維定勢:在軟件的開發週期中,對於程序員來說他們大多數時間都是在思考如何實現軟件的功能,而不會從用戶的角度去考慮如何“奇葩”的使用這個功能。
  4. 測試力度:相對於開發來說,產品就想到於是他們的“孩子”,所以下手不會太狠。

軟件測試的作用:

  1. 通過測試工作可以發現並修復軟件當中存在的缺陷,從而提高用戶對產品使用信心
  2. 測試可以記錄軟件使用過程中產生的一些數據,從而爲決策提供數據支持
  3. 測試可以降低同類型產品開發遇到問題的風險。

測試原則

  1. 測試證明軟件存在缺陷(無論做什麼樣的測試操作都可以證明軟件是有缺陷的,不存在無缺陷的軟件)
  2. 不能執行窮盡測試(有些測試是沒有辦法將所有的測試情況都羅列出來,所以任何的測試都有結束的時間)
  3. 缺陷存在羣集現象(28理論)——>20核心+80邊緣

在實際過程中,我們會集中測試20%的核心功能

     4、某些測試需要依賴特殊的環境

     5、測試要儘早介入(爲了更多地發現和更好的解決軟件中的缺陷,測試工作需要儘早開始)

     6、“殺蟲劑”現象:同樣的一個測試用例不能重複的執行多次,因爲軟件會對它產生免疫

     7、“不存在缺陷”謬論:任何軟件不可能是完美的

在公司中,做測試這塊比較普遍的工作流程:

需求分析

注:需求的設計重在經驗的積累,不是一時的努力(測試很多情況是開發轉過來的)

  1. 當前階段的核心是梳理清楚我們需要設計的點是什麼
  2. 測試需求的來源:需求規格說明書(項目經理提出項目並書寫需求說明書)
API文檔(技術部門)

競品分析(同行產品,根據對方產品的劣勢,測試自己產品)

個人經驗(做單調的工作,自己最值錢的地方)

特別地,軟件專業學生沒有專業優勢,有行業背景的工程師是最強的(業務的瞭解程度)

設計用例 ***

  1. 測試用例就是用戶爲了測試軟件的某個功能而設計的需要執行的操作過程
  2. 測試這塊有白盒測試和黑盒測試,但是目前做的多的還是黑盒測試
  3. 設計用例不是盲目的,它有據可行(等價類[各類中有代表性的數據測測]、邊界值、判定表…..)
  4. 等價類劃分法:(屬於黑盒測試):將不能窮舉的過程進行分類,從而保證完整性和代表性(在取值範圍內去有代表性的值——>有效等價類的確定

注:測試不能完全,只能同等情況下選擇最優。

評審用例(測試組內有經驗的同事或者測試組長

主要工作是:對當前的測試用例進行添加和刪除(某些點沒有涉及到/部分點沒必要

配置環境***

  1. 環境:指的就是當前被測對象運行所需要的執行環境。(注:作爲高測,需要必備的基礎能力)——》[新手一般使用一鍵安裝的集成環境,low]
  2. 環境分類:操作系統 + 服務器軟件 + 數據庫 + 軟件底層代碼的執行環境
  3. 底層代碼的執行環境:(php、Java、python做網頁)比如index.html不需要配置,直接可以在瀏覽器中運行,但是如:index.jsp在無任何準備的情況下就不能順利運行

執行用例

     1、一般在執行測試用例之前我們會做一個冒煙測試。

冒煙測試():核心是:快速地對當前軟件的核心功能或者主體執行流程進行驗證。如果此階段有問題,則可以直接將此版本會退給開發,等待下一個版本的到來(比如:購物平臺中商品不能加購物車

      2、如果冒煙測試通過,才準備開展全面的測試

迴歸測試及缺陷跟蹤

  1. 迴歸測試指的是當我們將某個缺陷提交給開發後,有他們進行修復,修復完成後需要測試人員再次對其進行測試[迴歸測試]
  2. 缺陷跟蹤:指的就是當測試人員發現某個缺陷之後需要一直對該缺陷的狀態進行跟蹤,直到其結束爲止。

輸出測試報告

(1)將當前的測試過程中產生的數據進行可視化的輸出,方便其他人去查看。

  1.  測試結束:結束還算一個步驟嗎?

算,很多公司很在乎,他們希望自己的產品持續更新迭代,

測試人員需要將整個測試過程中產生的一些文檔進行整理歸檔,方便後續版本的使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章