測試基礎05:軟件測試的分類

課程大綱

1、兩種架構(Architecture)

1.1B/S(Browser/Server)

????????瀏覽器服務器架構(大體3步):用戶通過瀏覽器向服務器發出請求,服務器處理請求,將結果通過網絡返回到用戶瀏覽器展示

????????服務器內部,會有應用層處理請求,操作數據庫(增刪改查),返回用戶請求的數據。

通信方式

????????標準的 Web 協議:http/https。

舉例

????????各種網站、管理系統、云平臺、辦公協作平臺(藍湖、即時設計……)。

1.2C/S(Client/Server)

????????客戶端服務器架構:用戶在電腦手機等設備上安裝客戶端,通過客戶端將請求發送給服務器端進行處理,服務器端進行計算和處理后將結果返回給客戶端。

????????服務器內部,會有應用層處理請求,操作數據庫(增刪改查),返回用戶請求的數據。

通信方式

????????socket協議或其他協議。

舉例

????????電腦:QQ、微信、大型游戲。

????????手機:各種app。

2軟件測試工程師大方向

1.業務測試

????????web端、移動端(app、小程序、h5)

2.測試開發

????????服務端測試開發、UI自動化測試、接口自動化測試、性能測試、滲透測試(安全測試)……

????????大數據測試、AI算法測試、自動駕駛……

3、測試類型

3.1、按開發階段分

1.單元測試

????????代碼模塊(程序的最小單位)的測試,一般由開發完成。

????????從程序內部結構出發設計用例,驗證是否實現設計說明書中的功能、性能、接口、約束條件等。

????????各模塊可平行獨立進行。

2.集成測試

????????模塊組裝到一起后,測試模塊之間、子系統之間是否互相影響功能,即測試系統內部接口。

