保安日記 番外篇之軟體測試(一)

2021-10-25 03:48:29 字數 3906 閱讀 8919

一、軟體測試定義

通過手工或者工具對被測物件進行測試操作,從而驗證實際結與預期結果之間是否存在差異。

二、軟體測試的作用

通過測試工作可以發現並修復軟體當中存在的缺陷,從而提高使用者對產品的使用信心。

測試可以記錄軟體執行過程中產生的一些資料.從而為決策提供資料支援。

測試可以降低同型別產品開發遇到問題的風險。

三、測試原則:

所謂的測試原則指的就是我們在執行測試工作時必須要遵守的一些規則。

1.測試證明軟體存在缺陷:無論執行什麼樣的測試操作都保能證明當前軟體是有缺陷的。

2.不能執行窮盡測試:有些功能是沒有辦法將所有的測試情況都邏列出來,所以任何的測試操作都有結束的時間。

3.缺陷存在群集現象:對於軟體功能說,核心功能佔20%,非核心是80%。在實際工作中我們會集中測試20%的核心功能、所以這個部分發現缺陷的機率就會高於80%。因此我們我們就會遇到缺陷都集中在 20%功能模組裡的現象。

4.某些測試需要依賴特殊的環境

5.測試應盡早介入:為了更多的發現和更好的解決軟體中的缺陷,我們追求測試工作盡早

的開展。

6.殺蟲劑現象:同樣的乙個測試用例不能重的執行多次,因為軟體會對它產生免疫。

7.不存在缺陷謬論:任何軟體不可能是完關的。|

測試物件介紹

對於當前的測試行業來說我們最經常測試的主體就是軟體(主體功能).但是需要我

們明白是乙個軟體也不僅僅只有功能需要測試。我們可以將軟體分為三個部分組成:功能集合+使用說明書+配置資料。

對於一款軟體來說從無到有需要不同的過程,我們可以將這個過程分為不同階段.然後每個階段都會相應有測試物件

需求分析階段: 各種需求規格說明書。

軟體架構設計: api介面文件(介面測試)

編碼實現階段: 源**(白盒測試、單元測試)

系統功能使用: 軟體功能主體(當前行業做的最多的一種測試)

測試級別

軟體的開發都會依據相應的開發模型,則測試級別指的就在這個模型當中我們人為定義的開發步驟。其中對於測試來說我們最常見的一種級別分類如下:

單元測試[ ut unit test]:在軟體測試中單元指的就是組成軟體最小的底層**結構,一般就是類、函式、元件(當下的軟體測試行業,不會刻意要求測試人員對源**進行測試)。

整合測試( it system ingertaion test)將多個單元模組組合在一起,然後驗證它們之間溝通的"橋梁"是否能正常工作(介面測試)

系統測試(st system test):這是當前行業做的最多的一種測試。由測試人員充當使用者然後對軟體的功能主體進行測試。

驗收測試:

(1) α測試----內測

(2) β測試-----公測

(3)uat( user acceptance test)測試----由客戶派出對於業務非常精通的人員來使用該軟體,從而對功能進行測試。

(4)驗收測試的核心就是讓使用者為當前軟體「買單

系統測試分類

分階段功能測試: 驗證當前的軟體主體功能是否可用。

相容性測試: 驗證當前軟體在不同的環境下是否還可以使用。

安全測試: 驗證軟體是否只是能授權使用者提供功能使用。

效能測試: 相對於當前軟體消耗的資源它的產出能力。

常見的系統測試方法

一、按測試物件進行分類

三種方法當中的「盒」指的就是被測物件。

白盒測試:這種測試的主體就是軟體的底層**,不會在意外在的介面是否ok,只要求底層功能實現,同時邏輯正確。

黑盒測試:這種測試就是指測試軟體外在主體功能是否可用。

灰盒測試:介於二者之間(介面測試)

二、按測試物件是否執行分類

靜態測試: 指的就是測試不執行。

動態測試: 將軟體執行在真實的使用環境中進行測試。

三、按測試手段進行分類

手工測試: 由測試人員手動的對被測物件進行驗證,優點就是可以靈活的改變測試操作及環境。

自動化測試: 所謂自動化主要有二種形式.一種是自已寫測試指令碼,另外一種就是通過第三方的工具對被測物件進行測試。優點就是可以高效率的去執行一些人工無法實現的操作。

