從菜鳥到測試架構(gòu)師(共22頁)_第1頁
從菜鳥到測試架構(gòu)師(共22頁)_第2頁
從菜鳥到測試架構(gòu)師(共22頁)_第3頁
從菜鳥到測試架構(gòu)師(共22頁)_第4頁
從菜鳥到測試架構(gòu)師(共22頁)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第2章萬事開頭難:軟件從安裝(nzhung)開始在凱文的指導(dǎo)下,小艾開始對于測試(csh)有了初步的了解,就這樣忐忑地開始了自己的測試生涯?!翱墒?,測試(csh)要從哪里開始呢?”他坐在辦公室對凱文問出了這樣的問題。“測試要先熟悉自己的產(chǎn)品。這樣吧,我先安排你到安裝測試組工作,熟悉一下產(chǎn)品?!薄鞍惭b測試組?安裝也需要測試嗎?這不是很簡單的事情嗎?”小艾想起自己在讀書的時(shí)候,經(jīng)常給自己的計(jì)算機(jī)安裝系統(tǒng)和各種軟件,是一件很輕松的事情。于是不由得有些失望。 “以前你所使用的軟件都是經(jīng)過安裝測試后發(fā)布的,所以你可以簡單順利地完成安裝過程,但是事實(shí)上安裝測試并不像你想象得那么簡單,試一下你就知道了。而且

2、,你平時(shí)用的都是個(gè)人桌面計(jì)算機(jī)上的簡單應(yīng)用,而對于大型商用軟件來說,它所需要支持的各種集成環(huán)境、集群配置等,都是很復(fù)雜的?!眲P文笑著說:“你去安裝測試組報(bào)到,安裝測試組的組長安巖會(huì)安排并幫助你熟悉工作,遇到任何問題都可以請教她。”2.1 軟件,是裝出來的“安裝測試組都需要做什么呢?”這是小艾問安巖的第一個(gè)問題。安巖給小艾的解釋是這樣的: 安裝可以很簡單,像一些簡單的桌面應(yīng)用程序,只是簡單地復(fù)制一些文件,對于這種應(yīng)用,不需要專門的安裝測試組,安裝測試能夠和其他測試合并在一起。 安裝也可以很復(fù)雜,比如說企業(yè) 級(jí)Java EE應(yīng)用軟件的安裝,一般來說,它要支持多個(gè)操作系統(tǒng)平臺(tái)、多種數(shù)據(jù)庫、多個(gè)版本的

3、中間件、多種網(wǎng)絡(luò)服務(wù)器(Web Server)、多種拓?fù)浣Y(jié)構(gòu),等等,這就是要求測試人員具有較好的操作系統(tǒng)、數(shù)據(jù)庫及網(wǎng)絡(luò)服務(wù)器等知識(shí)。一般需要一個(gè)專門的安裝測試組來進(jìn)行相關(guān)的測試。我們正在測試的就是一個(gè)企業(yè)級(jí)的Java EE應(yīng)用軟件。 小艾接著問:“企業(yè)級(jí)Java EE應(yīng)用軟件?能舉幾個(gè)例子嗎?” 安巖說:“沒問題,Java EE應(yīng)用軟件是符合Java EE 技術(shù)規(guī)范開發(fā)的相關(guān)應(yīng)用,一般需要部署Java EE應(yīng)用服務(wù)器上才能對外提供服務(wù)。一般來說,企業(yè)級(jí)Java EE應(yīng)用,都需要使用數(shù)據(jù)庫軟件。典型的拓?fù)浣Y(jié)構(gòu)是三層結(jié)構(gòu):前端是網(wǎng)絡(luò)服務(wù)器,中間是應(yīng)用服務(wù)器,后端是數(shù)據(jù)庫服務(wù)器?!?“典型的企業(yè)(q

4、y)Java EE應(yīng)用軟件,像IBM WebSphere Commerce 應(yīng)用套件,提供一整套完整的電子商務(wù)解決方案。”2.1.1 安裝測試(csh)概念解讀小艾仍然略帶疑惑(yhu)地接著問“那什么是安裝測試呢?”安巖說道:“軟件產(chǎn)品多種多樣,很難就所有產(chǎn)品特性下一個(gè)安裝測試的定義。就一般的企業(yè)級(jí)Java EE 應(yīng)用軟件來說,安裝測試應(yīng)該做到以下幾點(diǎn):”1/view/651442.htm 安裝測試-百度百科2010-05-17確保待測產(chǎn)品能夠在所有支持的操作系統(tǒng)、數(shù)據(jù)庫,應(yīng)用服務(wù)器中間件、網(wǎng)絡(luò)服務(wù)器、拓?fù)浣Y(jié)構(gòu)等各種組合情況下,被正確地安裝和卸載。確保安裝文檔的正確性和易讀性。通俗來說,就是

5、確保安裝相關(guān)代碼和相關(guān)安裝配置文檔的正確性?!卑矌r繼續(xù)說:“了解了安裝測試的概念,我介紹一下我們?nèi)绾我?guī)劃安裝測試的,就是安裝測試計(jì)劃??梢赃@么說,一個(gè)好測試計(jì)劃將成就一個(gè)軟件產(chǎn)品。一個(gè)壞的測試計(jì)劃將毀滅一個(gè)軟件產(chǎn)品?!薄懊恳粋€(gè)測試人員都需要認(rèn)真仔細(xì)地閱讀安裝測試計(jì)劃,并且按照這個(gè)文檔的規(guī)定,來進(jìn)行具體的測試,這是對每一個(gè)測試人員的最基本要求。測試計(jì)劃的主體部門詳細(xì)描述了安裝測試的測試配置和測試場景,這部門內(nèi)容也最多,我們以后還會(huì)詳細(xì)講到?!毙“犃税矌r對安裝計(jì)劃的講解之后受益匪淺,又跟安巖要了安裝計(jì)劃相關(guān)的材料,暗下決心,一定先要把安裝測試計(jì)劃搞懂、搞透。2.12 測試之初體驗(yàn) 一份手冊,N臺(tái)

