1. 程式人生 > >軟體測試工作基本流程

軟體測試工作基本流程

最近在為面試新工作做準備,所以想想整理一下軟體測試的基本工作流程,大致梳理一遍,這樣也便於自己在面試過程中可以沉著的面對面試管的測試工作如何進行的問題。

首先,作為測試人員需要學習並瞭解業務,分析需求點

為什麼測試人員要參加需求分析?也就是進行測試需求分析的目的是什麼?

第一、把使用者需求轉化為功能需求:1)對測試範圍進度量    2)對處理分支進行度量   3)對需求業務的場景進行度量   4)明確其功能對應的輸入、處理和輸出   5)把隱式需求轉變為明確。

第二、明確測試活動的五個要素:測試需求是什麼、決定怎麼測試、明確測試時間、確定測試人員、確定測試環境:測試中需要的技能,工具以及相應的背景知識,測試過程中可能遇到的風險等等。測試需求需要做到儘可能的詳細明確,以避免測試遺漏和誤解。

怎麼進行測試需求分析?

第一、確認功能(業務功能、輔助功能、資料約束、易用性需求、編輯約束、引數需求、許可權需求、效能約束):

1、業務功能:與使用者實際業務直接相關的功能或者細節

2、輔助功能:輔助完成業務功能的一些功能或者細節,例如:設定過濾條件

3、資料約束:功能的細節,主要是用於控制在執行功能時,資料的顯示範圍,資料之間的關係等

4、易用性需求:功能的細節,產品中必須提供,便於功能操作使用的一些細節,例如:快捷鍵等

5、編輯約束:功能的細節,在功能執行時,對輸入資料專案的一些約束條件,例如:只能輸入數字等

6、引數需求:功能的細節,在功能執行時,需要根據引數設定不同,進行不同處理的細節

7、許可權需求:功能的細節,在功能執行的過程,根據不同的許可權進行不同的處理,不包括直接限制某個功能的許可權

8、效能約束:功能的細節,執行功能時,必須滿足的效能需求

第二、場景分析

1、考慮場景的呼叫者:考慮每一個場景提供的服務是供哪些外部模組或者系統呼叫的,找出所有呼叫者。呼叫前提,約束都要考慮。每一個呼叫都可以考慮成一個大的業務流程(一般和外部有互動的業務出錯率比較大,需要重點關注)

2考慮系統內部各個場景之間的:形成內部業務流程,需要分析每個場景之間的約束關係,執行條件,組織出各種業務流程圖

第三、挖掘隱性需求

這需要測試工程師的經驗積累:1)常用的或者規定的業務流程   2)各個業務流程分支的遍歷   3)明確規定不可使用的業務流程   4)沒有明確規定但是應該不可使用的業務流程   5)其他異常或者不符合規定的操作

以上是粗略的講解了如何進行測試需求分析,詳細的測試需求方法可以參考這篇部落格。在需求分析過程中編寫整個測試計劃,在這個過程中需要參考需求規格說明書,這個階段一般情況下是測試主管編寫的。包括測試人員,測試時間,測試工具,以及測試方法等。這是在測試需求分析中的產物《測試計劃》,如何編寫測試計劃,請參考以下文章。

接下來就是測試用例設計:

測試用例是測試工作的最核心的模組,在執行任何測試之前,首先必須完成測試用例的編寫。測試用例是指導你執行測試,幫助證明軟體功能或發現軟體缺陷的一種說明。用例設計好後進行稽核。這個地方該講的東西就多了,如何設計測試用例,設計測試用的方法,怎麼進行測試用例的稽核等等。

第一、如何進行測試用例的設計

編寫測試用例之前我們需要對專案的需求有清晰的瞭解,對要測試什麼,按照什麼順序測試,覆蓋哪些需求做到心中有數,作為測試用例的編寫者不僅瞭解要有常見的測試用例編寫方法,同時需要了解被測軟體的設計、功能規格說明、使用者試用場景以及程式/模組的結構。

步驟:

1、測試需求分析:從專案部拿到軟體的需求規格說明書後,開始對專案的需求進行分析,通過自己的分析、理解,整理成為測試需求, 清楚分析出被測試物件具有哪些功能。 明確測試用例中的測試集用例與需求的關係,即一個或多個測試用例集對應一個測試需求。

2、業務流程分析:分析完需求後,明確每一個功能的業務處理流程,不同的功能點作業務的組合,以及專案的隱式需求。如遇複雜的測試用例設計前,先畫出軟體的業務流程。從業務流程上,應得到以下資訊:

A、 主流程是什麼?

B、 條件備選流程是什麼?

