版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第七章 軟件測(cè)試自動(dòng)化,[本章要點(diǎn)] 1.自動(dòng)化測(cè)試應(yīng)考慮的各種因素; 2. 自動(dòng)化測(cè)試和手工測(cè)試中涉及的問題以及二者的優(yōu)缺點(diǎn); 3.應(yīng)用自動(dòng)化測(cè)試工具的目的; 4.自動(dòng)化測(cè)試工具的分類和選擇方法; 5.自動(dòng)化測(cè)試過程實(shí)例及自動(dòng)化測(cè)試經(jīng)驗(yàn)。,[本章目標(biāo)] 1.了解自動(dòng)化測(cè)試應(yīng)考慮的各種因素以及如何衡量自動(dòng)化測(cè)試成本。 2.掌握自動(dòng)化測(cè)試和手工測(cè)試的優(yōu)缺點(diǎn)。 3.了解測(cè)試工具的分類、使用目的及其選擇,了解幾種常用
2、的測(cè)試工具。 4.了解自動(dòng)化測(cè)試的過程。,7.1進(jìn)行自動(dòng)化測(cè)試的適當(dāng)時(shí)機(jī) 通常,軟件測(cè)試的工作量很大(據(jù)統(tǒng)計(jì),測(cè)試會(huì)占用到40%的開發(fā)時(shí)間;一些可靠性要求非常高的軟件,測(cè)試時(shí)間甚至占到開發(fā)時(shí)間的60%)。而測(cè)試中的許多操作是重復(fù)性的、非智力性的和非創(chuàng)造性的,并要求做準(zhǔn)確細(xì)致的工作,計(jì)算機(jī)就最適合于代替人工去完成這樣的任務(wù)。 軟件自動(dòng)化測(cè)試是相對(duì)手工測(cè)試而存在的,主要是通過所開發(fā)的軟件測(cè)試工具、腳本等來實(shí)現(xiàn),具有良
3、好的可操作性、可重復(fù)性和高效率等特點(diǎn)。在進(jìn)行自動(dòng)化測(cè)試前,首先要建立一個(gè)對(duì)軟件測(cè)試自動(dòng)化的認(rèn)識(shí)觀。軟件測(cè)試工具能提高測(cè)試效率、覆蓋率和可靠性等,自動(dòng)化測(cè)試雖然具有很多優(yōu)點(diǎn),但它只是測(cè)試工作的一部分,是對(duì)手工測(cè)試的一種補(bǔ)充。自動(dòng)化測(cè)試絕不能代替手工測(cè)試,它們各有各自的特點(diǎn),其測(cè)試對(duì)象和測(cè)試范圍都不一樣:,7.1.1概述 當(dāng)針對(duì)產(chǎn)品的一些特征來設(shè)計(jì)一系列測(cè)試時(shí),對(duì)每一個(gè)測(cè)試都需要決定是否對(duì)其進(jìn)行自動(dòng)化測(cè)試。 在
4、決定是否要進(jìn)行自動(dòng)化測(cè)試之前,通常需要考慮如下幾個(gè)主要問題: 1.同手工測(cè)試相比,只運(yùn)行一次的自動(dòng)化測(cè)試要多付出多少代價(jià)? 2.自動(dòng)化測(cè)試的生命周期是有限的。那么,這類測(cè)試是否遲早要終止?什么事件將會(huì)導(dǎo)致測(cè)試中止? 3.在整個(gè)生命周期內(nèi),這次測(cè)試能捕獲到新bug的可能性會(huì)有多大?這些難以預(yù)計(jì)的收益能夠使自動(dòng)化測(cè)試的成本得到補(bǔ)償嗎?,7.1.2自動(dòng)化測(cè)試的成本 創(chuàng)建一次自動(dòng)化的測(cè)試所花費(fèi)的時(shí)間要比一次
5、手工測(cè)試所花費(fèi)的時(shí)間多得多。測(cè)試成本因產(chǎn)品的架構(gòu)以及自動(dòng)化測(cè)試的方式不同而異。介紹如下幾種(費(fèi)用由高至低): 通過圖形用戶界面來測(cè)試產(chǎn)品; 使用GUI捕捉/回放工具來跟蹤測(cè)試與產(chǎn)品之間的交互,同時(shí)建立腳本; 測(cè)試的是一個(gè)編譯器;測(cè)試成本還要考慮測(cè)試時(shí)間、Bug的多少等問題。,7.1.3自動(dòng)化測(cè)試的生命周期 測(cè)試的生命周期如下圖7-1所示:,,,在決定是否進(jìn)行自動(dòng)化測(cè)試之前,必須首先估計(jì)一下,產(chǎn)品的代碼
6、變動(dòng)在什么范圍內(nèi),測(cè)試仍能存活。如果要求代碼不能有太多變動(dòng),要做的測(cè)試最好是非常善于捕獲bug的測(cè)試. 介于需要被測(cè)試的代碼和測(cè)試之間的代碼稱作中介代碼(intervening code)。 一、中介代碼的變動(dòng)對(duì)測(cè)試周期的影響 中介代碼是使測(cè)試中止的一個(gè)主要原因。 例如,用戶界面以前要求輸入電話號(hào)碼,現(xiàn)在變?yōu)樘峁┮粋€(gè)可視的電話鍵盤,使用鼠標(biāo)點(diǎn)擊數(shù)字來模擬使用真實(shí)的電話。雖然通過兩種界面向被測(cè)試的
7、代碼傳遞的都是相同的數(shù)據(jù),但是因?yàn)闆]有了提供輸入電話號(hào)碼的地方,自動(dòng)化測(cè)試可能就會(huì)中止。,為了使測(cè)試免受中介代碼變化的影響,應(yīng)該從以下幾個(gè)方面考慮: 1、評(píng)估一下中介代碼的改變會(huì)不會(huì)影響測(cè)試。如果絕不會(huì)影響到測(cè)試,使用自動(dòng)測(cè)試就能節(jié)省大量的時(shí)間。 2、如果中介代碼的變化會(huì)影響到測(cè)試,就必須考慮一下使用測(cè)試庫函數(shù)能夠使測(cè)試不受影響的可能性會(huì)有多大。 3、假如沒有測(cè)試函數(shù)庫——如果是在捕捉/回放的模式下使用GUI測(cè)試自動(dòng)化
8、工具——不要指望測(cè)試會(huì)不受影響。,二、被測(cè)試代碼的改變對(duì)測(cè)試周期的影響 需要判斷一下被測(cè)試的代碼的穩(wěn)定性。 首先,需要重點(diǎn)考慮代碼的行為。 其次,考慮功能的增加會(huì)不會(huì)影響測(cè)試。 7.1.4自動(dòng)化測(cè)試的價(jià)值 進(jìn)行自動(dòng)化測(cè)試要解決的問題就是:自動(dòng)化測(cè)試的價(jià)值必須要超過所有因此而放棄的手工測(cè)試的價(jià)值。 考慮問題如下: 1.測(cè)試代碼的結(jié)構(gòu)要清晰。 2.測(cè)試通常是用來測(cè)試功能
9、代碼。支撐代碼對(duì)于測(cè)試者來說通常是不可見的。,3.但功能代碼的改變通常會(huì)改變代碼的行為。因此,極有可能會(huì)使測(cè)試中止,而不是報(bào)告bug。 4.測(cè)試的價(jià)值主要在于支撐代碼改變以后仍能捕獲bug的能力。 5.如果我們一點(diǎn)也不了解支撐代碼,無法知道測(cè)試是否能捕獲bug?如何估計(jì)測(cè)試是否有助于我們捕獲bug? 6.可以認(rèn)為與被測(cè)試的代碼進(jìn)行交互的其他代碼大多數(shù)是支撐代碼,支撐代碼的變化也會(huì)產(chǎn)生自動(dòng)測(cè)試所能捕獲的bug。,一
10、、分析被測(cè)試代碼的結(jié)構(gòu)對(duì)測(cè)試的影響。 例子:被測(cè)試的是一段處理從銀行賬戶里提款的代碼。 (例子詳見教材) 把被測(cè)試的代碼分成兩部分: ①功能代碼(feature code),它直接實(shí)現(xiàn)被測(cè)試代碼所完成的功能。測(cè)試會(huì)專門對(duì)其進(jìn)行調(diào)用。功能代碼(support code)可以完成用戶所進(jìn)行的操作(通過使用用戶界面的關(guān)聯(lián)代碼)。 ②支撐代碼(support code),它起到支持功能代碼 (support code)的作用
11、。測(cè)試代碼會(huì)對(duì)其進(jìn)行調(diào)用,但并沒有針對(duì)這些代碼的特殊測(cè)試。,圖7-2 功能代碼和支撐代碼示意圖,在這里,支撐代碼位于水平線以下。功能代碼位于水平線以上,共有五種不同的功能,我們只針對(duì)其中的兩個(gè)功能進(jìn)行測(cè)試。,二、被測(cè)試代碼的變化所帶來的影響。 主要考慮這樣一些問題: 1.就給定的結(jié)構(gòu)而言,代碼的變化將會(huì)產(chǎn)生什么樣的影響? 2.什么樣的變化具有測(cè)試價(jià)值? 假設(shè)一些功能代碼發(fā)生了變化,如圖7-3中灰色圖形所示:
12、 這種變化極有可能會(huì)導(dǎo)致調(diào)用功能代碼的測(cè)試中止。因此,如果希望使用自動(dòng)化測(cè)試的方法在發(fā)生變化的功能代碼(feature code)中找到bug,就必須終止原有測(cè)試。如果測(cè)試的成本很高,這樣做是很不經(jīng)濟(jì)的。,為了使原有的測(cè)試行為仍然能夠保留,通常采用的做法是更改支撐代碼(support code)以便能夠支持其他功能代碼的變動(dòng)。請(qǐng)看圖7-4:,圖7-3,圖7-4,三、支撐代碼的變化對(duì)測(cè)試的影響 主要從以下兩方面來考
13、慮這個(gè)問題: 代碼的變化有多少?這些變化會(huì)引入多少bug? 7.1.5例子 假設(shè)我正在測(cè)試一個(gè)產(chǎn)品,測(cè)試已經(jīng)完成一半。產(chǎn)品已經(jīng)實(shí)現(xiàn)了主要的功能,但是還需要增加一些輔助功能?,F(xiàn)在我要對(duì)這些主要的功能進(jìn)行測(cè)試。 測(cè)試過程中,在同如下人員進(jìn)行交流的過程中提出的問題如下:,程序員:這些輔助的功能是否有可能需要改變產(chǎn)品的支撐代碼?程序員有可能精心設(shè)計(jì)了支撐代碼,并且考慮堅(jiān)持使用可視化的用戶界面來完善各種功
14、能。如果是這樣的話,那么自動(dòng)化測(cè)試的價(jià)值就不大。 但是因?yàn)橐庇谕瓿蓽y(cè)試,程序員也可能知道程序的支撐代碼的結(jié)構(gòu)不會(huì)一成不變的。由于大部分工作將會(huì)重復(fù)進(jìn)行,所以可能會(huì)特別需要進(jìn)行自動(dòng)化測(cè)試。或者程序員也不知道支撐代碼是否要改變。 項(xiàng)目經(jīng)理:在新版本中,新增的功能是一個(gè)十分重要的部分嗎?如果是這樣的話,由于市場(chǎng)競爭激烈,圖形用戶界面有可能改變嗎?以前,用戶界面改動(dòng)有多大?,為什么會(huì)希望今后的改動(dòng)越少越好?這些變化是為了增加功
15、能,還是用來代替現(xiàn)有的功能?我們需要切實(shí)的估計(jì)一下變動(dòng)的可能性,因?yàn)槿魏巫兓伎赡軙?huì)提高自動(dòng)化測(cè)試的成本,縮短測(cè)試的生命周期。 了解并熟悉測(cè)試工具的人員:如何應(yīng)對(duì)產(chǎn)品的變化?什么樣的變化會(huì)使測(cè)試中止?對(duì)于新增加功能的測(cè)試,遇到這些情況的幾率會(huì)有多大? 一次自動(dòng)化測(cè)試所花費(fèi)的成本相當(dāng)于幾次手工測(cè)試,并且要特別重視測(cè)試價(jià)值的大小和生命周期的長短,這樣做可能不對(duì)。但這都是為了避免犯下災(zāi)難性的錯(cuò)誤,如果自動(dòng)化測(cè)試的成本很高而
16、生命周期很短,我們最好使用手工測(cè)試。但是這并不意味著不能使用自動(dòng)化測(cè)試,而是要判斷與衡量。,在測(cè)試中,要不斷跟蹤bug報(bào)告并加以修改,保留所有和測(cè)試相關(guān)的文檔。從這些資料當(dāng)中,我們常常能夠發(fā)現(xiàn)更為重要的信息。如: ?什么樣的因素與產(chǎn)生的bug無關(guān)? ?哪里存在bug? ?代碼行為的穩(wěn)定性如何? 經(jīng)過一段時(shí)間,要進(jìn)行自動(dòng)化測(cè)試還是手工測(cè)試的想法就會(huì)逐漸成熟,可能會(huì)形成一個(gè)更大的測(cè)試套。,7.1.6另
17、外一些需要考慮的問題 1.手工測(cè)試有時(shí)候會(huì)發(fā)現(xiàn)一些自動(dòng)化測(cè)試所不能發(fā)現(xiàn)的問題。 2.盡管人善于發(fā)現(xiàn)問題,但很容易疲勞。并且不能對(duì)結(jié)果做出精確的分析。 3.由于我們不能保證每次手工輸入的數(shù)據(jù)完全相同。因此,重復(fù)的手工測(cè)試多少會(huì)有些不同,那么就有可能捕獲支撐代碼中的bug。 4.要求對(duì)配置測(cè)試進(jìn)行更多的自動(dòng)化測(cè)試。 5.如果在進(jìn)行第一次測(cè)試的時(shí)候就捕獲了bug。表明這部分程序代碼將來有可能發(fā)生變化,要進(jìn)行更多的自
18、動(dòng)化測(cè)試 。,6.如果自動(dòng)化測(cè)試的技術(shù)支持足夠強(qiáng)大,開發(fā)人員很容易就能做回歸測(cè)試,自動(dòng)化測(cè)試也要比手工測(cè)試快得多,但是并不是所有的公司都具有這樣的自動(dòng)化測(cè)試技術(shù)支持水平。 7.使用手工測(cè)試的時(shí)候捕獲了bug, 但又不能再現(xiàn)bug時(shí)會(huì)使人很沮喪。 8.程序更改之后,測(cè)試人員應(yīng)該對(duì)其進(jìn)行檢查。 9.因?yàn)檫M(jìn)行自動(dòng)化測(cè)試的創(chuàng)建要花費(fèi)一些時(shí)間,因此把第一個(gè)bug提交給程序員所花費(fèi)的時(shí)間要比手工測(cè)試花費(fèi)的時(shí)間長。 10.把測(cè)試
19、設(shè)計(jì)得簡單有利于進(jìn)行自動(dòng)化測(cè)試,但不善于捕獲bug。 11.如果產(chǎn)品的行為改變了,自動(dòng)化測(cè)試就有可能會(huì)報(bào)告一些不真實(shí)的bug。,12.如果自動(dòng)化測(cè)試創(chuàng)建的十分好,能夠有序的運(yùn)行,并且可以改變測(cè)試運(yùn)行的順序。 13.我們可以在產(chǎn)品需要測(cè)試之前先設(shè)計(jì)測(cè)試。 14.也許自動(dòng)化測(cè)試的價(jià)值直到下一個(gè)新版本發(fā)布之后才能體現(xiàn)出來。 7.2自動(dòng)化測(cè)試和手工測(cè)試比較 自動(dòng)化測(cè)試并不能完全取代手工測(cè)試,二者各有優(yōu)
20、缺點(diǎn)。 7.2.1自動(dòng)化測(cè)試與手工測(cè)試的比較 表7-1顯示了手工測(cè)試與自動(dòng)化測(cè)試的比較結(jié)果。,這個(gè)測(cè)試案例中包括1750個(gè)測(cè)試用例和700多個(gè)錯(cuò)誤。,表7-1 自動(dòng)化測(cè)試和手工測(cè)試比較,7.2.2短測(cè)試周期中手工測(cè)試面臨的挑戰(zhàn) 迭代式的開發(fā)過程已逐漸取代傳統(tǒng)的瀑布式開發(fā),成為了目前最流行的軟件開發(fā)過程。在迭代開發(fā)中強(qiáng)調(diào)在較短的時(shí)間間隔中產(chǎn)生多個(gè)可執(zhí)行、可測(cè)試的軟件版本,這就意味著測(cè)試人員也必須為每次
21、迭代產(chǎn)生的軟件系統(tǒng)進(jìn)行測(cè)試。 隨著軟件開發(fā)過程的進(jìn)展,測(cè)試工作越來越繁重,如果使用手工測(cè)試的方法,將很難保證測(cè)試工作的進(jìn)度和質(zhì)量。,7.2.3手工測(cè)試的問題 手工測(cè)試的方法是根本不可能符合軟件快速開發(fā)的要求的。大公司用自動(dòng)化測(cè)試因?yàn)樗m合自動(dòng)化測(cè)試的特點(diǎn)和有較高的投資回報(bào)率。 1、針對(duì)產(chǎn)品型項(xiàng)目的測(cè)試 2、針對(duì)增量式開發(fā)、持續(xù)集成項(xiàng)目的測(cè)試 3、針對(duì)能夠自動(dòng)編譯、自動(dòng)發(fā)布的系統(tǒng)
22、的測(cè)試 4、回歸測(cè)試 5、需要多次重復(fù)、機(jī)械性動(dòng)作的測(cè)試 6、需要頻繁運(yùn)行的測(cè)試 7、將煩瑣的任務(wù)轉(zhuǎn)化為自動(dòng)化測(cè)試,7.2.4自動(dòng)化測(cè)試的問題 自動(dòng)化測(cè)試并不能完全取代手工測(cè)試。例如:在下面幾種情況下就不適合使用自動(dòng)化測(cè)試。 定制型項(xiàng)目(一次性的) 項(xiàng)目周期很短的項(xiàng)目 涉及業(yè)務(wù)規(guī)則復(fù)雜的對(duì)象 關(guān)于美觀、聲音、易用性的測(cè)試 很少運(yùn)行的測(cè)試,如:一個(gè)月只運(yùn)行一次的測(cè)試。
23、 測(cè)試的軟件不穩(wěn)定 涉及物理交互的測(cè)試,7.2.5自動(dòng)化測(cè)試的優(yōu)點(diǎn) 1、對(duì)程序的新版本運(yùn)行己有的測(cè)試,即回歸測(cè)試。2、可以運(yùn)行更多更頻繁的測(cè)試。 3、可以進(jìn)行一些手工測(cè)試難以完成或不可能完成的測(cè)試。 4、充分地利用資源。 5、測(cè)試具有一致性和可重復(fù)性。 6、測(cè)試具有復(fù)用性。 7、縮短軟件發(fā)布的時(shí)間。8、增強(qiáng)軟件的可靠性。,7.2.6自動(dòng)化測(cè)試的缺點(diǎn) 1、自動(dòng)化測(cè)試不能取代手工測(cè)試, 測(cè)試主要還是要靠
24、人工的。 2、新缺陷越多,自動(dòng)化測(cè)試失敗的幾率就越大。 3、工具本身不具有想象力 4、技術(shù)問題、組織問題、腳本維護(hù) 5、測(cè)試工具與其他軟件的互操作性,7.3自動(dòng)化測(cè)試工具的選擇和使用 7.3.1 應(yīng)用自動(dòng)化測(cè)試工具的目的 一般而言,在測(cè)試過程中應(yīng)用自動(dòng)化測(cè)試工具主要為了以下幾個(gè)目的: 1、 提高測(cè)試質(zhì)量; 2、 減少測(cè)試過程中重復(fù)的手工勞動(dòng),提高測(cè)試效率; 3、 實(shí)現(xiàn)測(cè)試自動(dòng)
25、化,充分利用測(cè)試資源。 7.3.2自動(dòng)化測(cè)試工具的概要介紹 根據(jù)軟件生命周期中的定義,可以把自動(dòng)化測(cè)試工具分為白盒測(cè)試工具、黑盒測(cè)試工具和測(cè)試管理工具三大類。這些工具和軟件開發(fā)過程中相關(guān)活動(dòng)的關(guān)系如圖7-6所示:,,圖7-6 測(cè)試工具與開發(fā)過程關(guān)系圖,一、白盒測(cè)試工具 白盒測(cè)試工具一般是針對(duì)代碼進(jìn)行測(cè)試的工具,測(cè)試中發(fā)現(xiàn)的缺陷可以定位到代碼級(jí),根據(jù)測(cè)試原理的不同,又可以分為靜態(tài)測(cè)試工具和動(dòng)態(tài)測(cè)試工具。
26、 1、 靜態(tài)測(cè)試工具 所謂靜態(tài)測(cè)試就是不運(yùn)行測(cè)試而直接對(duì)代碼進(jìn)行分析的測(cè)試。 靜態(tài)測(cè)試工具的代表是PR公司的PRQA軟件。,2、 動(dòng)態(tài)測(cè)試工具 動(dòng)態(tài)測(cè)試主要采用“插樁”的方式,即向代碼生成的可執(zhí)行文件中插入一些監(jiān)測(cè)代碼,運(yùn)行框架程序,統(tǒng)計(jì)程序運(yùn)行時(shí)的數(shù)據(jù),可以針對(duì)所有類的成員函數(shù)進(jìn)行測(cè)試,也可以只針對(duì)類的公共接口函數(shù)進(jìn)行測(cè)試。代表有Jtest,C++test等。 二、黑盒測(cè)試工具
27、 黑盒測(cè)試工具包括功能測(cè)試工具和性能測(cè)試工具。 主要代表是WinRunner。,三、測(cè)試管理工具 測(cè)試管理工具用于對(duì)測(cè)試進(jìn)行管理。一般而言,測(cè)試管理工具主要對(duì)軟件缺陷、測(cè)試計(jì)劃、測(cè)試用例、測(cè)試實(shí)施進(jìn)行管理。,7.3.3自動(dòng)化測(cè)試工具的選擇 在考慮選用工具的時(shí)候,建議從以下幾個(gè)方面來權(quán)衡和選擇: 1、 功能 除了基本的功能之外,以下的功能需求也可以作為選擇自動(dòng)化測(cè)試工具
28、的參考: 1) 報(bào)表功能; 2) 自動(dòng)化測(cè)試工具的集成能力; 3) 操作系統(tǒng)和開發(fā)工具的兼容性;,2、價(jià)格 3、對(duì)自動(dòng)化測(cè)試工具進(jìn)行評(píng)估。 4、引入自動(dòng)化測(cè)試工具的目的是使測(cè)試自動(dòng)化。,7.3.4自動(dòng)化測(cè)試工具在測(cè)試過程中的應(yīng)用 很多引入測(cè)試軟件的公司并沒有能夠讓測(cè)試軟件發(fā)揮應(yīng)有的作用,其原因主要有三個(gè)方面: 1、沒有考慮公司的實(shí)際情況,盲目引入自動(dòng)化測(cè)試工具 2、沒有形成一
29、個(gè)良好的使用自動(dòng)化測(cè)試工具的環(huán)境 3、沒有進(jìn)行有效的自動(dòng)化測(cè)試工具的培訓(xùn),7.4性能測(cè)試實(shí)例 本節(jié)列舉了一個(gè)使用LoadRunner進(jìn)行的性能測(cè)試實(shí)例。 7.4.1 LoadRunner 簡介 LoadRunner® 是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具。通過模擬成千上萬名用戶和實(shí)施實(shí)時(shí)性能監(jiān)測(cè)來確認(rèn)和查找問題,LoadRunner能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過使用LoadRunner,企業(yè)
30、能最大限度地縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。其主要功能如下:1、輕松創(chuàng)建虛擬用戶 2、創(chuàng)建真實(shí)的負(fù)載3、定位性能問題 4、分析結(jié)果精確定位問題所在,7.4.2案例分析 該案例仍然是針對(duì)電廠兩票管理系統(tǒng)的性能測(cè)試,電廠工作人員可以使用該管理系統(tǒng)開出工作票和操作票。假設(shè)開設(shè)100個(gè)賬號(hào)和密碼可供100個(gè)工作人員同時(shí)開出工作票或操作票。要求,每臺(tái)機(jī)器只能由一個(gè)用戶使用,每個(gè)用戶只能使用各自不同的
31、賬號(hào)登錄該管理系統(tǒng),開票結(jié)束后,要求把工作票或操作票內(nèi)容存檔,若在規(guī)定的時(shí)間內(nèi)沒有存檔,則系統(tǒng)強(qiáng)制存檔。,但是,一般測(cè)試部門不可能有100臺(tái)機(jī)器同時(shí)進(jìn)行測(cè)試的。所以,使用Loadrunner模擬IP地址,修改腳本來協(xié)助測(cè)試。但是,為了保證測(cè)試結(jié)果,建議使用所有可用的機(jī)器進(jìn)行復(fù)測(cè),因?yàn)橛袝r(shí)候測(cè)試工具是不可以完全信賴的。 現(xiàn)場(chǎng)測(cè)試環(huán)境: 硬件:100臺(tái)PC機(jī),一個(gè)Web服務(wù)器 操作系統(tǒng):Windows 2000 Ser
32、ver 測(cè)試工具:Loadrunner 8.0 瀏覽器:IE5.0和IE6.0 測(cè)試人員:質(zhì)控小組4人,執(zhí)行現(xiàn)場(chǎng)測(cè)試 項(xiàng)目小組22人,提供現(xiàn)場(chǎng)環(huán)境 技術(shù)小組各1人,提供技術(shù)支持,測(cè)試要求: 100個(gè)用戶擁有獨(dú)立IP地址,不同的用戶及密碼登錄,開票操作完成后各自同時(shí)把工作票或操作票內(nèi)容存檔。測(cè)試內(nèi)容: 100個(gè)用戶以不同的用戶名和密碼登錄該管理系統(tǒng)
33、。開票完成后,把工作票或操作票內(nèi)容存檔。測(cè)試系統(tǒng)是否能正常開票以及正確存檔。 測(cè)試方案: 1、 完全50臺(tái)實(shí)際的PC機(jī)進(jìn)行現(xiàn)場(chǎng)測(cè)試。 (1) 準(zhǔn)備工作,并做計(jì)劃。第一輪測(cè)試執(zhí)行三遍,設(shè)定50個(gè)用戶開出的工作票或操作票內(nèi)容同時(shí)提交,第一遍全部使用IE5.0,第二遍25臺(tái)使用IE5.0,25臺(tái)使用IE6.0,第三遍全部使用IE6.0,(2) At 9:00 ,50個(gè)用戶同時(shí)登錄系統(tǒng)(3) At 9:05 ,50個(gè)用戶同時(shí)提交
34、(4) 分別記錄第一輪測(cè)試(三遍)的結(jié)果(5) 第二輪測(cè)試準(zhǔn)備工作,設(shè)定30個(gè)用戶開出的工作票或操作票內(nèi)容同時(shí)提交,另外20個(gè)用戶延時(shí)5分鐘提交,全部使用IE5.0(6) At 9:15 ,50個(gè)用戶同時(shí)登錄系統(tǒng)(7) At 9:20 ,30個(gè)用戶同時(shí)提交(8) At 9:25 ,剩余20個(gè)用戶同時(shí)提交(9) 記錄第二輪測(cè)試結(jié)果(10) 第三輪測(cè)試準(zhǔn)備工作,設(shè)定30個(gè)用戶開出的工作票或操作票內(nèi)容同時(shí)提交,另外20個(gè)用戶延時(shí)5
35、分鐘提交,全部使用IE6.0,(11) At 9:15 ,50個(gè)用戶同時(shí)登錄系統(tǒng) (12) At 9:20 ,30個(gè)用戶同時(shí)提交 (13) At 9:25 ,剩余20個(gè)用戶同時(shí)提交 (14) 記錄第三輪測(cè)試結(jié)果 (15) 第四輪測(cè)試準(zhǔn)備工作,設(shè)定30個(gè)用戶開出的工作票或操作票內(nèi)容同時(shí)提交,另外20個(gè)用戶延時(shí)5分鐘提交,正常提交用戶使用IE5.0,延時(shí)提交用戶使用IE6.0 (16) At 9:15 ,50個(gè)用戶同時(shí)登
36、錄系統(tǒng) (17) At 9:20 ,30個(gè)用戶同時(shí)提交 (18) At 9:25 ,剩余20個(gè)用戶同時(shí)提交 (19) 記錄第四輪測(cè)試結(jié)果 (20) 第五輪測(cè)試準(zhǔn)備工作,設(shè)定30個(gè)用戶開出的工作票或操作票內(nèi)容同時(shí)提交,另外20個(gè)用戶延時(shí)5分鐘提交,正常提交用戶使用IE6.0,延時(shí)提交用戶使用IE5.0 (21) At 9:15 ,50個(gè)用戶同時(shí)登錄系統(tǒng) (22) At 9:20 ,30個(gè)用戶同時(shí)提交,(23) At
37、 9:25 ,剩余20個(gè)用戶同時(shí)提交 (24) 記錄第五輪測(cè)試結(jié)果 (25) 第六輪測(cè)試準(zhǔn)備工作,設(shè)定30個(gè)用戶開出的工作票或操作票內(nèi)容同時(shí)提交,另外20個(gè)用戶延時(shí)5分鐘提交,正常提交用戶其中20個(gè)使用IE5.0,10個(gè)使用IE6.0,延時(shí)提交用戶使用IE5.0 (26) At 9:15 ,50個(gè)用戶同時(shí)登錄系統(tǒng) (27) At 9:20 ,30個(gè)用戶同時(shí)提交 (28) At 9:25 ,剩余20個(gè)用戶同時(shí)提交
38、(29) 記錄第六輪測(cè)試結(jié)果 (30) 第七輪測(cè)試準(zhǔn)備工作,設(shè)定25個(gè)用戶開出的工作票或操作票內(nèi)容同時(shí)提交,另外25個(gè)用戶分兩次分別延時(shí)5、15分鐘提交 (31) At 9:35 ,50個(gè)用戶同時(shí)登錄系統(tǒng),(32) At 9:40 ,25個(gè)用戶同時(shí)提交 (33) At 9:45 ,剩余的其中15個(gè)用戶同時(shí)提交 (34) At 9:55 ,其他10個(gè)用戶同時(shí)提交 (35) 記錄第七輪測(cè)試結(jié)果,參見第二輪測(cè)試-第六
39、輪測(cè)試過程分別對(duì)IE5.0和IE6.0的情況進(jìn)行測(cè)試 (36) 第八輪測(cè)試準(zhǔn)備工作,設(shè)定其中25個(gè)用戶開出的工作票或操作票內(nèi)容不提交,由系統(tǒng)強(qiáng)行提交 (37) At 10:10 ,50個(gè)用戶同時(shí)登錄系統(tǒng) (38) At 10:15 ,25個(gè)用戶同時(shí)提交 (39) 其余用戶的內(nèi)容由系統(tǒng)強(qiáng)行提交 (40) 記錄第八輪測(cè)試結(jié)果,參見第二輪測(cè)試-第六輪測(cè)試過程分別對(duì)IE5.0和IE6.0的情況進(jìn)行測(cè)試 (41) 第
40、九輪測(cè)試準(zhǔn)備工作,設(shè)定其中25個(gè)用戶開出的工作票或操作票內(nèi)容同時(shí)提交,15個(gè)用戶延時(shí)5分鐘提交,其余用戶由系統(tǒng)強(qiáng)行提交,(42) At 10:25 ,50個(gè)用戶同時(shí)登錄系統(tǒng) (43) At 10:30 ,25個(gè)用戶同時(shí)提交 (44) At 10:35 ,剩余的其中15個(gè)用戶同時(shí)提交 (45) 剩余10個(gè)用戶系統(tǒng)強(qiáng)制提交 (46) 記錄第九輪測(cè)試結(jié)果,參見第二輪測(cè)試-第六輪測(cè)試過程分別對(duì)IE5.0和IE6.0的情況進(jìn)行測(cè)試
41、 2、模擬50個(gè)用戶進(jìn)行測(cè)試。其中,18臺(tái)是PC機(jī),另外32臺(tái)機(jī)器的IP地址是Loadrunner模擬出來的。 (1) 在18臺(tái)實(shí)際的PC機(jī)中抽取其中一臺(tái)虛擬32個(gè)IP地址,包括自身的IP地址,這臺(tái)機(jī)器上共33個(gè)IP地址,這33個(gè)IP地址只能全部使用IE5.0或者全部使用IE6.0 (2) 其余17臺(tái)實(shí)際的PC機(jī)分別由17個(gè)人操作,另外一臺(tái)機(jī)器由一位質(zhì)控小組人員操作,(3) 對(duì)于異常情況,延時(shí)提交和強(qiáng)制提交全部由實(shí)際的機(jī)
42、器來模擬 (4) 其余過程參見1 3、模擬50個(gè)用戶進(jìn)行測(cè)試。其中,10臺(tái)是PC機(jī),另外40臺(tái)機(jī)器的IP地址是用Loadrunner模擬出來的。 (1) 在10臺(tái)實(shí)際的PC機(jī)中抽取其中一臺(tái)虛擬40個(gè)IP地址,包括自身的IP地址,該機(jī)器上共41個(gè)IP地址,這41個(gè)IP地址只能全部使用IE5.0或者全部使用IE6.0 (2) 其余9臺(tái)實(shí)際的PC機(jī)分別由9個(gè)人操作,另外一臺(tái)機(jī)器由一位質(zhì)控小組人員操作 (3) 對(duì)于異常情況,延
43、時(shí)提交和強(qiáng)制提交全部由實(shí)際的機(jī)器來模擬 (4) 其余過程參見1 4、模擬75個(gè)用戶進(jìn)行測(cè)試。其中,35臺(tái)是PC機(jī),另外40臺(tái)機(jī)器的IP地址是用Loadrunner模擬出來的。,(1) 在35臺(tái)實(shí)際的PC機(jī)中抽取其中三臺(tái)分別虛擬13、13、14個(gè)IP地址,這40個(gè)IP地址只能全部使用IE5.0或者全部使用IE6.0 (2) 其余32臺(tái)實(shí)際的PC機(jī)分別由32個(gè)人操作,另外三臺(tái)機(jī)器由兩位質(zhì)控小組人員操作 (3) 對(duì)于異常情況,延
44、時(shí)提交和強(qiáng)制提交全部由實(shí)際的機(jī)器來模擬 (4) 其余過程參見1 5、模擬100臺(tái)用戶進(jìn)行測(cè)試。其中,40臺(tái)是PC機(jī),另外60臺(tái)機(jī)器的IP地址是用分別用四臺(tái)實(shí)際的PC機(jī)模擬出來的。記錄測(cè)試結(jié)果。 (1) 在40臺(tái)實(shí)際的PC機(jī)中抽取其中四臺(tái)分別虛擬15個(gè)IP地址,這64個(gè)IP地址只能全部使用IE5.0或者全部使用IE6.0 (2) 其余36臺(tái)實(shí)際的PC機(jī)分別由36個(gè)人操作,另外四臺(tái)機(jī)器由四位質(zhì)控小組人員操作,(3) 對(duì)于異常情
45、況,延時(shí)提交和強(qiáng)制提交全部由實(shí)際的機(jī)器來模擬 (4) 其余過程參見1 6、 對(duì)5中所述情況重復(fù)測(cè)試兩次。 7、 為了保證結(jié)果的正確性,完全100臺(tái)實(shí)際的PC機(jī)進(jìn)行現(xiàn)場(chǎng)測(cè)試。過程參見1測(cè)試過程(參見教材275頁),LoadRunner內(nèi)含集成的實(shí)時(shí)監(jiān)測(cè)器,在負(fù)載測(cè)試過程的任何時(shí)候,都可以觀察到應(yīng)用系統(tǒng)的運(yùn)行性能。 當(dāng)測(cè)試運(yùn)行結(jié)束后,LoadRunner 收集匯總所有的測(cè)試數(shù)據(jù),提供高級(jí)分析和匯報(bào)數(shù)據(jù),
46、這樣便能迅速查找到性能問題并追溯原由。,本章小結(jié) 1.由于進(jìn)行自動(dòng)化測(cè)試,我們要放棄一些手工測(cè)試,所以在衡量自動(dòng)化測(cè)試的成本時(shí)要考慮到我們因此放棄多少手工測(cè)試,少捕獲了多少bug。 2.應(yīng)該針對(duì)特殊的目的來設(shè)計(jì)測(cè)試,然后針對(duì)一個(gè)或多個(gè)功能的重要方面進(jìn)行測(cè)試。 3.要正確估量自動(dòng)化測(cè)試腳本開發(fā)和維護(hù)工作量,將關(guān)鍵而有許多次執(zhí)行的測(cè)試用例自動(dòng)化。 4.一般來說,手工測(cè)試可以取代任何類型、功能的自動(dòng)測(cè)
47、試,但在多用戶并發(fā)等情況下,手工測(cè)試是很難實(shí)現(xiàn)的,這時(shí)自動(dòng)測(cè)試就發(fā)揮作用了。另外,使用自動(dòng)測(cè)試工具可以減少很多重復(fù)的手工勞動(dòng),精確復(fù)制缺陷,提高測(cè)試覆蓋率,從而提高產(chǎn)品質(zhì)量。,5.應(yīng)該根據(jù)企業(yè)的特點(diǎn)來選擇測(cè)試工具。首先,對(duì)商業(yè)化的測(cè)試工具進(jìn)行評(píng)估;然后,在公司的實(shí)際項(xiàng)目中試用,通過這種方法來檢驗(yàn)工具在特定的環(huán)境下是否具有供應(yīng)商所宣傳的特性,同時(shí)考察代理商的技術(shù)支持水準(zhǔn),這對(duì)將來工具的大規(guī)模應(yīng)用非常重要。 6.雖然測(cè)試工具的應(yīng)用
48、可以提高測(cè)試的質(zhì)量、測(cè)試的效率,但要成功實(shí)施自動(dòng)化測(cè)試,測(cè)試工作就必須遵從系統(tǒng)的、結(jié)構(gòu)化的和循序漸進(jìn)的觀念來進(jìn)行。,習(xí) 題 1、自動(dòng)化軟件測(cè)試應(yīng)該考慮哪些因素? 2、簡述自動(dòng)化測(cè)試和手工測(cè)試的優(yōu)缺點(diǎn)。 3、自動(dòng)化測(cè)試工具大致可以分為幾類,并舉例說明幾種與之相應(yīng)的測(cè)試工具? 4、簡述應(yīng)用自動(dòng)化測(cè)試工具的目的? 5、選擇測(cè)試工具時(shí)主要應(yīng)該從哪幾個(gè)方面進(jìn)行考慮? 6、使用LoadRunner對(duì)本校網(wǎng)站進(jìn)行壓力測(cè)試,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
評(píng)論
0/150
提交評(píng)論