自動化測試篇--BUG篇

目錄

一.軟件測試的生命周期

二.bug是什么?

三.如何描述一個bug?

四.bug的級別

五.bug的生命周期

六.測試與開發產生爭執怎么辦?(重要!!!)


一.軟件測試的生命周期

軟件測試人員不僅要具備開發能力、測試能力,最好具有一定的產品分析能力

需求分析:測試人員進行技術可行性的分析,業務是否會出現邏輯沖突導致用戶的流失(例如購物車本來最多能存放50件商品,現在改成最能只能存放10件),再根據產品分析分析出購物車允許存放數量應該增加而不是減少

測試計劃:顧名思義,計劃時間內容

測試設計與開發:根據需求、技術文檔等編寫測試用例(方法+工具+形式)

測試執行:開始測試

測試評估:測試執行結束后,不能認為項目100%的問題都被發現了。評估一下當前項目測試是否通過,測試了項目的哪些方面,是否會有遺留的bug

運行維護:產品上線以后,及時發現問題,也正因此軟件測試人員一般也是最了解產品的人員,一般演示會議也是由軟測人員來進行


上線(本地寫的代碼提交到碼云上/部署到服務器上,稱為上線流程):

實際工作中,分為4個流程 “ 沙盒->小流量->全流量->全線上 ”

因為上線過程中可能存在問題,線下測試沒有問題線上可能會出現問題(例如模塊、單元的沖突)

  1. 沙盒:企業內部的線上環境測試,可以供內部人員進行測試
  2. 小流量:部分線上真實用戶可以使用到,測試人員要在線上手動測試,還要觀察有沒有錯誤日志(游戲內測)
  3. 全流量:所有的真實用戶都可以用到(游戲demo,未完全優化好的產品)
  4. 全線上:上線前的所有測試流程全部完畢,可以上架steam(doge)

二.bug是什么?

定義:?個計算機bug指在計算機程序中存在的?個錯誤(error)、缺陷(flaw)、疏忽(mistake)或者故障 (fault),這些bug使程序?法正確的運?。Bug產?于程序的源代碼或者程序設計階段的疏忽或者錯誤。

1.當且僅當規格說明是存在的并且正確,程序與規格說明之間的不匹配才是錯誤。

一切都要以需求出發,即驗證軟件產品的特性是否符合用戶的需求;根據用戶需求創造出的測試用例,如果測試執行后獲得的結果與預期不符,那么就能稱為一個bug

2.當需求規格說明書沒有提到的功能,判斷標準以最終??為準:當程序沒有實現其最終??合理預期的功能要求時,就是軟件錯誤。

就比如一個界面做得不好看,字體太小但用戶群以老年人為主;這種時候倘若規格說明書中沒有明確提到,那么我們還是以用戶需求為主

三.如何描述一個bug?

bug描述:瀏覽器打開鏈接失敗

該描述下,沒有明確說明哪個瀏覽器,失敗的具體表現是什么,對于開發?員來說?法捕捉到更多有效的信息,會造成溝通效率低下,?作質量低下等問題。

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

版本和環境沒有強區分,就算把瀏覽器版本寫在環境里也是可以的,只要能夠給上關鍵信息供工作人員去復現可以實現,但也不能說把軟件版本寫在環境里

四.bug的級別

通過定義bug的級別,能夠明確看出問題的嚴重程度。?作中開發?員通常需要按照bug的級別來分配 優先級來處理bug,除此之外,通過bug級別也能夠體現出開發?員的開發質量。

bug級別?般分為:崩潰、嚴重、?般、次要(有些公司可能會用P0、P1、P2、P3代替)

  • 崩潰:阻礙開發或測試的問題,造成閃退、死循環等……
  • 嚴重:主要功能部分喪失(例如一款購物軟件,可以打開軟件以及添加商品到購物車,但無法下單支付)
  • 一般:功能沒有完全實現但是不影響使用(例如一款搜索引擎,必須完整打出想要搜索的內容才能搜索出結果,沒有搜索關鍵詞)
  • 次要:界面、性能缺陷(搶票的時候提示搶票的人太多了,無法進行搶票)

定義bug的級別意義在哪?

1)評估程序員的開發能力

2)年終獎評定

3)bug修復的優先級

五.bug的生命周期

