目錄·序言

15.8 運(yùn)用測試工具

移山之道:VSTS軟件開發(fā)指南 作者:鄒欣


  15.8運(yùn)用測試工具

  前面說了這么多理論和規(guī)定,我們看看實(shí)際工作如何進(jìn)行。VSTS既然是一套軟件工具,它一定有一些幫助測試人員的工具。Visual Studio 2005的眾多套件中,有一款是:Visual Studio Team Edition for Software Tester。我們在這里也簡單地介紹基本工具的使用。

  15.8.1運(yùn)用工具記錄手工測試

  不管多少人,多少文章描述了“測試自動(dòng)化”及其前景,這些自動(dòng)化的東西最初還是得有人“手動(dòng)”地進(jìn)行。下面的步驟演示了如何創(chuàng)建手工測試。

 ?。?)在VSTS(有Team Edition For Tester 套件)中,新建一個(gè)項(xiàng)目,在Visual C# 或者其他類型中,選中Test。填入適當(dāng)?shù)捻?xiàng)目名字和解決方案的名字,可以把它加入源碼控制中。

  我們會(huì)看到新的項(xiàng)目新建了不少文件(如圖15-2所示)。其中有UnitTest1.cs,我們之前已經(jīng)談過。另一個(gè)文件是ManualTest1.mht。

圖15-2創(chuàng)建新的測試項(xiàng)目

  (2)打開ManualTest1.mht,你會(huì)看到它是模板(又一個(gè)模板),在這個(gè)文件中,你可以填入下面的內(nèi)容:

  a. 測試的標(biāo)題(Test Title)——簡明的標(biāo)題。

  b. 測試的詳情(Test Details)——測什么。

  c. 測試的對(duì)象(Test Target)——測試什么功能。

  d. 測試的步驟(Test Steps)——提供詳細(xì)的測試步驟和每一步期望的結(jié)果。

  e. 修改的記錄(Revision History)——對(duì)這一測試進(jìn)行修改的歷史記錄。

  九條:不就是這樣一個(gè)簡單的文件么,我自己不用寫也可以記住。

  阿亨:好記性不如爛筆頭,當(dāng)測試矩陣有上百個(gè)可能的設(shè)置,產(chǎn)品又日趨復(fù)雜的時(shí)候,我們需要把一些手工測試記下來。

  15.8.2運(yùn)用工具記錄自動(dòng)測試

  對(duì)于網(wǎng)絡(luò)程序,我們可以把對(duì)網(wǎng)頁的訪問像錄音一樣錄下,以后測試的時(shí)候重新放錄音帶即可。

  操作:鼠標(biāo)右鍵選中測試項(xiàng)目,選擇 Add | Web Test(如圖15-3所示)。

圖15-3新增加一個(gè) Web Test

  Internet Explorer 就會(huì)打開,同時(shí)Web Test Recorder 也會(huì)激活,測試人員就可以按照場景測試網(wǎng)站的各項(xiàng)功能進(jìn)行測試,同時(shí)注意到Web Test Recorder 會(huì)記錄每一個(gè)網(wǎng)頁的地址,以及可能的參數(shù)。

  測試人員可以進(jìn)一步增強(qiáng)測試的內(nèi)容(如圖15-4所示):