6、機(jī)器,一堆軟件“紙上得來終覺淺,絕知此事要躬行”。第二天,安巖安排小艾開始進(jìn)行基本的安裝測試,通過實(shí)踐來熟悉安裝測試。 安巖接著(ji zhe)詳細(xì)介紹了安裝測試的基本流程,小艾認(rèn)真地做著筆記。學(xué)習(xí)(xux)測試計(jì)劃與測試用例正確的開始點(diǎn)非常(fichng)重要,學(xué)習(xí)測試計(jì)劃與測試用例是每個(gè)安裝測試人員開始的第一步,這個(gè)原則對其他測試類型同樣適用。在安裝測試計(jì)劃中,包含所有測試用例,一般要求每個(gè)測試人員對所有測試用例有一個(gè)基本的了解,對自己要測試的那部分,要有全面和細(xì)致的了解。 比如,對于一個(gè)三個(gè)節(jié)點(diǎn)的安裝測試用例,需要搭建一個(gè)典型的三節(jié)點(diǎn)的環(huán)境(網(wǎng)絡(luò)服務(wù)節(jié)點(diǎn)、應(yīng)用服務(wù)器節(jié)點(diǎn)、數(shù)據(jù)庫節(jié)點(diǎn))。測

7、試用例中規(guī)定了詳細(xì)的測試步驟和檢查點(diǎn),這些需要認(rèn)真閱讀和特別加以注意。搭建測試機(jī)器每個(gè)產(chǎn)品對其運(yùn)行的軟件和硬件都有具體要求,測試用例會(huì)明確規(guī)定使用什么樣的硬件配置和操作系統(tǒng)版本,測試人員需要自己來搭建測試機(jī)器,并且必須保證與測試計(jì)劃的描述嚴(yán)格一致。 此外,安裝測試人員在此階段還有一個(gè)重要的工作,就是檢查安裝文檔中關(guān)于軟硬件配置描述的正確性。千萬不能鬧出“產(chǎn)品實(shí)際支持的是 windows 2008操作系統(tǒng),文檔中卻說是支持Windows XP”這樣的錯(cuò)誤。這可是非常嚴(yán)重的錯(cuò)誤,這個(gè)錯(cuò)誤可能會(huì)導(dǎo)致為客戶提供的方案信息不正確,直接影響客戶的預(yù)算和實(shí)施,甚至可能延誤上線時(shí)間。所以一定要認(rèn)真對待。 一旦

8、得到一套干凈的測試環(huán)境之后,最好做做個(gè)備份,以供下次重復(fù)測試時(shí)直接恢復(fù),從而節(jié)省部分測試時(shí)間。準(zhǔn)備待測試軟件產(chǎn)品這一步需要把待測試軟件下載到測試機(jī)器上。一般來說,構(gòu)建測試組(Build Team)會(huì)準(zhǔn)備待測試軟件包,并且按照一定的頻率(比如每天或每周)發(fā)布到某個(gè)文件服務(wù)器上,需要確認(rèn)你要使用哪天的構(gòu)建,并下載到測試機(jī)器上。如果待測試軟件需要依賴某些基礎(chǔ)軟件(如應(yīng)用服務(wù)器軟件、數(shù)據(jù)庫軟件等)來運(yùn)行,你也需要在這個(gè)階段把它們一并準(zhǔn)備好。按照安裝(nzhung)手冊中的步驟來執(zhí)行在實(shí)際執(zhí)行中,這個(gè)步驟是最容易(rngy)被忽視的一步。資深的測試人員可能對安裝測試非常熟悉了,就會(huì)常常不看安裝手冊而按照

9、自己的經(jīng)驗(yàn)來安裝,這就導(dǎo)致安裝手冊有問題而未被發(fā)現(xiàn)糾正。導(dǎo)致的后果就是用戶按照安裝手冊來安裝時(shí),根本安裝不下去,客戶的失望和憤怒可想而知。撰寫(zhun xi)測試報(bào)告,詳細(xì)記錄測試結(jié)果最后我們要寫測試報(bào)告,詳細(xì)記錄測試的流程和發(fā)現(xiàn)的問題及處理結(jié)果。測試組長會(huì)仔細(xì)閱讀每個(gè)測試人員的測試報(bào)告,掌握當(dāng)前測試狀態(tài)和進(jìn)度情況。小艾總結(jié)說:“看來安裝測試真的不簡單呀,有那么多步驟,要準(zhǔn)備測試機(jī)器,安裝一堆的相關(guān)的軟件,最后還要檢查文檔。”安巖說道:“總結(jié)得不錯(cuò),一份手冊,N臺(tái)機(jī)器,一堆軟件,這是對安裝測試執(zhí)行很形象的總結(jié)?!?.2 全面撒網(wǎng),重點(diǎn)排查一個(gè)月過去了,小艾順利完成了安巖交給的第一份任務(wù),對安