????????(再想具體了解,就百度吧!

3.系統測試

????????整個系統開發、集成完畢后進行測試,也就是常見的功能測試階段。

4.驗收測試

????????交付用戶前,與客戶一起進行,向用戶演示、驗證軟件與需求一致(功能、性能、安全性等)。

3.2、按是否運行程序分

1.靜態測試(static test)

????????不運行程序,不對軟件進行輸入輸出對比預期的驗證,只靜態地檢查程序代碼、界面或文檔中可能存在的錯誤。

????????常見方法

????????a.文檔測試,驗證用戶手冊和需求說明是否符合用戶的實際需求。

????????b.代碼測試,驗證代碼是否符合相應的標準和規范。

????????c.界面測試,驗證軟件的實際界面與需求中的說明是否相符。

2.動態測試(dynamic test)

????????運行程序,輸入數據后查看輸出數據是否與預期一致。

????????常見方法功能測試性能測試……

3.3、按是否看代碼分

1.黑盒測試

????????不看代碼,直接根據輸入輸出判斷軟件是否有錯誤。

????????測試方法:功能測試UI測試(界面測試)兼容性測試……

2.白盒測試

????????又稱結構測試,透明盒測試、邏輯驅動測試或基于代碼的測試。

????????測試方法語句覆蓋判定覆蓋路徑覆蓋條件覆蓋判定條件覆蓋條件組合覆蓋

????????注意:白盒測試可能靜態或動態,黑盒也是; 反之亦然。

????????(想看更多,去百度吧。

3.灰盒測試

????????介于白盒測試與黑盒測試之間,多用于集成測試階段,不僅關注輸出、輸入的正確性,同時也關注程序內部的情況。

3.4、按是否手工執行分

1.手工測試

????????人工執行測試用例來識別軟件中的錯誤、問題和缺陷。

2.自動化測試

????????編寫腳本自動執行測試用例來保證產品主體功能正確和完整。

3.5、其他

1.文檔測試(Documentation Testing)

????????主要指對軟件文檔進行審核、驗證,確保文檔的質量和準確性(完整性正確性一致性易理解性易瀏覽性

????????找了一篇關于文檔測試的文章:https://blog.csdn.net/2301_76387166/article/details/134643883

2.冒煙測試(Smoke testing)

????????又叫“版本驗證測試”、“高壓線測試”。

????????來源:硬件開發完成后,通電看機器是否冒煙,初步驗證是否有問題。

????????開發與測試共同進行。

????????新版本開發完成后 ,驗證基本/核心的功能和流程能否走通、是否有致命性和阻塞流程bug。通過冒煙,則正式轉測,否則打回到開發流程。

????????(可以通過自動化測試提效。)

3.回歸測試(Regression test)

????????重復執行以前(版本)的全部或部分的相同測試用例,驗證軟件修改后未影響原有功能。

????????回歸策略有2種:

????????① 完全回歸運行所有測試用例。最保險成本最高用例庫不斷變大,成本難以控制

????????② 部分回歸運行最重要的、關鍵的、最頻繁使用的和可疑的測試用例有改動的模塊或接口,功能未改動部分的測試用例。回歸效率更高

4.交叉測試

????????測試人員相互交換測試的模塊。

????????優點:防止漏測避免思維固化,保持測試新鮮感

????????注意項:用例管理明確任務分配測試人員熟悉系統測試結果留存,體現在用例中

5.隨機測試(Ad-hoc testing)

????????根據測試者的經驗對軟件進行功能和性能抽查。

????????是執行測試用例的重要補充手段,是保證測試覆蓋完整性的有效方式和過程。

????????對被測軟件的一些重要功能進行復測,對于軟件更新和新增加的功能要重點測試。重點對一些特殊點情況點、特殊的使用環境、并發性、進行檢查。尤其對以前測試發現的重大Bug,進行再次測試。

????????可以結合回歸測試(Regressive testing)一起進行。

????????隨機測試的文章:https://blog.csdn.net/xiao1542/article/details/132718631

6.探索性測試(Exploratory Testing)

????????基于敏捷模型的軟件測試風格,不是一種具體的軟件測試技術。

????????找了一篇文章,大家自由探索:https://www.cnblogs.com/klb561/p/11997890.html

7.安全測試(Security Testing)

????????驗證系統安全性。3種方法

????????① 代碼漏掃掃描代碼安全漏洞

????????② 滲透測試使用自動化工具或者人工的方法模擬黑客的輸入,對應用系統進行攻擊性測試,從中找出運行時刻所存在的安全漏洞。真實有效,一般找出來的問題都是正確的,也是較為嚴重的。

????????一個致命的缺點:模擬的測試數據只能到達有限的測試點,覆蓋率很低。

????????③ 程序數據掃描

????????一篇文章:https://blog.csdn.net/hlsxjh/article/details/131313986

8.alpha測試(開發者內測)

????????非正式驗收測試,類似于用戶驗收測試,是另一種質量控制。

????????軟件開發完成初期到測試完成之間均可。

????????由熟悉產品預期功能的產品開發人員和工程師執行。

????????使用白盒測試和黑盒測試技術來執行。

????????通過發現和修復在開發初始階段未解決的故障來微調軟件產品,尤其注重界面和特色。

9.beta測試(用戶內測)

????????軟件、產品或服務在正式發布之前進行的最后一輪測試。

????????內部測試和產品發布之間進行。

????????目標受眾抽樣試用產品。

????????發現和修復潛在的問題和Bug。

????????縮小產品與用戶需求之間的差距:獲取用戶反饋,從而改進和優化產品。

10.兼容性測試(Compatibility testing)

????????電腦系統:LinuxWindowsMac……

????????移動端系統:iOSandroidwindows……

????????手機品牌、型號:按照市場份額選購測試機、三方測試平臺

????????分辨率:按照市場份額測試。

????????web不同瀏覽器:chromeFirefoxie……

????????手機不同瀏覽器

????????……

附:課程完整思維導圖

參考文章:

  1. 《軟件測試的定義及如何進行分類》https://m.elecfans.com/article/998116.html
  2. 《軟件測試的定義以及分類》https://www.cnblogs.com/liyongmei/p/10633744.html
  3. 《白盒測試基本方法》https://testerhome.com/topics/14755

B站:【土小帽軟件測試(行入門到高級)-嗶哩嗶哩】 https://b23.tv/1c2U5fN
測試資源(百度網盤):https://pan.baidu.com/s/1Ypm8-VKuPurLtu0bCJovnA?pwd=5eji 提取碼: 5eji
【騰訊文檔】(流程圖)https://docs.qq.com/s/FQZsGpzsiYH9wj26JvSaFW

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

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

相關文章

使用Webcam實現攝像頭的開啟和關閉,并保存和復制圖片

實現思路 0,將webcam的jar文件傳入項目中 1,顯示攝像頭的地方:創建一個畫板,在畫板上添加開啟和關閉按鈕 2,設置開啟和關閉功能:創建一個類實現動作監聽器,進而實現監聽動作按鈕 3&#xff…

【數據結構與算法篇】二叉樹鏈式結構及實現

【數據結構與算法篇】二叉樹鏈式結構及實現 🥕個人主頁:開敲🍉 🔥所屬專欄:每日刷題🍍 🌼文章目錄🌼 4. 二叉樹鏈式結構的實現 4.1 前置說明 4.2 二叉樹的遍歷 4.2.1 前序、中序以及…

通過ssh在本地打開遠程服務器的網頁

用途 在遠程服務器使用jupyter notebook或者tensorboard等時,在本地打開服務器端的網頁的方式有很多比如可以使用MobaXterm工具等,此方法可參考https://blog.csdn.net/cc__cc__/article/details/108060618?spm1001.2014.3001.5502。 若直接使用ssh則可…

C++感受11-Hello Object 成員版

當一個C程序員在設計類型時,他在想什么? 這一類型的對象,需要擁有哪些屬性數據?這一類型的對象,它將擁有哪些功能?這一類型的對象,它的各個屬性和功能之間,有哪些關聯關系&#xff1…

OceanBase的存儲架構與傳統LSM-Tree架構的異同|OceanBase數據轉儲合并技術解讀(二)

前篇博文將OceanBase的存儲架構巧妙地與自然界中的“水生態”進行了類比,今日我們轉變視角,聚焦在與擁有相同LSM-Tree架構的其他產品的比較,深入探討OceanBase相較于它們所展現出的獨特性能。 眾所周知,OceanBase數據庫的存儲引擎…

element-ui 前端ui框架用法開發指南(2024-05-22)

Element,一套為開發者、設計師和產品經理準備的基于 Vue 2.0 的桌面端組件庫 1、npm安裝 // npm安裝:npm install element-ui --save 能更好地和 webpack 打包工具配合使用 2、cdn在線引入 訪問最新版本的資源地址 - element-uiThe CDN for element-u…

RedHat9 | DNS剖析-配置主DNS服務器實例

一、實驗環境 1、BIND軟件包介紹 BIND軟件是一款開放源碼的DNS服務器軟件,由美國加州大學Berkeley分校開發和維護,全稱為Berkeley Internet Name Domain。該軟件在DNS(域名系統)領域具有重要地位,是目前世界上使用最…

使用OpenCV dnn c++加載YOLOv8生成的onnx文件進行目標檢測

在網上下載了60多幅包含西瓜和冬瓜的圖像組成melon數據集,使用 LabelMe 工具進行標注,然后使用 labelme2yolov8 腳本將json文件轉換成YOLOv8支持的.txt文件,并自動生成YOLOv8支持的目錄結構,包括melon.yaml文件,其內容…

信息系統管理工程師問答題

信息系統管理工程師問答題 系統管理安全兩方面 安全測試 入侵檢測系統的功能 用戶標識與驗證常用的3種方法 (1) 要求用戶輸入一些保密信息,例如用戶名稱和密碼; (2) 采用物理識別設備,例如訪問卡、鑰匙或令牌; (3) 采用生物統計學…

Python怎樣定位并刪除Sql語句中不確定的查詢條件

1.問題場景描述: 在sql語句中經常會有查詢條件是:查找多個訂單簽訂日期范圍的數據,但具體的日期范圍是不確定,我們如何來查找定位 例如:查詢條件語句的部分如下圖: 目標是: 1)定位字符串:t_contract_order.sign_date 2)最終得到結果: 解決問題思路: 1)定位要找的字符串起始位置…

