




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
AutoRunner技術(shù)白皮書上海澤眾軟件科技有限公司目錄1.總述 32.1系統(tǒng)定位 82.2自動功能測試工具的概念 82.3業(yè)務(wù)提供 112.3.1AutoRunner適用性說明 112.3.2自動化的功能測試 112.3.3自動化的回歸測試 122.3.4每日構(gòu)建與冒煙測試 122.3.5版本升級測試 132.3.6特性概述 142.4產(chǎn)品設(shè)計目標(biāo) 163.系統(tǒng)體系結(jié)構(gòu)特性要求 173.1系統(tǒng)要求 173.2系統(tǒng)性能 193.3擴(kuò)展能力 203.4可靠性和可用性 223.5國際支持 254.系統(tǒng)基本功能 254.1測試案例創(chuàng)建與錄制 254.2測試案例編輯與參數(shù)化 264.3測試案例參數(shù)化 274.4增加同步點和驗證點 294.5測試案例執(zhí)行與debug 305.AutoRunner的特點 316.廠商支持能力 35
1.總述背景隨著軟件規(guī)模的發(fā)展和對軟件系統(tǒng)的依賴,人們發(fā)現(xiàn):軟件的質(zhì)量對應(yīng)用系統(tǒng)的影響日益增加,質(zhì)量存在問題的軟件會導(dǎo)致帳務(wù)出錯,客戶信息丟失,用戶的服務(wù)出錯。因此,提高軟件的質(zhì)量成為一個重要的問題。而測試正是提高軟件質(zhì)量的有效手段。數(shù)據(jù)顯示,在一個軟件開發(fā)過程中,測試占到整個工作的40%-60%。所以,如何能夠在較低成本的情況下大幅度提高測試的質(zhì)量,對軟件的最終質(zhì)量起到非常重要的作用。另一方面,當(dāng)應(yīng)用軟件投入使用之后,隨著應(yīng)用的不斷發(fā)展和變化,將會提出大量的新增需求。新功能對用戶非常重要,能夠給用戶不斷發(fā)展的業(yè)務(wù)提供更強(qiáng)大的支撐。當(dāng)開發(fā)人員修改軟件的功能、增加軟件功能,新增功能部分導(dǎo)致原有系統(tǒng)運行不夠穩(wěn)定的幾率必然增加,可靠性降低:由于修改一個小錯誤造成大量業(yè)務(wù)無法正常運行的情況。這就需要做大量的回歸測試來保證系統(tǒng)的可靠性,通過回歸測試驗證以往的功能是正確的、可靠的。傳統(tǒng)的回歸測試是由人工來實現(xiàn)的,需要大量的人員來完成固定的輸入和輸出檢查。人工測試帶來了一系列問題:1、測試質(zhì)量難以保證。臨時參加測試的人員很多都是沒有受到足夠培訓(xùn)的人員,對應(yīng)用軟件本身的理解不夠充分,對測試技術(shù)也不夠了解,往往導(dǎo)致測試案例設(shè)計不夠嚴(yán)密,測試的質(zhì)量難以得到保證。2、測試的成本很高。組織一次大規(guī)模的回歸測試會導(dǎo)致大量成本發(fā)生:包括人工成本和管理成本等等。首先是測試人員自身的成本,然后是由于測試進(jìn)度比較緩慢造成的開發(fā)人員延誤造成的成本,此外,管理測試人員,協(xié)調(diào)測試和開發(fā)人員之間的關(guān)系也需要很多的工作和成本。3、測試進(jìn)度難以控制。由于人員、系統(tǒng)穩(wěn)定性等眾多方面的原因,導(dǎo)致測試的進(jìn)度比較難以度量和控制,造成項目風(fēng)險防范困難。4、測試案例無法保存和管理。作為一個項目,測試案例是一個重要的財富:同軟件代碼一樣,是具有版本和價值的。傳統(tǒng)的做法是使用文檔來保存測試案例,無法提供一種標(biāo)準(zhǔn)格式來保存測試案例。這樣就會導(dǎo)致測試案例的存放非常困難,使用非常困難,造成了資源的浪費:但需要再做一次回歸測試的時候,往往原來的案例都被丟棄了,還需要重新設(shè)計和完成測試案例。解決方案企業(yè)可以建立一整套軟件自動測試體系,包括:需求管理、測試分析、測試管理、缺陷跟蹤,并且把這個過程納入整個軟件項目開發(fā)和軟件產(chǎn)品開發(fā)過程。實際上,在CMM的規(guī)范中,測試本身就是SQA的一部分。自動測試的基礎(chǔ)就在于測試工具,只有采用了優(yōu)秀的自動測試軟件,才能夠解決自動測試的問題。自動測試工具能夠在兩個階段給軟件開發(fā)企業(yè)帶來價值:第一,對于軟件開發(fā)人員來說,高效率的自動測試工具能夠提供給程序員自己完成開發(fā)過程中的冒煙測試,便于在頻繁修改的軟件過程中迅速完成測試,保證編碼的穩(wěn)定性;第二,對于項目和產(chǎn)品的測試階段來說,能夠提供穩(wěn)定的回歸測試,保證產(chǎn)品的可靠性。眾所周知,在測試階段發(fā)現(xiàn)問題的投入,相對與在軟件投產(chǎn)之后出現(xiàn)錯誤再去解決問題要小的多。上海澤眾軟件科技有限公司開發(fā)出了國內(nèi)第一個擁有自主知識產(chǎn)權(quán)的自動測試軟件——自動測試引擎(AutoRunner),能夠幫助用戶實現(xiàn)自動化測試。概述1、本技術(shù)白皮書適用于上海澤眾軟件科技有限公司自動測試工具(AutoRunner)。2、本技術(shù)白皮書是上海澤眾軟件科技有限公司自動測試工具(AutoRunner)的技術(shù)說明,也是技術(shù)談判的主要內(nèi)容,是采購方詢價、系統(tǒng)選型以及系統(tǒng)測試和驗收的主要技術(shù)依據(jù)。3、本技術(shù)白皮書是根據(jù)信息產(chǎn)業(yè)部頒布的有關(guān)技術(shù)體制和技術(shù)政策并結(jié)合上海澤眾軟件科技有限公司的實際情況制定的。本技術(shù)白皮書沒有提出而信息產(chǎn)業(yè)部的技術(shù)體制以及技術(shù)標(biāo)準(zhǔn)已有具體規(guī)定的內(nèi)容,應(yīng)按信息產(chǎn)業(yè)部的技術(shù)體制以及技術(shù)標(biāo)準(zhǔn)執(zhí)行,如果存在不一致應(yīng)以信息產(chǎn)業(yè)部頒布的最新技術(shù)體制及技術(shù)標(biāo)準(zhǔn)內(nèi)容為準(zhǔn)。本技術(shù)白皮書在內(nèi)容或技術(shù)指標(biāo)上如果存在錯誤(包括印刷錯誤),經(jīng)雙方確認(rèn)后可對該錯誤內(nèi)容或技術(shù)指標(biāo)進(jìn)行修正。自動測試工具(AutoRunner)版本升級之后,上海澤眾軟件科技有限公司有權(quán)對本技術(shù)白皮書進(jìn)行修改,并不需要主動通知用戶。本技術(shù)白皮書以下內(nèi)容為用戶重點考察內(nèi)容:軟件的功能、性能、技術(shù)指標(biāo)和環(huán)境要求;設(shè)備容量計算和配置方法;所提供的數(shù)據(jù)庫的功能和性能指標(biāo);軟件安裝要求;提供軟件的接口、協(xié)議等工程技術(shù)要求;乙方供貨范圍、交貨能力和時間、運輸、安裝、調(diào)測驗收和培訓(xùn)等項內(nèi)容的日程安排;其他有關(guān)技術(shù)資料。本軟件對涉及專利、知識產(chǎn)權(quán)等法律條款承擔(dān)有限責(zé)任。本技術(shù)白皮書提供了對上海澤眾軟件科技有限公司的自動測試工具(AutoRunner)的相關(guān)技術(shù)描述,由于用戶使用造成損失,上海澤眾軟件科技有限公司不承擔(dān)責(zé)任。本技術(shù)白皮書以中文編寫,未經(jīng)上海澤眾軟件科技有限公司同意或授權(quán)的其它語言或形式的技術(shù)白皮書無效。本技術(shù)規(guī)范書的解釋權(quán)歸上海澤眾軟件科技有限公司。
2.系統(tǒng)概述2.1系統(tǒng)定位AutoRunner是一個自動測試工具的集合,也是一個自動測試框架,加載不同的測試組件,就能夠?qū)崿F(xiàn)面向不同應(yīng)用的測試。AutoRunner支持瀏覽器測試和其他各種技術(shù)平臺的AUT(applicationundertest),包括:瀏覽器、java、win32、silverlight、flex、.NET等。2.2自動功能測試工具的概念測試腳本自動測試,就是使用一個程序來測試另一個程序(被測試的應(yīng)用系統(tǒng))功能的正確性。如果用來測試的程序本身非常復(fù)雜,也需要被測試,或者編寫困難,那么自動測試就失去了意義。因此,用來測試另外一個程序的程序往往是非常簡單的,我們把這個程序稱為“測試腳本”。測試腳本通常在測試工具的IDE里執(zhí)行,并且獲得IDE的支持。自動記錄當(dāng)我們編寫測試腳本的時候,往往發(fā)現(xiàn)編寫腳本本身是很困難的:了解腳本的語法、了解測試過程、把測試過程轉(zhuǎn)換稱為測試腳本語句。自動記錄,就是通過記錄一個操作過程來獲得測試腳本的功能。通過自動記錄,我們就能夠得到一個操作的基本的腳本,通過修改這個腳本,我們得到更通用的測試腳本。同步點在執(zhí)行測試腳本的時候,測試腳本語句的操作對象是GUI的組件。測試腳本通過這個組件的屬性(如:名稱、位置、winclass、disable等)來確定那個組件是我們需要操作的組件。這個查找組件的過程如果失敗,意味著:第一,應(yīng)用系統(tǒng)的響應(yīng)比較慢,需要等待一段時間再進(jìn)行一次定位;或者第二,該組件不存在。這個查找、定位組件的過程,我們稱為同步點。AutoRunner的同步點都是隱含方式的:在操作對象的時候進(jìn)行自動同步,自動設(shè)置同步點。檢查點測試的目的是檢查數(shù)據(jù)是否正確。在測試的過程中,我們需要檢查某個組件的某些屬性滿足某個條件。這個檢查的位置和條件,我們稱為檢查點。在AutoRunner中,使用check(“objectname”,“property”,“期望值”)來作為檢查點的腳本語句,它檢查對象objectname的屬性property是否和期望值一致。在使用使用中,可以使用檢查點來檢驗系統(tǒng)的各個方面,如數(shù)據(jù)庫、GUI屬性等。參數(shù)化與數(shù)據(jù)驅(qū)動測試腳本是針對一個測試過程的。一個測試過程往往需要眾多的數(shù)據(jù)來測試。通過自動錄制得到的腳本,所有的輸入數(shù)據(jù)都是常數(shù),是固定的。如果需要使用一個測試腳本測試多組數(shù)據(jù),就需要對腳本進(jìn)行參數(shù)化,把固定的常數(shù)修改為來自數(shù)據(jù)源變量。這個過程我們稱為參數(shù)化。采用了參數(shù)化的腳本,我們稱為數(shù)據(jù)驅(qū)動的模式。2.3業(yè)務(wù)提供所謂業(yè)務(wù)提供,就是指使用本自動測試工具能夠提供的功能。2.3.1AutoRunner適用性說明AutoRunner是一個產(chǎn)品家族,不是一個單個的產(chǎn)品。這個產(chǎn)品家族的特點是共同使用了一個標(biāo)準(zhǔn)的IDE,并且使用相同的測試腳本語言。從腳本的角度上看,他們是完全相同的。所不同的是相同的IDE采用不同的測試plugin組件。我們提供不同的組件以滿足不同的測試需求:2.3.2自動化的功能測試AutoRunner的基本功能,就是對軟件進(jìn)行功能測試。功能測試本身是面向需求的黑盒測試工具。它以需求點為出發(fā)點,為了滿足需求點(即需求),進(jìn)行測試分析,得到測試案例。然后使用測試工具得到測試案例庫(測試案例庫包括測試腳本和案例數(shù)據(jù)),并且根據(jù)測試案例庫對功能進(jìn)行測試,得到被測試軟件的錯誤報告和缺陷跟蹤報告,進(jìn)而反饋給軟件開發(fā)人員,幫助他們確定問題,修改錯誤,提高軟件的質(zhì)量。2.3.3自動化的回歸測試由于軟件開發(fā)是面向用戶需求的,而用戶需求也是不斷變化的。修改軟件會經(jīng)常性的引入錯誤,根據(jù)統(tǒng)計,每修改3個錯誤可能會引入1個錯誤。雖然修改了很小的一部分,卻存在引入巨大錯誤的風(fēng)險。防范風(fēng)險的手段就是回歸測試。手工回歸測試往往需要大量的人力才能夠?qū)崿F(xiàn),這就出現(xiàn)了:減少測試(降低了成本)就增加了風(fēng)險;降低了風(fēng)險(引入大量測試人員進(jìn)行全面的回歸測試)就會增加成本。采用AutoRunner的自動化測試工具就能夠解決這個問題。2.3.4每日構(gòu)建與冒煙測試程序員往往通過單元測試來對他(她)所負(fù)責(zé)的部分進(jìn)行測試。當(dāng)測試完成后,又需要進(jìn)行集成測試(即幾個模塊組裝在一起之后的測試)。單元測試是白盒測試,往往和最后的功能測試存在一定的差異。目前,很多先進(jìn)的做法(如微軟)都采用每日構(gòu)建和冒煙測試的方法,就是在每天程序員都需要提交自己的代碼,并且構(gòu)建一個版本進(jìn)行測試,第二天把測試的結(jié)果反饋給開發(fā)者。每日構(gòu)建和冒煙測試能夠很大程度上提高軟件的開發(fā)效率,并且對與SQA而言是增加了軟件度量的指標(biāo)。每日構(gòu)建和冒煙測試必然要建立在自動測試工具的基礎(chǔ)上,依靠人是無法在每天晚上完成一次完整的功能測試的。2.3.5版本升級測試新軟件開發(fā)完畢,即將發(fā)布的時候,用戶非常關(guān)心:新的版本是否能夠完成原來來版本的功能、是否和老版本功能兼容。重新測試一邊老版本的所有功能是必要的,會提前發(fā)現(xiàn)版本兼容的問題、數(shù)據(jù)的問題等等。實現(xiàn)這個測試的基礎(chǔ)就是自動測試功能,基于AutoRunner的測試案例能夠在很短的時間之內(nèi)完成一次測試,防止問題發(fā)生。2.3.6特性概述AutoRunner作為自動測試工具,采用最流行的Javabeanshell腳本語言作為測試腳本,增加了測試人員對測試工具的接收程度,也能夠在測試人員學(xué)習(xí)測試工具的過程中學(xué)會java的基本知識。AutoRunner具有優(yōu)秀的錄制功能,能夠一次錄制非常完善的腳本和資源,降低了測試人員修改腳本的工作量。對于測試過程中遭遇不斷回放錯誤的測試人員來說,是非常有價值的。強(qiáng)大的對象識別技術(shù)。在測試執(zhí)行的過程中,由于版本不同,可能會導(dǎo)致各個版本之間的組件發(fā)生名稱、位置、屬性等方面的變化,從而導(dǎo)致上一次錄制的腳本無法工作。AutoRunner的對象識別技術(shù),能夠不以來于對象的位置,并且具有自動識別的功能,在無法精確定位組件的情況下,能夠選中一個最可能的組件,使得腳本的更改下降到最低。簡便的腳本。對于使用java語言作為腳本,很多測試人員可能會擔(dān)心過于復(fù)雜。實際上,所有的測試腳本都是繼承一個標(biāo)準(zhǔn)的類TestCase,并且使用它提供的基本方法,因此是非常簡單的,沒有復(fù)雜的java成分,便于那些已經(jīng)學(xué)習(xí)過其他測試工具的測試人員遷移到這個工具上來。自動化的數(shù)據(jù)驅(qū)動。AutoRunner提供了自動化的數(shù)據(jù)驅(qū)動功能:在錄制腳本的時候,已經(jīng)在腳本中實現(xiàn)了數(shù)據(jù)驅(qū)動。用戶可以把不需要的數(shù)據(jù)驅(qū)動修改為常量。因此,測試人員不需要自己來編寫復(fù)雜的數(shù)據(jù)驅(qū)動。另外AutoRunner還提供了一個數(shù)據(jù)驅(qū)動框架,便于測試人員使用。關(guān)鍵字驅(qū)動。AutoRunner實現(xiàn)了關(guān)鍵字驅(qū)動,IDE提供關(guān)鍵字視圖和專家視圖(編輯測試腳本),不熟悉腳本的用戶通過拖拽的方式也能夠編輯測試腳本;經(jīng)過編輯的測試腳本也能夠被轉(zhuǎn)換成關(guān)鍵字來查看和編輯。關(guān)鍵字驅(qū)動的引入,降低了自動測試的難度,使得不熟悉測試腳本的測試工程師也能夠編寫和維護(hù)測試腳本。對象指示器。AutoRunner的對象指示器能夠在錄制腳本的時刻,指示識別到的對象,并且保存此對象的圖片,作為對象屬性的一部分。在關(guān)鍵字視圖上,能夠查看每個語句關(guān)聯(lián)的腳本;在對象瀏覽器上,可以在查看對象屬性的同時顯示對象的圖片,便于用戶理解當(dāng)前對象的位置信息。靈活的驗證方式。案例執(zhí)行的正確與否需要數(shù)據(jù)比對來驗證。AutoRunner提供了強(qiáng)大驗證方式,用戶可以非常簡便的通過編寫腳本來使用,如提供對字符串的正則表達(dá)式驗證。良好的擴(kuò)展性。一般的腳本雖然很簡便,但是對于特殊的測試,往往需要更復(fù)雜的功能,例如:需要對網(wǎng)絡(luò)上的另一臺系統(tǒng)中的數(shù)據(jù)庫的某些數(shù)據(jù)進(jìn)行同步?;镜腁utoRunner不提供這個功能。由于AutoRunner使用了標(biāo)準(zhǔn)的java(目前為最新的JDK1.5)那么用戶可以自己編寫一個同步方法(或者類)加入到系統(tǒng)中來使用,只要是java已經(jīng)提供的功能,都可以得到完善的支持。標(biāo)準(zhǔn)化。AutoRunner符合測試工具的基本要求,如:同步點、驗證點、錯誤報告等,都遵守了國際化測試標(biāo)準(zhǔn),便于用戶理解和使用,也便于用戶比較各個不同測試工具之間的差異。2.4產(chǎn)品設(shè)計目標(biāo)提高回歸測試的覆蓋率,提高測試質(zhì)量。對于功能已經(jīng)完整和成熟的軟件,每次發(fā)布一個新的版本,其中大部分功能和界面都和上一個版本相似或完全相同,這部分功能特別適合于自動化測試,從而可以讓測試達(dá)到測試每個特征的目的。通過AutoRunner來編寫回歸測試的測試案例,并且再每次發(fā)布版本的時候通過執(zhí)行所有的測試案例來進(jìn)行回歸測試,能夠覆蓋大量的功能——人工測試無法進(jìn)行測試的功能。每日測試的高效率。DCC版本的發(fā)布周期往往比較短,也就是開發(fā)周期只有短短的幾個月,而在測試期間是每天/每2天都要發(fā)布一個版本供測試人員測試,一個系統(tǒng)的功能點有幾千個上萬個,人工測試是非常的耗時和繁瑣,這樣必然會使測試效率低下。AutoRunner通過高效率的自動執(zhí)行測試案例,允許每天對版本進(jìn)行測試,提高測試效率。具有一致性和可重復(fù)性。由于每次自動化測試運行的腳本是相同的,所以每次執(zhí)行的測試具有一致性,人是很難做到的.由于自動化測試的一致性,很容易發(fā)現(xiàn)被測軟件的任何改變。更好的利用資源--周未/晚上。理想的自動化測試能夠按計劃完全自動的運行,在開發(fā)人員和測試人員不可能實行三班倒的情況下,自動化測試可以勝任這個任務(wù),完全可以在周末和晚上執(zhí)行測試.這樣充分的利用了公司的資源,也避免了開發(fā)和測試之間的等待。解決測試與開發(fā)之間的矛盾。通常在開發(fā)的末期,進(jìn)入集成測試階段,由于每次發(fā)布一個版本的初期,測試系統(tǒng)的錯誤比較少,這時開發(fā)人員有等待測試人員測試出錯誤的時間.事實上在迭代周期很短的開發(fā)模式中,存在更多的矛盾,但自動化測試可以解決其中的主要矛盾。將煩瑣的任務(wù)轉(zhuǎn)化為自動化測試。大量重復(fù)的測試是非常繁瑣的,并且需要消耗大量的人力才能夠完成。自動測試能夠很好的解決這個問題,不需要繁瑣的勞動,不需要大量的人員。增加軟件信任度。只有經(jīng)過大量測試案例測試過的版本才是可靠的,而只有使用自動測試才能夠保證在段時間內(nèi)完成大量的測試案例。3.系統(tǒng)體系結(jié)構(gòu)特性要求3.1系統(tǒng)要求操作系統(tǒng)環(huán)境:WindowsXPWindows2000Windows2003注:理論上對于安裝了jdk1.5的windows系統(tǒng)都提供支持。系統(tǒng)要求: JDK1.5 IE5.5以上(針對IE的plugin)測試案例數(shù)據(jù)格式 XML EXCEL注:理論上支持jdbc接口的數(shù)據(jù)庫。AutoRunner是一個自動化的功能測試工具,它可以和測試管理工具、缺陷跟蹤工具一起來使用,以達(dá)到更好的效果:AutoRunnerAutoRunner測試管理工具缺陷跟蹤工具測試需求管理測試案例管理測試計劃測試執(zhí)行測試結(jié)構(gòu)設(shè)計測試腳本錄制、編寫、調(diào)試查看測試結(jié)果查看缺陷查看缺陷跟蹤報告3.2系統(tǒng)性能AutoRunner針對與系統(tǒng)的功能測試自動化,對性能要求不高:自動測試的腳本執(zhí)行速度,超過人工執(zhí)行的速度。3.3擴(kuò)展能力擴(kuò)展驗證點所謂的驗證點,就是用來驗證被測試系統(tǒng)返回數(shù)據(jù)或者狀態(tài)是否和預(yù)期一致的點。AutoRunner提供了完整的驗證點功能,用來驗證字符串、bitmap文件是否正確,對字符串可以驗證是否符合定義的“正則表達(dá)式”。當(dāng)然,由于驗證往往是非常復(fù)雜的,例如:當(dāng)我們使用一個功能向database中增加一條記錄后,通過jdbc來查看該記錄是否已經(jīng)被增加。這就需要用戶根據(jù)具體的數(shù)據(jù)庫來編寫一個功能來實現(xiàn)特殊的校驗點。系統(tǒng)提供了基本的校驗方法,允許用戶自己來通過編寫一個特殊校驗的類,或者一個特殊的方法來定義特殊的校驗點(調(diào)用的結(jié)果如果希望反映的標(biāo)準(zhǔn)的測試報告中,就需要調(diào)用系統(tǒng)提供的基本方法),最終實現(xiàn)對驗證點功能的擴(kuò)展。自動錄制時候的針對用戶自定義組件的識別根據(jù)國外測試人員的經(jīng)驗,編寫腳本的工作中,大量的工作都被用戶的自定義組件消耗了。由于很多的測試工具本身支持一組標(biāo)準(zhǔn)的控件,在自動錄制的時候,系統(tǒng)能夠根據(jù)這些組件來生成測試腳本,并且允許回放這個腳本來執(zhí)行測試。當(dāng)用戶自定義了一個組件之后,用戶定義的組件是基于基本組件的,系統(tǒng)就往往無法自動識別這些組件,導(dǎo)致測試人員錄制腳本的時候非常復(fù)雜:名稱不同、識別困難、運行時刻同步點錯誤。AutoRunner提供了對組件的定義功能:所有的組件類型必須被定義,并且只有最上層的已定義類型組件被識別,其他的組件都不會被識別。如果用戶定義了自己的組件,那么他只需要把他自己定義組件的:類名、contexttype增加到組件定義文件中就可以了。AutoRunner的這個功能大大增強(qiáng)了對用戶自定義組件的支持,使得測試人員能夠錄制正確的腳本、編寫正確的腳本,減少差錯。對第三方測試管理工具的支持AutoRunner提供了對第三方測試管理工具的支持:通過數(shù)據(jù)文件或者數(shù)據(jù)庫,就可以傳遞測試案例信息、測試案例數(shù)據(jù)信息。AutoRunner提供了命令行的支持,支持用戶在遠(yuǎn)程啟動和調(diào)用,這就為第三方的測試管理工具提供了一個執(zhí)行調(diào)用接口。對第三方缺陷跟蹤工具的支持同樣的,AutoRunner可以提供針對缺陷跟蹤工具的API的調(diào)用,和第三方缺陷跟蹤工具達(dá)到“無縫連接”。3.4可靠性和可用性系統(tǒng)的可用性和可靠性由幾個指標(biāo)來衡量:系統(tǒng)的出錯處理能力。也就是,當(dāng)系統(tǒng)出現(xiàn)錯誤之后,是否能夠提供完善的錯誤處理機(jī)制,跳過錯誤,繼續(xù)執(zhí)行允許執(zhí)行的下一個功能點測試。系統(tǒng)執(zhí)行過程中工具不會出現(xiàn)異常,導(dǎo)致測試無法正常執(zhí)行。測試腳本出現(xiàn)異常,提供強(qiáng)大的調(diào)試功能。當(dāng)AutoRunner升級之后,原有測試腳本能夠兼容,繼續(xù)使用。具體到AutoRunner,如下:系統(tǒng)的出錯處理能力對所有的測試案例來說,每一個測試案例都是一個繼承自classTestCase的子類,在測試過程中的動作都是調(diào)用父類TestCase中的方法來實現(xiàn)的,如:setWindow(),setValue(),getValue(),setProperty(),getProperty()等。這些方法在出錯的時候(一般都是同步點錯誤),會拋出一個異常syncException。案例只有一個主要的測試過程類:test()throwssyncException。當(dāng)test()執(zhí)行的時候,如果出現(xiàn)異常,就會拋出一個syncException,外部的方法會catch到這個syncException,然后使用一個通用的方法來處理錯誤。測試人員只需要編寫一個標(biāo)準(zhǔn)的錯誤處理方法就可以完成這些所有的工作。當(dāng)然,這個測試人員需要對java有一定的了解和熟悉,但是這樣的人員只需要一個就可以了,因為出錯處理程序只需要一個,它用來處理所有的錯誤,并且使得下一個測試案例可以被執(zhí)行。IDE的穩(wěn)定性。在一個大量的測試案例被執(zhí)行的時候,實際上IDE并沒有工作,它只是在等待響應(yīng)。執(zhí)行測試的過程,就是執(zhí)行java各個不同的類的過程。而TestCase是一個非常健壯的類,不會導(dǎo)致系統(tǒng)出現(xiàn)異常。因此,IDE從理論上是非常堅固的。另外基于java的系統(tǒng)一般而言,穩(wěn)定性都非常好。特別是所有的測試案例基本上都是繼承自classTestCase。產(chǎn)品升級當(dāng)產(chǎn)品升級的時候,對原有測試案例影響最大的就是TestCase類的變化。classTestCase實際上只是一個abstract,只實現(xiàn)了一個基本的interface,實際的功能都是由底層的組件來實現(xiàn)的,這個組件在IDE啟動的時候被load,跟測試人員自己編寫的測試案例沒有任何直接關(guān)系。因此當(dāng)?shù)讓拥念惏l(fā)生變化的時候——系統(tǒng)升級可能會帶來底層類的變化——對測試腳本沒有影響。3.5國際支持支持多種語言Unicode編碼形式;用戶可以選擇中英文界面的版本。系統(tǒng)對語言編碼的識別是由系統(tǒng)自動完成,用戶不必考慮選碼的問題。4.系統(tǒng)基本功能4.1測試案例創(chuàng)建與錄制創(chuàng)建測試案例用戶能夠創(chuàng)建一個測試案例。創(chuàng)建的測試案例腳本是空的,需要用戶自己來加入包的名字、類的名字等等。創(chuàng)建測試案例可以在項目瀏覽器中使用右鍵菜單或者系統(tǒng)的菜單。如果用戶是一個非常熟悉測試案例的測試人員,他(她)就可以自己手工來編寫測試案例的代碼了。但是,由于資源文件不存在,所以他(她)如果希望自己編寫的測試案例能夠執(zhí)行的化,還需要手工編寫對應(yīng)的xml資源文件。創(chuàng)建測試案例的過程都是從錄制開始的。通過錄制創(chuàng)建測試腳本當(dāng)你從菜單或者工具條啟動“錄制”命令,系統(tǒng)開始記錄你的所有操作,并且在記錄過程中把生成的腳本文件顯示在編輯器上面。錄制的結(jié)果是,你得到了:1)一個可以被執(zhí)行的測試腳本文件;2)測試腳本相關(guān)的資源文件,這個資源文件用來記錄所有腳本中用到的窗口、組件的屬性(如:名稱、位置、tabindex、類型等)。4.2測試案例編輯測試案例的結(jié)構(gòu)測試案例是具有結(jié)構(gòu)的,它能夠運行,首先要符合java的語法和主程序入口。并且它需要使用測試基本類提供的功能來完成測試。測試案例編輯AutoRunner提供了強(qiáng)大的測試案例編輯功能:第一,提供了java腳本的關(guān)鍵字識別技術(shù),能夠識別系統(tǒng)的關(guān)鍵字,避免語法錯誤;第二,提供了實時語法分析的功能,在編輯過程中動態(tài)分析語法,并且對語法錯誤動態(tài)報警,盡量避免編譯時刻再出現(xiàn)錯誤。4.3測試案例參數(shù)化什么是數(shù)據(jù)驅(qū)動?錄制完成測試案例之后,你就得到了一個測試腳本。如果這個測試腳本只能夠被執(zhí)行一組數(shù)據(jù),并且數(shù)據(jù)是固定不變的,那么你每一次的測試就只能夠執(zhí)行很簡單的功能了。邊界條件、路徑覆蓋,需要使用一個腳本、很多組數(shù)據(jù)輸入才能夠完成,固定的數(shù)據(jù)無法滿足要求。數(shù)據(jù)驅(qū)動就是指能夠把需要輸入(和驗證)的數(shù)據(jù)參數(shù)化,通過腳本執(zhí)行不同的數(shù)據(jù),就實現(xiàn)了數(shù)據(jù)驅(qū)動,也就是數(shù)據(jù)與腳本分離。AutoRunner實現(xiàn)了腳本與數(shù)據(jù)分離:腳本使用java的腳本,在腳本執(zhí)行的時候,從數(shù)據(jù)源中讀取數(shù)據(jù)。AutoRunner使用了DataSource這樣一個接口來實現(xiàn)參數(shù)化。DataSource通過外部定義的組件實現(xiàn)對外部數(shù)據(jù)源的操作功能,從外部獲取數(shù)據(jù)。DataSource本身就是通過插件來實現(xiàn)的,IDE只定義了interface,外部插件決定系統(tǒng)的行為。通過加載不同的插件,用戶可以使用不同的數(shù)據(jù)源來訪問數(shù)據(jù)。如:excel、xml、db和其他。測試案例參數(shù)化 AutoRunner在自動錄制完成之后,可以通過菜單“參數(shù)化”,AutoRunner會彈出所有的對象樹,提供給用戶勾選,選中部分進(jìn)行自動參數(shù)化。參數(shù)化的結(jié)果:1)腳本變?yōu)閰?shù)化腳本;2)數(shù)據(jù)池自動增加了選擇的參數(shù)列表。在測試案例參數(shù)化之后,用戶仍然可以手工來修改,實現(xiàn)進(jìn)一步的參數(shù)編輯工作。創(chuàng)建外部數(shù)據(jù)源只有訪問數(shù)據(jù)源的腳本,沒有外部數(shù)據(jù)源,那么所有的腳本訪問都會失敗。用戶需要創(chuàng)建外部的數(shù)據(jù)源。有兩種方式創(chuàng)建數(shù)據(jù)源:第一,自動通過IDE創(chuàng)建。在腳本文件中,選中該腳本的右鍵菜單中的“創(chuàng)建/維護(hù)腳本”,IDE會自動查找所有的datasource操作,并且更新數(shù)據(jù)源。第二,通過手工創(chuàng)建。需要在外面手工編輯文件。4.4增加同步點和驗證點同步點的概念在進(jìn)行輸入輸出之前,就需要對系統(tǒng)進(jìn)行同步,使得輸入和輸出能夠針對正確的窗口或者組件,以免出現(xiàn)異常和錯誤。如果同步條件沒有出現(xiàn),系統(tǒng)就需要等待一段時間,來滿足運行系統(tǒng)的要求,使得需要操作的組件能夠顯示出來。自動同步和手工同步點所謂的自動同步點,是只在操作過程中,由于本身需要執(zhí)行操作,如對某個組件輸入一串字符,而需要等待這個組件出現(xiàn),這種同步點是系統(tǒng)在操作過程中自動加入的,我們稱為“自動同步點”。也有一些情況,需要手工增加一些同步點,當(dāng)系統(tǒng)執(zhí)行到一定時候,需要等待一個條件出現(xiàn)再繼續(xù)執(zhí)行,這種同步點我們稱為“手工同步點”。用戶需要關(guān)心的是手工同步點,例如:需要等待一個image能夠正確顯示,然后再繼續(xù)下面的工作。它不是單純的等待,而是每間隔一段時間就去查看是否滿足同步條件,如果滿足系統(tǒng)就繼續(xù)執(zhí)行,如果不滿足而系統(tǒng)超時時間沒有達(dá)到,就繼續(xù)等待。如果出現(xiàn)超時,那么就拋出SyncException。驗證點測試的目的是看執(zhí)行一個過程,結(jié)果是否和預(yù)期結(jié)果一致。驗證的方法就是查看結(jié)果是否一致,這個點我們稱作“驗證點”。驗證成功則繼續(xù)執(zhí)行,驗證不成功也需要繼續(xù)執(zhí)行,并且把結(jié)果寫入測試報告。AutoRunner的驗證點需要手工加入——AutoRunner不知道用戶需要驗證那些內(nèi)容。增加驗證點 用戶可以使用編輯器來增加驗證點,AutoRunner提供了方法讓用戶來增加驗證點。4.5測試案例執(zhí)行測試案例執(zhí)行當(dāng)測試案例只有能夠被執(zhí)行才有意義。在AutoRunner里,測試案例是一個java的類(特殊的java類)。這個類首先被編譯,然后執(zhí)行。通過菜單上的“執(zhí)行”項,你可以執(zhí)行這個測試案例。如果編譯出現(xiàn)錯誤,則會在信息欄中提示錯誤。執(zhí)行支持標(biāo)準(zhǔn)輸出,并且把標(biāo)準(zhǔn)輸出顯示在AutoRunner下面的輸出框里面。多次執(zhí)行當(dāng)測試用例被執(zhí)行的時候,AutoRunner會提示,需要用戶輸入當(dāng)前測試腳本被參數(shù)化之后,需要使用的數(shù)據(jù)列表的行號范圍。輸入之后,會多次執(zhí)行這個測試腳本,每次使用一行的數(shù)據(jù),達(dá)到一個腳本中執(zhí)行多次的目標(biāo)。測試跟蹤調(diào)試測試腳本本身也可能出錯,也可能由于被測試對象的變化(如缺少了一個對象)而出現(xiàn)錯誤。因此,定位和排除錯誤的方法,我們使用了跟蹤調(diào)試。AutoRunner使用了java作為測試腳本,并且每個測試腳本都是一個java的類。因此AutoRunner實現(xiàn)了java的跟蹤體系結(jié)構(gòu):JDA。AutoRunner允許用戶設(shè)置斷點、查看本地變量值、查看指定的變量的值,并且提供了單步執(zhí)行的各種模式。5.AutoRunner的特點評估自動測試工具的關(guān)鍵在于:第一,很高的建立測試案例的生產(chǎn)率;第二,降低用戶的二次開發(fā)成本;第三,便于維護(hù)使用;第四,便于測試案例的數(shù)據(jù)驅(qū)動擴(kuò)展;第五,測試案例資源的延續(xù)性;第六,擴(kuò)展性。下面,我們就AutoRunner在這幾個方面的特點簡要介紹:AutoRunner具有很高的生產(chǎn)率。自動測試工具建立一個測試案例腳本的時間成本為手工測試一次的3-10倍,可見建立自動測試的起始是需要一定的成本的。如何降低建立測試案例的成本,是自動測試工具的關(guān)鍵。AutoRunner的優(yōu)勢在于:首先,優(yōu)秀的自動識別組件功能。腳本能夠在錄制完成之后直接使用,能夠自動適應(yīng)出現(xiàn)的各種情況,如:窗口位置、title、大小等的變化,組件位置、名稱的變化。通過自動識別能夠識別處組件,從而降低對編寫腳本的要求,提高了自動錄制的可用性。第二,提供了數(shù)據(jù)驅(qū)動框架。很多測試工具雖然支持參數(shù)化的功能,但是需要手工完成數(shù)據(jù)驅(qū)動框架,才能夠?qū)崿F(xiàn)數(shù)據(jù)驅(qū)動:從指定的文件中獲取數(shù)據(jù)。AutoRunner自動定義標(biāo)準(zhǔn)的數(shù)據(jù)驅(qū)動模式,定義了標(biāo)準(zhǔn)的數(shù)據(jù)驅(qū)動格式,降低了增加測試案例的成本。雖然建立一個測試腳本需要一定的時間,但是在測試腳本建立之后增加一組數(shù)據(jù)的時間卻非常短。模糊識別。AutoRunner對每種組件定義了標(biāo)準(zhǔn)的模糊識別指標(biāo)。在錄制測試案例之后,系統(tǒng)的資源文件就會根據(jù)系統(tǒng)的配置文件生成確定識別權(quán)重的指標(biāo)。在測試腳本被執(zhí)行的時候,通過權(quán)重算法來進(jìn)行模糊識別和匹配。關(guān)鍵字驅(qū)動。AutoRunner提供了領(lǐng)先的關(guān)鍵字驅(qū)動技術(shù),支持腳本編寫使用專家視圖,不熟悉腳本的用戶使用關(guān)鍵字視圖,并且實現(xiàn)在腳本視圖與關(guān)鍵字視圖之間的相互轉(zhuǎn)換,既提升了效率,也提升了易用性,既能夠給熟悉腳本的測試工程師提供高效的工作平臺,也能夠給不熟悉測試腳本的測試工程師使用方便。用戶可以對系統(tǒng)配置文件的識別參數(shù)進(jìn)行調(diào)整,達(dá)到修改整個錄制腳本識別參數(shù)權(quán)重的目標(biāo),便于提高整個項目中腳本開發(fā)的效率。在用戶錄制完成腳本之后,可以對對應(yīng)的資源文件的權(quán)重屬性進(jìn)行修改,使系統(tǒng)能夠定制具體的模糊識別對象,對腳本組件識別算法作特殊處理。通過模糊識別算法,能夠極大地提高腳本執(zhí)行的可靠性,對于由于類似組件位置、大小等變化之下的腳本執(zhí)行,能夠起到非常良好的效果:用戶不需要因為界面小的修改而導(dǎo)致來修改測試腳本。便于維護(hù)使用。案例完成之后,隨著應(yīng)用系統(tǒng)的修改、應(yīng)用系統(tǒng)版本的提升,同樣需要維護(hù)這個測試用例庫,因此維護(hù)使用是非常重要的功能。維護(hù)方便性主要體現(xiàn)在幾個方面:簡潔的框架、容易理解的腳本、方便的調(diào)試功能。AutoRunner提供了針對測試案例的框架,這個框架包括:案例層次劃分(AutoRunner的案例由Action組成,每個Action包含對一個Window的所有操作,AutoRunner允許在案例之間共享Action來提高系統(tǒng)的可維護(hù)性)、數(shù)據(jù)驅(qū)動框架、自動同步、數(shù)據(jù)校驗?zāi)J降取J褂眠@些框架能夠非常容易的維護(hù)測試案例庫。AutoRunner采用了java的語法,測試人員使用的語法非常簡單,便于理解和使用。并且,由于系統(tǒng)提供了關(guān)鍵字驅(qū)動的框架,所以對一般的維護(hù)而言,根本不需要了解java,只需要知道最基本的操作就可以。AutoRunner遵守JDA的標(biāo)準(zhǔn),提供了最強(qiáng)大的系統(tǒng)調(diào)試功能:從設(shè)置斷點、單步執(zhí)行、變量查看、表達(dá)式查看等方面提供支持,便于測試人員容易排除錯誤。另外,AutoRunner提供了強(qiáng)大的編輯器,在一般編輯器能夠動態(tài)識別語法關(guān)鍵字的基礎(chǔ)上,還能夠同時提供語法檢查——在編輯的時候從事語法檢查,對錯誤的語法實時提示。這個編輯器對于比較缺乏編程經(jīng)驗的程序員來說,非常重要。測試案例資源的延續(xù)性和擴(kuò)展性。測試案例庫本身也是一種資源它和應(yīng)用版本是對映的關(guān)系,隨著應(yīng)用系統(tǒng)版本的升級,案例庫也會升級,那么回歸測試的效果才能夠最大化。對于測試工具來說,要保證這個資源,就需要保證:測試腳本的兼容性。另外由于隨著應(yīng)用的發(fā)展,測試工具的功能需要大幅度的提升,因此工具的可擴(kuò)展性也需要保證才能夠保證測試案例資源的延續(xù)性。AutoRunner使用了java語言作為基礎(chǔ),并且實現(xiàn)了java調(diào)試功能,可以隨著java的發(fā)展不斷的發(fā)展,擴(kuò)展自己的功能。采用java語言是一個巨大的優(yōu)勢,比測試工具自己使用一種語言要方便的多。從根本上說,AutoRunner不是采用了哪種語言的語法,而是從根本上就是java語言。這和采用vbscript或者c語言語法的工具是截然不同的。在擴(kuò)展外部功能方面,由于AutoRunner使用了java語言,允許使用外部的包,也就是說可以任意增加腳本本身的功能而不受語法的限制和工具本身是否支持外部包的限制——在最大程度上提高了擴(kuò)展性。6.廠商支持能力提供完備的用戶手冊,管理員使用手冊,系統(tǒng)技術(shù)手冊并再系統(tǒng)升級后及時修改更新服務(wù)。廠商能夠根據(jù)在實際應(yīng)用中的問題,迅速給予解答(2小時內(nèi)),并給出解決方案(48小時內(nèi))。400免費售后電話:400-035-7887
PAGE5 PAGE2公司治理的核心原則黃一義
編譯什么是公司治理?
公司治理是調(diào)整公司企業(yè)各方參與者關(guān)系的規(guī)范,這些參與者主要包括三個方面:股東;(以CEO為首的)公司管理層;董事會及其成員。這些參與者決定著公司的發(fā)展方向和績效。公司治理結(jié)構(gòu)的目標(biāo)是要在這三方面參與者之間建立起兩種有效的負(fù)責(zé)任(accountable)的關(guān)系,即董事會對管理層的有效監(jiān)督和股東對董事會的有效制約。經(jīng)驗表明,股東積極行使其所有者權(quán)力參與公司事務(wù),會使公司管理層更加負(fù)責(zé)且更加關(guān)注公司的業(yè)績,因而對股東的投資帶來更多的回報。美國的一家大型信托機(jī)構(gòu)棗擁有1000多億美元資產(chǎn)的加州雇員退休系統(tǒng)1996年的一項研究表明,這種積極的參與使美國公司新增利潤達(dá)1.5億美元。公司治理的核心原則
公司治理的核心原則對維持一個公開、公平的資本市場是必須的,是資本市場吸引投資者的廣泛參與并保持其競爭力和吸引力的重要規(guī)范。它包含如下要點:可信賴性(Accountability)對股東的義務(wù)公司董事會和管理層必須對股東負(fù)責(zé)。尤其是公司董事在以下幾方面有特殊的責(zé)任:(1)樹立公司的戰(zhàn)略觀念,以確保股東長期價值的增加成為公司的首要考慮;(2)依據(jù)第一項要求,對其自身以及公司管理班子的績效進(jìn)行持續(xù)的評估。對股東提出的關(guān)于公司狀況和管理層績效的問題,董事會和管理層應(yīng)該保持開放性并使之易于得到解答,董事會應(yīng)當(dāng)向市場披露其做出一些重大決定的方式,這些決定涉及公司經(jīng)理的薪酬如何確定,公司的戰(zhàn)略規(guī)劃,新董事的提名和公司經(jīng)理人員的任命和考核等。新董事侯選人的背景,包括其與公司的經(jīng)濟(jì)關(guān)系也應(yīng)向公司股東披露。監(jiān)督董事會應(yīng)當(dāng)具有對公司管理層進(jìn)行有效監(jiān)督的能力,股東對董事會應(yīng)具有同樣的能力。為此,股東應(yīng)能通過適當(dāng)?shù)耐镀背绦蛐惺蛊錂?quán)力。經(jīng)理的薪酬建立可信賴性的一種最有效的方法是使經(jīng)理人員的利益與股東的利益保持一致。管理層的薪酬應(yīng)與公司的長期業(yè)績表現(xiàn)掛鉤。透明度公開性一個自由、有效的具有全球競爭力的資本市場必須建立在公開性的基礎(chǔ)上。如果一個市場不能使投資者對其公開性具有信心,投資者就會退出這一市場。會計準(zhǔn)則目前不同的市場采用不同的會計準(zhǔn)則,這使國際投資者的有效分析難以進(jìn)行。公司應(yīng)努力采用國際會計準(zhǔn)則。一致性報告在某些市場一些機(jī)構(gòu)頒布“最佳行為準(zhǔn)則”作為一種標(biāo)準(zhǔn)的公司治理規(guī)范。在采納這些準(zhǔn)則的市場,公司應(yīng)向股東報告其是否遵守這些準(zhǔn)則,并說明其不遵守的理由。公平公平對待在所有的市場對所有的股東均應(yīng)以公平相待的方式一視同仁,包括外國股東在內(nèi)。公司應(yīng)特別注意尊重少數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際物流師考試科目解析與試題及答案
- 針對SCMP的復(fù)習(xí)技巧試題及答案
- 供應(yīng)鏈管理術(shù)語與概念試題及答案
- 性能評估對物流管理的影響及試題及答案
- 2024年CPSM考試時代變革試題及答案
- 2024年國際物流創(chuàng)新趨勢試題及答案
- SCMP考試內(nèi)容與題型分析及答案
- 完整覆蓋CPSM考試試題及答案
- SCMP常見問題試題及答案
- 2024年CPMM考試復(fù)習(xí)試題及答案
- 新教材人教A版高中數(shù)學(xué)必修第二冊全冊教學(xué)課件
- 部編人教版五年級下冊道德與法治《虎門銷煙》【獲獎作品】課件
- 高考地理一輪復(fù)習(xí) 課件 中國地形-山脈
- 繪畫心理分析課件
- (環(huán)境監(jiān)測)第四章-大氣和廢氣監(jiān)測課件
- 乳腺癌患者生存質(zhì)量測定量表(FACT-B)
- 國家職業(yè)技能《數(shù)控機(jī)床裝調(diào)維修工》技術(shù)知識考試題庫與答案共300題
- 《國際關(guān)系學(xué)入門》課件第九章 對外政策
- FANUC機(jī)器人培訓(xùn)教程(完成版)(PPT134頁)
- 認(rèn)識昆蟲.ppt
- 《職工帶薪年休假條例》全文
評論
0/150
提交評論