10、裝測試流程已經(jīng)基本掌握清楚了。 然而,小艾一直有一個(gè)問題:“一個(gè)好的可執(zhí)行的測試計(jì)劃是確保測試質(zhì)量的關(guān)鍵,那么測試計(jì)劃是怎么寫出來的呢?” 一天小艾困惑地問安巖:“在測試計(jì)劃中,為什么要選擇這些測試配置和測試場景呢?像我們這么復(fù)雜的產(chǎn)品又要支持這個(gè),又要支持那個(gè),要測試的內(nèi)容好多呀,在時(shí)間和人力有限的條件下怎么保證既測得全面又測得完呢?”安巖笑著解釋:“好問題,這可是一門學(xué)問,是有規(guī)律可循的,聽我慢慢道來。”2.21 選擇測試配置前面曾經(jīng)介紹過安裝測試的概念,其重要的一部分是要確保待測產(chǎn)品在所有支持的操作系統(tǒng),數(shù)據(jù)庫、應(yīng)用服務(wù)器中間件、網(wǎng)絡(luò)服務(wù)器、拓?fù)浣Y(jié)構(gòu)等的各種組合情況下,能夠被正確地安裝和

11、卸載。撰寫測試(csh)計(jì)劃時(shí),首先要清楚得列出產(chǎn)品所有能夠支持的測試配置。測試配置(pizh)指待測軟件所能支持的硬件環(huán)境、軟件環(huán)境和配置方法的組合。對于不同類型的待測軟件,可以從各個(gè)角度來找出測試(csh)配置,對于Java EE應(yīng)用軟件來說,可以嘗試從下面角度來考慮。操作系統(tǒng):Java EE 應(yīng)用是跨平臺(tái)的應(yīng)用,一般都能支持多種操作系統(tǒng),例如 windows ,AIX ,Linux,Solaris 等。應(yīng)用服務(wù)器:Java EE應(yīng)用需要部署到應(yīng)用服務(wù)器才能發(fā)揮作用,例如IBM wesphere Application Server ,簡稱 WAS。數(shù)據(jù)庫:Java EE應(yīng)用一般都需要使用

12、數(shù)據(jù)庫來存取信息,例如DB2和Oracle兩種數(shù)據(jù)庫。網(wǎng)絡(luò)服務(wù)器(Web Server):像我們前面說過的,Java EE應(yīng)用一般都需要使用網(wǎng)絡(luò)服務(wù)器來提高性能和支持可擴(kuò)展性。例如 Sunone,Internet Information Services (下面 簡稱IIS),IBM HTTP SERVER(IHS)等。拓?fù)洌篔ava EE 應(yīng)用部署時(shí)一般都支持不同的拓?fù)浣Y(jié)構(gòu)來滿足不同的對性能和可擴(kuò)展性的支持。例如單節(jié)點(diǎn)、三節(jié)點(diǎn)、集群三種拓?fù)?。版本:為了適應(yīng)不同客戶群的需求,Java EE應(yīng)用軟件一般被包裝成不同的版本。例如企業(yè)版、專業(yè)版、精簡版三種。安裝類型:一般的Java EE 軟件都會(huì)支

13、持多種安裝類型以滿足不同的安裝需求,例如快速安裝、定制安裝兩種。對于上面所列的每一個(gè)角度的具體取值,每個(gè)產(chǎn)品不盡相同,可以從設(shè)計(jì)文檔中獲得具體的信息。對于上面多列的每一個(gè)角度,都可以看做一個(gè)變量。所有變量的乘法組合有幾十種甚至好幾百種,每一個(gè)組合就是一個(gè)測試配置。下面是一個(gè)例子: AIX/WAS/DB2/IHS/三節(jié)點(diǎn)/企業(yè)版/定制安裝我們能用一個(gè)乘法公式來計(jì)算測試配置的總數(shù): 其中,V表示某個(gè)變量的種類,n 表示變量的個(gè)數(shù),S表示可能組合的總數(shù)。在時(shí)間和人力有限的條件下,不可能每種組合都測試,就需要(xyo)根據(jù)一些限制條件來進(jìn)一步縮小測試的范圍,比如以我們總結(jié)得最佳實(shí)踐。每種支持(zhch

14、)的操作系統(tǒng)版本至少需要測試一次 每個(gè)支持的操作系統(tǒng)版本都至少需要被測試一次,為什么有這個(gè)要求呢?因?yàn)樵诎惭b文檔中,會(huì)敘述產(chǎn)品支持的操作系統(tǒng)版本,不測試哪一個(gè),都會(huì)有比較(bjio)大的風(fēng)險(xiǎn)。這里要細(xì)化到操作系統(tǒng)版本,例如對于windows 操作系統(tǒng),某產(chǎn)品支持Windows 2003和windows 2008,那么這兩個(gè)版本都需要測試到。每種支持的網(wǎng)絡(luò)服務(wù)器版本至少測試一次同理,安裝文檔中,會(huì)敘述產(chǎn)品支持的網(wǎng)絡(luò)服務(wù)器版本,所以需要確保在測試配置組合中,每種網(wǎng)絡(luò)服務(wù)器版本被測試至少一次。每種支持的數(shù)據(jù)庫版本至少測試一次同理,安裝文檔中,會(huì)敘述產(chǎn)品支持的數(shù)據(jù)庫,所以需要確保在測試配置組合中,每種