測試?員在執?測試的過程中如有發現bug,需要在對應的bug管理平臺來創建bug(bug?命起 源),創建好的bug需要被開發?員修復,以及測試?員的持續跟蹤和測試。

  • New:新發現的Bug,未經評審決定是否指派給開發?員進?修改。
  • Open:確認是Bug,并且認為需要進?修改,指派給相應的開發?員。
  • Fixed:開發?員進?修改后標識成修改狀態,有待測試?員的回歸測試驗證。
  • Rejected:如果認為不是Bug,則拒絕修改。
  • Delay:如果認為暫時不需要修改或暫時不能修改,則延后修改。
  • Closed:修改狀態的Bug經測試?員的回歸測試驗證通過,則關閉Bug。
  • Reopen:如果經驗證Bug仍然存在,則需要重新打開Bug,開發?員重新修改。

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

如果時間急迫,bug又是次要級別的時候,可以和無效bug同樣的處理方式

六.測試與開發產生爭執怎么辦?(重要!!!)

1.先檢查??,是否bug描述不清楚

反省自己,是不是測試的時候出現了誤操作、bug描述不夠清晰

2.站在用戶角度考慮問題

功能正常只是測試的一部分,還需要考慮用戶的使用感受

但也要三思而后行,如果鉆牛角尖提出太多bug容易讓開發人員惱火

3.bug定級要有理有據

一個次要bug定級定了嚴重,包會讓開發人員感到難受的(畢竟和開發人員的年終獎有關)

4.提高自身技術,做到不僅能解決問題還能給出解決方案

5.bug評審

如果一個bug是會嚴重影響到用戶體驗的,但開發人員拒不修改,這個時候就可以召開bug評審了

至少要有測試代表、開發代表以及產品代表三方面參加

主要解決如何處理問題、分析缺陷產生的原因并找出預防對策

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

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

相關文章

Solidity智能合約基礎

基礎學習使用 remix:ide Remix - Ethereum IDE evm:ethreum virtual machine evm字節碼 強類型腳本語言 compile >evm bytescode >evm hello的樣例 聲明的關鍵字:contract // SPDX-License-Identifier: MIT pragma solidi…

Unity跨平臺超低延遲的RTSP/RTMP播放器技術解析與實戰應用

?? 引言:為什么說 Unity 中的視頻能力是“可視化神經元”? 隨著“可視化 實時性”成為工業數字化的關鍵支撐,Unity 正從傳統游戲引擎,演進為數字孿生系統、智能機器人中控、虛擬交互平臺、XR 可視引擎等領域的底層核心。它不再…

python學智能算法(三十三)|SVM-構建軟邊界拉格朗日方程

【1】引用 在前序學習進程中,我們初步了解了SVM軟邊界,今天就更進一步,嘗試構建SVM軟邊界的拉格朗日函數。 【2】基本問題 在SVM軟邊界中,我們已經獲得此時的最優化幾何距離的表達式: fmin?12∣∣w∣∣2C∑i1nξif…

【YOLOv5】

Focus模塊:早期再yolov5版本提出,后期被常規卷積替換,作用是圖像進入主干網絡之前,進行隔行隔列采樣,把空間維度堆疊到通道上,減少計算量。 SPPF:SPP的改進版本,把SPP的不同池化核改變為K 5 的…

Pytest項目_day05(requests加入headers)

headers 由于每個請求都需要加入一些固定的參數,例如:cookies、user-agent,那么將這些固定參數放入URL或params中會顯得很臃腫,因此一般將這些參數放在request headers中headers的反爬作用 在豆瓣網站中,如果我們不加入…

安全引導功能及ATF的啟動過程(四)

安全引導功能及ATF的啟動過程(四) ATF中bl31的啟動 在bl2中觸發安全監控模式調用后會跳轉到bl31中執行,bl31最主要的作用是建立EL3運行態的軟件配置,在該階段會完成各種類型的安全監控模式調用ID的注冊和對應的ARM核狀態的切換&am…

從手工到智能決策,ERP讓制造外貿企業告別“數據孤島“降本增效

在全球化競爭加劇的當下,制造型外貿企業正面臨訂單碎片化、供應鏈復雜化、合規風險上升等多重挑戰。數字化轉型已成為企業突破增長瓶頸、構建核心競爭力的必選項。然而,許多企業在推進過程中因選型不當陷入“系統孤島”“數據失真”“流程低效”等困境。…

DMETL簡單介紹、安裝部署和入門嘗試

一、DMETL的介紹1.1 概述我們先來簡單了解一下DMETL。DMETL是什么?說的簡單一點,DMETL一款數據處理與集成平臺;從功能來說,那DMETL就是對數據同步、數據處理以及數據交換共享提供一站式支持的平臺;從它的意義來說&…

