測試的BUG分析

在了解BUG之前,我們要先了解軟件測試的生命周期,因為大多數BUG都是在軟件測試的過程中被發現的

軟件測試的生命周期

在了解 軟件測試的生命周期 之前,我們要先了解 軟件的生命周期 ,雖然他們之間只差了兩個字,但是差距還是很大的

首先是 軟件生命周期 ,這個是站在 軟件 的角度而言的

其次是 軟件測試的生命周期 ,這個是站在 測試 的角度來看的

接下來我將重點介紹軟件測試的生命周期

將上面的流程圖中的每一步進行詳解:

需求分析

用戶角度: 軟件需求是否合適

技術角度: 技術上是否可行,是否有優化空間

測試角度: 是否存在業務邏輯錯誤、冗余、沖突等問題

測試計劃

什么是進行開發測試,什么時候結束測試,測試耗時多久

測試設計與開發

參考需求文檔、技術文檔等編寫測試用例

寫測試文檔,明確標注使用到的測試方法、測試工具,要測試哪些,進行什么樣的測試

測試執行

利用測試用例和測試工具對項目進行盡可能全面的測試覆蓋

測試評估

測試是否通過,是否還有遺留的BUG,最后測試人員產出一個測試報告

上線

項目測試結束后,將項目發布到線上環境,測試人員許需要跟蹤上線并測試在線上環境下軟件是否能正常運行

運行維護

測試人員需要參與項目的實施工作.要求測試人員要對項目的業務和操作非常了解,同時要求測試的溝通表達能力較強,能夠參與用戶使用軟件的培訓,在試運行項目時收集文圖并及時給出反饋

BUG

概念

一個計算機BUG是指在計算機程序中存在的錯誤、缺陷、疏忽和故障,導致程序無法正確運行,一般產生于程序的源代碼或者程序設計初期就存在的錯誤

所以: 程序和規格說明書之間不匹配的就是錯誤,但是當規格說明書里面沒有提到一個功能,那么就要以最終用戶為準: 當程序沒有實現其最終用戶合理預期的功能時,那就是軟件錯誤?

描述BUG

在說明一個BUG的時候,往往要求詳細且精確,所以在描述時就需要根據基本要素來描述

基本要素: 問題出現的版本、出現的環境、出現的步驟、預期結果、實際結果?

舉個例子,當我的游戲無法進行登錄時:

問題出現的版本: XXXX 3.1

問題出現的環境: Windows10

出現的步驟:

1.打開游戲,點擊登錄按鈕,顯示登錄成果

2.點擊進入游戲

預期結果:進入游戲大廳,彈出簽到獎勵,自動進行簽到

實際結果:無法進入游戲大廳,畫面卡住登錄頁面

BUG級別

在反饋BUG時,測試人員需要對BUG進行分級處理,來突出BUG的嚴重程度,以便開發人員能夠按照BUG的級別來進行優先處理

還是舉一個例子吧:

如果我們不使用分級策略

此時BUG1先出現: 用戶登陸后,無法正常與某一接口進行交互

BUG2后出現: 已經注冊過的用戶發現自己的賬號不存在了,手機號又可以重新注冊了

如果不按照分級,開發人員可能就要按照先后順序來處理,但是顯然BUG2更嚴重,很可能是數據庫出現了問題,所以此時就會造成更多的問題

那么具體要分為哪些級別呢?

BUG的級別一般分為: 崩潰、嚴重、一般、次要?

崩潰

阻礙開發或測試工作的問題;造成系統崩潰、死機、死循環,導致數據庫數據丟失,與數據庫連接錯誤,喪失主要功能,基本模塊缺失等問題(代碼錯誤、死循環、數據庫發生死鎖、重要的一級菜單無法使用等)

一旦出現這種級別的錯誤就要立即中斷當前版本的測試,但是出現次數較少

嚴重

系統主要功能部分喪失、數據庫保存調用錯誤、用戶數據丟失,一級功能菜單不能使用但是不影響其他功能的測試。功能設計與需求嚴重不符,模塊無法啟動或調用,程序重啟、自動退出,關聯程序間調用沖突,安全問題、穩定性等。如:軟件中數據保存后數據庫中顯示錯誤,用戶所要求的功能缺失,程序接口錯誤,數值計算統計錯誤等

該等級問題出現在不影響其他功能測試的情況下可以繼續該版本測試

一般

功能沒有完全實現但是不影響使用,功能菜單存在缺陷但不會影響系統穩定性。如:操作時間長、查詢時間長、格式錯誤、邊界條件錯誤,刪除沒有確認框、數據庫表中字段過多等