15、數(shù)據(jù)庫版本被測試至少一次。設(shè)計(jì)文檔中需要重點(diǎn)測試的配置必須測試 開發(fā)人員的一些代碼可能在某些測試配置下會(huì)有問題,開發(fā)人員如果有這種擔(dān)心,就會(huì)在設(shè)計(jì)文檔中特別指出,測試人員就要特別注意,這個(gè)配置很可能會(huì)有問題的??蛻舻湫团渲帽仨殰y試在總結(jié)大多數(shù)客戶使用軟件產(chǎn)品的習(xí)慣后,我們發(fā)現(xiàn)一些典型的測試配置,大多數(shù)用戶都這么用。例如,選擇Windows的客戶一般選IIS作為網(wǎng)絡(luò)服務(wù)器(WebSever)。以往版本產(chǎn)品由客戶報(bào)告的問題分析(fnx)和由測試人員報(bào)告的缺陷分析如果測試的是一個(gè)新產(chǎn)品,可能這部分?jǐn)?shù)據(jù)(shj)沒用。如果測試的是一個(gè)以前產(chǎn)品的升級(jí)版本,就能分析這部分的數(shù)據(jù)。 客戶報(bào)告的產(chǎn)品問題:是指

16、產(chǎn)品發(fā)布后,客戶發(fā)現(xiàn)的問題。這部分?jǐn)?shù)據(jù)非常有價(jià)值。為什么客戶發(fā)現(xiàn)了這樣的問題,而測試人員卻沒有發(fā)現(xiàn)呢?從中能分析出測試計(jì)劃中可能(knng)存在的漏洞。以往版本的缺陷分析:這里的缺陷是由測試人員在產(chǎn)品發(fā)布前發(fā)現(xiàn)的,從中能分析出哪些部分特別容易出現(xiàn)問題,在新的版本中這些部分可能仍然會(huì)出問題。這樣,根據(jù)上面的原則選擇后,就能得到合適的測試配置覆蓋(Test Config Coverage)。為了直觀起見,我們也能畫一個(gè)矩形圖更形象的表達(dá)出測試配置覆蓋,如表2-1所示(畫“X”的組合表示被選中。限于排版的要求,只能列出Windows平臺(tái)下的所有組合,在實(shí)際應(yīng)用中,可以補(bǔ)齊AIX,Linux平臺(tái)下的相

17、關(guān)組合)。 從表-2-1中能夠看出至少有一個(gè)測試配置被選中分別取測試每種數(shù)據(jù)庫:DB2和Oracle;至少有一個(gè)測試配置被選中分別去測試每種網(wǎng)絡(luò)服務(wù)器:SunONE、IHS和IIS;至少有一個(gè)測試配置被選中分別取測試每種發(fā)行版本:企業(yè)版本、專業(yè)版、精簡版;至少有一個(gè)測試配置被選中分別取測試典型的客戶配置,像Windows/IIS,等等。這樣選擇下來,一共選中了11個(gè)測試配置,而所有的測試配置有54個(gè)之多,可見在根據(jù)最佳實(shí)踐選擇后,測試工作量大大降低了,并且測試的質(zhì)量仍然有保障,因?yàn)樗械臏y試點(diǎn)都有相應(yīng)的測試覆蓋。2.2.2 找出測試(csh)場景有了測試(csh)配置后,接下來就需要找出測試場

18、景(Test Scenario)。測試場景就是一系列緊密關(guān)聯(lián)的操作步驟的組合。比如產(chǎn)品(chnpn)安裝流程、產(chǎn)品卸載流程等??筛鶕?jù)以下信息來源來設(shè)計(jì)測試場景。需求說明書需求說明書是設(shè)計(jì)測試場景的主要依據(jù),從中能夠找出最終用戶對產(chǎn)品安裝和卸載方面的各種需求。每個(gè)測試人員都需要認(rèn)真閱讀,特別是測試設(shè)計(jì)的作者,需要對它非常的清楚。用戶手冊就是安裝文檔,最終用戶將按照用戶手冊來安裝產(chǎn)品,其中會(huì)陳述一些典型場景和注意事項(xiàng),我們可以根據(jù)此來設(shè)計(jì)測試場景。從一個(gè)軟件從產(chǎn)品的生命周期來看,一個(gè)產(chǎn)品會(huì)經(jīng)歷安裝、升級(jí)、卸載的過程,所以能從中找出一些基本及典型的場景。在選定的測試配置上安裝產(chǎn)品這是一個(gè)最基本的測試

19、場景。從下面的描述中,能發(fā)現(xiàn)基本的步驟。確保在看安裝手冊的情況下,產(chǎn)品能夠被正確、輕松地安裝。如果安裝過程中遇到問題(例如磁盤滿、輸入信息錯(cuò)誤等),安裝程序能夠清晰明確地指出問題的原因所在,并且在用戶糾正問題后安裝能夠繼續(xù)進(jìn)行,產(chǎn)品安裝后,應(yīng)用能夠正常啟動(dòng)。卸載(xi zi)產(chǎn)品確?;井a(chǎn)品(chnpn)能夠被正確地卸載。這也是一個(gè)最基本的測試場景。在卸載(xi zi)后重新安裝產(chǎn)品確保產(chǎn)品卸載后能夠被正確重新安裝。有些客戶可能會(huì)用到此場景。文件權(quán)限檢查和敏感數(shù)據(jù)檢查確保產(chǎn)品安裝后,文件權(quán)限是正確的,沒有敏感數(shù)據(jù)暴露。這個(gè)場景是確保軟件產(chǎn)品安全性的典型的場景。殘障人員也能順利安裝產(chǎn)品比如確保為

