天天看點

軟體測試的學習之路------軟體品質

文章目錄

    • 一:軟體測試行業基本介紹
    • 二:軟體測試基本介紹
    • 三:測試對象介紹
    • 四:==測試級别==
    • 五:系統測試分類
    • 六:==常見的系統測試方法==
    • 七:==軟體品質==
    • 八:==軟體測試流程==
    • 九:軟體架構
    • 十:浏覽器基本介紹
    • 十一:常見的圖檔類型

一:軟體測試行業基本介紹

  1. 為什麼需要軟體測試

    (1).一款軟體從無到有會經曆很多的開發階段由不同的人來參與開發,是以最終産出的軟體功能可能會存在問題。是以為了保證軟體的功能是可用的,我們必須要進行測試。

    ( 2).目前的軟體件行業已經不在是功能為王了,不僅僅隻盯着軟體的功能是否滿足需求, 還會對軟體是否容易上手,執行效率是否 OK …等一系列其它體驗都有了更高的要求,是以這也需要我們對軟體進行大量的測試。

  2. 為什麼選擇軟體測試

    (1). 國内的軟體行業對于專業的軟體測試人員需求越來越大。

    (2). 有些人喜歡創造世界是以他們做了開發, 我們就是希望這個世界變得更加美好是以做了而測試

  3. 為什麼不讓開發自已做測試

    (1).目前行業有許多的測試從業人員本身之前都是做開發的。

    (2).專業度:軟體測試和軟體開發分别屬于軟體行業當中二個不同的技術方向。是以讓專人做專事對于品質更加有保證。

    (3).思維定式: 在軟體的開發周期中 對于程式員來說他們大多數的時間都是在思考如何實作具體的軟體功能,而不會去從使用者的角度考慮如何去"奇葩"的使用這些功能。

    (4).測試力度: 相對于開發來說,産器就相當于是他們的"孩子"。是以"下手"就不會那麼狠。

二:軟體測試基本介紹

  1. 什麼是軟體測試

    通過人工或者自動化對 "被測對象"進行測試操作,進而驗證明際結果與預期結果之間是否存在差異

  2. 軟體測試的作用

    (1).通過測試工作可以發現并修複軟體當中存在的缺陷,進而提高使用者對産品的使用信心。

    (2).測試可以記錄軟體運作過程中産生的一些資料,進而為決策提供資料支援。

    (3).測試可以降低同類型産品開發遇到問題的風險。

  3. 測試原則

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

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

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

    (3).缺陷存在群集現象:對于軟體功能說,核心功能占 20%,非核心是 80%。在實際工作中我們會集中測試 20%的核心功能,是以這個部分發現缺陷的幾率就會高于 80%。是以我們就會遇到缺陷都集中在 20% 功能子產品裡的現象。

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

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

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

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

三:測試對象介紹

對于目前的測試行業來說我們最經常測試的主體就是:

軟體( 主體功能 ),但是需要我們明白,一個軟體也不僅僅隻有功能需要測試。

我們可以将軟體分為三個部分組成:功能集合+使用說明書 + 配置資料。

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

  1. 需求分析階段:各種需求規格說明書。
  2. 軟體架構設計:API 接口文檔( 接口測試 )
  3. 編碼實作階段:源代碼( 白盒測試、單元測試 )
  4. 系統功能使用:軟體功能主體( 目前行業做的最多的一種測試 )

四:測試級别

軟體的開發都會依據相應的開發模型,

測試級别指:在這個模型當中我們人為定義規則的開發步驟。其中對于測試來說我們最常見的一種級别分類如下:

  1. 單元測試[

    UT

    unit test ]:在軟體測試中單元指的就是組成軟體最小的底層代碼結構, 一般就是類、函數、元件
  2. 內建測試(

    IT

    system ingertaion test ):将多個單元子產品組合在一起,然後驗證它們之間溝通的"橋梁"是否能正常工作(

    接口測試

    )
  3. 系統測試(

    ST

    system test ):這是目前行業做的最多的一種測試。由測試人員充當使用者然後對軟體的功能主體進行測試。
  4. 驗收測試:

    (1) a測試 ---- 内測

    (2) b測試 -----公測

    (3)

    UAT

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

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

五:系統測試分類

  1. 功能測試:驗證目前的軟體主體功能是否可用。
  2. 相容性測試:驗證目前軟體在不同的環境下是否還可以使用。
  3. 安全測試:驗證軟體是否隻是能授權使用者提供功能使用。
  4. 性能測試:相對于目前軟體消耗的資源它的産出能力。