【學習心得】PyTorch的知識要點復習(持續更新)

PyTorch知識要點復習,目的是為了鞏固PyTorch基礎、快速回顧、深化理解PyTorch框架。這篇文章會持續更新。 一、本文的一些說明 知識點梳理:我將PyTorch的核心概念和高級技巧進行了系統化的整理,從基礎的張量操作到復雜的模型構建與訓練。這樣…

【Linux】進程終止與進程等待

目錄 進程終止 errno exit和_exit 進程等待 wait和waitpid 宏:WIFEXITED 非阻塞等待 進程終止 下面要談的一個話題就是進程終止,就是說一個進程退出了,可能有三種情況 1.進程代碼執行完,結果是正確的 2.進程代碼執行完&…

【九十二】【算法分析與設計】875. 愛吃香蕉的珂珂,410. 分割數組的最大值,機器人跳躍問題,二分答案法

875. 愛吃香蕉的珂珂 - 力扣(LeetCode) 珂珂喜歡吃香蕉。這里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警衛已經離開了,將在 h 小時后回來。 珂珂可以決定她吃香蕉的速度 k (單位:根/小時)。每…

【活動】開源與閉源大模型:探索未來趨勢的雙軌道路

🌈個人主頁: 鑫寶Code 🔥熱門專欄: 閑話雜談| 炫酷HTML | JavaScript基礎 ?💫個人格言: "如無必要,勿增實體" 文章目錄 開源與閉源大模型:探索未來趨勢的雙軌道路引言一、開源大模型&#…