20、盲人提供語音提示,為近視眼患者提供放大功能,等等。這是確保產(chǎn)品的可訪問性的典型的場景。上面列了一些最基本、最通用的測試場景。當(dāng)然,針對特定的產(chǎn)品,可以從需求說明書和用戶手冊里找出更多特定的測試場景,這里就不一一敘述了。2.2.3組合出測試用例現(xiàn)在,我們就能寫出具體的測試用例了: 測試用例=測試配置+測試場景測試用例就是某個(gè)測試配置上來執(zhí)行某個(gè)測試場景。為了方便看出在哪個(gè)測試配置上執(zhí)行了哪些測試場景,可以畫出如表2-2所示(畫“”表示被選中)的矩陣表。 表2-2 測試用例測試場景1測試場景2測試場景3.測試場景N測試配置1測試配置2測試配置3.測試配置N我們(w men)分配任務(wù)一般是以測試用例

21、為單位來分配的,跟蹤項(xiàng)目狀態(tài)也是以測試用例為單位的。小艾聽了以上(yshng)分析,豁然開朗,疑惑全解開了,感慨說:“測試配置(pizh)、測試場景、測試用例是測試計(jì)劃的脊髓呀,看來下次我也能寫測試計(jì)劃了!”2.3 安裝測試質(zhì)量之大觀 在一次討論中,小艾有了新問題:“對于每一個(gè)具體的安裝測試用例,怎樣才能保證測試質(zhì)量是達(dá)到標(biāo)準(zhǔn)的呢?” 安巖說到“很簡單,需要制定一套通過標(biāo)準(zhǔn),當(dāng)測試用例滿足這套標(biāo)準(zhǔn)后,我們就可以認(rèn)為測試達(dá)到了質(zhì)量要求。”小艾接著問:“都有哪些通過標(biāo)準(zhǔn)?能和我說說嘛?”安巖笑著說:“我們有過一個(gè)系統(tǒng)的總結(jié),請聽我慢慢道來。”2.3.1產(chǎn)品安裝對于一般的Java EE 應(yīng)用軟件,以

22、下是我們總結(jié)的產(chǎn)品安裝測試相關(guān)的通過標(biāo)準(zhǔn)。安裝程序能夠自動(dòng)檢查安裝前提條件是否滿足對于軟件安裝來說,都或多或少地有一些前提條件,如果前提條件不滿足,安裝就不能繼續(xù)或者失敗。廈門列出最通用的一些前提條件:磁盤空間是否符合安裝需求網(wǎng)絡(luò)狀況是否符合安裝需求CPU和內(nèi)存是否符合安裝需求操作用戶是否有足夠的權(quán)限操作系統(tǒng)是否符合安裝需求操作系統(tǒng)必須的補(bǔ)丁包是否安裝等一般需要針對每一項(xiàng)設(shè)計(jì)出一些異常情況,確保安裝程序能夠報(bào)告出相應(yīng)的錯(cuò)誤信息。比如最小的磁盤空間需求是2GB,如果指定一個(gè)僅有1GB自由空間的安裝目錄,應(yīng)該報(bào)告磁盤空間不足。軟件安裝(nzhung)向?qū)У挠脩艚缑妫║ser Interface)測

23、試這也是安裝測試重要的一方面,大多數(shù)程序(chngx)都會(huì)提供圖形化安裝方式嗎,所以我們需要重點(diǎn)測試這部門,一般我們需要驗(yàn)證:用戶界面(yn h ji min)出現(xiàn)的描述性文字是清晰正確的用戶界面出現(xiàn)的輸入框嗎,選擇框功能正常,如果輸入異常信息,需要提示輸入錯(cuò)誤。用戶界面出現(xiàn)的按鈕,像“像下一步”、“確定”、“取消”、等功能正常。安裝過程中如果有進(jìn)度條顯示,需要確保進(jìn)度信息顯示正確。軟件安裝各個(gè)選項(xiàng)的組合確保符合概要設(shè)計(jì)說明軟件安裝可能存在多個(gè)選項(xiàng)組合,例如,典型安裝,最小安裝,完全安裝等。要確保每個(gè)選項(xiàng)的安裝過程和安裝后的結(jié)果是符合設(shè)計(jì)文檔中的期望行為。軟件安裝過程是否可以取消,單擊“取消”

24、按鈕后,寫入的文件是否如設(shè)計(jì)文檔中期望的說明來處理如果安裝正式開始后不能取消安裝,“取消”,按鈕應(yīng)該變灰。如果安裝正式開始后能夠取消安裝,用戶單擊“取消”按鈕后,安裝能夠正常停止,寫入的文件應(yīng)該自動(dòng)刪除,如果某些不能刪除,則給出相應(yīng)提示說明。軟件安裝過程中意外情況的處理是否符合需求(如死機(jī),重啟,斷電等)具體看設(shè)計(jì)文檔中如何處理意外情況。一般來說軟件安裝過程中如果有意外發(fā)生(如死機(jī),重啟,斷電等)重啟后,安裝程序一般有如下兩種處理方式: 安裝程序偵測到程序意外停止,能夠恢復(fù)安裝進(jìn)度,繼續(xù)安裝。 安裝程序偵測到程序意外終止,不能夠恢復(fù)安裝進(jìn)度,回滾所有安裝操作,例如刪除已經(jīng)寫入的文件,刪除已經(jīng)寫

25、入的注冊信息。然后用戶能夠重新安裝。安裝過程是否是可以(ky)回溯的(即是否可以回上一步重新選擇)這個(gè)比較(bjio)好理解,是屬于安裝易用性的一種測試。一般的安裝程序都具有這種功能,所在在測試時(shí),我們要確保功能是正確的。軟件(run jin)安裝過程中是否支持快捷鍵,快捷鍵的設(shè)置是否符合用戶要求這個(gè)是屬于安裝可用性方面的測試。在考慮用戶沒有鼠標(biāo)設(shè)備的情況下,通過鍵盤也能完成整個(gè)安裝。軟件靜默安裝測試一些軟件除了支持圖形界面安裝方式外,還支持靜默(Silent)安裝,一般來說就是把安裝過程中必要用戶輸入信息寫到一個(gè)文本響應(yīng)文件中,然后使用命令行來安裝。靜默安裝一般用于自動(dòng)化安裝程序中。對于靜默

