




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第10章自?動?化?測?試10.1自動化測試概述10.2自動化測試技術(shù)10.3自動化測試工具10.4本章小結(jié)
10.1自動化測試概述
10.1.1軟件自動化測試
隨著應(yīng)用軟件程序規(guī)模的不斷擴大,業(yè)務(wù)邏輯越來越復(fù)雜,軟件系統(tǒng)的可靠性已無法通過手工測試來全面驗證。而且隨著軟件開發(fā)技術(shù)的快速發(fā)展和軟件工程的不斷進步,軟件快速開發(fā)的能力越來越強,使得在軟件開發(fā)過程中短時間內(nèi)就可以產(chǎn)生多個需要測試的軟件版本,這就意味著軟件測試周期大大縮短,測試的頻率大大增加。傳統(tǒng)的手工測試已經(jīng)遠遠滿足不了軟件開發(fā)的需求,其局限性越來越多地暴露出來。手工測試面臨的主要問題和挑戰(zhàn)如下:
(1)不適合回歸測試?;貧w測試是軟件開發(fā)測試中非常頻繁的一項測試,若通過手工測試,則會耗費大量人力物力。
(2)許多與時序、死鎖、資源沖突、多線程等有關(guān)的錯誤,通過手工測試很難捕捉到。
(3)進行系統(tǒng)負載測試時,需要模擬大量數(shù)據(jù)或大量并發(fā)用戶等應(yīng)用場合時,很難通過手工測試來進行。
(4)進行系統(tǒng)可靠性測試時,需要模擬系統(tǒng)長時間(如10年)運行,以驗證系統(tǒng)能否穩(wěn)定運行,這也是手工測試無法模擬的。
(5)如果有大量(幾千上萬)的測試用例,需要在短時間內(nèi)(1天)完成,手工測試幾乎不可能做到。傳統(tǒng)的手工測試已經(jīng)遠遠滿足不了軟件開發(fā)的需求,使用自動化測試技術(shù)勢在必行。
軟件自動化測試就是使用自動化測試工具來代替手工進行的一系列測試動作,以驗證軟件是否滿足需求,它包括測試活動的管理與實施。自動化測試主要是通過所開發(fā)的軟件測試工具、腳本等來實現(xiàn),其目的是減輕手工測試的工作量,以節(jié)約資源(包括人力、物力等)、保證軟件質(zhì)量、縮短測試周期、提高測試效率。自動化測試以其高效率、重用性和一致性成為軟件測試的一個主流。正確實施軟件自動化測試并嚴格遵守測試計劃和測試流程,可以達到比手工測試更有效、更經(jīng)濟的效果。相比手工測試,自動化測試具有如下優(yōu)點:
(1)程序的回歸測試更方便?;貧w測試是自動化測試最主要的任務(wù),特別是在程序修改比較頻繁時,效果非常明顯。由于回歸測試的動作和用例是完全設(shè)計好的,測試期望的結(jié)果也是完全可以預(yù)料的,將回歸測試自動運行,可以極大地提高測試效率,縮短回歸測試時間。
(2)可以運行更多更繁瑣的測試。自動化的一個明顯的好處是可以在較少的時間內(nèi)運行更多的測試。某些測試序列可能包括成百甚至上千條測試消息,這樣的測試用手工設(shè)置和評價,常常是不可行的。為了能夠準確地重復(fù)一個冗長序列,必須實現(xiàn)測試自動化。
(3)可以執(zhí)行一些手工測試困難或不可能進行的測試。對于軟件性能方面的一些測試,如壓力測試、負載測試、大數(shù)據(jù)量測試等,用手工測試是不可能實現(xiàn)的。而通過測試工具進行自動化測試可以完成這些手工測試不可能完成的任務(wù)。例如,對于大規(guī)模用戶的聯(lián)機系統(tǒng),用手工進行并發(fā)操作的測試幾乎是不可能的,而用自動化測試工具就可以很輕松地模擬出大量用戶的操作。此外,在測試中使用測試工具,可以發(fā)現(xiàn)一些正常測試中很難發(fā)現(xiàn)的缺陷。例如,Numega工具就可以發(fā)現(xiàn)軟件在內(nèi)存方面的問題。
(4)充分利用資源。將繁瑣的任務(wù)自動化,可以提高測試準確性和測試人員的積極性,將測試技術(shù)人員解脫出來投入更多精力設(shè)計更好的測試用例,以讓測試人員專注于手工測試部分,提高手工測試的效率。另外,測試人員還可以利用計算機進行7×24小時的自動化測試。
(5)測試具有一致性和可重復(fù)性。只要每次自動化測試的環(huán)境是相同的,運行的腳本是相同的,那么每次執(zhí)行測試就具有一致性,很容易就能夠重現(xiàn)缺陷,并發(fā)現(xiàn)被測試軟件的修改之處和缺陷。這在手工測試中是很難做到的。而且,有些測試可能在不同的硬件配置下執(zhí)行,使用不同的操作系統(tǒng)或不同的數(shù)據(jù)庫,此時要求在多種平臺環(huán)境下運行的產(chǎn)品具有跨平臺質(zhì)量的一致性,這在手工測試的情況下更不可能做到。
(6)測試的復(fù)用性。由于自動測試通常采用腳本技術(shù),這樣就有可能只需要做少量的甚至不做修改,實現(xiàn)在不同的測試過程中使用相同的用例。
(7)讓產(chǎn)品更快面向市場。一旦一系列自動化測試準備工作完成,就可以重復(fù)地執(zhí)行一系列的測試,因此能夠縮短測試時間,加快產(chǎn)品開發(fā)周期。
(8)增加軟件信任度。由于測試是自動執(zhí)行的,所以不存在執(zhí)行過程中的疏忽和錯誤,完全取決于測試的設(shè)計質(zhì)量。一旦軟件通過了強有力的自動測試后,軟件的信任度自然會增加。當然,自動化測試也并非萬能,人們對自動化測試的理解也存在許多誤區(qū),認為自動化測試能完成一切工作,從測試計劃到測試執(zhí)行,都不需要人工干預(yù)。其實自動化測試所完成的測試功能也是有限的。自動化測試存在下列局限性:
(1)不能完全取代手工測試。軟件自動化測試不可能也沒必要取代手工測試來完成所有的測試任務(wù)。因為有些測試使用手工測試比自動化測試要簡單,如果采用自動化測試,則費用就比較大了。
(2)不能期望自動化測試發(fā)現(xiàn)大量新缺陷。自動化測試的最大特點在于適合重復(fù)測試。一般情況下,以前運行過的測試再次用來檢查軟件的新版本往往暴露的缺陷要少得多。測試專家JamesBach總結(jié)出:85%的缺陷靠手工發(fā)現(xiàn),而自動化測試只能發(fā)現(xiàn)15%的缺陷。自動化測試能夠很好地發(fā)現(xiàn)老缺陷。
(3)軟件自動化測試可能會制約軟件開發(fā)。應(yīng)用軟件的變化對自動化測試的影響要比手工測試更大一些,軟件的部分改變有可能使自動化測試腳本和用例不可再用。而設(shè)計和實施自動化測試要比手工測試開銷大,并需要維護,所以對自動化測試影響較大的軟件修改可能受到限制。
(4)軟件自動化測試本身沒有想象力。自動化測試是通過軟件進行,測試程序只是按照運行機制執(zhí)行。手工測試可以直接判斷結(jié)果的正確性,而自動化測試在許多情況下測試結(jié)果還需要人工干預(yù)判斷。手工測試可以處理意外事件,如網(wǎng)絡(luò)連接中斷,此時必須重新建立連接,手工測試時可以及時處理該意外,而自動化測試時意外事件一般會導(dǎo)致測試的
中止。
(5)自動化測試實施的難度較大。首先,商用測試執(zhí)行工具是較龐大且復(fù)雜的產(chǎn)品,要求具有一定的技術(shù)知識,才能很好地利用工具。除工具本身的技術(shù)問題外,用戶也要了解被測試軟件的技術(shù)問題。如果軟件在設(shè)計和實現(xiàn)時沒有考慮可測性,則測試時自動化測試難度會非常大。如果使用工具測試這樣的軟件,無疑更增加測試的難度。其次,還必須有管理支持及組織藝術(shù)。最后,還要考慮管理者是否能夠重視,是否能成立這樣的測試團隊,是否有這樣的技術(shù)水平。另外,測試腳本的維護工作量也是很大的,要考慮是否值得維護等問題。
(6)測試工具與其他軟件的互操作性。測試工具與其他軟件的互操作性也是一個嚴重的問題,技術(shù)環(huán)境變化如此之快,使得廠商很難跟上。許多工具看似理想,但在某些環(huán)境中卻并非如此。
總的說來,軟件自動化測試的優(yōu)點和收益是顯而易見的,但同時它也并非萬能,只有對其進行合理的設(shè)計和正確的實施才能從中獲益。10.1.2自動化測試的使用領(lǐng)域
人們一般認為新技術(shù)可以解決面臨的所有問題,但任何一項技術(shù)都不是萬能的,自動化測試也不例外。在具體實施自動化測試的時候,總是會出現(xiàn)這樣或那樣的問題,嚴重影響自動化測試的效率,造成事倍功半甚至前功盡棄的后果,使自動化測試成了一副空架子。自動化測試與其他技術(shù)一樣,也有適合使用和不適合使用的情況。
1.適合自動化測試的情況
下面是一些適合使用自動化測試的情況。
1)產(chǎn)品型項目
對于產(chǎn)品型項目,每個項目只需改進少量的功能,但每個項目必須反反復(fù)復(fù)地測試那些沒有改動過的功能。這部分測試完全可以由自動化測試來承擔(dān),同時可以把新加入的功能的測試也慢慢地加入到自動化測試當中。
2)增量式開發(fā)、持續(xù)集成項目
由于這種開發(fā)模式是對頻繁地發(fā)布新版本進行測試,也就需要自動化測試來頻繁地測試,以便把人從重復(fù)性工作中解脫出來測試新的功能。
3)回歸測試
回歸測試是自動化測試的強項,它能夠很好地確保是否引入了新的缺陷,老的缺陷是否修改過來了。尤其是在軟件經(jīng)常進行版本更新的環(huán)境中。當新版本測試時,只需要幾分鐘時間啟動已有的測試用例即可自動完成對新版本的回歸測試。在某種程度上可以把自動化測試工具叫做回歸測試工具。
4)多次重復(fù)、機械性動作的測試
自動化測試的優(yōu)勢更好地體現(xiàn)在那些包含有多次重復(fù)、機械性動作的測試。比如要向系統(tǒng)輸入大量的相似數(shù)據(jù)來測試壓力和報表,自動化工具比手工輸入準確性高,還可以將測試人員從重復(fù)性勞動中解脫出來,將精力專注于如何設(shè)計好的測試用例。
5)手工測試很難達到或無法完成的測試
使用手工執(zhí)行大規(guī)模的多用戶并發(fā)測試是很難實現(xiàn)的,但是使用自動測試工具模擬多用戶就是很容易的事情了,用戶場景測試隨時都可以運行,測試執(zhí)行人員不需要了解應(yīng)用程序的復(fù)雜業(yè)務(wù)邏輯。
手工測試時,期望的輸出通常包含明顯的標志,可以讓測試人員識別。但是,有很多屬性是很難由人工來確認的。例如:圖形界面測試中,界面操作經(jīng)常會觸發(fā)一些事件,但是并沒有立刻輸出結(jié)果。在這種情況下,測試工具可以檢測到事件被觸發(fā),并執(zhí)行相應(yīng)的操作。
2.不適合自動化測試的情況
自動化測試并不是適合所有的公司或所有的項目。下列情況不適宜進行自動測試。
1)定制型項目(一次性的)
為客戶定制的項目,維護期由客戶方承擔(dān)的,甚至采用的開發(fā)語言、運行環(huán)境也是客戶特別要求的,即公司在這方面的測試積累就少,這樣的項目不適合作自動化測試。
2)周期短的項目
項目周期很短,測試周期也很短,就不值得花精力去投資自動化測試。好不容易建立起的測試腳本,不能得到重復(fù)的利用是很浪費財力和人力的。
3)業(yè)務(wù)規(guī)則復(fù)雜的對象
業(yè)務(wù)規(guī)則復(fù)雜的對象,有很多的邏輯關(guān)系、運算關(guān)系,工具就很難測試。
4)美觀、聲音、易用性測試
界面的美觀、聲音的體驗、易用性的測試等屬于主觀方面的,而不是客觀的,而且這些測試結(jié)果很容易通過人員驗證,而對于自動化測試來說又比較難以實現(xiàn)。所以這方面的測試只能由人來完成。
5)測試很少運行
測試很少運行,對自動化測試就是一種浪費。自動化測試就是讓它不厭其煩地、反反復(fù)復(fù)地運行才有效率。
6)軟件更改比較頻繁
如果軟件的用戶界面和功能頻繁更改,那么修改自動化測試的成本比較大,因此不適合自動化測試。另外,如果軟件運行不穩(wěn)定,則會由于這些不穩(wěn)定因素導(dǎo)致自動化測試的
失敗。
7)測試中涉及物理交互
測試工具很難完成與物理設(shè)備的交互。例如斷開設(shè)備的連接,開/關(guān)電源等。
正確使用自動化測試技術(shù)可以提高測試效率和測試質(zhì)量,但很多引入自動化測試工具的軟件公司并沒有能夠讓測試自動化發(fā)揮應(yīng)有的作用,其主要原因有以下幾個方面:
(1)不正確的觀念或不現(xiàn)實的期望。沒有建立一個正確的軟件測試自動化的觀念,或操之過急,認為測試自動化可以代替手工測試,或認為測試自動化可以發(fā)現(xiàn)大量新缺陷,或不夠重視而不愿在初期投入比較大的開支等。多數(shù)情況下,對軟件測試自動化存在過于樂觀的態(tài)度、過高的期望,人們都期望通過自動化的方案能解決遇到的所有問題。而同時測試工具的軟件廠商自然會強調(diào)其測試工具的優(yōu)勢、有利的或成功的一面,可能對要取得這種成功所要做出持久不懈的努力和困難卻只字不提,導(dǎo)致最初的期望得不到實現(xiàn)。
(2)缺乏具有良好素質(zhì)和經(jīng)驗的測試人才。有些軟件公司舍得花幾十萬元去買測試工具軟件,但缺乏具有良好素質(zhì)和經(jīng)驗的測試人才。軟件測試自動化并不是簡簡單單地使用測試工具,還需要有良好的測試流程、全面的測試用例等來配合腳本的編寫,這就要求測試人員不僅熟悉產(chǎn)品的特性和應(yīng)用領(lǐng)域、熟悉測試流程,而且能很好地掌握測試技術(shù)和編程技術(shù),具有豐富的測試經(jīng)驗。
(3)沒有進行有效的、充分的培訓(xùn)。測試工具的使用者必須對測試工具非常了解,在這方面,有效的培訓(xùn)是必不可少的。如果沒有良好的、有效的、充分的培訓(xùn),測試人員對測試工具了解缺乏深度和廣度,就會導(dǎo)致其使用效率低下,應(yīng)用結(jié)果不理想。而且,在實際的使用測試工具的過程中,測試工具的使用者可能還存在著這樣那樣的問題,這也需要有專人負責(zé)解決。
(4)沒有考慮到公司的實際情況,盲目引入測試工具。有一點很明確,不同的測試工具面向不同的測試目的,不同的測試工具具有各自的特點和適用范圍,所以不是任何一個優(yōu)秀的測試工具都能適應(yīng)不同公司的需求。有些公司懷著美好的愿望花了不小的代價引入測試工具,半年或一年以后,測試工具卻成了擺設(shè)。究其原因,就是沒有能夠考慮公司的現(xiàn)實情況,不切實際地期望測試工具能夠改變公司的現(xiàn)狀,從而導(dǎo)致了失敗。例如,國內(nèi)多數(shù)軟件公司是針對最終用戶進行項目開發(fā)工程性質(zhì)的軟件,而不是產(chǎn)品開發(fā)。項目開發(fā)周期短,不同的用戶需求不一樣,而且在整個開發(fā)過程中需求和用戶界面變動較大,這種情況下就不適合引入黑盒測試工具。因為黑盒測試工具的基本方法是錄制/回放,對于不停變化的需求和界面,可能錄制腳本和修改腳本的工作量大大超過測試實施的工作量,運用測試工具不但不能減輕工作量,反而加重了測試人員的負擔(dān)。這種情況下可以考慮引入白盒測試工具,以提升代碼質(zhì)量。
(5)沒有形成一個良好的使用測試工具的環(huán)境。建立良好的測試工具應(yīng)用環(huán)境,需要測試流程和管理機制做相應(yīng)的變化,也只有這樣,測試工具才能真正發(fā)揮其作用。例如,對基于GUI錄制/回放的自動化測試來說,產(chǎn)品界面的改變對腳本的正常運行影響較大。再者,白盒測試工具一般在單元測試階段使用,而單元測試在多數(shù)公司是由開發(fā)人員自己完成的,如果沒有流程來規(guī)范開發(fā)人員的行為,在項目進度壓力比較大的情況下,開發(fā)人員很可能就會有意識地不使用測試工具,來逃避問題。所以,有必要將測試工具的使用在開發(fā)和測試的流程中明確出來。
(6)其他技術(shù)問題和組織問題。軟件測試自動化所需要的測試腳本其維護量很大,而且軟件產(chǎn)品本身代碼的改變也需要遵守一定的規(guī)則,從而保證良好的測試腳本使用重復(fù)性,也就是說測試自動化和軟件產(chǎn)品本身不能分離。其次,提供軟件測試工具的第三方廠商,對客戶的應(yīng)用缺乏足夠理解,很難提供強有力的技術(shù)支持和具體問題的解決能力。也就是說,軟件測試工具和被測試對象(軟件產(chǎn)品或系統(tǒng))的互操作性會存在或多或少的問題,加之技術(shù)環(huán)境的不斷變化,所有這些對測試自動化的應(yīng)用推廣和深入,都會帶來很大的影響。還有安全性的錯覺,即如果軟件測試工具沒有發(fā)現(xiàn)被測軟件的缺陷,并不能說明軟件中不存在問題,可能是測試工具本身不夠全面或測試的預(yù)期結(jié)果設(shè)置不對。 10.2自動化測試技術(shù)
1.代碼分析
代碼分析類似于高級編譯系統(tǒng),一般針對不同的高級語言去構(gòu)造分析工具。在工具中定義類、對象、函數(shù)、變量、運算等定義規(guī)則、語法規(guī)則;在分析時對代碼進行語法掃描,找出不符合編碼規(guī)范的地方;根據(jù)某種質(zhì)量模型評價代碼質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等。為了更好地進行代碼分析,可以在代碼中設(shè)置一些“斷點”,在這些斷點和其他地方插入一些監(jiān)測代碼,存于構(gòu)造的可執(zhí)行文件中,隨時了解這些關(guān)鍵點/關(guān)鍵時刻的某個變量的值、內(nèi)存/堆棧狀態(tài)等。
2.錄制和回放
代碼分析是一種白盒測試的自動化方法,錄制(Record)和回放(Playback)則是一種黑盒測試的自動化方法。錄制是將用戶的每一步操作都記錄下來。這種記錄的方式是:把程序用戶界面的像素坐標或程序顯示對象(窗口、按鈕、滾動條等)的位置,以及相對應(yīng)的操作、狀態(tài)變化或?qū)傩宰兓涗浵聛?,然后將所有的記錄轉(zhuǎn)換為一種腳本語言所描述的過程,以模擬用戶的操作。
回放時,將腳本語言所描述的過程轉(zhuǎn)換為屏幕上的操作,然后將被測系統(tǒng)的輸出記錄下來同預(yù)先給定的標準結(jié)果比較以判斷測試是否成功。通過這種方式,可以大大減輕測試的工作量,在迭代開發(fā)的過程中,能夠很好地進行回歸測試。除了在功能測試中用“錄制—回放”技術(shù)外,目前自動化負載測試解決方案幾乎都要采用這種技術(shù)。負載測試中的“錄制—回放”是先由手工完成一遍需要測試的流程,同時由計算機記錄下這個流程期間客戶端和服務(wù)器端之間的通信信息,這些信息通常是一些協(xié)議和數(shù)據(jù),并形成特定的腳本程序。然后在系統(tǒng)的統(tǒng)一管理下同時生成多個虛擬用戶,并運行該腳本,監(jiān)控硬件和軟件平臺的性能,提供分析報告或相關(guān)資料。這樣,通過幾臺機器就可以模擬出成百上千的用戶對應(yīng)用系統(tǒng)進行負載能力的測試。
3.腳本技術(shù)
腳本(Script)作為一種特殊的計算機程序,包括數(shù)據(jù)和指令。指令作為控制信息來操作軟件中的對象,數(shù)據(jù)則主要是被操作對象屬性的值。腳本技術(shù)是圍繞腳本程序結(jié)構(gòu)而進行的設(shè)計,它可以實現(xiàn)測試用例所要求的輸入、步驟和驗證點,在創(chuàng)建腳本和維護腳本的兩個不同成本中平衡,以獲得測試自動化的最大收益。
腳本可以通過錄制用戶對被測試軟件的操作產(chǎn)生,也可以直接用腳本語言編寫腳本。測試腳本按照實現(xiàn)方式和技術(shù)可以分為線性腳本、結(jié)構(gòu)化腳本、共享腳本、數(shù)據(jù)驅(qū)動腳本和關(guān)鍵字驅(qū)動腳本。
1)線性腳本
線性腳本是錄制手工執(zhí)行的測試用例得到的腳本,這種腳本包含所有手工測試的操作步驟,如點擊鼠標鍵、功能鍵、箭頭、控制測試軟件的控制鍵及輸入數(shù)據(jù)等等。如果只使用線性腳本技術(shù),即錄制每個測試用例的全部內(nèi)容,相當于通過自動化測試工具去模擬手工測試步驟,則被錄制的這些測試用例可以被完整地回放。然而實際情況往往是,由于測試環(huán)境的稍許改變甚至僅僅是程序界面的小小變動,會使整段測試腳本完全不能運行。因此線性腳本在實際應(yīng)用中已經(jīng)很少使用。
2)結(jié)構(gòu)化腳本
結(jié)構(gòu)化腳本是比線性腳本更加靈活的一種腳本技術(shù),它在線性腳本的基礎(chǔ)上增加了一些相應(yīng)的選擇條件。結(jié)構(gòu)化腳本類似于結(jié)構(gòu)化程序設(shè)計,具有各種邏輯結(jié)構(gòu)(順序、分支、循環(huán)),而且具有函數(shù)調(diào)用功能,使得腳本變得結(jié)構(gòu)化。這樣不僅可以提高腳本的可復(fù)用性,而且可以增加腳本的功能和靈活性。在結(jié)構(gòu)化腳本中,充分利用不同的結(jié)構(gòu)控制語句,可以開發(fā)出易于維護的合理腳本,更好地支持自動化測試集的實現(xiàn)。結(jié)構(gòu)化腳本的主要優(yōu)點是其健壯性比較好。由于引入了一些條件判斷語句,可以很容易在腳本內(nèi)加入一些錯誤處理功能,降低了腳本對被測系統(tǒng)的依賴性。同時,由于加入了循環(huán)結(jié)構(gòu),可以使腳本重復(fù)執(zhí)行一些操作,使下一步的數(shù)據(jù)驅(qū)動腳本技術(shù)變得可能。結(jié)構(gòu)化腳本的函數(shù)調(diào)用技術(shù)使得腳本可以成為一個模塊被其他腳本調(diào)用。
結(jié)構(gòu)化腳本的缺點是腳本更復(fù)雜,而且測試數(shù)據(jù)仍然“捆綁”在腳本中,使得測試修改和定制非常復(fù)雜困難。
3)共享腳本
共享腳本意味著一個腳本可被多個測試用例使用,即腳本語言允許一個腳本調(diào)用另一個腳本,這樣可以節(jié)省生成腳本的時間。當重復(fù)任務(wù)發(fā)生變化時,只需修改其中的某個腳本。共享腳本可以是在同一主機、同一系統(tǒng)之間共享腳本,也可以是在不同主機、不同系統(tǒng)之間共享腳本。共享腳本開發(fā)的思路是產(chǎn)生一個執(zhí)行某個任務(wù)的腳本,不同的測試可能要重復(fù)這個任務(wù),當要執(zhí)行這個任務(wù)時只要在適當?shù)牡胤秸{(diào)用這個腳本就可以了。
共享腳本使得實現(xiàn)類似的測試花費的開銷較少,刪除了明顯的重復(fù)代碼,使代碼更加簡潔易懂。但共享腳本的編寫需要更高的編程技能,提高了對測試工程師的要求。
4)數(shù)據(jù)驅(qū)動腳本
數(shù)據(jù)驅(qū)動腳本是將測試輸入和預(yù)期輸出存儲在獨立的數(shù)據(jù)文件中,而不是與測試操作捆綁在一起放在測試腳本中。測試腳本中僅僅包含了一些與軟件界面交互的操作信息,執(zhí)行測試時,所需的數(shù)據(jù)直接從文件中讀取,而不是從測試腳本中讀取,這樣就完成了測試數(shù)據(jù)和測試操作的分離。這種方法最大的好處是同一個腳本允許不同的測試。需要對數(shù)據(jù)進行修改時,也不必修改執(zhí)行的腳本。使用數(shù)據(jù)驅(qū)動腳本可以以較小的開銷實現(xiàn)較多的測試用例,這可以通過為一個測試腳本指定不同的測試數(shù)據(jù)文件達到。將數(shù)據(jù)文件單獨列出,選擇合適的數(shù)據(jù)格式和形式,可將測試工程師的注意力集中到數(shù)據(jù)的維護和測試上,達到簡化數(shù)據(jù)、減少出錯概率的目的。數(shù)據(jù)驅(qū)動腳本技術(shù)給測試用例的數(shù)據(jù)輸入和維護帶來了極大的方便。
5)關(guān)鍵字驅(qū)動腳本
關(guān)鍵字驅(qū)動技術(shù)是數(shù)據(jù)驅(qū)動技術(shù)的一種改進類型。數(shù)據(jù)驅(qū)動技術(shù)的限制是每個測試用例執(zhí)行的步驟和操作都必須一樣,測試的邏輯建立在腳本中而不是獨立的數(shù)據(jù)文件中。而關(guān)鍵字驅(qū)動技術(shù)將測試的邏輯從腳本中剝離開來,它將測試邏輯按照關(guān)鍵字進行分解,形成數(shù)據(jù)文件,關(guān)鍵字對應(yīng)封裝的業(yè)務(wù)邏輯。主要關(guān)鍵字包括三類:被操作對象(Item)、操作(Operation)和值(Value),用面向?qū)ο笮问娇蓪⑵浔憩F(xiàn)為Item.Operation(Value)。關(guān)鍵字驅(qū)動腳本技術(shù)將被測試軟件的業(yè)務(wù)邏輯從測試腳本中脫離出來,克服了數(shù)據(jù)驅(qū)動技術(shù)對業(yè)務(wù)無法靈活適應(yīng)的缺點,實現(xiàn)了關(guān)鍵字驅(qū)動技術(shù)所帶來的數(shù)據(jù)、業(yè)務(wù)和腳本三者的分離。關(guān)鍵字驅(qū)動腳本的數(shù)量不隨測試用例的數(shù)量變化,而僅隨軟件規(guī)模而增加。關(guān)鍵字驅(qū)動腳本技術(shù)可以極大地減少腳本的維護開銷,加速自動化測試的實現(xiàn),提高自動化測試的效率。
4.自動比較技術(shù)
測試驗證是檢驗軟件是否產(chǎn)生了正確輸出的過程,是通過在測試的實際輸出與預(yù)期輸出(例如,當軟件正確執(zhí)行時的輸出)之間完成一次或多次比較來實現(xiàn)的。進行自動化測試工作,自動比較就成為一個必需的環(huán)節(jié),有計劃地進行比較會比隨意地比較有更高的效率和發(fā)現(xiàn)問題的能力。
在自動化測試中,預(yù)期輸出是事先定義的。在測試過程中運行腳本,將捕獲的結(jié)果和預(yù)期的輸出進行比較,從而確定測試用例是否通過,這就需要自動比較技術(shù)。自動比較的內(nèi)容可以是多方面的,包括基于磁盤輸出的比較,如對數(shù)據(jù)文件的比較;基于界面輸出的比較,如對顯示位圖的比較;基于多媒體輸出的比較,如對聲音的比較;還包括其他輸出的內(nèi)容的比較。
比較可以是簡單的比較,僅匹配實際輸出與預(yù)期輸出是否完全相同,這是自動化比較的基礎(chǔ)。智能比較是允許用已知的差異來比較實際輸出和預(yù)期輸出。比如,要求比較包含日期信息的輸出報表的內(nèi)容。如果使用簡單比較,顯然是不行的,因為每次生成報表的日期信息肯定是不同的。這時就需要智能比較,忽略日期的差別,比較其他內(nèi)容,甚至還可以忽略日期的具體內(nèi)容,比較日期的格式,要求日期按特定格式輸出。智能比較需要使用較為復(fù)雜的比較手段,包括正則表達式的搜索技術(shù)、屏蔽的搜索技術(shù)等。
5.虛擬用戶技術(shù)
將業(yè)務(wù)流程轉(zhuǎn)化為測試腳本,就是創(chuàng)建虛擬用戶腳本或虛擬用戶。創(chuàng)建虛擬用戶時,將被測軟件的業(yè)務(wù)流程從頭至尾進行確認和記錄,弄清每步操作的細節(jié)和時間,并能精確地轉(zhuǎn)化為腳本。此過程類似制造一個能夠模仿人的行為和動作的機器人的過程。這個步驟非常重要,在這里將現(xiàn)實世界中的單個用戶行為比較精確地轉(zhuǎn)化為計算機程序語言。虛擬用戶通過驅(qū)動一個真正的客戶程序來模擬真實用戶。一般通過多進程或多線程來創(chuàng)建多個虛擬用戶。
虛擬用戶對于性能測試意義重大。一些負載測試工具可用較少的硬件資源模擬成千上萬虛擬用戶同時訪問被測軟件,并可模擬來自不同IP地址、不同瀏覽器類型以及不同網(wǎng)絡(luò)連接方式的請求,同時可實時監(jiān)視系統(tǒng)性能指標。
10.3自動化測試工具
10.3.1測試工具分類
測試工具可以從不同的方面去分類。根據(jù)測試方法不同,自動化測試工具可以分為白盒測試工具和黑盒測試工具。根據(jù)測試的對象和目的不同,自動化測試工具可以分為單元測試工具、功能測試工具、負載測試工具、數(shù)據(jù)庫測試工具、嵌入式測試工具、頁面鏈接測試工具、測試管理工具等。
1.白盒測試工具
白盒測試工具一般是針對代碼進行測試,測試所發(fā)現(xiàn)的缺陷可以定位到代碼級。根據(jù)測試工具工作原理的不同,白盒測試工具可分為靜態(tài)測試工具和動態(tài)測試工具。
靜態(tài)測試工具是在不執(zhí)行程序的情況下,分析軟件的特性。靜態(tài)測試工具一般是對代碼進行語法掃描,找出不符合編碼規(guī)范的地方,根據(jù)某種質(zhì)量模型評價代碼的質(zhì)量,生成系統(tǒng)的調(diào)用關(guān)系圖等。
動態(tài)測試工具與靜態(tài)測試工具不同,動態(tài)測試工具一般采用“插樁”的方式,向代碼生成的可執(zhí)行文件中插入一些監(jiān)測代碼,用來統(tǒng)計程序運行時的數(shù)據(jù)。其與靜態(tài)測試工具最大的不同就是動態(tài)測試工具要求被測系統(tǒng)實際運行。
2.黑盒測試工具
黑盒測試工具是在明確軟件產(chǎn)品應(yīng)具有的功能的條件下,完全不考慮被測程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特性,通過測試來檢驗軟件功能是否按照軟件需求規(guī)格的說明正常工作。
黑盒測試工具的一般原理是利用腳本的錄制/回放,模擬用戶的操作,然后將被測系統(tǒng)的輸出記錄下來同預(yù)先給定的預(yù)期結(jié)果進行比較。黑盒測試工具可以大大減輕黑盒測試的工作量,在迭代開發(fā)的過程中,能夠很好地進行回歸測試。按照完成的職能不同,黑盒測試工具可以分為兩種:
(1)功能測試工具——用于檢測程序能否達到預(yù)期的功能要求并正常運行。
(2)性能測試工具——用于確定軟件和系統(tǒng)的性能。
功能測試工具通過自動錄制、檢測和回放用戶的應(yīng)用操作,將被測系統(tǒng)的輸出記錄同預(yù)先給定的標準結(jié)果比較,功能測試工具能夠有效地幫助測試人員對復(fù)雜的企業(yè)級應(yīng)用的不同發(fā)布版本的功能進行測試,提高測試人員的工作效率和質(zhì)量。其主要目的是檢測應(yīng)用程序是否能夠達到預(yù)期的功能并正常運行。性能測試工具通常指用來支持壓力、負載測試,能夠錄制和生成腳本、設(shè)置和部署場景、產(chǎn)生并發(fā)用戶和向系統(tǒng)施加持續(xù)壓力的工具。性能測試工具通過實時性能監(jiān)測來確認和查找問題,并針對所發(fā)現(xiàn)問題對系統(tǒng)性能進行優(yōu)化,確保應(yīng)用的成功部署。性能測試工具能夠?qū)φ麄€企業(yè)架構(gòu)進行測試,通過這些測試企業(yè)能最大限度地縮短測試時間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。
3.測試管理工具
一般而言,測試管理工具對測試需求、測試計劃、測試用例、測試實施進行管理,而且測試管理工具還包括對缺陷的跟蹤管理。測試管理工具能讓測試人員、開發(fā)人員或其他的IT人員通過一個中央數(shù)據(jù)倉庫,在不同地方就能交互信息。
一般情況下,測試管理工具應(yīng)包括以下內(nèi)容:
(1)測試用例管理。
(2)缺陷跟蹤管理(問題跟蹤管理)。
(3)配置管理。
4.專用測試工具
除了上述的自動化測試工具外,還有一些專用的自動化測試工具,例如,針對數(shù)據(jù)庫測試的TestBytes,對Web系統(tǒng)中的鏈接進行測試的XenuLinkSleuth等工具。10.3.2測試工具介紹
1.白盒測試工具
1)?C++Test
C++Test是Parasoft公司出品的一個針對C/C++源代碼進行自動化單元測試的工具。它可以自動測試任何C/C++函數(shù)、類或部件,而不需要編寫測試用例、測試驅(qū)動程序或樁調(diào)用代碼。C++Test能夠自動測試代碼構(gòu)造(白盒測試)、測試代碼的功能性(黑盒測試)和維護代碼的完整性(回歸測試)。
白盒測試時,C++Test對C/C++源代碼進行分析,針對所有的類的成員函數(shù)(包括:公共的、保護的以及私有類型的)進行測試。在此狀態(tài)下,軟件針對指定的文件、類或者是函數(shù)自動生成測試用例。黑盒測試時,不對源代碼進行分析,并且只針對類的公共接口函數(shù)進行測試。在此狀態(tài)下,軟件不生成測試用例,而是直接運行在“測試用例編輯器”中已有的測試用例(可以是手工添加的)。
回歸功能測試時,在修改源代碼后用原有的測試用例進行重新測試。在實際使用中,應(yīng)首先用Record命令執(zhí)行一遍白盒測試,讓軟件根據(jù)函數(shù)自動生成相應(yīng)的測試用例,然后再根據(jù)需要手工添加一些測試用例,最后再通過Play命令執(zhí)行一遍黑盒測試。
C++Test能很容易地快速將單元級的測試覆蓋率達到100%,而且可自動生成覆蓋率報告。
參考網(wǎng)站:/jsp/home.jsp
2)?Jtest
Jtest是Parasoft公司推出的一款針對Java語言的自動化白盒測試工具,它通過自動實現(xiàn)Java的單元測試和代碼標準校驗,來提高代碼的可靠性。
Jtest是一個高度自動化、智能化的測試解決方案,它可以直接讀取、分析代碼,無需任何手工的干預(yù)就可以自動地完成單元測試,包括全自動的白盒測試、黑盒測試和回歸
測試。測試時,Jtest先分析每個Java類,然后自動生成JUnit測試用例并執(zhí)行用例,從而實現(xiàn)代碼的最大覆蓋,并將代碼運行時未處理的異常暴露出來;另外,它還可以檢查以dbc(designbycontract)規(guī)范開發(fā)的代碼的正確性。用戶還可以通過擴展測試用例的自動生成器來添加更多的JUnit用例。Jtest還能按照現(xiàn)有的編碼標準來檢查并自動糾正大多數(shù)常見的編碼規(guī)則上的偏差,用戶可自定義這些標準,通過簡單的幾個點擊,就能預(yù)防類似于未處理異常、函數(shù)錯誤、內(nèi)存泄漏、性能問題、安全隱患這樣的代碼問題。
參考網(wǎng)站:/jsp/home.jsp
3)?CodeWizard
在增強軟件質(zhì)量的同時縮短開發(fā)時間的關(guān)鍵是在開發(fā)的初始階段要防止錯誤的發(fā)生,防止錯誤的一個最好的方法就是按代碼開發(fā)規(guī)范進行。CodeWizard是Parasoft公司推出的一款先進的自動化C/C++源代碼分析工具。CodeWizard內(nèi)嵌了超過500個經(jīng)過業(yè)界驗證的編碼規(guī)范來自動甄別編譯器無法發(fā)現(xiàn)的危險代碼結(jié)構(gòu),并通過AEP自動防錯技術(shù)記憶錯誤類型,防止類似錯誤再次發(fā)生。CodeWizard通過RuleWizard功能可以很方便地建立新的、自定義的規(guī)范,或者阻止某條規(guī)范的分析。使用CodeWizard可簡化代碼注釋,同時使得代碼更易讀易維護。
參考網(wǎng)站:/jsp/home.jsp
4)?JUnit
JUnit是一個開源的Java測試框架,它是XUint測試體系架構(gòu)的一種實現(xiàn)。在JUnit單元測試框架的設(shè)計時,設(shè)定了三個總體目標:第一個是簡化測試的編寫,這種簡化包括測試框架的學(xué)習(xí)和實際測試單元的編寫;第二個是使測試單元保持持久性;第三個則是可以利用既有的測試來編寫相關(guān)的測試。
JUnit是通用的測試Java程序的測試框架,可以對Java代碼進行白盒測試。由于JUnit相對獨立于所編寫的代碼,所以測試代碼的編寫可以先于實現(xiàn)代碼的編寫。XP中推崇的testfirstdesign的實現(xiàn)有了現(xiàn)成的手段:用JUnit寫測試代碼,運行測試,測試失敗,修改實現(xiàn)代碼,再運行測試,直到測試成功。以后對代碼的修改和優(yōu)化,運行測試成功,則修改成功。
JUnit可對Java應(yīng)用程序、Filter、Servlet、EJB、JSP、數(shù)據(jù)庫應(yīng)用程序、Taglib等進行單元測試,而且JUnit是開放源代碼的,可按需要進行擴展。
5)?CppUnit
CppUnit是一個基于LGPL的開源項目,最初版本移植自JUnit,是一個非常優(yōu)秀的開源測試框架。CppUnit和JUnit一樣,主要思想來源于極限編程(XProgramming)。主要功能就是對單元測試進行管理,并可進行自動化測試。CppUnit設(shè)計遵循很多設(shè)計模式,代碼結(jié)構(gòu)易于理解。
CppUnit是一個單元測試框架,是目前最廣泛使用的單元測試框架之一。單元測試框架是實現(xiàn)編寫、運行單元測試并生成測試結(jié)果報告的軟件程序集。CppUnit能方便快速構(gòu)造測試用例,可視化運行測試、生成測試結(jié)果報告,并提供與IDE集成的快速缺陷定位功能。
參考網(wǎng)站:
6)?HttpUnit
HttpUnit是基于JUnit的一個測試框架,主要關(guān)注于測試Web應(yīng)用,解決使用JUnit框架無法對遠程Web內(nèi)容進行測試的弊端。
HttpUnit能模擬瀏覽器的動作,如提交表單、JavaScript運行、基本HTTP認證、Cookies建立以及自動頁面重定向,通過編寫代碼可以處理取回來的文本、XML、DOM、表單、表、鏈接等。HttpUnit還提供了一個模擬Servlet容器,讓測試者不需要發(fā)布Servlet就可以對Servlet的內(nèi)部代碼進行測試。當進行Servlet等測試時,可以不需要啟動相關(guān)的Web或應(yīng)用服務(wù)器,HttpUnit可以通過讀取并分析Web.xml來自動定位相應(yīng)的類。也就是說,在網(wǎng)站開發(fā)的過程中,使用了HttpUnit的測試程序可以在服務(wù)器端進行網(wǎng)站的測試。
7)?HtmlUnit
HtmlUnit不是一個通用的單元測試框架,它是JUnit的一個擴展測試框架。HtmlUnit以一種特殊的方式來模擬瀏覽器進行測試的目的,用于另一個測試框架中。HtmlUnit將返回文檔模擬成HTML,這樣便可以直接處理這些文檔了。HtmlUnit使用table、form等標識符將測試文檔作為HTML來處理。HtmlUnit同樣需要遵循JUnit測試框架結(jié)構(gòu)的Java?測試程序。
參考網(wǎng)站:
8)?EMMA
EMMA是一個用于檢測和報告Java代碼覆蓋率的開源工具。它不但能很好地用于小型項目,很方便得出覆蓋率報告,而且適用于大型企業(yè)級別的項目。
EMMA支持許多種級別的覆蓋率指標:包、類、方法、語句塊和行,特別是它能測出某一行是否只是被部分覆蓋(如條件語句短路的情況)。EMMA能生成TEXT、XML、HTML等形式的報告,以滿足不同的需求。其HTML報告提供下鉆功能,我們能夠從package開始一步步地鏈接到我們所關(guān)注的某個方法。EMMA能和Makefile、Ant集成,便于應(yīng)用于大型項目。EMMA的效率很高,這對于大型項目來說很重要。
EMMA是通過向.class文件中插入字節(jié)碼的方式來跟蹤記錄被運行代碼信息的。EMMA支持兩種模式:Onthefly和Offline模式。Onthefly模式往加載的類中加入字節(jié)碼,相當于用EMMA實現(xiàn)的applicationclassloader替代原來的applicationclassloader。Offline模式在類被加載前加入字節(jié)碼。
EMMA支持兩種運行方式:Commandline(命令行)和Ant。命令行一般和Onthefly模式一起使用,對于簡單的項目能夠快速產(chǎn)生覆蓋率報告。通過Anttask來運行EMMA的話,特別適用于大型的項目。
參考網(wǎng)站:/
9)?Cobertura
Cobertura(cobertura在西班牙語中是覆蓋的意思)是一個基于jcoverage的免費Java工具,用于度量測試覆蓋率并發(fā)現(xiàn)缺陷。它通過用額外的語句記錄在執(zhí)行測試包時,哪些行被測試到、哪些行沒有被測試到,來測量測試覆蓋率。然后它生成一個HTML或者XML格式的報告,指出代碼中的哪些包、哪些類、哪些方法和哪些行沒有測試到,之后可以針對這些特定的區(qū)域編寫更多的測試代碼,以發(fā)現(xiàn)所有隱藏的缺陷。除了找出未測試到的代碼并發(fā)現(xiàn)缺陷外,Cobertura還可以通過標記無用的、執(zhí)行不到的代碼來優(yōu)化代碼,并能提供API實際操作的內(nèi)部信息。
參考網(wǎng)站:/
2.黑盒功能測試工具
1)?WinRunner
HP-MercuryWinRunner是一種企業(yè)級的功能測試工具,用于檢測應(yīng)用程序是否能夠達到預(yù)期的功能及正常運行。通過自動捕獲,檢測和重復(fù)用戶交互的操作,WinRunner能夠有效地幫助測試人員對復(fù)雜的企業(yè)級應(yīng)用的不同發(fā)布版進行測試,提高測試人員的工作效率和質(zhì)量,確保跨平臺的、復(fù)雜的企業(yè)級應(yīng)用無故障發(fā)布及長期穩(wěn)定運行。
WinRunner具有下列功能和特點:
(1)?輕松創(chuàng)建測試。用WinRunner創(chuàng)立一個測試,只需記錄一個標準的業(yè)務(wù)流程。WinRunner直觀的記錄流程能讓測試者在GUI上輕輕點擊鼠標就可以建立測試,即使技術(shù)知識有限的用戶也能生成完整的測試。測試者還可以直接編輯測試指令來滿足各種復(fù)雜測試的需求。WinRunner將兩種測試創(chuàng)建方式結(jié)合在一個環(huán)境下,以適應(yīng)不同的背景支持和不同團隊的需求。
(2)插入檢測點。在記錄一個測試的過程中,可插入檢測點。在插入檢測點后,WinRunner會收集一套指標,在測試運行時對其進行驗證。WinRunner允許使用幾種不同類型的檢查點,包括文本、GUI、位圖和數(shù)據(jù)庫等類型。
(3)檢驗數(shù)據(jù)。除了創(chuàng)建并運行測試,WinRunner還能驗證數(shù)據(jù)庫的數(shù)據(jù)值,從而確保交易的準確性。例如,在測試創(chuàng)建時,可以設(shè)定哪些數(shù)據(jù)庫表格和記錄資料需要檢測。在回放時,測試程序會將數(shù)據(jù)庫內(nèi)的實際數(shù)值與預(yù)期的數(shù)值進行核對。WinRunner能自動顯示檢測結(jié)果,并標識出有更新、修改、測試或插入的記錄。
(4)增強測試。為了全面地測試一個應(yīng)用程序,需要了解在不同類型的數(shù)據(jù)下是如何運行的。使用WinRunner的DataDriverWizard,只需要點擊幾下鼠標,就能簡單地將一個記錄的業(yè)務(wù)流程轉(zhuǎn)化為一個數(shù)據(jù)驅(qū)動的測試,以此來反映多個用戶各自獨特且真實的操作行為。WinRunner的另一個能加強測試質(zhì)量的特征是具有FunctionGenerator,它是一種可視工具,能快速可靠地測試增加功能。使用FunctionGenerator,可以從目錄列表里選擇一個功能加到測試中以提高測試能力。
(5)運行測試。在測試創(chuàng)建完成、插入檢查點,并做出一些必要的功能添加之后,就可以開始運行測試。當WinRunner執(zhí)行測試時,它會自動操作應(yīng)用程序,正如一個真實用戶根據(jù)記錄流程執(zhí)行著每一步的操作。
(6)分析結(jié)果。一旦測試運行后,需要分析測試結(jié)果。WinRunner的互動式報告工具會列出在測試中發(fā)現(xiàn)的錯誤和出錯的位置。通過提供這種詳盡的、易懂的報告,WinRunner可以幫助解釋所得的結(jié)果,這些報告對在測試運行中發(fā)生的重要事件進行描述。
(7)維護測試。隨著時間的推移,開發(fā)人員會對應(yīng)用程序做進一步的修改,并需要另加額外的測試。使用WinRunner,不必為應(yīng)用程序的每一次改動創(chuàng)建新的測試,它會自動創(chuàng)立在程序應(yīng)用周期內(nèi)可重復(fù)使用的測試。
Winrunner用類C語言開發(fā),編程能力強,但對瀏覽器、ActiveX控件的支持不如QuickTest強。
參考網(wǎng)站:
2)?QuickTest
HP-MercuryQuickTest是一個自動化功能測試工具,主要應(yīng)用在回歸測試中。QuickTest針對的是GUI應(yīng)用程序,包括傳統(tǒng)的Windows應(yīng)用程序,以及現(xiàn)在越來越流行的Web應(yīng)用。
QuickTest采用關(guān)鍵字驅(qū)動的測試理念,能完全簡化測試的創(chuàng)建和維護工作,能便捷地插入、修改、數(shù)據(jù)驅(qū)動和移除測試步驟,并且通過所集成的錄制能力來捕獲測試的步驟,自動生成VBScript來描述測試過程。因此可以通過修改生成的自動化測試腳本優(yōu)化測試過程。QuickTest通過活動屏幕將文檔和一個截屏相結(jié)合,還可以自動引入檢查點來驗證應(yīng)用的屬性和功能點,比如確認輸出量或檢查鏈接的有效性。
QuickTest支持多種企業(yè)環(huán)境的功能測試,包括Windows、Web、.NET、Java/J2EE、SAP、Siebel、Oracle、VisualBasic、ActiveX、Webservices等。
使用QuickTest進行測試,包括創(chuàng)建測試、插入檢查點、檢驗數(shù)據(jù)、增強測試、運行測試、分析結(jié)果和維護測試等活動。
參考網(wǎng)站:
3)?Robot
IBMRationalRobot是業(yè)界最頂尖的功能測試工具,可以對使用各種集成開發(fā)環(huán)境(IDE)和語言建立的軟件應(yīng)用程序創(chuàng)建、修改并執(zhí)行自動化的功能測試、分布式功能測試、回歸測試和集成測試。
Robot是一種可擴展的、靈活的功能測試工具,經(jīng)驗豐富的測試人員可以用它來修改測試腳本,改進測試的深度。Robot使用SQABasic語言對測試腳本進行編輯。SQABasic遵循VisualBasic的語法規(guī)則,并且為測試人員提供了易于閱讀的腳本語言。通過使用這種語言,即便是編程經(jīng)驗很少的測試人員也能夠很容易地理解代碼的含義。對于那些有豐富編程經(jīng)驗的人來說,使用SQA可以非常靈活地進行一些高級的編程。
Robot提供了非常靈活的執(zhí)行測試腳本的方式,用戶可以通過Robot圖形界面和命令行執(zhí)行測試腳本,也可以從RationalTestManager按照不同的配置計劃在遠程機器上執(zhí)行測試腳本。
參考網(wǎng)站:
4)?SilkTest
Segue公司的SilkTest是業(yè)界領(lǐng)先的、用于對企業(yè)級應(yīng)用進行功能測試的產(chǎn)品,可用于測試Web、Java或是傳統(tǒng)的C/S結(jié)構(gòu)。它提供了用于測試的創(chuàng)建和定制的工作流設(shè)置、測試計劃和管理、直接的數(shù)據(jù)庫訪問及校驗等功能,使用戶能夠高效率地進行軟件自動化測試。
為提高測試效率,SilkTest提供多種手段來提高測試的自動化程度,包括測試腳本的生成、測試數(shù)據(jù)的組織、測試過程的自動化、測試結(jié)果的分析等。在測試腳本的生成過程中,SilkTest通過動態(tài)錄制技術(shù),錄制用戶的操作過程,快速生成測試腳本。在測試過程中,SilkTest還提供了獨有的恢復(fù)系統(tǒng)(RecoverySystem),允許測試可在全天候無人看管條件下運行。在測試過程中一些錯誤導(dǎo)致被測應(yīng)用崩潰時,錯誤可被發(fā)現(xiàn)并記錄下來。之后,被測應(yīng)用可以被恢復(fù)到它原來的基本狀態(tài),以便進行下一個測試用例的測試。
參考網(wǎng)站:
5)?QARun
QARun的測試實現(xiàn)方式是通過鼠標移動、鍵盤點擊操作被測應(yīng)用,隨即得到相應(yīng)的測試腳本,對該腳本可以進行編輯和調(diào)試。在記錄的過程中可針對被測應(yīng)用中所包含的功能點進行基線值的建立,換句話說就是在插入檢查點的同時建立期望值。在這里檢查點是目標系統(tǒng)的一個特殊方面在一特定點的期望狀態(tài)。通常,檢查點在QARun提示目標系統(tǒng)執(zhí)行一系列事件之后被執(zhí)行。檢查點用于確定實際結(jié)果與期望結(jié)果是否相同。
3.性能測試工具
1)?LoadRunner
HP-MercuryLoadRunner是一種預(yù)測系統(tǒng)行為和性能的負載測試工具。通過以模擬成千上萬的用戶實施并發(fā)負載及實時性能監(jiān)測的方式來確認和查找問題,LoadRunner能夠?qū)φ麄€企業(yè)架構(gòu)進行測試。
LoadRunner適用于各種體系架構(gòu),能預(yù)測系統(tǒng)行為并優(yōu)化系統(tǒng)性能。LoadRunner的測試對象是整個企業(yè)的系統(tǒng),通過模擬實際用戶的操作行為和實行實時性能監(jiān)測,來更快地查找和發(fā)現(xiàn)問題。此外,LoadRunner能支持廣泛的協(xié)議和技術(shù),為特殊環(huán)境提供特殊的解決方案。通過使用LoadRunner,企業(yè)能最大限度地縮短測試時間、優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。
LoadRunner具有下列功能和特點:
(1)輕松創(chuàng)建虛擬用戶。?LoadRunner的虛擬用戶產(chǎn)生器(VirtualUserGenerator)能很簡便地創(chuàng)立起系統(tǒng)負載。該引擎能夠生成虛擬用戶,以虛擬用戶的方式模擬真實用戶的業(yè)務(wù)操作行為。利用虛擬用戶,可以在Windows、UNIX或Linux機器上同時產(chǎn)生成千上萬個用戶訪問,極大地減少負載測試所需的硬件和人力資源。
(2)創(chuàng)建真實的負載。腳本錄制好后,根據(jù)測試的不同業(yè)務(wù),創(chuàng)建不同的業(yè)務(wù)組合,設(shè)定不同的虛擬用戶數(shù)量,來模擬不同的真實負載場景。LoadRunner的Controller能很快組織起多用戶的測試方案。Controller提供了一個互動的環(huán)境,在其中既能建立起持續(xù)且循環(huán)的負載,又能管理和驅(qū)動負載測試方案。Controller中的負載可以來自同一臺負載發(fā)生器,也可以來自不同的負載發(fā)生器。
(3)實時監(jiān)測器。LoadRunner內(nèi)含集成的實時監(jiān)測器,在負載測試過程的任何時候,可以觀察到應(yīng)用系統(tǒng)的運行性能。這些性能監(jiān)測器實時顯示性能數(shù)據(jù)和其他系統(tǒng)組件,包括應(yīng)用服務(wù)器、Web服務(wù)器、網(wǎng)路設(shè)備和數(shù)據(jù)庫等的實時性能。這樣可以在測試過程中從客戶和服務(wù)器的雙方面評估這些系統(tǒng)組件的運行性能,從而更快地發(fā)現(xiàn)問題。
(4)分析結(jié)果以精確定位問題所在。一旦測試完畢,LoadRunner收集匯總所有的測試數(shù)據(jù),并提供高級的分析和報告工具,通過使用LoadRunner的分析工具,能很快地查找到出錯的位置和原因并做出相應(yīng)的調(diào)整。
(5)重復(fù)測試保證系統(tǒng)發(fā)布的高性能。負載測試是一個重復(fù)過程。每次處理完一個出錯情況,都需要對應(yīng)用程序在相同的方案下再進行一次負載測試。以此檢驗所做的修正是否改善了運行性能。
參考網(wǎng)站:
2)?SilkPerformer
SilkPerformer是業(yè)界最強大、且最易用的企業(yè)級負載和強度測試解決方案,用于對關(guān)鍵任務(wù)應(yīng)用的質(zhì)量進行優(yōu)化。SilkPerformer使用可視化腳本生成技術(shù)和對存在成千上萬的并發(fā)用戶的多個應(yīng)用環(huán)境進行測試的能力,能夠在企業(yè)應(yīng)用部署之前,就對其性能、可靠性和可伸縮性進行徹底的測試,而無需考慮其規(guī)模大小和復(fù)雜程度。SilkPerformer強大的診斷工具和管理報告能夠隔離錯誤并快速做出決定,從而最大程度縮短測試周期和加快上市速度。
SilkPerformer具有以下功能和特點:
(1)單一控制、分布測試。SilkPerformer可以實現(xiàn)由單點控制的多點部署,同時對部署節(jié)點進行監(jiān)控。
(2)精確模擬真實部署情況。SilkPerformer能夠?qū)⑻摂M用戶分成不同組,每組分配在不同機器上,實現(xiàn)空間分布模擬。通過定義每個用戶類型可以使用不同的負載分布方式,以精確對應(yīng)現(xiàn)實的情況。
(3)精確模擬網(wǎng)絡(luò)連接環(huán)境。SilkPerformer模擬的網(wǎng)絡(luò)基本種類可達30種,如不同速率的Wireless、GPRS、Modem、ADSL、ISDN、LAN等。針對每種類型,還可按照實際情況進行參數(shù)設(shè)置,操作方便、不需要手工編寫測試腳本,即可進行豐富的模擬,尤其適合企業(yè)級的應(yīng)用測試。
(4)精確用戶使用瀏覽器的體驗。通過簡單、方便的配置,而不需手工編寫腳本,即可準確模擬Web瀏覽器的緩存行為、Cookies管理,從而實現(xiàn)精確地請求Web頁面,達到實際用戶負載情況的精確模擬,有助于得出精確的測試結(jié)果。
(5)完備、豐富的負載類型。SilkPerformer提供了多種虛擬用戶負載模擬策略,包括持續(xù)增加虛擬用戶數(shù)、固定虛擬用戶數(shù)、動態(tài)變化的虛擬用戶數(shù)、全天候虛擬用戶數(shù)、按照預(yù)定時間序列變化的虛擬用戶數(shù)等多種負載模擬策略。每種模擬策略還可進一步根據(jù)實際情況進行各種參數(shù)設(shè)置,無需編寫腳本。
(6)專門的腳本語言和方便快捷的腳本定制。SilkPerformer的BenchmarkDescriptionLanguage(BDL)專為測試目的而設(shè)計,并提供輕松強大的方式對用戶活動進行控制。
(7)支持負載均衡的Web服務(wù)器體系測試。通過前端IP地址的模擬,能夠用單臺計算機模擬大量的、不同的IP地址,從而實現(xiàn)對負載均衡站點的壓力測試。SilkPerformer還支持DNS搜索模擬技術(shù)。
(8)豐富的報表功能?;赪eb的管理報告不僅易于共享和定制,而且簡單易懂。
(9)支持廣泛的協(xié)議類型。
參考網(wǎng)站:
3)?QALoad
Compuware公司的QALoad是客戶/服務(wù)器系統(tǒng)、企業(yè)資源配置(ERP)和電子商務(wù)應(yīng)用的自動化負載測試工具。QALoad是QACenter性能版的一部分,它通過可重復(fù)的、真實的測試能夠徹底地度量應(yīng)用的性能和可擴展性。
QALoad可以模擬成百上千的用戶并發(fā)執(zhí)行關(guān)鍵業(yè)務(wù)而完成對應(yīng)用程序的測試,并針對所發(fā)現(xiàn)問題對系統(tǒng)性能進行優(yōu)化,確保應(yīng)用的成功部署,其主要功能包括:
(1)預(yù)測系統(tǒng)性能。當應(yīng)用升級或者新應(yīng)用部署時,負載測試能幫助確定系統(tǒng)是否能按計劃處理用戶負載。QALoad并不需要調(diào)用最終用戶及其設(shè)備,就能夠仿真數(shù)以千計的用戶進行商業(yè)交易。通過QALoad,用戶可以預(yù)知業(yè)務(wù)量接近投產(chǎn)后真實水平時,端對端的響應(yīng)時間,以便滿足投產(chǎn)后的服務(wù)水平要求。
(2)尋找瓶頸問題。QALoad錄制/回放能力提供了一種可重復(fù)的方法來驗證負載下的應(yīng)用性能,可以很容易地模擬數(shù)千個用戶,并執(zhí)行和運行測試。利用QALoad反復(fù)測試可以充分地測試與容量相關(guān)的問題,快速確認性能瓶頸并進行優(yōu)化和調(diào)整。
(3)管理全局負載測試。QALoadConductor工具為定義、管理和執(zhí)行負載測試提供了一個中心控制點。Conductor通過執(zhí)行測試腳本,管理大量的虛擬用戶。Conductor可以自動識別網(wǎng)絡(luò)中可進行負載測試的機器,并在這些機器之間自動分布工作量,以避免網(wǎng)段超載。從Conductor自動啟動和配置遠程用戶,可以進行全球負載測試。在測試過程中,Conductor還可以在負載測試期間收集有關(guān)性能和時間的統(tǒng)計數(shù)據(jù)。
(4)驗證應(yīng)用的可擴展性。利用QALoad進行測試時,可以有選擇地改變硬件或軟件的配置,并改變測試步調(diào)和負載量。QALoad系統(tǒng)的NetLoad模塊幫助建立所需的額外網(wǎng)絡(luò)流量來模擬真實的產(chǎn)品負載。借助于“NetLoad”,可以在大環(huán)境下分配虛擬用戶,更好地規(guī)劃投產(chǎn)環(huán)境中如何讓這些應(yīng)用更好地工作。
(5)快速創(chuàng)建仿真的負載測試。運用QALoad,可以迅速創(chuàng)造出一些實際的安裝測試方案,而不需要手工編寫腳本或有關(guān)應(yīng)用中間軟件的詳細知識和協(xié)議。對結(jié)合了多種傳輸協(xié)議的應(yīng)用軟件進行負載測試是一個巨大的挑戰(zhàn)。為了準確仿真這些應(yīng)用軟件產(chǎn)生的流量,QALoad可以捕獲多種協(xié)議并在同一測試過程中執(zhí)行它們。另外,這些應(yīng)用軟件常常包含一些在測試方案中必須申明的動態(tài)信息。運用QALoad的ActiveData特征,可以定義腳本參數(shù)以幫助確保應(yīng)用測試腳本的成功執(zhí)行。
參考網(wǎng)站:
4)?WebLoad
WebLoad是RadView公司推出的一個性能測試和分析工具,它讓W(xué)eb應(yīng)用程序開發(fā)者自動執(zhí)行壓力測試。WebLoad通過模擬真實用戶的操作,生成壓力負載來測試Web的性能,用戶創(chuàng)建的是基于JavaScript的測試腳本,稱為議程agenda,用它來模擬客戶的行為,通過執(zhí)行該腳本來衡量Web應(yīng)用程序在真實環(huán)境下的性能。
WebLoad可被用于測試性能和伸縮性,也可被用于正確性驗證(驗證返回結(jié)果的正確性)。其測試腳本是用JavaScript(和集成的COM/Java對象)編寫的,并支持多種協(xié)議,如Web、SOAP/XML及其他可從腳本調(diào)用的協(xié)議,如FTP、SMTP等,因而可從所有層面對應(yīng)用程序進行測試。
WebLoad的面向目標的測試,也稱為“巡航控制(CruiseControl)”,是基于Radview開發(fā)的一項專利技術(shù)。簡而言之,測試時需要給WebLoad定義一組目標(目標之間可用邏輯與/或來結(jié)合),WebLoad會定期檢查這些目標,一但目標達成,用戶就會得到通知。用戶可以預(yù)先決定當目標達成時是停止測試還是繼續(xù)。
5)?JMeter
JMeter是Apache組織的開放源代碼項目,是一個100%的純Java桌面應(yīng)用,用于壓力測試和性能測試。它最初被設(shè)計用于Web應(yīng)用測試,后來擴展到其他測試領(lǐng)域。JMeter可以用于對靜態(tài)的和動態(tài)的資源(文件、Servlet、Perl腳本、Java
對象、數(shù)據(jù)庫和查詢、FTP服務(wù)器等)的性能進行測試。JMeter用于模擬在服務(wù)器、網(wǎng)絡(luò)或者其他對象上附加高負載以測試它們提供服務(wù)的受壓能力,或者分析它們提供的服務(wù)在不同負載條件下的總性能情況??梢杂肑Meter提供的圖形化界面分析性能指標或者在高負載情況下測試服務(wù)器的行為。另外,JMeter能夠?qū)?yīng)用程序做回歸測試,通過創(chuàng)建帶有斷言的腳本來驗證程序返回的期望結(jié)果。為了最大限度提高靈活性,JMeter允許使用正則表達式創(chuàng)建斷言。
JMeter的特性包括:
(1)能夠?qū)TTP和FTP服務(wù)器進行壓力和性能測試,也可以對任何數(shù)據(jù)庫進行同樣的測試(通過JDBC)。
(2)完全的可移植性和100%純Java。
(3)完全Swing和輕量組件支持包(預(yù)編譯的JAR使用javax.swing.*)。
(4)完全多線程框架允許通過多個線程并發(fā)取樣和通過單獨的線程組對不同的功能同時取樣。
(5)精心的GUI設(shè)計允許快速操作和更精確地記錄性能指標。
(6)緩存和離線分析/回放測試結(jié)果。
(7)高可擴展性。相比其他HTTP測試工具,JMeter最主要的特點在于擴展性強。JMeter能夠自動掃描其lib/ext子目錄下?.jar文件中的插件,并且將其裝載到內(nèi)存,讓用戶通過不同的菜單調(diào)用。
參考網(wǎng)站:/jmeter/index.html
6)?OpenSTA
OpenSTA是專用于B/S結(jié)構(gòu)的、免費的性能測試工具。它的優(yōu)點除了免費、源代碼開放的優(yōu)點外,還能對錄制的測試腳本按指定的語法進行編輯。測試工程師在錄制完測試腳本后,只需要了解該腳本語言的特定語法知識,就可以對測試腳本進行編輯,以便于再次執(zhí)行性能測試時獲得所需要的參數(shù),然后進行特定的性能指標分析。OpenSTA以最簡單的方式讓大家對性能測試的原理有較深的了解,其較為豐富的圖形化測試結(jié)果大大提高了測試報告的可閱讀性。
OpenSTA是基于CommonObjectRequestBrokerArchitecture(CORBA)的結(jié)構(gòu)體系。它通過虛擬一個代理(proxy),使用其專用的腳本控制語言,記錄通過proxy的一切HTTP/Straffic。測試工程師通過分析OpenSTA的性能指標收集器收集的各項性能指標,以及HTTP數(shù)據(jù),對被測試系統(tǒng)的性能進行分析。
參考網(wǎng)站:
7)?WAS
WebApplicationStressTool(WAS,Web應(yīng)用負載測試工具)是由微軟的網(wǎng)站測試人員所開發(fā),專門用來進行實際網(wǎng)站壓力測試的一套工具。WAS要求WindowsNT4.0SP4或者更高,或者Windows2000。為了對網(wǎng)站進行負載測試,WAS可以通過一臺或者多臺客戶機模擬大量用戶的活動。WAS支持身份驗證、加密和Cookies,也能夠模擬各種瀏覽器類型和Modem速度,它的功能和性能可以與數(shù)萬美元的產(chǎn)品相媲美。要對網(wǎng)站進行負載測試首先必須創(chuàng)建WAS腳本模擬用戶活動。可以用下面四種方法之一創(chuàng)建腳本:
(1)通過記錄瀏覽器的活動創(chuàng)建。
(2)通過導(dǎo)入IIS日志創(chuàng)建。
(3)通過把WAS指向Web網(wǎng)站的內(nèi)容創(chuàng)建。
(4)手工制作。
準備好測試腳本之后,可以調(diào)整測試配置以便觀察不同條件下的應(yīng)用性能,獲取性能測試數(shù)據(jù)。
4.測試管理工具
1)?QualityCenter(TestDirector)
HP-MercuryQualityCenter提供了基于Web的系統(tǒng),可在廣泛的應(yīng)用環(huán)境下自動執(zhí)行軟件質(zhì)量測試和管理。儀表盤技術(shù)可以了解驗證功能和將業(yè)務(wù)流程自動化,并確定生產(chǎn)中阻礙業(yè)務(wù)成果的瓶頸。HP-MercuryQualityCenter使IT團隊能夠在開發(fā)流程完成前就參與應(yīng)用程序測試。這樣將縮短發(fā)布時間表,同時確保最高水平的質(zhì)量。利用HP-MercuryQualityCenter,可以實現(xiàn)下列功能:
(1)制定可靠的部署決策。
(2)管理整個質(zhì)量流程并使其標準化。
(3)降低應(yīng)用程序部署風(fēng)險。
(4)提高應(yīng)用程序質(zhì)量和可用性。
(5)通過手動和自動化功能測試管理應(yīng)用程序變更影響。
(6)確保戰(zhàn)略采購方案中的質(zhì)量。
(7)存儲重要應(yīng)用程序質(zhì)量項目數(shù)據(jù)。
(8)針對功能和性能測試面向服務(wù)的基礎(chǔ)架構(gòu)服務(wù)。
(9)確保支持所有環(huán)境,包括J2EE、.NET、Oracle和SAP。
2)?ClearQuest
RationalClearQuest是一種對缺陷和記錄的變化進行跟蹤管理的工具。它體現(xiàn)了一個缺陷的完整的生命周期,從提交到關(guān)閉,記錄了缺陷所有的改變歷史,同時ClearQuest提供了各種查詢功能,及時反映了缺陷的處理情況。
ClearQuest的基本功能如下:
(1)提供用戶彈性的變更需求管理環(huán)境。
(2)用戶可根據(jù)開發(fā)工作流程和變更需求周期,通過圖示工具定義處理流程。
(3)提供預(yù)設(shè)的變更需求管理流程,用戶可直接使用或進行特殊設(shè)置。
(4)提供強大的圖表功能,用戶可深入分析開發(fā)現(xiàn)狀。
(5)有瀏覽器界面,可讓遠端的用戶進行訪問。
(6)與業(yè)界標準的數(shù)據(jù)庫和報表生成器集成。
(7)與Rational的軟件管理工具ClearCase完全集成,讓用戶充分掌握變更需求情況。
(8)支持數(shù)據(jù)庫MSACCESS和SQLSERVER6.5。
(9)優(yōu)異的系統(tǒng)擴展性,提供將數(shù)據(jù)從ACCESS轉(zhuǎn)移到SQLSERVER的功能。
ClearQuest具有下列優(yōu)點:
(1)簡化變更管理。ClearQuest特別針對動態(tài)的、不斷更新的軟件開發(fā)工作,提供最佳的變更需求管理解決方案。運用它可以方便地跟蹤、管理相關(guān)的變更需求,充分掌握變更的現(xiàn)狀,用戶也可按不同需要調(diào)節(jié)它的操作模式,讓變更需求管理能順利在開發(fā)團隊內(nèi)推動和實施。
(2)提高工作效率。項目管理者能隨時跟蹤并掌握變更需求的處理情況;程序員可以集中精力于程序編寫,節(jié)省變更需求尋求確認的時間;測試員則能充分了解每一個變更需求的來龍去脈;而系統(tǒng)管理員會發(fā)現(xiàn)ClearQuest不但容易安裝、調(diào)試而且可以與其他工具集成運用;如果有遠程用戶,還可以通過瀏覽器界面訪問ClearQuest。
(3)順暢的自動化工作流程。ClearQuest中不同類型的變更需求(錯誤修正、功能增強或文件更新等),都可規(guī)范特定的工作流程和處理周期。用戶可以直接運用ClearQuest預(yù)設(shè)的變更需求管理流程,或是利用它提供的管理工具自定義符合需要的變更需求管理流程。
(4)了解快速更新的軟件。ClearQuest按照趨勢、時間及分布等角度描繪出清晰易懂的圖表,讓開發(fā)人員充分掌握項目進展情況。無論是利用預(yù)設(shè)的或是自定義的圖表及查詢功能,它們都可以并入功能菜單,方便操作。
參考網(wǎng)站:
3)?TestManager
IBMRationalTestManager是針對測試活動管理、執(zhí)行和報告的中央控制臺,在整個項目生命周期中提供流程自動化、測試管理以及缺陷和變更跟蹤功能。該工具支持的測試范圍從純?nèi)斯y試方法到各種自動化范型(包括單元測試、功能回歸測試和性能測試),同時支持本地和遠程測試的執(zhí)行。
TestManager可以由項目團隊的所有成員訪問,確保測試覆蓋信息、缺陷和應(yīng)用程序準備狀
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 門診部護理質(zhì)量分析
- 三年級數(shù)學(xué)幾百幾十加減幾百幾十評價試題題大全附答案
- 金融行業(yè)風(fēng)險控制及紀律整改措施
- 化工產(chǎn)品質(zhì)量檢測與保障措施
- 小學(xué)三年級后進生課外輔導(dǎo)方案
- 房地產(chǎn)開發(fā)監(jiān)理措施解析
- 青藍工程師國際交流與合作計劃
- 小學(xué)四年級語文閱讀理解教學(xué)計劃
- 生態(tài)修復(fù)項目的季節(jié)性施工養(yǎng)護措施
- 房地產(chǎn)開發(fā)進度管理措施與風(fēng)險控制
- 口腔護理學(xué)緒論課件
- Unit+5+The+Monarchs+Journey+Language+points+課件-【知識精講精研】高中英語外研版(2019)必修第一冊+
- 滑模施工檢查驗收記錄
- 2023年國家鐵路局市場監(jiān)測評價中心招聘高校應(yīng)屆畢業(yè)生1人筆試參考題庫(共500題)答案詳解版
- 2022年機動車檢驗機構(gòu)內(nèi)部審核和管理評審資料匯編
- 過濾式消防自救呼吸器-安全培訓(xùn)
- 銀行員工談話記錄表
- 3q認證3q認證模板
- 第4章-甲殼素和殼聚糖-天然高分子材料資料講解課件
- 企業(yè)動態(tài)能力研究梳理與展望論文
- 有關(guān)高中生英文勵志演講稿3篇
評論
0/150
提交評論