翻譯《The Old New Thing》- The importance of the FORMAT_MESSAGE_IGNORE_INSERTS flag

The importance of the FORMAT_MESSAGE_IGNORE_INSERTS flag - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20071128-00/?p24353 Raymond Chen 2007年11月28日 FORMAT_MESSAGE_IGNORE_INSERTS 標志的重要性 簡要 文章討論了使用FormatMes…

評估企業的業務是否存在高風險的六個步驟

風險的幽靈使得組織別無選擇,只能改善各種網絡風險的總體管理。以下是一個基于信息安全論壇的IRAM2方法論的分步過程,網絡安全和風險從業者可以利用它來評估和管理信息風險。 第1步:范圍界定練習 范圍界定練習的目標是提供一個以業務為中心…

基于springboot+vue的招聘信息管理系統

開發語言:Java框架:springbootJDK版本:JDK1.8服務器:tomcat7數據庫:mysql 5.7(一定要5.7版本)數據庫工具:Navicat11開發軟件:eclipse/myeclipse/ideaMaven包:…

K8s的常用命令以及yaml文件的創建

目錄 一、聲明式管理方法:YAML文件 1、yaml文件簡介 2、yaml和json的主要區別: 3、YAML的語法格式 4、yaml文件組成部分 ①控制器定義 5、查看api資源版本標簽 6、編寫nginx-deployment.yaml資源配置清單 6.1創建資源對象 6.2查看創建的pod資源…

使用python將一段文本寫入一個txt文件中且先格式化文件名

有一段文本內容&#xff0c;有“標題”和“內容”組成。 任務&#xff1a;要將這段文本&#xff0c;存放到一個txt文件中&#xff0c;文件名為當天的日期加上“標題”內容。因為“標題”內可能有/<>之類的&#xff0c;還需要格式化一下。 已經將上述功能都寫成了函數&a…

安卓手機APP開發__近距離無線通信(NFC)概述

安卓手機&#xff21;&#xff30;&#xff30;開發&#xff3f;&#xff3f;近距離無線通信(NFC)概述 概述 近距離無線通信 (NFC) 是一組近距離無線技術&#xff0c;距離通常不超過 4 厘米才能 發起連接。通過 NFC&#xff0c;您可以在 NFC 標簽和 Android 設備之間&#xf…