明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

網(wǎng)站測試技術(shù)簡介

[摘要]作者:丁來慶 1 概述 在一個軟件項目開發(fā)中,系統(tǒng)測試是保證整體項目質(zhì)量的重要一環(huán),本文將就網(wǎng)站的測試技術(shù)及相應(yīng)的自動測試工具做一個簡要的介紹。主要就如下幾個方面進行探討: 功能測試 ...
作者:丁來慶

1 概述
在一個軟件項目開發(fā)中,系統(tǒng)測試是保證整體項目質(zhì)量的重要一環(huán),本文將就網(wǎng)站的測試技術(shù)及相應(yīng)的自動測試工具做一個簡要的介紹。主要就如下幾個方面進行探討:

功能測試
性能測試
安全性測試
穩(wěn)定性測試
瀏覽器兼容性測試
可用性/易用性測試
鏈接測試
代碼合法性測試

2 測試內(nèi)容
2.1 功能測試
在實際工作中,功能在每一個系統(tǒng)中的具有其不確定性,而我們不可能采用窮舉的方法進行測試,因而導(dǎo)致了功能測試較為困難,我們依據(jù)80/20原則(即80%的錯誤存在于系統(tǒng)的20%的部分)對于測試用例的設(shè)計采用如下兩種方法
2.1.1 白盒測試
白盒測試即使用程序設(shè)計的控制結(jié)構(gòu)導(dǎo)出測試用例;谀壳暗默F(xiàn)狀我們采用基本路徑測試方法進行白盒測試,此種方法簡單高效;韭窂綔y試方法的簡單說明如下:
¨ 首先通過系統(tǒng)設(shè)計的流程圖導(dǎo)出數(shù)據(jù)流圖
¨ 根據(jù)數(shù)據(jù)流圖計算其環(huán)形復(fù)雜性
V(G)=E-N+2
或 V(G)=P+1
V(G):環(huán)形負責(zé)性
E :流圖中邊的數(shù)量
N :流圖中節(jié)點的數(shù)量
P :流圖中判定節(jié)點的數(shù)量
¨ 我們設(shè)定V(G)條路徑
¨ 我們設(shè)計V(G)條路徑的模擬數(shù)據(jù)
¨ 根據(jù)數(shù)據(jù)進行相應(yīng)的測試
2.1.2 黑盒測試
黑盒測試即派生出執(zhí)行程序所有功能需求的輸入條件,從而導(dǎo)出測試用例,進行測試的方法,黑盒測試用于輔助白盒測試。
我們采用等價劃分的方法進行測試,即為將程序的輸入域劃分為數(shù)據(jù)類,以便導(dǎo)出測試用例。一般情況下輸入條件為:一個特定的數(shù)值、一個數(shù)值域、一組相關(guān)值或者一個布爾條件。
2.1.3 網(wǎng)站功能測試
對于網(wǎng)站的測試而言,每一個獨立的功能模塊需要單獨的測試用例的設(shè)計導(dǎo)出,主要依據(jù)為《需求分析》,對于應(yīng)用程序模塊需要設(shè)計者提供基本路徑測試法的測試用例
具有測試用例后可以采用OpenSTA(Open System Testing Architecture)進行自動化測試
2.2 性能測試
網(wǎng)站的性能測試對于網(wǎng)站的運行而言異常重要,但是目前對于網(wǎng)站的性能測試做的不夠,我們在進行系統(tǒng)設(shè)計時也沒有一個很好的基準可以參考,因而建立網(wǎng)站的性能測試的一整套的測試方案將是至關(guān)重要的。
網(wǎng)站的性能測試主要從兩個方面進行:負荷測試(Load)和壓力測試(Stress),負荷測試指的是進行一些邊界數(shù)據(jù)的測試,壓力測試更像是惡意測試,壓力測試傾向應(yīng)該是致使整個系統(tǒng)崩潰。
性能測試可以采用相應(yīng)的工具進行自動化測試,我們目前采用如下工具
ab -----Apache 的測試工具
OpenSTA—開發(fā)系統(tǒng)測試架構(gòu)