圖15-4進(jìn)一步增加Web Test 的功能

  其中值得提出來的是,測試人員可以選中 “Generate Code”,生成測試腳本,可以在腳本一級(jí)開發(fā)測試。

  不同的測試可以以不同的次序結(jié)合起來運(yùn)行,測試人員可以用“Ordered Test”來管理這樣的測試集合。可以用和創(chuàng)建Web Test 類似的方法創(chuàng)建 Ordered Test。

  15.8.3如何測試效能

  除了功能方面的測試外,我們還要測試那些“服務(wù)質(zhì)量”。如效能測試、負(fù)載測試、壓力測試。我們在第7章中講到了這三種測試的區(qū)別。在Stone 項(xiàng)目中,以產(chǎn)品搜索為例,這三種測試的區(qū)別如下:

  效能測試:在100個(gè)用戶的情況下,產(chǎn)品搜索必須在3秒鐘內(nèi)返回結(jié)果。

  負(fù)載測試:在2 000 用戶的情況下,產(chǎn)品搜索必須在8秒鐘內(nèi)返回結(jié)果。

  壓力測試:在高峰壓力(4 000 用戶)持續(xù)48小時(shí)的情況下,產(chǎn)品搜索的返回時(shí)間必須保持穩(wěn)定。系統(tǒng)不至于崩潰。

  我們可以舉一個(gè)現(xiàn)實(shí)生活中旅客列車的例子:

  效能測試:在80%上座率的情況下,期望:列車按時(shí)到達(dá),并且乘客享受到優(yōu)質(zhì)服務(wù)。

  負(fù)載測試:在100%上座率的情況下,期望:列車大部分按時(shí)到達(dá),乘客享受到基本服務(wù)。

  壓力測試:在高峰壓力是200%上座率,全國鐵路系統(tǒng)增加20%列車,持續(xù)15天的情況下,期望:列車能到站,乘客能活著下車,系統(tǒng)不至于崩潰。

  效能、負(fù)載、壓力這些方面的測試會(huì)產(chǎn)生很多數(shù)據(jù),這些數(shù)據(jù)最好保存在數(shù)據(jù)庫中,以便于跟蹤分析。這些數(shù)據(jù)為以后做網(wǎng)站容量規(guī)劃(Capacity Planning,又稱能力規(guī)劃)提供重要的依據(jù)。

  在VSTS中,效能和壓力測試都可以用“Load Test”來實(shí)現(xiàn),Load Test 牽涉到許多因素,因此我們需要按部就班地設(shè)置,如圖15-5所示:

圖15-5創(chuàng)建負(fù)載測試向?qū)?/p>

  負(fù)載測試的一個(gè)核心概念是“場景”,這和軟件設(shè)計(jì)的場景有所區(qū)別,它主要包含負(fù)載測試的各種參數(shù):

  (1)停頓時(shí)間(Think Time):在每次請求之間和一批測試之間的停頓。

  (2)負(fù)載模型(Load Pattern):模擬的用戶量是恒定在一個(gè)數(shù)值(如:總是30 個(gè)用戶),或者是分級(jí)進(jìn)行(如:開始是5個(gè)用戶,每分鐘增加10個(gè)用戶,直到最高50 個(gè)用戶)。

 ?。?)測試混合模型(Test Mix):此次負(fù)載測試要運(yùn)行多少種測試,每種測試所占的比例是多少。

 ?。?)瀏覽器混合模型(Browser Mix):各種瀏覽器的選擇及比例。

 ?。?)網(wǎng)絡(luò)混合模型(Network Mix):各種帶寬的網(wǎng)絡(luò)及比例。

  設(shè)置場景后,下一步要決定我們收集什么樣的效能數(shù)據(jù)(Performance Counter),這時(shí)候,我們可以收集代理機(jī)器(Agent,模擬的服務(wù)請求從這里發(fā)出)和控制機(jī)器(Controller)的效能數(shù)據(jù),更重要的是收集網(wǎng)絡(luò)服務(wù)器的效能數(shù)據(jù)(如圖15-6所示)。

圖15-6收集效能數(shù)據(jù)

  這些效能數(shù)據(jù)會(huì)反映在負(fù)載測試中。

  最后一步是設(shè)置運(yùn)行負(fù)載測試中的各種參數(shù)。

  圖15-7是一個(gè)網(wǎng)絡(luò)負(fù)載測試運(yùn)行的結(jié)果圖:

圖15-7負(fù)載測試運(yùn)行結(jié)果

  九條:數(shù)據(jù)太多了,我看這個(gè)表有點(diǎn)頭暈,比打麻將要看的數(shù)據(jù)多多了。

  阿亨:的確,網(wǎng)絡(luò)應(yīng)用的負(fù)載測試是一個(gè)復(fù)雜的領(lǐng)域,我們要下一番苦功把它掌握。一般把所有數(shù)據(jù)都保持到數(shù)據(jù)庫中,以便將來做分析。但是我們還是要明確測試的目標(biāo):看看網(wǎng)絡(luò)服務(wù)器能否在規(guī)定時(shí)間內(nèi)處理用戶的請求,服務(wù)器上有沒有出現(xiàn)錯(cuò)誤。這兩種數(shù)據(jù)都能夠馬上得到。


上一章目錄下一章

Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)