NLP 人工智能 Seq2Seq、K-means應用實踐

基于Java和人工智能的Web應用 以下是基于Java和人工智能的Web應用實例,涵蓋自然語言處理、計算機視覺、數據分析等領域。這些案例結合了沈七星AI或其他開源框架(如TensorFlow、Deeplearning4j)的實現思路,供開發參考: 自然語言處理(NLP) 1. 智能客服系統 使用Java的Op…

Docker 從入門到實戰(一):全面解析容器化革命 | 2025 終極指南

2025 年,全球容器市場規模突破 200 億美元,超過 80% 的企業生產環境運行在容器之上。掌握 Docker 已成為開發、運維乃至架構師的核心競爭力。本文帶你徹底搞懂 Docker 的底層邏輯與核心價值! 一、Docker 是什么?為什么它能改變世界? 想象一下:你開發時運行完美的 Pytho…

Lazada東南亞矩陣營銷破局:指紋手機如何以“批量智控+數據中樞”重構運營生態

在Lazada以“超級APP”戰略滲透東南亞6國市場的進程中,商家正陷入一個結構性矛盾:如何用有限人力高效管理10個國家賬號,卻不被數據孤島拖垮營銷效率,更不因賬號關聯風險引發平臺封禁?傳統多賬號運營依賴“人手一臺設備…

操作系統: 線程(Thread)

目錄 什么是線程(Thread)? 線程與進程之間的關系 線程調度與并發執行 并發(Concurrency)與并行(Parallelism) 多線程編程的四大核心優勢(benefits of multithreaded programmin…

Uber的MySQL實踐(一)——學習筆記

MySQL 是Uber數據基礎設施的核心支柱,支撐著平臺上大量關鍵操作。Uber 擁有一套龐大的 MySQL 集群,如何構建一個控制平面來管理如此大規模的 MySQL 集群,并同時確保零宕機、零數據丟失是一個十分有挑戰性的問題。下面重點介紹 Uber 的 MySQL …

騰訊云EdgeOne產品深度分析報告

一、產品概述騰訊云EdgeOne是騰訊云推出的新一代邊緣安全加速平臺,集成內容分發網絡(CDN)、Web應用防火墻(WAF)、DDoS防護、Bot管理、API安全及邊緣計算能力,致力于為企業提供一站式安全加速解決方案。該平…

Spring Boot 優雅配置InfluxDB3客戶端指南:@Configuration + @Bean + yml實戰

前言 想用Java玩轉InfluxDB 3?要是還靠寫main函數硬編碼配置,那就像穿著睡衣開正式會議,實在有點不靠譜。現代Spring開發套路講究配置和代碼分離,講究優雅和靈活。用@Configuration配合@Bean注解,再加上yml配置文件集中管理連接信息,簡直是為代碼打扮一身西裝,既整潔又…

記錄:rk3568適配開源GPU驅動(panfrost)

rk3568采用的GPU是Mali-G52,該型號的GPU已在5.10內核的panfrost驅動中被支持。下面記錄下移植過程。 1.內核dts修改: kernel 5.10: arch/arm64/boot/dts/rockchip/rk3568.dtsigpu: gpufde60000 {compatible "rockchip,rk3568-mali", "ar…

SMBIOS詳解:系統管理BIOS的工作原理與實現

1. SMBIOS概述 SMBIOS(System Management BIOS)是由DMTF(分布式管理任務組)制定的行業標準,旨在為計算機系統提供統一的硬件信息描述框架。它定義了計算機硬件組件(如處理器、內存、主板等)的標…

8.5 CSS3多列布局

多列布局 CSS3之多列布局columns CSS3中新出現的多列布局(multi-column)是傳統HTML網頁中塊狀布局模式的有力擴充。這種新語法能夠讓WEB開發人員輕松的讓文本呈現多列顯示。 設置列寬 column-width: | auto 設置對象的寬度;使用像素表示。 auto&#…

Chrome插件快速上手

目錄 前言 一、瀏覽器插件的主要功能 二、插件的工作原理 插件結構 manifest.json icons background.js content-scripts 三、插件例子 popup popup.html popup.js styles.css background.js content-script.js manifest.json 四、其它 前言 本文不做特殊說明…

moment和dayjs

一:moment和dayjs 區別moment 大且可變、維護模式;dayjs 小且不可變、插件化、tree?shaking 友好。antd v4 用 moment;antd v5 用 dayjs。請在同一項目中統一其一,避免混用導致組件報錯。二: antd 4.24.16&#xff08…