軟件測試理論框架與發展:分類、原則與質量保障策略

第一章

一、計算機軟件的發展分類

早期軟件開發的特點:

????????軟件規模小、復雜程度低、開發過程不規范

測試的情況:

????????測試等同于調試

????????目的糾正軟件的已經知道的故障

????????投入少,介入晚

????????成為一種發現軟件的活動(1957)

測試不等于調試

調試:在已知條件下,對軟件程序代碼做檢查

測試:在未知錯誤的情況下,檢查程序代碼是否有誤

軟件測試從軟件質量保證的角度檢查代碼是否有問題,調試是為了解決當前錯誤,調試無法代替測試

正向思維針對軟件功能特點,逐個驗證正確性,被稱為第一類方法

認為軟件有問題,使用逆向思維去發現問題

對軟件測試的定義

測試是為了發現錯誤而執行的一個程序或者系統的過程

1980年質量的概念融入軟件測試

測試是為了度量和提高被測試軟件的質量。

軟件測試的概念

軟件測試是對軟件形成過程的文檔,數據以及程序進行測試,而不僅僅是對程序進行的測試

軟件測試的目的

對開發:軟件測試通過找到問題缺陷幫助開發人員找到開發過程中存在的問題,包括軟件開對測試:發模式,工具,技術等方面存在的問題與不足,預防下次缺陷的產生

使用最少的人力物力時間找到軟件的隱藏缺陷,保證軟件質量1,為后面測試積累經驗

對用戶:軟件測試能夠檢驗軟件是否符合客戶需求,對軟件進行質量評估

軟件測試的分類

單元測試

又稱模塊測試,針對軟件設計的最小單位——程序模塊 進行準確性檢驗的測試工作

目的在于檢查每一個程序單元能否滿足詳細設計說明中的模塊,性能,接口和設計約束等要求,發現模塊內部中可能存在的錯誤。單元測試需要從內部結構出發設計測試用例,多個模塊可以平行的獨立進行單元測試

集成測試

也叫組裝測試,通常在單元測試的基礎上,將所有程序模塊進行有序的,遞增的測試。集成測試檢驗程序單元或部件接口的關系,使他們逐步符合概念設計要求的程序部件或整個系統。

系統測試

將測試軟件在實際環境中運行,與其他的系統成分(數據庫,硬件和操作人員)組合在一起進行測試,用于評估整個系統的行為并確保系統符合用戶需求。

驗收測試

主要對軟件產品進行驗證,逐行逐字的按照說明書的描述對軟件產品說明進行測試,確保客戶的各項需求。

按照測試環境

α測試:

是一個用戶在開發環境下進行的測試,也可以是開發機構用戶在模擬實際操作下進行的測試。

β測試:

是在軟件的一個或多個用戶的實際使用環境下進行的測試。

白盒測試

通過對程序內部結構分析、檢測來尋找問題。它將測試對象看成一個透明的盒子,即清楚了解內部結構和處理過程,以此檢查軟件內部動作是否按照設計說明的規定正常進行。

黑盒測試

通過軟件外部表現來發現其缺陷和錯誤。它把測試對象看成一個黑盒子,不考慮內部結構和處理過程。在程序界面處進行測試,它只是檢查程序是否按照規定的說明書正常運行。

灰盒測試

介于黑白之間。灰盒測試關注輸出對于輸入的正確性,同時也關注內部表現,但這種內部關注不像白盒那么完整,通過表象性的現象,事件,標志來測試。

功能測試

邏輯功能測試、界面測試、易用性測試、安裝測試、兼容性測試。

性能測試 --時間&空間

一般性能測試

穩妥性能測試

負載測試:通過測試系統資源超負荷情況下的表現,來驗證一步一步加

壓力測試:直接超負載

了解:

回歸測試

對修改后的重新測試

冒煙測試

先驗證是否具有可測性

隨機測試

基于經驗和直覺測試,模擬用戶真實操作,并發現邊緣性錯誤

測試項目:

需求測試、界面測試、功能性、安全性、可靠性、可維護性、兼容性、壓力測試、疲勞測試