軟體質量

描述當前軟體是否好用,在當前的軟體行業裡我們所採用的一套標準是基於iso組織制定的。需要我們記憶的就是

軟體質量的六大特性:

功能性: 軟體需要滿足使用者顯式或者穩式的功能。

易用性: 軟體易於學習和上手使用。

可靠性: 指的就是軟體必須實現需求當中指明的具體功能。

效率性: 類似於軟體的效能。

可維護性: 要求軟體具有將某個功能修復之後繼續使用的能力。

可移植性: 當前軟體可以從乙個平台移植到另乙個平台上去使用的能力。

【功能靠用.效率可"以」】注意獲取場景

軟體測試流程

需求分析設計用例:

1)用例就是使用者為了測試軟體的某個功能而執行的操作過程。

2)設計用例是有方法的(等價類、邊界值、判定表…)

評市用例:對當前的用例進行新增或者刪除。

配置環境

1)環境:指的就是當前被測物件執行所需要的執行環境,做為測試人員需要具備配環境的能力。【一般情況下都會使用一鍵安裝的整合環境】

2)環境分類:作業系統+伺服器軟體+資料庫+軟體底層**的執行環境。

執行用例

1)一般在執行用例之前我們會做乙個冒煙測試。這種測試的核心就是快速的對當前軟體的核心功能或者主體執行流程進行驗證。如果冒煙測試階段有問題,則可以將此版本回退給開發。

2)如果冒煙測試通過那麼才會開展示全面的測試。

回歸測試及缺陷跟蹤

1)回歸測試指的就是當我們將某個缺陷提交給開發之後.由它們進行修復,修復完成

之後需要測試認員再次對其進行測試【回歸測試】

2)缺陷跟蹤:指的就是當測試人員發現某個缺陷之後需要一直對其進行狀態的跟蹤。

輸出測試報告

將當前的測試過程中產生的資料進行視覺化的輸出。方便其它人去檢視。

測試結束

當將整個測試過程中產生的一些文件進行整理歸檔.方便後續版本使用。

軟體架構

所謂的軟體架構我們可以理解為是用來指導我們軟體開發的一種思想。目前來說最常見的二種架構模式就是b/s c/s

b—browser瀏覽器

c—clent客戶端

s—server 服務端

兩種架構的比較:

標準:相對於cs 架構來說bs架構的二端都是在使用現成的成熟產品。所以bs會顯示的標準一些。

效率:相對於bs架構來說cs中的客戶端可以分擔一些資料的處理,因此執行效率會高一些。

安全:bs架構當中的資料傳輸都是以 http協議進行的輸出,而http協議又是明文輸出。可以被抓包.所以相對於cs 架構來說bs 就顯得不那麼安全【相對的】

公升級:bs架構只需要在伺服器端將資料進地更新,前台只需要重新整理頁面就可以完成公升級,而cs架構當中必須要將二端都進行更新。

開發成本:相對於bs架構來說cs當中的客戶端需要自已開發.所以相對於來說成本會高一些。

保安日記 番外篇之網路協議

網路層 ip 網路之間互連的協議 lnternet protocol 相當於網路中的乙個節點,類似於位址,我們稱之為ip位址同乙個網路中,ip位址具有唯一性 ipv4網路使用32位位址,以點分十進位制表示,如192.168.0.1 127.0.0.1 本機 192.168 家庭路由器 10 內部區域...

軟體測試之測試用例方法(一)

1.定義 我們把使用者可能輸入的所有資料劃分為若干份 也可稱子集 然後從子集裡選取少量具有代表性的資料作為測試用例 2.等價類劃分 分類 有效等價類 指符合 需求規格說明書 合理的資料集合 無效等價類 指不符合 需求規格說明書 不合理的資料集合 1.邊界定義 是指對於輸入和輸出的等價類而言,稍高於其...

軟體測試新人入門之測試前景(一)

隨著網路科技越來越發達,現在程式設計師的缺口也逐漸增大,有前端開發,後端開發,架構師,測試工程師,演算法工程師等,作為眾多技術行業相比,測試門口相比其他幾個更容易上手起來。下面我們來聊天軟體測試有什麼前景發展 一 錢途與前途 相對於一般行業,測試工程師起薪高,發展空間大。隨著軟體的質量要求越來越高,...