六:常見的系統測試方法

  1. 按測試對象進行分類

    (1).白盒測試:這種測試的主體就是軟體的底層代碼,不會在意外部的界面是否 OK ,隻要 求底層功能實作,同時邏輯正确。

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

    (3).灰盒測試:介于二者之間( 接口測試 )

    (4).上述三種方法當中的 “盒” 指的就是被測對象。

  2. 按測試對象是否執行分類

    (1).靜态測試:指測試不執行。

    (2).動态測試:将軟體運作在真實的使用環境中進行測試。

  3. 按測試手段進行分類

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

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

七:軟體品質

描述目前軟體是否好用,在目前的軟體行業裡我們所采用的一套标準是基于 ISO 組織制定的。需要我們記憶的就是軟體品質的六大特性:

  1. 功能性:軟體需要滿足使用者顯式或者穩式的功能。
  2. 易用性:軟體易于學習和上手使用。
  3. 可靠性:指軟體必須實作需求當中指明的具體功能。
  4. 效率性:類似于軟體的性能。
  5. 可維護性:要求軟體具有将某個功能修複之後繼續使用的能力。
  6. 可移植性:目前軟體可以從一個平台移植到另一個平台上去使用的能力。 【 功能靠用,效率可"以" 】

八:軟體測試流程

  1. 需求分析

    (1) . 目前階段的核心目的就是梳理清楚我們需要設計的點是什麼。

    (2) .需求的來源:需求規格說明書、API 文檔、竟品分析、個人經驗

  2. 設計用例

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

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

  3. 評審用例:

    對目前的用例進行添加或者删除。

  4. 配置環境

    (1) . 環境:指的就是目前被測對象運作所需要的執行環境,做為測試人員需要具備配置環境的能力。【 一般情況下都會使用一鍵安裝的內建環境 】

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

  5. 執行用例

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

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

  6. 回歸測試及缺陷跟蹤

    (1) . 回歸測試指:當我們将某個缺陷送出給開發之後,由它們進行修複,修複完成之後需要測試人員再次對其進行測試【回歸測試】

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

  7. 輸出測試報告

    将目前的測試過程中産生的資料進行可視化的輸出。友善其它人去檢視。

  8. 測試結束

    将整個測試過程中産生的一些文檔進行整理歸檔,友善後續版本使用。

九:軟體架構

所謂的軟體架構是用來指導我們軟體開發的一種思想。

最常見二種架構模式:B/S C/S

B—browser 浏覽器

C—clent 用戶端

S—server 服務端

二種架構的比較

  1. 标準:相對于 CS 架構來說 BS 架構的二端都是在使用現成的成熟産品。是以 BS 會顯示的标準一些。
  2. 效率:相對于BS 架構來說 CS 中的用戶端可以分擔一些資料的處理,是以執行效率會高一些。
  3. 安全:BS 架構當中的資料傳輸都是以HTTP 協定進行的輸出,而 HTTP 協定又是明文輸出。可以被抓包,是以相對于 CS 架構來說 BS 就顯得不那麼安全【相對的】
  4. 更新:BS 架構隻需要在伺服器端将資料進地更新, 前台隻需要重新整理頁面就可以完成更新, 而 CS架構中必須要将二端都進行更新。
  5. 開發成本:相對于 BS 架構來說 CS 當中的用戶端需要自已開發,是以相對于來說成本會高一些

十:浏覽器基本介紹

  1. 浏覽器是什麼

    浏覽器本質就是一款軟體,安裝在作業系統之上。一般給使用者提供浏覽網頁的服務。目前來說我們會人為的将所有浏覽器總結出一個所謂的五大生産廠商。

    【 對于浏覽器來說最 核心技術就是核心 】

  2. 五大浏覽器生産廠商

    1.IE( 微軟 )-----trident

    2.Chrome ( 谷歌 )----blink

    3.Firefox( 火狐 )-----gecko

    4.Safari( 蘋果 )-----webkit

    5.Opera( 歐朋 )----presto

十一:常見的圖檔類型

  1. jpg(jpeg) :這是一種可以高度保留圖檔色彩資訊的格式。
  2. png:該類型的圖檔可以實作透明。
  3. gif:圖檔所占體積小,可以實作動圖
  4. psd:它是一種分層的圖檔。

繼續閱讀