26、安裝測試,一般需要注意:正確的響應(yīng)文件,靜默安裝能夠成功完成,并且在日志文件中記錄安裝成功相關(guān)的信息。錯(cuò)誤的響應(yīng)文件,靜默安裝失敗,并且在日志文件中表妹安裝失敗的原因。9.軟件安裝后安裝日志中沒有錯(cuò)誤信息軟件安裝后,需要檢查安裝日志文件,確保沒有錯(cuò)誤信息或者警告信息。軟件安裝后應(yīng)用是否能夠正常運(yùn)行 這也是一個(gè)重要的通過標(biāo)準(zhǔn),即使軟件安裝過程沒有問題,但是安裝后應(yīng)用不能正常運(yùn)行,也表明安裝測試應(yīng)用是失敗的。 為了保證這一點(diǎn),一般我們(w men)在軟件安裝后,需要執(zhí)行一些基本的功能測試用例。安裝后的文件夾及文件是否寫到了指定的目錄里,文件的大小(dxio)權(quán)限是否正確我們用這一點(diǎn)來檢查安裝的完整

27、性和安全性是否符合預(yù)期。一般安裝后會(huì)使用一個(gè)掃描程序掃描安裝后的文件夾及文件,然后和通過(tnggu)標(biāo)準(zhǔn)進(jìn)行比對,來確保這一點(diǎn)。安裝后一些重要文件的內(nèi)容是否正確一些重要文件像版本信息文件,注冊文件等,需要確保它們的內(nèi)容是符合設(shè)計(jì)文檔要求的。13.安裝后數(shù)據(jù)庫中的信息是否正確如果測試的軟件需要使用數(shù)據(jù)庫,需要檢查這一點(diǎn)。一般需要檢查:數(shù)據(jù)庫是否被正確創(chuàng)建;數(shù)據(jù)庫模式(像表、索引、出發(fā)器等)是否被正確創(chuàng)建;數(shù)據(jù)庫中的數(shù)據(jù)是否正確;檢查數(shù)據(jù)庫工作工作量一般比較大,需要使用工具來幫助檢查。上面列的各項(xiàng)屬于最佳實(shí)踐總結(jié),針對不同的產(chǎn)品本身的特點(diǎn),要靈活運(yùn)用,有些產(chǎn)品可能需要增加一些測試,有些產(chǎn)品可能需

28、要減少一些測試??傊鶕?jù)具體情況去應(yīng)用。2.3.2產(chǎn)品卸載對于一般的Java EE應(yīng)用軟件,以下是我們總結(jié)得與卸載測試相關(guān)的通過標(biāo)準(zhǔn)。測試軟件自帶的卸載程序一般來說,軟件都會(huì)有自帶卸載程序,需要確保它功能正常。測試使用操作系統(tǒng)自帶的添加/刪除工具(以windows為例)來卸載(xi zi)程序的情況在windows 操作系統(tǒng)中比較普通,需要確保它功能(gngnng)正常。測試卸載程序在程序運(yùn)行/終止(zhngzh)等狀態(tài)時(shí)的卸載情況一般來說卸載之前需要使應(yīng)用程序處于停止?fàn)顟B(tài),卸載程序能夠檢查程序狀態(tài),并且給出正確提示。測試卸載軟件過程中,能否取消卸載進(jìn)程如果支持取消操作,單擊取消后,觀察軟

29、件能否繼續(xù)正常使用。如果不支持取消,用戶應(yīng)該不能單擊“取消”按鈕。5.測試卸載后文件是否全部刪除,包括安裝文件夾、注冊表、系統(tǒng)環(huán)境變量如果某些文件在卸載過程中沒有刪除,應(yīng)該明確提示用戶。卸載過程中出現(xiàn)的意外情況的測試(如死機(jī)、斷電、重啟)具體要看設(shè)計(jì)文檔中如何處理這種異常情況,一般來說: 再次卸載時(shí),能夠偵測前次卸載失敗,恢復(fù)卸載進(jìn)度,繼續(xù)完成卸載。 再次卸載時(shí),能夠偵測前次卸載失敗,但不能恢復(fù)卸載進(jìn)度,需要用戶按照相關(guān)文檔手上卸載。軟件自帶卸載程序的UI測試一般來說,卸載程序的UI要逼安裝程序簡單,檢查方法類似于安裝UI測試。這里要強(qiáng)調(diào)一點(diǎn),卸載測試和安裝測試同樣(tngyng)重要,都和用

30、戶體驗(yàn)息息相關(guān),測試有時(shí)候回輕視卸載測試,這一點(diǎn)要引起注意。2.4客戶(k h)的圣經(jīng)用戶手冊驗(yàn)證(ynzhng)安巖在檢查小艾測試報(bào)告時(shí),發(fā)現(xiàn)小艾犯了一般測試人員的通病不重視用戶手冊驗(yàn)證,小艾負(fù)責(zé)的一個(gè)測試用例的相關(guān)文檔有不少明星的錯(cuò)誤。 安巖找到小艾后,語重心長地對小艾說:“用戶手冊驗(yàn)證是安裝測試重要的一部分,但往往被測試人員忽視。這一點(diǎn)需要引起特別注意?!薄坝脩舭惭b手冊對最終客戶非常重要,如果安裝手冊的某些信息是錯(cuò)誤,將導(dǎo)致安裝失敗。如果某些信息時(shí)含糊不清的,將引起用戶理解歧義。這些問題將導(dǎo)致安裝工作暫停和項(xiàng)目進(jìn)度延期,一方面將給客戶帶來不必要的經(jīng)濟(jì)損失,另一方面,用戶對這個(gè)軟件的質(zhì)量產(chǎn)