該問題實際測試中存在最多

次要

界面、性能缺陷,建議類問題,不影響操作功能的執行,可以優化性能的方案等。如:錯別字、界面格式不規范,頁面顯示重疊、不該顯示的要隱藏,描述不清楚,提示語丟失,文字排列不整齊,光標位置不正確,用戶體驗感受不好,可以優化性能的方案等

此類問題在測試初期較多,優先程度較低;在測試后期出現較少,應及時處理

BUG的生命周期

既然軟件測試和軟件都有生命周期,那么BUG當然也有生命周期

測試人員在執行測試的過程中如果發現了BUG,需要在對應的BUG管理平臺創建BUG(生命start),創建好之后要被開發人員修復,同時測試人員需要持續地跟進和測試

  • New: 新發現的Bug,未經評審決定是否指派給開發人員進行修改。

  • Open: 確認是Bug,并且認為需要進行修改,指派給相應的開發人員。

  • Fixed: 開發人員進行修改后標識成修改狀態,有待測試人員的回歸測試驗證。

  • Rejected: 如果認為不是Bug,則拒絕修改。

  • Delay: 如果認為暫時不需要修改或暫時不能修改,則延后修改。

  • Closed: 修改狀態的Bug經測試人員的回歸測試驗證通過,則關閉Bug。

  • Reopen: 如果經驗證Bug仍然存在,則需要重新打開Bug,開發人員重新修改。

無效的bug: open->closed open-rejected-closed

與開發產生爭執怎么辦?(這里必看!!)

在測試工作中,可能會與開發人員發生爭執,比如認為不是BUG、關于級別的定義有不同的意見、BUG影響大不大?是否要立馬進行修改

遇到這種情況要怎么解決呢?

  • 先檢查自己,是否描述準確

  • 站在用戶的角度來考慮并且拋出問題

  • BUG的定級是否有理有據

  • 提高自己的技術和業務水平,在提出問題的同時,最好要能夠提出解決方案

  • 進行BUG評審(如果的確是BUG,且溝通沒有解決問題),由測試代表、開發代表和產品代表組成(項目組的每一個負責方面都要派出代表參加)

    • 決定如何處理BUG

    • 分析產生的原因,找出預防的對策

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72364.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72364.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72364.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【洛谷貪心算法題】P1094紀念品分組

該題運用貪心算法,核心思想是在每次分組時,盡可能讓價格較小和較大的紀念品組合在一起,以達到最少分組的目的。 【算法思路】 輸入處理:首先讀取紀念品的數量n和價格上限w,然后依次讀取每件紀念品的價格,…

[STM32]從零開始的STM32 BSRR、BRR、ODR寄存器講解

一、前言 學習STM32一陣子以后,相信大家對STM32 GPIO的控制也有一定的了解了。之前在STM32 LED的教程中也教了大家如何使用寄存器以及庫函數控制STM32的引腳從而點亮一個LED,之前的寄存器只是作為一個引入,并沒有深層次的講解,在教…

SQL分組問題

下列為電商公司用戶訪問時間數據 統計某個用戶連續的訪問記錄,如果時間間隔小于60s,就分為一組 id ts 1001 17523641234 1001 17523641256 1002 17523641278 1001 17523641334 1002 17523641434 1001 17523641534 1001 17523641544 1002 17523…

3月2日 C++日常習題測試一答案

C測試題答案與講解 一、填空題答案及講解 答案:const 講解:在 C 中,const關鍵字用于定義常量,一旦定義,其值不能被修改。例如const int num 10;,這里的num就是一個常量。 答案:3 講解&…

2W8000字 LLM架構文章閱讀指北

? 大模型架構專欄已經更新了30多篇文章。完整的專欄內容歡迎訂閱: LLM 架構專欄 1、LLM大模型架構專欄|| 從NLP基礎談起 2、 LLM大模型架構專欄|| 自然語言處理(NLP)之建模 3、 LLM大模型架構之詞嵌入(Part1) 3、 LLM…

SP導入智能材質球

智能材質球路徑 ...\Adobe Substance 3D Painter\resources\starter_assets\smart-materials 放入之后就會自動刷新

網絡原理----TCP/IP(3)

核心機制七----延時應答 默認情況下,接收方都是在收到數據報的第一時間,就返回ack,但是可以通過延時返回ack的方式來提高效率,理論上不是100%提高效率,但還是有一定幫助的。 因為如果接收數據的主機?刻返回ACK應答,…

MacBook Pro使用FFmpeg捕獲攝像頭與麥克風推流音視頻