軟件測試的原則

  1. 所有測試的標準都建立在用戶需求上
  2. 基于“質量第一”的思想去開展工作,時間要服從質量
  3. 事先定義質量標準,對產品質量進行分析評估
  4. 軟件項目啟動,測試就開始
  5. 窮舉測試不可能,不可能運行路徑的每一個組合
  6. 第三方測試更有效
  7. 軟件測試計劃是做好軟件測試工作的前提
  8. 測試用列是設計出來的,不是寫出來的,需要根據測試目的,采用相應的方法去設計,提高測試效率,更多的發現錯誤,提高可靠性
  9. 對發現錯誤多的程序段,應該更深入測試,一般來說,一段程序中錯誤數越多,軟件錯誤概率越大
  10. 重視文檔,妥善保存一些測試過程文檔(測試設計,測試用例,測試報告)
  11. 回歸測試的關聯性要注意,修改一個錯誤可能會引起過多錯誤
  12. 小規模->大規模
  13. 不能將測試用例置之度外,排除隨意性
  14. 必須徹底檢查每個測試結果
  15. 注意測試錯誤集中發生的現象
  16. 對測試結果要有一個確認的過程

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

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

相關文章

未知威脅攻擊原理和架構

大家讀完覺得有幫助記得關注和點贊!!! 未知威脅(Unknown Threats)指利用零日漏洞、合法工具濫用、高級逃逸技術等**繞過傳統特征檢測**的攻擊,其核心在于**動態對抗防御體系的認知盲區**。以下從攻擊原理、…

基于Netty-WebSocket構建高性能實時通信服務

引言:WebSocket在現代應用中的重要性 在當今實時交互應用盛行的時代,WebSocket協議已成為實現雙向通信的核心技術。相比傳統的HTTP輪詢,WebSocket提供了: 真正的全雙工通信極低的延遲(毫秒級)高效的連接管…

咸蝦米項目總結1--const用法

在 UniApp(或 Vue 3)中,聲明一個空對象可使用下面這2種寫法: // 寫法1 const a ref(null);// 寫法2 const a ref({}); 在UniApp中,const a ref()用法概述: 用途: 創建一個響應式引用&#x…

在mac下手動編譯遷移的android版webrtc組件

我原先使用的android版webrtc是在linux下編譯的,現在因為某些原因需要把整個庫遷移到mac下編譯。 把代碼遷移完后,正常是需要通過gclient sync 重新構建編譯環境,但是由于網絡限制等方面原因,會導致完成的比較慢。 在摸索一陣后…

Linux 命令:mkdir

Linux mkdir 命令詳細教程 一、mkdir 命令的基本功能 mkdir(Make Directory)是 Linux 系統中用于創建新目錄(文件夾)的基礎命令。它支持一次性創建單個或多個目錄,以及遞歸創建多層目錄結構,是文件系統操…

Django 數據遷移全解析:makemigrations migrate 常見錯誤與解決方案

1. 遷移機制與底層原理 在 Django 中,ORM(Object-Relational Mapping)是連接模型(Model)和數據庫結構的橋梁。Django 鼓勵開發者通過編寫 Python 類(模型)來定義業務數據結構,而不是…

SuperGlue:使用圖神經網絡學習特征匹配

摘要 本文提出了 SuperGlue,一種神經網絡,用于通過聯合尋找對應關系并排除不可匹配點來匹配兩組局部特征。匹配結果通過求解一個可微的最優傳輸問題來估計,該問題的代價由一個圖神經網絡預測。我們引入了一種基于注意力的靈活上下文聚合機制…

ssh -T git@github.com失敗后解決方案

這個錯誤表示你的 SSH 連接無法到達 GitHub 服務器。以下是詳細解決方案,按照優先級排序: 首選解決方案:使用 SSH over HTTPS(端口 443) 這是最有效的解決方案,因為許多網絡會阻止 22 端口: …

從蘋果事件看 ARM PC市場的未來走向

最近,蘋果宣布部分搭載 Intel 處理器的 Mac 不再支持最新的 macOS 系統更新,這一消息猶如一顆石子投入平靜湖面,激起層層漣漪。它不僅讓 Intel 芯片在 Mac 產品線上徹底成為歷史,也促使我們重新審視 PC 行業的發展脈絡&#xff0c…

vue + element ui 實現超出寬度展示..,鼠標移入顯示完整內容

vue element ui 實現超出寬度展示…&#xff0c;鼠標移入顯示完整內容 代碼理念&#xff1a; 當高度大于對應行數的高度 則說明需要展示"…" 子組件 <template><div class"tooltip"><div ref"tooltipRef" :class"[tooltip…