31、生懷疑,這個(gè)軟件的口碑也會(huì)越來越差?!薄八圆徽撌琼?xiàng)目經(jīng)理或是相關(guān)的測試人員真的要從此刻開始注意用戶手冊驗(yàn)證的重要性。”小艾知道是自己的疏忽,頻頻點(diǎn)頭道:“從今天起,我一定認(rèn)真對待文檔驗(yàn)證工作,能給我講講一般的驗(yàn)證方法嗎?” 安巖緩和了一下語氣:“知錯(cuò)能改,善莫大焉!請聽我下文分解。”2.4.1 一般驗(yàn)證方法用戶手冊驗(yàn)證工作要貫穿整個(gè)安裝測試始終。我們不僅要保證安裝文檔是清晰和正確的,還要保證文檔是易讀的。下面介紹幾種常用并且行之有效的方法。 測試人員在執(zhí)行具體的測試用例時(shí),必須嚴(yán)格按照安裝文檔的步驟來操作。測試人員有責(zé)任就不正確的部分提交修改建議并且驗(yàn)證。為了保證這一點(diǎn),通常創(chuàng)建專門的文檔相

32、關(guān)的測試用例,來跟蹤其狀態(tài)。測試組長定期組織所有測試人員集體審閱所有文檔內(nèi)容,并且就不清楚得內(nèi)容展開討論和深入追查,也是一個(gè)行之有效的方法。2.4.2 文檔審閱(shn yu)流程文檔驗(yàn)證是一個(gè)繁雜(fnz)和反復(fù)的過程,對于篇幅比較長、邏輯比較復(fù)雜的文檔尤其如此。為了提高文檔審閱的效果,一般需要借助文檔管理(gunl)系統(tǒng)來統(tǒng)一管理,其一般的功能應(yīng)包括:測試人員可以通同時(shí)審閱同一文檔,并且提交修改建議。信息開發(fā)人員根據(jù)修改建議更正文檔,并且給提交者發(fā)送驗(yàn)證通知。提交者接收到驗(yàn)證通知后,能夠關(guān)閉修改建議以表明驗(yàn)證通過。如果驗(yàn)證未通過,能夠拒絕相關(guān)的更改,繼續(xù)提交修改建議。小艾聽后頗有感觸,安巖

33、真是太認(rèn)真負(fù)責(zé)了。小艾隨后也用起功來,認(rèn)真總結(jié)了一般的文檔審閱流程,如圖2-1所示。2.5引進(jìn)先進(jìn)設(shè)備安裝自動(dòng)化測試項(xiàng)目已經(jīng)進(jìn)行到中期了,小艾基本熟悉了安裝測試內(nèi)容和測試流程。平時(shí)沒事經(jīng)常和功能和性能測試的同事交流,發(fā)現(xiàn)他們的測試都是自動(dòng)化的,小艾好羨慕呀,想知道是否安裝測試也能自動(dòng)化呢?2.5.1 效率的提高從自動(dòng)化開始在一次周會(huì)上,小艾問出了上面的問題,安巖講道:“自動(dòng)化測試是測試的發(fā)展方法和趨勢,能夠大幅度提高測試的效率。從這個(gè)版本開始,安裝測試組已經(jīng)開始嘗試自動(dòng)化測試了?!薄拔覀冏鲞^統(tǒng)計(jì),一個(gè)測試用例,手工執(zhí)行要三個(gè)小時(shí)完成,而自動(dòng)化后需要一個(gè)半小時(shí)。當(dāng)然開發(fā)自動(dòng)化腳本也要花一定時(shí)間和

34、成本,維護(hù)自動(dòng)化腳本也需要花成本,但總體來說,自動(dòng)化后效率還是比手工執(zhí)行效率有大幅的提高。測試用例需要重復(fù)執(zhí)行的次數(shù)越多,自動(dòng)化后能節(jié)省的成本越高,投資回報(bào)率越高?!?小艾疑惑地問:“手工執(zhí)行要三個(gè)小時(shí)完成,而自動(dòng)化后只需要一個(gè)半小時(shí),這個(gè)是怎么算出來的,怎么會(huì)差那么多?”“我來算一筆賬就清楚了。看一個(gè)典型的安裝(nzhung)場景,如表2-3所示?!?表2-3 安裝(nzhung)場景步驟自動(dòng)化(分鐘)手工(分鐘)原因1.下載待測構(gòu)建3050由于要從多個(gè)FTP站點(diǎn)下載多個(gè)文件,手工下載不是連續(xù)的,并且要手工輸入命令,額外的20分鐘是手工操作和等待2.解壓縮(unzip)1020手工unzip