C、 資料流向是什麼?

D、 關鍵的判斷條件是什麼?

3、測試用例設計

完成以上兩步則可進行測試用例設計,功能測試用例,應儘量考慮邊界、異常、效能的情況,以便發現更多的隱藏問題。設計測試用例的常見方法:1)等價類    2)邊界值    3)因果圖    4) 判定表    5) 狀態遷移    6) 正交實驗    7) 場景法    8) 錯誤推斷(注意:編寫測試用例時,我們儘可能取的不應該是有效等價類而應該是無效等價類

4.編寫完成後自我檢查以及部門內部評審:

1)測試用例本身的描述是否清晰,語言準確;是否存在二義性;

2)測試用例內容是否完整,是否清晰的包含輸入和預期輸出的結果;測試步驟是否清晰;

3)測試用例中使用的測試資料是否恰當,準確;

4)測試用例是否具有指導性,是否能靈活的指導軟體測試工程師通過測試用例發現更多的缺陷,而不是限制他們的思維;

5)是否考慮到測試用例執行的效率。對於不斷重複執行的步驟,是否保證了驗證點相同;或者測試用例的設計是否存在冗餘性等。這些都可能導致測試用例執行效率低下;

6)畫出軟體需求跟蹤矩陣,驗證測試用例是否完全覆蓋了需求,驗證測試用例的覆蓋性;

7)測試用例是否完全遵守了軟體需求的規定。這一點其實有一些難做到。考慮到時間/成本的關係,應該視具體情況而定。

5.測試用例更新完善

測試用例編寫完成之後需要不斷完善,如遇需求更改或功能新增時,測試用例必須配套修改更新,同時在測試過程中發現設計測試用例時考慮不周,需要對測試用例進行修改完善;在軟體交付使用後客戶反饋的軟體缺陷,而缺陷又是因測試用例存在漏洞造成,也需要對測試用例進行完善。

緊接著就是在測試過程中佔很大一部分比重得測試用例執行過程

首先搭建測試環境,準備好測試資料,進行預測,預測通過之後,按照測試用例進入正式測試,有效的測試執行可以將測試用例發揮最大的價值。因此,測試用例規範執行有助於更好的發現程式碼中存在的缺陷。根據個人測試工作經驗,好的測試執行應該包含如下內容:

1、測試執行中評估測試執行時間不足,需及時上報風險。滿足質量優先,進度其次原則。

2、測試用例按優先順序順序執行,通常是基本、詳細和異常順序執行。

3、未執行用例、標誌為刪除或者無效的用例,需註明原因。

4、執行過程中有疑問的測試用例(場景、操作步驟、檢查點等)需找測試設計人員澄清。

5、測試執行需對用例描述的檢查點逐一檢查,避免遺漏。

6、重視不易重現的缺陷場景,可能是一個bug。

7、執行過程中發現有前期設計遺漏用例需補充到用例文件並執行驗證。

8、建議測試人員交叉執行重複測試用例,用例執行對相同測試人員有免疫性。避免可能的缺陷一直遺漏到現網。

9、如有需要,建議保留測試結果,結果可視。也便於不同版本間的測試結果對比。

10、已確認問題需及時按照問題單提單要求(規範和缺陷定級)提單。

11、跟蹤問題單修復情況並回歸驗證問題單。

12、每輪次測試結束,find一下是否有core檔案產生。

13、測試結束,將最終測試用例文件上傳到歸檔目錄,實現用例重用。

以上是爭對一般的軟體測試流程,如果是自動化測試得話,應該還有根據測試用例進行指令碼編寫,執行指令碼等。此處可能寫的不詳細,希望大家可以再下方評論讓我完善。

在測試用例執行過程中,包含了:功能測試階段、缺陷跟蹤階段(bug tracking)、迴歸測試階段、系統測試階段、驗收測試階段等(系統已滿足測試條件(開發完成),按照已經評審過的測試用例依次執行,執行過程中及時記錄問題,將問題及時提交到QC上,要跟蹤缺陷。等開發修復後進行迴歸測試,確認修復後關閉缺陷,如果說該問題要更新而生產上未進行驗證,就把缺陷狀態改為生產未驗證。對有異議的缺陷經甲方、開發和測試三方進行溝通討論,由甲方最終確定處理方式。在測試過程中也會碰到對需求有異議,會反饋給經理,由經理與甲方溝通來對該需求提出一些可行性建議,最終還是由甲方來確定具體根據各個公司的業務流程而不一樣)。

最後已達到準出要求的根據測試情況寫測試報告,對整個測試過程和版本的質量做一個評估

