標籤:
在軟體開發中。常常會遇到這種情況。單元測試時確認每一個模組都能單獨工作,但這些模組整合在一起之後會出現有些模組不能正常工作。比如,在chrome環境下用js寫了一個即時捕捉video中特定地區的模組,正常工作;利用worker線程進行webgl情境渲染,也正常。但是當兩個運算合并時。出現一個模組不能正常執行,原因在於兩個模組不適合在worker線程中結合。基於worker本身的局限性,僅僅能有一個模組正常工作。
所以,非常有必要進行整合測試。
(1)整合測試定義:
整合測試是將軟體整合起來,對模組之間的介面進行測試。
(2)整合種類:
- 模組內的整合,主要是測試模組內各個介面間的互動整合關係
- 子系統內的整合。測試子系統內各個模組間的互動關係
- 系統內的整合,測試系統內各個子系統和模組間的整合關係
(3)兩種整合測試模式:
- 非漸增式測試模式:先分別測試每一個模組,再把全部模組按設計要求放在一起結合成所要的程式。如大棒模式
- 漸增式測試模式:把下一個要測試的模組同已經測試好的模組結合進來進行測試,測試完後再把下一個應該測試的模組結合起來測試。漸增式測試又能夠依據每次加入模組的路線分為自頂向下測試、自底向上測試和混合測試等方式
優缺點:
- 漸增式須要編寫的軟體較多,工作量較大,而非漸增式測試開銷小
- 漸增式測試模式發現模組間介面錯誤早。而非漸增式測試晚
- 非漸增式測試模式發現錯誤。較難診斷,而使用漸增式測試模式。假設錯誤發生則往往和近期加進來的那個模組有關
- 漸增式測試模式測試更徹底
- 漸增式測試模式須要較多的機器時間
- 使用非漸增式測試模式,能夠並行測試
詳細方法:
(4)系統測試
(5)非功能測試實戰:
- pagespeed.webkaka.com線上網站效能測試
選取網站首頁和其它幾個有代表性的頁面進行測試。
http://www.sc.sdu.edu.cn/default.do
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 代碼能夠節省大量資料位元組空間。並提高下載和解析的速度。
結果
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 #平均每秒網路上的流量,能夠協助排除是否存在網路流量過大導致回應時間延長的問題
測試結果
網站首頁的訪問速度比其它頁面慢非常多。
總體上,效能能夠滿足學院師生的訪問。
輸入網址www.sc.sdu.edu.cn。進行檢測。以下給出綜合結果:
看來網站在設計或製作時存在漏洞,進一步我們得到:
安全性漏洞集中在“核心資料被非法更改”和“server配置資訊泄露”上,應該是在設計資料庫和網頁時沒有做好許可權管理。
軟體測試基本方法(六)之整合測試和系統測試