軟件測試基本方法(六)之集成測試和系統測試

在軟件開發中。經常會遇到這種狀況。單元測試時確認每個模塊都能單獨工做,但這些模塊集成在一塊兒以後會出現有些模塊不能正常工做。好比,在chrome環境下用js寫了一個實時捕捉video中特定區域的模塊,正常工做;利用worker線程進行webgl場景渲染,也正常。可是當兩個運算合併時。出現一個模塊不能正常執行,緣由在於兩個模塊不適合在worker線程中結合。基於worker自己的侷限性,僅僅能有一個模塊正常工做。web

因此,很是有必要進行集成測試。chrome


(1)集成測試定義:數據庫

集成測試是將軟件集成起來,對模塊之間的接口進行測試。apache



(2)集成種類:瀏覽器

  • 模塊內的集成,主要是測試模塊內各個接口間的交互集成關係
  • 子系統內的集成。測試子系統內各個模塊間的交互關係
  • 系統內的集成,測試系統內各個子系統和模塊間的集成關係

(3)兩種集成測試模式:

  • 非漸增式測試模式:先分別測試每個模塊,再把所有模塊按設計要求放在一塊兒結合成所要的程序。如大棒模式
  • 漸增式測試模式:把下一個要測試的模塊同已經測試好的模塊結合進來進行測試,測試完後再把下一個應該測試的模塊結合起來測試。漸增式測試又可以依據每次加入模塊的路線分爲自頂向下測試自底向上測試混合測試等方式

優缺點:
  • 漸增式需要編寫的軟件較多,工做量較大,而非漸增式測試開銷小
  • 漸增式測試模式發現模塊間接口錯誤早。而非漸增式測試晚
  • 非漸增式測試模式發現錯誤。較難診斷,而使用漸增式測試模式。假設錯誤發生則每每和近期加進來的那個模塊有關
  • 漸增式測試模式測試更完全
  • 漸增式測試模式需要較多的機器時間
  • 使用非漸增式測試模式,可以並行測試

詳細方法:
  • 自頂向下法:從主控模塊開始,沿着軟件的控制層次向下移動,從而逐漸把各個模塊結合起來。

    (長處:不需要驅動程序。能在早期發現上層錯誤。缺點:需要樁,低層錯誤發現較晚。在早期不能展開人力)緩存

  • 自底向上法:從原子模塊開始集成以進行測試。
  • 混合策略:基本使用Top-down。但在早期使用Bottom-up。對中較上層,使用Top-down,中較下層,使用Bottom-up。
  • 大棒法:先是對每一個子模塊進行測試(單元測試),而後將全部模塊一次性地全部集成起來進行測試。

  • 三明治法:自兩頭向中間集成。

(4)系統測試
  • 定義:檢驗系統所有元素之間協做是否合適。整個系統的性能和功能是否達到要求。其測試內容包含:功能測試非功能測試迴歸測試等。
  • 功能測試:主要是依據產品規格說明書。來檢驗被測試的系統是否知足各方面功能的使用要求。(黑盒測試也長被稱爲功能測試,儘管這不是一種準確的說法)
  • 迴歸測試:在程序有改動的狀況下,保證原有功能正常的一種測試方法。
  • 非功能性測試(特徵測試):性能測試、壓力測試、容量測試、安全性測試、可靠性測試和容錯性測試
  • 系統測試根據:需求說明書,概要設計說明書。具體設計說明書,最重要的是需求說明書。
  • 確認測試:確認測試又稱有效性測試。有效性測試是在模擬的環境下,運用黑盒測試的方法。驗證被測軟件是否知足需求規格說明書列出的需求。

    任務是驗證軟件的功能和性能及其它特性是否與用戶的要求一致。安全

    對軟件的功能和性能要求在軟件需求規格說明書中已經明白規定,它包括的信息就是軟件確認測試的基礎。
    網絡


(5)非功能測試實戰:


  • pagespeed.webkaka.com在線站點性能測試

 

選取站點首頁和其它幾個有表明性的頁面進行測試。併發

http://www.sc.sdu.edu.cn/default.doide