2.3 安全性測試
目前網(wǎng)絡(luò)安全問題日益重要,特別對于有交互信息的網(wǎng)站及進行電子商務(wù)活動的網(wǎng)站尤其重要。目前我們的測試沒有涵蓋網(wǎng)站的安全性的測試,我們擬定采用工具來測定,工具如下
SAINT------- Security Administrator's Integrated Network Tool
此工具能夠測出網(wǎng)站系統(tǒng)的相應(yīng)的安全問題,并且能夠給出安全漏洞的解決方案,不過是一些較為常見的漏洞解決方案。
2.4 穩(wěn)定性測試
網(wǎng)站的穩(wěn)定性測試是指網(wǎng)站的運行中整個系統(tǒng)是否運行正常,目前沒有更好的測試方案,主要采用將測試服務(wù)器長時間運轉(zhuǎn)進行測試。
2.5 瀏覽器兼容性測試
通過白盒測試或者黑盒測試導(dǎo)出的測試用例,采用相應(yīng)的工具進行測試,可以采用OpenSTA進行測試,此測試工具可以采用不同的瀏覽器進行測試。
2.6 可用性/易用性測試
可用性/易用性方面目前我們只能采用手工測試的方法進行評判,而且缺乏一個很好的評判基準進行,此一方面需要大家共同討論。
2.7 鏈接測試
超級鏈接對于網(wǎng)站用戶而言意味著能不能流暢的使用整個網(wǎng)站提供的服務(wù),因而鏈接將作為一個獨立的項目進行測試。目前我們已經(jīng)有了一個測試工具
Xenu------主要測試鏈接的正確性的工具
可惜的是對于動態(tài)生成的頁面的測試會出現(xiàn)一些錯誤。
2.8 代碼合法性測試
代碼合法性測試主要包括2個部分:程序代碼合法性檢查與顯示代碼合法性檢查
¨ 程序代碼合法性檢查
程序代碼合法性檢查主要標準為《intergrp小組編程規(guī)范》,目前采用由SCM管理員進行規(guī)范的檢查,未來期望能夠有相應(yīng)的工具進行測試。
¨ 顯示代碼合法性檢查
顯示代碼的合法性檢查,主要分為Html、JavaScript、Css代碼檢查,目前采用
HTML代碼檢查------采用CSE HTML Validator進行測試
JavaScript、Css也可以在網(wǎng)上下載相應(yīng)的測試工具。
3 測試工具
OpenSTA
主要做性能測試的負荷及壓力測試,使用比較方便,可以編寫測試腳本,也可以先行自動生成測試腳本,而后對于應(yīng)用測試腳本進行測試。
SAINT
網(wǎng)站安全性測試,能夠?qū)τ谥付ňW(wǎng)站進行安全性測試,并可以提供安全問題的解決方案。
CSE HTML Validator
一個有用的對于HTML代碼進行合法性檢查的工具
Ab(Apache Bench)
Apache自帶的對于性能測試方面的工具,功能不是很多,但是非常實用。
Crash-me
Mysql自帶的測試數(shù)據(jù)庫性能的工具,能夠測試多種數(shù)據(jù)庫的性能。

上述工具除Ab及Crash-me外均可在以下目錄中找得到
\smbserver\apps\linuxapp\intergrp
ab及Crash-me請至相應(yīng)的網(wǎng)站上察看相應(yīng)的資料}

4 后記
此文只是對于網(wǎng)站的測試方面做了一個簡單的介紹,提供的工具比較少,但是可以保證能夠使用(當(dāng)然都是可以從網(wǎng)上免費得到的),另外還有很多測試工具是需要Money的,大家有興趣可以試用,對于上述提到的測試工具我也只是做了一個初步的調(diào)研,詳細的功能說明請察看相關(guān)的說明文檔。
對于網(wǎng)站的測試中比較重要的還有一個部分就是對于數(shù)據(jù)庫的測試,由于對于數(shù)據(jù)庫性能測試較好的工具需要一些Money因而我們采用Mysql的Crash-me,但是同時也存在一個問題就是對于不同的數(shù)據(jù)庫的測試采用第三方的工具較好。因而大家可以對于其他數(shù)據(jù)庫性能測試的工具進行研究。

5 參考資料
(1)《軟件工程-實踐者的研究方法》-----Roger S.Pressman
(2) http://www.softwareqatest.com
(3) http://www.soft.com/
(4) http://www.qaforums.com
(5) http://www.opensta.org