FFmpeg查看macos系統音視頻設備列表 ffmpeg -f avfoundation -list_devices true -i "" 使用攝像頭及麥克風同時推送音頻及視頻流: ffmpeg -f avfoundation -pixel_format yuyv422 -framerate 30 -i "0:1" -c:v libx264 -preset ultrafast -b:v 1000k -…

部署Joplin私有云服務器postgres版-docker compose

我曾經使用過一段時間 Joplin,官方版本是收費的,而我更傾向于將數據掌握在自己手中。因此,在多次權衡后,我決定自己搭建 Joplin 服務器并進行嘗試。 個人搭建的版本與數據庫直連,下面是使用 Docker Compose 配置數據庫…

SQL的select語句完整的執行順序

SQL的SELECT語句的執行順序可以用"做菜流程"來類比理解。雖然我們寫SQL時按SELECT…FROM…WHERE…順序寫,但數據庫執行順序完全不同。以下是通俗易懂的講解(附流程圖和示例): 🔧 執行順序流程圖&#xff1a…

Spring Cloud LoadBalancer詳解

一、介紹 Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客戶端負載均衡器,抽象和實現,用來替代Ribbon(已經停更), 二、Ribbon和Loadbalance 對比 組件組件提供的負載策略支持負載的客戶端Ribbon隨機 RandomRule輪詢 RoundRobinRule 重試 RetryRule最低并發 Bes…

ubuntu中ollama設置記錄

自己同一臺電腦主機安裝3080和3090顯卡,測試發現ollama只默認跑在3090上;故查看一下設置,成功也把3080也運行起來了。 原因如下: 開始設置記錄: Environment Variables: OLLAMA_DEBUG 作用:顯示額外的調試…

RabbitMQ系列(四)基本概念之Exchange

在 RabbitMQ 中,Exchange(交換機) 是消息路由的核心組件,負責根據規則將生產者發送的消息分發到對應的隊列(Queue)中。以下是其核心功能與分類的詳細說明: 一、Exchange 的核心作用 消息路由樞…

有沒有什么免費的AI工具可以幫忙做簡單的ppt?

互聯網各領域資料分享專區(不定期更新): Sheet 正文 1. 博思AIPPT 特點:專為中文用戶設計,支持文本/文件導入生成PPT,內置海量模板和智能排版功能,涵蓋商務、教育等多種場景。可一鍵優化布局、配色,并集成AI繪圖功能(文生圖/圖生圖)。適用場景:職場匯報、教育培訓、商…

【Python · PyTorch】循環神經網絡 RNN(基礎應用)

【Python PyTorch】循環神經網絡 RNN(簡單應用) 1. 簡介2. 模擬客流預測(數據集轉化Tensor)3.1 數據集介紹3.2 訓練過程 3. 模擬股票預測(DataLoader加載數據集)3.1 IBM 數據集3.1.2 數據集介紹3.1.3 訓練…

【JSON2WEB】15 銀河麒麟操作系統下部署JSON2WEB

【JSON2WEB】系列目錄 【JSON2WEB】01 WEB管理信息系統架構設計 【JSON2WEB】02 JSON2WEB初步UI設計 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代碼前端框架介紹 【JSON2WEB】05 前端開發三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSO…

地基簡識Spring MVC 組件

Spring MVC 是一個基于 MVC 設計模式的框架,其核心組件協同工作以處理 HTTP 請求并生成響應。以下是各組件的詳細說明及其協作流程: 一、?核心組件 ?DispatcherServlet(前端控制器)? ?作用:接收所有請求并協調其他…

Spring Boot(七):Swagger 接口文檔

1. Swagger 簡介 1.1 Swagger 是什么? Swagger 是一款 RESTful 風格的接口文檔在線自動生成 功能測試功能軟件。Swagger 是一個規范和完整的框架,用于生成、描述、調用和可視化 RESTful 風格的 Web 服務。目標是使客戶端和文件系統作為服務器以同樣的…

cursor 彈出在簽出前,請清理倉庫工作樹 窗口

問題出現的背景:是因為我有兩臺電腦開發,提交后,另一個電腦的代碼是舊的,這個時候我想拉取最新的代碼,就會出現如下彈窗,因為這個代碼暫存區有記錄或者工作區有代碼的修改,所以有沖突&#xff0…

Cocos Creator3.8.6拖拽物體的幾種方式

文章目錄 前言一、第一種通過UILocation二、第二種通過UIDelta實現總結 前言 在游戲開發中,拖拽物體是一個非常常見的交互功能,無論是用于UI元素的拖動,還是場景中物體的移動,拖拽操作都能極大地提升用戶體驗。Cocos Creator 3.8…