測試報告是指把測試的過程和結果寫成文件,對發現的問題和缺陷進行分析,為糾正軟體的存在的質量問題提供依據,同時為軟體驗收和交付打下基礎。測試報告是測試階段最後的文件產出物。優秀的測試經理或測試人員應該具備良好的文件編寫能力,一份詳細的測試報告包含足夠的資訊,包括產品質量和測試過程的評價,測試報告基於測試中的資料採集以及對最終的測試結果分析。

測試報告的內容可以總結為以下目錄:

  •  首頁
  •  引言(目的、背景、縮略語、參考文獻)
  •  測試概要(測試方法、範圍、測試環境、工具)
  •  測試結果與缺陷分析(功能、效能)
  •  測試結論與建議(專案概況、測試時間 測試情況、結論效能彙總)
  •  附錄(缺陷統計)

至此並不算最後的完結工作,軟體測試還包含了線上功能檢查、當前版本問題反饋以及改進建議 等。這樣才算是軟體測試最終結束,軟體測試是貫穿於整個軟體生命週期的。

小生不才還望大家多多包涵,此文章是用來幫助自己應付面試用的,大家多多提意見,完善該文章。

最後祝大家和自己,能夠有所收穫,面試順利(Interview success)。

相關推薦

軟體測試工作基本流程

最近在為面試新工作做準備,所以想想整理一下軟體測試的基本工作流程,大致梳理一遍,這樣也便於自己在面試過程中可以沉著的面對面試管的測試工作如何進行的問題。 首先,作為測試人員需要學習並瞭解業務,分析需求點 為什麼測試人員要參加需求分析?也就是進行測試需求分析的目的是什麼?

軟體測試軟體測試基本流程(一般步驟)

(1)單元測試(也稱模組測試):針對軟體設計的基本單元——程式模組,進行正確性檢驗的測試工作。目的在於發現各個模組內部可能存在的各種差錯。單元測試需要從程式內部結構出發設計測試用例,多個模組可以平行

軟體測試基本流程(詳細)

軟體測試的基本流程: 需求分析階段:閱讀需求,理解需求,分析需求點,參與需求評審會議。 測試計劃階段:主要任務就是編寫測試計劃,參考軟體需求規格說明書,專案總體計劃,內容包括測試範圍,進度安排,人力

軟體測試基本流程和方法

1.需求分析:分析需求點。2.制定測試計劃:包括人力,軟硬體資源,測試點,整合順序,進度和風險識別等內容。3.測試設計:主要是對測試用例和規程的設計,根據測試方案進行編寫。測試用例主要包括測試項,用例級別,預置條件,操作步驟和預期結果。4.測試執行:開始執行測試用例,並提交有

軟體分類和軟體測試工作流程

軟體的分類  其中,系統軟體指的是和計算機硬體緊密配合在一起的,使得計算機系統的各個部件、相關的軟體和資料協調、高效工作的軟體。例如,作業系統,資料庫管理系統等。 支撐軟體指的是協助使用者開發軟體產品的工具。 應用軟體是在特定領域開發,為特定目的服務的一類軟體。

軟體測試工作流程總結

Q:什麼是軟體測試?答:特定的環境、特定的條件下執行軟體,驗證其能正常執行,並發現其缺陷,對軟體的質量進行評估的過程。Q:軟體測試的工作過程有哪幾步?答:需求、計劃、方案、用例、執行、總結。1、測試需求測試需求分析:分析識別測試範圍,解決測什麼的問題,方便測試的跟蹤和管理。測

關於測試基本流程

提高 一個 質量 跟蹤 相關數 保存 缺陷 功能 說明  首先說一下關於軟件測試的目的,其實很多人對這個行業有一定的誤解,並不是單純地去尋找BUG,而是找出軟件存在的問題從而提高軟件質量。盡量避免商業風險的產生! 軟件測試的大概流程: 1,需求分析: (1)我們需要

4、軟體測試基本介紹

1.1 軟體測試行業基本介紹一、為什麼需要軟體測試1.一款軟體從無到有會經歷很多的開發階段由不同的人來參與開發,所以最終產出的軟體功能可能會存在問題。因此為了保證軟體的功能是可用的,我們必須要進行測試。2.當前的軟體件行業已經不在是功能為王了,使用者不僅僅只盯著軟體的功能是否滿足需求.還會對軟體是否容易上手.

一位測試大神的軟體測試工作經驗總結

最近,部門剛畢業入職的×××跟大家提議,讓大家把自己的軟體測試工作經驗分享一下,我整理了一下,可能不全。  測試工作經驗分享  一、測試階段劃分 1、 單個模組功能測試時間相對較長,但每一個專案都應該有專門的整合測試階段,並且應該不止進行一輪。 每一輪整合測試,應該都有自己的目的,比如第一輪整合測