35、多個(gè)文件不能連續(xù)完成,并且要手工輸入命令,所以多花10分鐘3.安裝產(chǎn)品304010分鐘是手工輸入4.驗(yàn)證安裝2080安裝驗(yàn)證有多個(gè)驗(yàn)證點(diǎn),手工驗(yàn)證非常費(fèi)時(shí),而自動(dòng)化去驗(yàn)證既快又準(zhǔn)確總計(jì)90190 小艾恍然大悟(hung rn d w),“原來如此,我明白了,計(jì)算機(jī)最適合高速連續(xù)地執(zhí)行確定的任務(wù),而用人腦來執(zhí)行這些重復(fù)且枯燥的步驟就要慢得多?!薄罢f得對,人腦更適合做創(chuàng)造性的工作,自動(dòng)化測試就是把人腦從枯燥的工作解放出來,而去做更適合人腦的事情,比如去分析問題,寫自動(dòng)化腳本等?!卑矌r接著說:“對于安裝測試,我們的測試用例一般要重復(fù)執(zhí)行多次,所以自動(dòng)化對安裝測試一樣很大?,F(xiàn)在項(xiàng)目進(jìn)行到中期了,我們已

36、經(jīng)完成了大部分測試用例的自動(dòng)化開發(fā),接下來就是執(zhí)行了,現(xiàn)在誰有興趣做這個(gè)部門測試?”小艾對自動(dòng)化很感興趣,首先舉手報(bào)名“算我一個(gè)!”,接下來又有幾個(gè)人報(bào)名。小艾接著說:“但是自動(dòng)化測試怎么做?”安巖說,接下來我將給大家做一個(gè)培訓(xùn),來解惑答疑,請大家準(zhǔn)時(shí)參加。2.5.2 自動(dòng)化測試的實(shí)現(xiàn) 為了提高測試效率和增加測試覆蓋,我們自己為安裝測試開發(fā)了一個(gè)自動(dòng)化安裝/卸載/驗(yàn)證結(jié)果的工具?,F(xiàn)在給大家來講一下這個(gè)工具設(shè)計(jì)的思想。 其實(shí),仔細(xì)想一想,對于安裝測試,我們(w men)每天手工執(zhí)行的測試用例,包含眾多手工步驟,比如下載測試構(gòu)建、解壓縮、輸入必要信息、驗(yàn)證結(jié)果等。把這些手工部分使用某種工具變成自動(dòng)

37、化部分,就把人給解放出來了。 對于一個(gè)(y )典型的Java EE應(yīng)用的安裝場景,讓我們來看看一個(gè)手工的測試用例執(zhí)行步驟。安裝(nzhung)數(shù)據(jù)庫驗(yàn)證:檢查相關(guān)日志文件,確保安裝成功。2.安裝應(yīng)用服務(wù)器驗(yàn)證:檢查相關(guān)日志文件,確保安裝成功。安裝網(wǎng)絡(luò)服務(wù)器驗(yàn)證:檢查相關(guān)日志文件,確保安裝成功。安裝Java EE應(yīng)用驗(yàn)證:檢查相關(guān)日志文件,確保安裝成功。安裝后基本功能驗(yàn)證要把手工步驟自動(dòng)化,一般要選擇合適的自動(dòng)化工具來實(shí)現(xiàn)自動(dòng)化測試。自動(dòng)化測試的工具很多,下面主要介紹兩個(gè)和安裝測試相關(guān)的自動(dòng)化工具: IBM Rational Function Tester http:/view/1435992.

38、htm ,RFT-百度百科,2011-05-04 IBM Rational Function Tester (RFT)是一款先進(jìn)的、自動(dòng)化的功能和回歸測試工具,它適合做GUI界面相關(guān)的自動(dòng)化測試。Apache ANThttp:/view/1479196.htm ,Apache ant-百度百科,2011-12-29ANT是一個(gè)基于Java的自動(dòng)化腳本引擎,腳本格式為XML。除了做Java 編譯相關(guān)任務(wù)外,ANT還可以通過插件實(shí)現(xiàn)很多應(yīng)用的調(diào)用。ANT適合命令行交互(jioh)相關(guān)的自動(dòng)化測試。 我們的產(chǎn)品是支持命令行方式來安裝的,并且自動(dòng)化測試的目的是做回歸測試,所以我們選擇ANT工具(gng

39、j)來實(shí)現(xiàn)自動(dòng)化。下面 主要介紹一下相關(guān)的原理,對于具體的實(shí)現(xiàn),大家可以參考ANT 相關(guān)的書籍來具體實(shí)現(xiàn)。首先要把測試用例中的每一步(y b)細(xì)化,細(xì)化到足夠明確,能夠用ANT語言來表達(dá)。比如第一步“安裝數(shù)據(jù)庫,驗(yàn)證:檢查相關(guān)日志文件,確保安裝成功”可以細(xì)化到從某個(gè)文件服務(wù)器上下載數(shù)據(jù)庫安裝包;解壓安裝包到/tmp目錄;提供數(shù)據(jù)庫安裝所需的所有必要信息,;例如目標(biāo)位置,用戶名,密碼等;啟動(dòng)數(shù)據(jù)庫靜默安裝;驗(yàn)證安裝日志,確保其中包含相關(guān)的安裝成功信息,不包含相關(guān)的失敗信息;生成測試報(bào)告。把每一個(gè)小步驟分別做成一個(gè)個(gè)ANT Target。做另一個(gè)ANT Target去按順序調(diào)用它們,這樣就實(shí)現(xiàn)了第一步的自動(dòng)化。同理,可以實(shí)現(xiàn)其余步驟的自動(dòng)化。把所有步驟按順序串起來,就實(shí)現(xiàn)了整個(gè)測試用例的自動(dòng)化。同理,測試計(jì)劃里的其他測試用例也都可以自動(dòng)化。執(zhí)行者只需要做下面的步驟:根據(jù)每個(gè)人分配到的任務(wù)來更新一個(gè)控制文件,在這個(gè)文件里,每一行表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論