http://www.sc.sdu.edu.cn/getMoreNews.do?

newsType=84

http://www.sc.sdu.edu.cn/getNewsDetail.do?

newsId=7581


這裏僅僅截取這三個界面的測試結果



 網頁統計



結果分析

經過測試,咱們發現站點首頁的訪問速度比其它頁面慢很是多。訪問時間大概在其它網頁的4~6倍。

整體上。性能可以知足學院師生的訪問。

 

  • Google PageSpeedInsights在線測試工具

結果



問題及解決方式

1)在 HTTP 標頭中爲靜態資源設置過時日期或最長存在時間。可指示瀏覽器從本地磁盤中載入曾經下載的資源。而不是經過網絡載入。
利用瀏覽器緩存存儲可緩存的資源。

2)清除首屏內容中阻止呈現的 JavaScript 和 CSS。

網頁中有1個阻止呈現的腳本資源和2個阻止呈現的 CSS 資源。這會致使呈現網頁的過程出現延遲。

3)啓用壓縮。

使用 gzip 或 deflate 壓縮資源可以下降經過網絡發送的字節數。

壓縮 JavaScript 代碼可以節省大量數據字節空間,並提升下載、解析和運行的速度。

適當地設置圖片的格式並進行壓縮可以節省大量的數據字節空間。
壓縮 HTML 代碼(包含當中所含的不論什麼內嵌 JavaScript 和 CSS)可以節省大量數據字節空間。並提升下載和解析的速度。


壓縮 CSS 代碼可以節省大量數據字節空間。並提升下載和解析的速度。





  • apache ab工具



結果

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/

Server Software:

*****************

Server Hostname:

www.sc.sdu.edu.cn

Server Port:

80

Document Path:

/default.do

Document Length:

21541 bytes

Concurrency Level:

40

Time taken for tests:

0.273954 seconds

Complete requests:

1000

Failed requests:

0

Total transferred:

21757000 bytes

HTML transferred:

21541000 bytes

Requests per second:

3.65

Transfer rate:

79.42 kb/s received

Connnection Times (ms)

 

min

avg

max

Connect:

0

3

47

Processing:

4521

10830

16780

Total:

4521

10833

16827

 

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/

Server Software:

*****************

Server Hostname:

www.sc.sdu.edu.cn

Server Port:

80

Document Path:

/getNewsDetail.do?newsId=7525

Document Length:

7134 bytes

Concurrency Level:

40

Time taken for tests:

0.5438 seconds

Complete requests:

1000

Failed requests:

0

Total transferred:

7372000 bytes

HTML transferred:

7134000 bytes

Requests per second:

183.89

Transfer rate:

1355.65 kb/s received

Connnection Times (ms)

 

min

avg

max

Connect:

1

1

23

Processing:

14

212

281

Total:

15

213

304

 

 

參數解釋

Document Path             #測試的頁面

Document Length          #頁面大小

Concurrency Level        #測試的併發數

Time taken fortests              #整個測試持續的時間

Complete requests         #完畢的請求數量

Failed requests              #失敗的請求數量

Write errors: 0

Total transferred            #整個過程當中的網絡傳輸量

HTML transferred          #整個過程當中的HTML內容傳輸量

Requests persecond       #至關於LR中的每秒事務數。後面括號裏的mean表示這是一個平均值

Time per request    #至關於LR中的平均事務響應時間,後面括號裏的mean表示這是一個平均值

Time per request    #每個鏈接請求實際執行時間的平均值

Transfer rate          #平均每秒網絡上的流量,可以幫助排除是否存在網絡流量過大致使響應時間延長的問題

 

測試結果

站點首頁的訪問速度比其它頁面慢很是多。

整體上,性能可以知足學院師生的訪問。

 


  • 站點安全性測試——360在線站點安全檢測


輸入網址www.sc.sdu.edu.cn。進行檢測。如下給出綜合結果:





看來站點在設計或製做時存在漏洞,進一步咱們獲得:


安全漏洞集中在「核心數據被非法更改」和「server配置信息泄露」上,應該是在設計數據庫和網頁時沒有作好權限管理。

相關文章
相關標籤/搜索