軟體測試工作而言,三條值得借鑑的經驗分享

有關專家指出,軟體測試正處在快速發展階段、是一個充滿挑戰的領域。儘管現在單機版桌面軟體的測試已經成熟了很多,但對於網路時代的來臨,包括知名跨國公司在內的大公司對基於網路的測試也沒有一套完整的體系,也是處於探索中,所以說這一行業所面臨的機遇與挑戰是共存的。 以微軟亞洲工程院為

軟體測試基本方法

引言 軟體測試到技術和方法是多種多樣的。從分類上來說,按照開發階段劃分有單元測試、整合測試、系統測試、驗收測試。 按照是否執行來劃分,可分為靜態測試和動態測試。按照是否手工執行來說,可分為手工測試和自動化測試。下面簡單 介紹幾個軟體測試的基本方法。 黑盒測試 黑盒測試也稱功能

銀行軟體測試工作總結

最近換工作進入到外包公司,駐點到銀行進行整合測試工作,為了讓自己更熟悉金融行業,特別是銀行業相關業務,以及總結自己測試的一些經驗,希望將自己瞭解和學習的內容記錄下來。主要從以下幾個方面學習: 一、銀行的一般內部架構 二、銀行相關的業務系統 三、銀行應用系統架構 四、銀行資訊系統架構 五、軟體測試相關

工作總結】銀行軟體測試工作總結

最近換工作進入到外包公司,駐點到銀行進行整合測試工作,為了讓自己更熟悉金融行業,特別是銀行業相關業務,以及總結自己測試的一些經驗,希望將自己瞭解和學習的內容記錄下來。主要從以下幾個方面學習: 一、銀行的一般內部架構 二、銀行相關的業務系統 三、銀行應用系統架構 四、銀

開展軟體測試工作的前期準備

隨手記錄,零零散散,個人思考積累。 1. 明確測試目的、範圍、週期,做好方案計劃        目的明確,階段清晰,才能事半功倍。 2. 向用戶介紹本輪測試可能產生的影響 1)安全滲透測試,可能會損壞資料,影響服務的正常提供 2)效能測試,服務可能宕機 3. 觀察伺服器

小白必看:測試人有必要參考的軟體測試工作規範

小白必看:測試人有必要參考的軟體測試工作規範        為了規範測試工作、減少開發與測試之前的溝通成本、保證專案進度、提高軟體質量,測試人員有必要參考這份軟體測試工作規範。1.1. 編碼規範  軟體程式開發需要遵守編碼規範,一是可以減少程式碼的維護成本,提高

軟體測試工作總結(一)

    軟體測試工作已經做了三,四個月時間了。該寫點什麼來記下自己在軟體測試路上成長的歷程。一便提高自己的覺悟,二便供網友們一起分享自己的工作。    (背景:我所在的公司是一家電信的控股子公司,所以大部分業務都是電信的專案。而我現在只是這家公司的兼職人員。電信以“聚焦客戶,

SSD-tensorflow使用文件(測試訓練基本流程)

原博文:SSD: Single Shot MultiBox Detector in TensorFlow這裡只從工程的角度介紹這份程式碼的使用方法,參照github上 balancap這個人 根據論文作者提供的caffe原始碼復現的tensorflow程式碼及其給出的教程,並

軟體測試工作經驗分享

一、測試階段劃分1、 單個模組功能測試時間相對較長,但每一個專案都應該有專門的整合測試階段,並且應該不止進行一輪。每一輪整合測試,應該都有自己的目的,比如第一輪整合測試,是根據整合測試要點驗證整體功能情況;第二輪整合測試是迴歸測試;第三輪整合測試是交叉測試。每個專案應進行幾輪

效能測試基本流程

1.效能測試需求分析:專案經理、業務/架構專家、產品經理、高階效能測試工程師、開發經理; 2.效能測試計劃:高階效能測試工程師、專案經理、架構師、產品經理; 3.效能測試準備:效能測試工程師、外部支援

10年軟體測試工作總結-有迷茫,有痛苦,有彎路,有捷徑。

時光荏苒,從畢業到現在已經10年,10年來一直從事著軟體測試的工作。從一個什麼都不會,到測試技術人員再到測試管理,期間有迷茫,有痛苦,有彎路,有捷徑。今天對自己過去的10年測試經歷做一個總結,一是給自己重新出發增加動力,二是給剛入道的、迷茫中的測試朋友一點點建議,希望你們少走彎路。所謂方向比努力重要,這絕對是