HarmonyOSNext應用無響應全解析:從機制到實戰的卡死問題排查

HarmonyOSNext應用無響應全解析&#xff1a;從機制到實戰的卡死問題排查 ##Harmony OS Next ##Ark Ts ##教育 本文適用于教育科普行業進行學習&#xff0c;有錯誤之處請指出我會修改。 喂喂喂&#xff01;應用卡成PPT了&#xff1f;點啥都沒反應&#xff1f;別慌&#xff01…

git 遷移之獲取原庫所有分支

以下是一個安全的 Bash 腳本&#xff0c;用于將遠程 Git 倉庫的所有分支檢出到本地&#xff08;自動跳過已存在的分支&#xff09;&#xff1a; #!/bin/bash# 獲取所有遠程分支&#xff08;排除 HEAD&#xff09; remote_branches$(git branch -r | grep -v HEAD\|->)# 循環…

設計模式 | 適配器模式

適配器模式&#xff08;Adapter Pattern&#xff09; 是結構型設計模式中的連接器大師&#xff0c;它允許不兼容接口的類能夠協同工作。本文將深入探索適配器模式的核心思想、實現技巧以及在C中的高效實踐&#xff0c;解決現實開發中的接口兼容性問題。 為什么需要適配器模式 …

RTL 級機器人電機控制器的 FPGA 設計

借助Verilog&#xff0c;在FPGA中實現了帶編碼器的兩臺電機的電機控制系統的RTL級設計。 介紹 借助硬件描述語言 (HDL) Verilog 和 AMD Vivado 設計套件&#xff0c;在 AMD Spartan-7 FPGA 中實現帶編碼器的兩個電機的控制器系統的 RTL 設計。 在這個項目中&#xff0c;使用了搭…

4_Flink CEP

Flink CEP 1、何為CEP&#xff1f; CEP&#xff0c;全稱為復雜事件處理&#xff08;Complex Event Processing&#xff09;&#xff0c;是一種用于實時監測和分析數據流的技術。 CEP詳細講解&#xff1a; CEP是基于動態環境的事件流的分析技術&#xff0c;事件是狀態變化&am…

容器基礎知識2-K8s 和 Docker 的關系與管理邏輯詳解

K8s 和 Docker 的關系與管理邏輯詳解 一、先搞懂&#xff1a;Docker 和 K8s 分別是做什么的&#xff1f; Docker&#xff08;容器工具&#xff09;&#xff1a;好比「集裝箱工廠」&#xff0c;負責把應用和依賴打包成標準化容器&#xff08;類似集裝箱&#xff09;&#xff0…

QT MaintenanceTool 登錄無法找到 QtAccount 憑據

親測有效&#xff1a;QT6 Maintenance Tool 登錄問題_qt6 maintenancetool-CSDN博客 將ini這個配置文件移出文件夾后&#xff0c;在切換自己賬戶登錄即可

華為云Flexus+DeepSeek征文|利用華為云一鍵部署 Dify 平臺并接入 DeepSeek 大模型,構建長篇文章生成助手

目錄 前言 1 華為云一鍵部署 Dify 平臺 1.1 華為云 Dify 平臺介紹 1.2 部署過程介紹 1.3 登錄 Dify 平臺 2 接入華為云 ModelArts Studio 中的 DeepSeek 大模型 3 構建長篇文章生成助手 3.1 簡要介紹長篇文章生成助手 3.2 開始節點 3.3 生成標題和大綱&#xff08;LL…

js的一些基礎概念總結

1.變量聲明 首先js變量聲明有三種&#xff0c;var&#xff0c;const&#xff0c;let&#xff0c;這三種變量聲明中我們第一優先使用const&#xff0c;需要改變這個值的時候我們用ley&#xff0c;var是盡量不去使用。 那么我們現在來總結一下三種聲明變量的區別。首先是var let …

防 XSS和CSRF 過濾器(Filter)

會話管理存在問題&#xff1a; 1.服務集群部署或者是分布式服務如何實現會話共享 2.會話的不同存儲地方的安全性問題 答&#xff1a; 會話共享 可以使用后端集中管理(redis)或者客戶端管理 &#xff08;jwt&#xff09;&#xff1b; 存儲安全性 這個還真的沒有太好的方式&…