|
1 概述 在一個(gè)軟件項(xiàng)目開(kāi)發(fā)中,系統(tǒng)測(cè)試是保證整體項(xiàng)目質(zhì)量的重要一環(huán),本文將就網(wǎng)站的測(cè)試技術(shù)及相應(yīng)的自動(dòng)測(cè)試工具做一個(gè)簡(jiǎn)要的介紹。主要就如下幾個(gè)方面進(jìn)行探討:
- 功能測(cè)試
- 性能測(cè)試
- 安全性測(cè)試
- 穩(wěn)定性測(cè)試
- 瀏覽器兼容性測(cè)試
- 可用性/易用性測(cè)試
- 鏈接測(cè)試
- 代碼合法性測(cè)試
2 測(cè)試內(nèi)容 2.1 功能測(cè)試 在實(shí)際工作中,功能在每一個(gè)系統(tǒng)中的具有其不確定性,而我們不可能采用窮舉的方法進(jìn)行測(cè)試,因而導(dǎo)致了功能測(cè)試較為困難,我們依據(jù)80/20原則(即80%的錯(cuò)誤存在于系統(tǒng)的20%的部分)對(duì)于測(cè)試用例的設(shè)計(jì)采用如下兩種方法 2.1.1 白盒測(cè)試 白盒測(cè)試即使用程序設(shè)計(jì)的控制結(jié)構(gòu)導(dǎo)出測(cè)試用例?;谀壳暗默F(xiàn)狀我們采用基本路徑測(cè)試方法進(jìn)行白盒測(cè)試,此種方法簡(jiǎn)單高效。基本路徑測(cè)試方法的簡(jiǎn)單說(shuō)明如下: ¨ 首先通過(guò)系統(tǒng)設(shè)計(jì)的流程圖導(dǎo)出數(shù)據(jù)流圖 ¨ 根據(jù)數(shù)據(jù)流圖計(jì)算其環(huán)形復(fù)雜性 V(G)=E-N+2 或 V(G)=P+1 V(G):環(huán)形負(fù)責(zé)性 E :流圖中邊的數(shù)量 N :流圖中節(jié)點(diǎn)的數(shù)量 P :流圖中判定節(jié)點(diǎn)的數(shù)量 ¨ 我們?cè)O(shè)定V(G)條路徑 ¨ 我們?cè)O(shè)計(jì)V(G)條路徑的模擬數(shù)據(jù) ¨ 根據(jù)數(shù)據(jù)進(jìn)行相應(yīng)的測(cè)試 2.1.2 黑盒測(cè)試 黑盒測(cè)試即派生出執(zhí)行程序所有功能需求的輸入條件,從而導(dǎo)出測(cè)試用例,進(jìn)行測(cè)試的方法,黑盒測(cè)試用于輔助白盒測(cè)試。 我們采用等價(jià)劃分的方法進(jìn)行測(cè)試,即為將程序的輸入域劃分為數(shù)據(jù)類,以便導(dǎo)出測(cè)試用例。一般情況下輸入條件為:一個(gè)特定的數(shù)值、一個(gè)數(shù)值域、一組相關(guān)值或者一個(gè)布爾條件。 2.1.3 網(wǎng)站功能測(cè)試 對(duì)于網(wǎng)站的測(cè)試而言,每一個(gè)獨(dú)立的功能模塊需要單獨(dú)的測(cè)試用例的設(shè)計(jì)導(dǎo)出,主要依據(jù)為《需求分析》,對(duì)于應(yīng)用程序模塊需要設(shè)計(jì)者提供基本路徑測(cè)試法的測(cè)試用例 具有測(cè)試用例后可以采用OpenSTA(Open System Testing Architecture)進(jìn)行自動(dòng)化測(cè)試 2.2 性能測(cè)試 網(wǎng)站的性能測(cè)試對(duì)于網(wǎng)站的運(yùn)行而言異常重要,但是目前對(duì)于網(wǎng)站的性能測(cè)試做的不夠,我們?cè)谶M(jìn)行系統(tǒng)設(shè)計(jì)時(shí)也沒(méi)有一個(gè)很好的基準(zhǔn)可以參考,因而建立網(wǎng)站的性能測(cè)試的一整套的測(cè)試方案將是至關(guān)重要的。 網(wǎng)站的性能測(cè)試主要從兩個(gè)方面進(jìn)行:負(fù)荷測(cè)試(Load)和壓力測(cè)試(Stress),負(fù)荷測(cè)試指的是進(jìn)行一些邊界數(shù)據(jù)的測(cè)試,壓力測(cè)試更像是惡意測(cè)試,壓力測(cè)試傾向應(yīng)該是致使整個(gè)系統(tǒng)崩潰。 性能測(cè)試可以采用相應(yīng)的工具進(jìn)行自動(dòng)化測(cè)試,我們目前采用如下工具 ab -----Apache 的測(cè)試工具 OpenSTA—開(kāi)發(fā)系統(tǒng)測(cè)試架構(gòu)
2.3 安全性測(cè)試 目前網(wǎng)絡(luò)安全問(wèn)題日益重要,特別對(duì)于有交互信息的網(wǎng)站及進(jìn)行電子商務(wù)活動(dòng)的網(wǎng)站尤其重要。目前我們的測(cè)試沒(méi)有涵蓋網(wǎng)站的安全性的測(cè)試,我們擬定采用工具來(lái)測(cè)定,工具如下 SAINT------- Security Administrator\‘s Integrated Network Tool 此工具能夠測(cè)出網(wǎng)站系統(tǒng)的相應(yīng)的安全問(wèn)題,并且能夠給出安全漏洞的解決方案,不過(guò)是一些較為常見(jiàn)的漏洞解決方案。 2.4 穩(wěn)定性測(cè)試 網(wǎng)站的穩(wěn)定性測(cè)試是指網(wǎng)站的運(yùn)行中整個(gè)系統(tǒng)是否運(yùn)行正常,目前沒(méi)有更好的測(cè)試方案,主要采用將測(cè)試服務(wù)器長(zhǎng)時(shí)間運(yùn)轉(zhuǎn)進(jìn)行測(cè)試。 2.5 瀏覽器兼容性測(cè)試 通過(guò)白盒測(cè)試或者黑盒測(cè)試導(dǎo)出的測(cè)試用例,采用相應(yīng)的工具進(jìn)行測(cè)試,可以采用OpenSTA進(jìn)行測(cè)試,此測(cè)試工具可以采用不同的瀏覽器進(jìn)行測(cè)試。 2.6 可用性/易用性測(cè)試 可用性/易用性方面目前我們只能采用手工測(cè)試的方法進(jìn)行評(píng)判,而且缺乏一個(gè)很好的評(píng)判基準(zhǔn)進(jìn)行,此一方面需要大家共同討論。 2.7 鏈接測(cè)試 超級(jí)鏈接對(duì)于網(wǎng)站用戶而言意味著能不能流暢的使用整個(gè)網(wǎng)站提供的服務(wù),因而鏈接將作為一個(gè)獨(dú)立的項(xiàng)目進(jìn)行測(cè)試。目前我們已經(jīng)有了一個(gè)測(cè)試工具 Xenu------主要測(cè)試鏈接的正確性的工具 可惜的是對(duì)于動(dòng)態(tài)生成的頁(yè)面的測(cè)試會(huì)出現(xiàn)一些錯(cuò)誤。 2.8 代碼合法性測(cè)試 代碼合法性測(cè)試主要包括2個(gè)部分:程序代碼合法性檢查與顯示代碼合法性檢查 ¨ 程序代碼合法性檢查 程序代碼合法性檢查主要標(biāo)準(zhǔn)為《intergrp小組編程規(guī)范》,目前采用由SCM管理員進(jìn)行規(guī)范的檢查,未來(lái)期望能夠有相應(yīng)的工具進(jìn)行測(cè)試。 ¨ 顯示代碼合法性檢查 顯示代碼的合法性檢查,主要分為Html、JavaScript、Css代碼檢查,目前采用 HTML代碼檢查------采用CSE HTML Validator進(jìn)行測(cè)試 JavaScript、Css也可以在網(wǎng)上下載相應(yīng)的測(cè)試工具。 3 測(cè)試工具
- OpenSTA
主要做性能測(cè)試的負(fù)荷及壓力測(cè)試,使用比較方便,可以編寫(xiě)測(cè)試腳本,也可以先行自動(dòng)生成測(cè)試腳本,而后對(duì)于應(yīng)用測(cè)試腳本進(jìn)行測(cè)試。
- SAINT
網(wǎng)站安全性測(cè)試,能夠?qū)τ谥付ňW(wǎng)站進(jìn)行安全性測(cè)試,并可以提供安全問(wèn)題的解決方案。
- CSE HTML Validator
一個(gè)有用的對(duì)于HTML代碼進(jìn)行合法性檢查的工具
- Ab(Apache Bench)
Apache自帶的對(duì)于性能測(cè)試方面的工具,功能不是很多,但是非常實(shí)用。
- Crash-me
Mysql自帶的測(cè)試數(shù)據(jù)庫(kù)性能的工具,能夠測(cè)試多種數(shù)據(jù)庫(kù)的性能。
上述工具除Ab及Crash-me外均可在以下目錄中找得到 \\smbserver\apps\linuxapp\intergrp ab及Crash-me請(qǐng)至相應(yīng)的網(wǎng)站上察看相應(yīng)的資料}
4 后記 此文只是對(duì)于網(wǎng)站的測(cè)試方面做了一個(gè)簡(jiǎn)單的介紹,提供的工具比較少,但是可以保證能夠使用(當(dāng)然都是可以從網(wǎng)上免費(fèi)得到的),另外還有很多測(cè)試工具是需要Money的,大家有興趣可以試用,對(duì)于上述提到的測(cè)試工具我也只是做了一個(gè)初步的調(diào)研,詳細(xì)的功能說(shuō)明請(qǐng)察看相關(guān)的說(shuō)明文檔。 對(duì)于網(wǎng)站的測(cè)試中比較重要的還有一個(gè)部分就是對(duì)于數(shù)據(jù)庫(kù)的測(cè)試,由于對(duì)于數(shù)據(jù)庫(kù)性能測(cè)試較好的工具需要一些Money因而我們采用Mysql的Crash-me,但是同時(shí)也存在一個(gè)問(wèn)題就是對(duì)于不同的數(shù)據(jù)庫(kù)的測(cè)試采用第三方的工具較好。因而大家可以對(duì)于其他數(shù)據(jù)庫(kù)性能測(cè)試的工具進(jìn)行研究。
5 參考資料 (1)《軟件工程-實(shí)踐者的研究方法》-----Roger S.Pressman (2) http://www. (3) http://www./ (4) http://www. (5) http://www.
|