常用軟件測(cè)試自動(dòng)化框架
所謂自動(dòng)化測(cè)試框架,是由一些假設(shè),概念和為自動(dòng)化測(cè)試提供支持的實(shí)踐組成的集合。接下來將描述一下幾種比較常用的自動(dòng)化測(cè)試框架:
本文引用地址:http://www.ex-cimer.com/article/194981.htm1.錄制/回放的神話
每一家自動(dòng)化測(cè)試工具廠商都會(huì)宣傳,他們的工具非常容易使用,沒有技術(shù)背景的測(cè)試人員只要簡(jiǎn)單錄制測(cè)試的操作過程,然后播放錄制好的測(cè)試腳本,就可以輕松自動(dòng)化所有的測(cè)試。這樣的說法是非常不負(fù)責(zé)的。
現(xiàn)在我們來分析一下自動(dòng)化測(cè)試不能單單只依靠錄制/回放來完成的原因。
通過錄制建立的腳本,基本上都是用腳本語(yǔ)言以硬編碼的方式編寫的,當(dāng)應(yīng)用程序變動(dòng)時(shí),這些硬編碼也隨之需要更改。因此,維護(hù)這些錄制好的腳本,成本是非常高的,高到幾乎不能接受。
所有的測(cè)試腳本都必須是在應(yīng)用程序可以正確執(zhí)行時(shí)才能錄制,如果在錄制過程中發(fā)現(xiàn)缺陷.測(cè)試人員必須向缺陷管理機(jī)制報(bào)告,等到該缺陷修正了,整個(gè)錄制腳本的動(dòng)作才能繼續(xù)下去。在這樣的情況下,如果僅僅依靠錄制腳本來進(jìn)行測(cè)試,效率是十分低下的。
同時(shí),這些錄制好的腳本不是非??煽?,甚至在應(yīng)用程序完全沒有變動(dòng)的情況下直接播放,也可能因?yàn)橐恍┮馔鉅顩r而無(wú)法執(zhí)行。如果錄制腳本時(shí)測(cè)試人員使用了錯(cuò)誤的腳本語(yǔ)言,則腳本就必須重新錄制。
綜上所述,通過錄制的方式來建立自動(dòng)化測(cè)試腳本的方式看似容易,但實(shí)際上會(huì)遇到下列問題:①測(cè)試人員大多不具備技術(shù)背景,難以完全掌握測(cè)試工具;②應(yīng)用程序必須達(dá)到一定的穩(wěn)定性,才能開始錄制測(cè)試腳本;③錄制的測(cè)試腳本與測(cè)試數(shù)據(jù)耦合得太緊密;④維護(hù)自動(dòng)化測(cè)試腳本的成本非常高。
因此,僅僅依靠錄制/回放來完成自動(dòng)化測(cè)試是遠(yuǎn)遠(yuǎn)不夠的,我們應(yīng)找到一種能解決上述問題并能很好地執(zhí)行自動(dòng)化測(cè)試的方法。
2.數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架
數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試是針對(duì)上述開發(fā)與測(cè)試之間緊密耦合問題提出的測(cè)試方法。通過建立測(cè)試與開發(fā)定義的軟件元數(shù)據(jù)的關(guān)聯(lián)——元數(shù)據(jù)映射表,在測(cè)試與開發(fā)之間建立松耦合關(guān)系。不論測(cè)試人員修改測(cè)試腳本,還是開發(fā)人員修改軟件,只需要修改元數(shù)據(jù)映射表,既可以滿足測(cè)試與開發(fā)同步進(jìn)行。這樣,可以減少測(cè)試腳本調(diào)試的工作量,更好的實(shí)現(xiàn)自動(dòng)化測(cè)試。
●什么是數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架
數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架是這樣的一個(gè)框架,從某個(gè)數(shù)據(jù)文件(例如ODBC源文件、Excel文件、Csv文件、ADO對(duì)象文件等)中讀取輸入、輸出的測(cè)試數(shù)據(jù),然后通過變量傳入事先錄制好的或手工編寫的測(cè)試腳本中。其中,這些變量被用作傳遞(輸入/輸出)用來驗(yàn)證應(yīng)用程序的測(cè)試數(shù)據(jù)。在這個(gè)過程中,數(shù)據(jù)文件的讀取、測(cè)試狀態(tài)和所有測(cè)試信息都被編寫進(jìn)測(cè)試腳本里;測(cè)試數(shù)據(jù)只包含在數(shù)據(jù)文件中,而不是腳本里,測(cè)試腳本只是一個(gè)“驅(qū)動(dòng)”,或者說是一個(gè)傳送數(shù)據(jù)的機(jī)制。
●數(shù)據(jù)驅(qū)動(dòng)腳本
數(shù)據(jù)驅(qū)動(dòng)腳本就是那些和應(yīng)用程序相關(guān)聯(lián)的腳本。這些腳本通過錄制或手工編寫寫進(jìn)自動(dòng)化工具私有的語(yǔ)言,然后對(duì)其中的變量賦予合適的數(shù)值,作為測(cè)試數(shù)據(jù)的輸入。這些變量作為一些關(guān)鍵應(yīng)用程序輸入的媒介,使腳本能通過外部的數(shù)據(jù)來驅(qū)動(dòng)應(yīng)用程序。
1) 可變數(shù)據(jù),硬編碼組件標(biāo)志
這些數(shù)據(jù)驅(qū)動(dòng)的腳本經(jīng)常包含硬編碼的數(shù)據(jù),有時(shí)是一些窗口組件中非常脆弱的識(shí)別字符串。出現(xiàn)這種情況時(shí),腳本很容易由于程序的更改而失去作用。
2) 高度技術(shù)化的、重復(fù)的測(cè)試設(shè)計(jì)
數(shù)據(jù)驅(qū)動(dòng)腳本的另一個(gè)共同特點(diǎn)就是,所有在測(cè)試設(shè)計(jì)上所作的努力最終都體現(xiàn)在自動(dòng)化工具的腳本語(yǔ)言中,或者復(fù)制到手工和自動(dòng)化測(cè)試腳本中。這意味著每個(gè)和自動(dòng)化測(cè)試開發(fā)或執(zhí)行有關(guān)的人必須對(duì)測(cè)試環(huán)境和自動(dòng)化工具的編程語(yǔ)言非常精通。
●優(yōu)點(diǎn)與缺點(diǎn)
1) 優(yōu)點(diǎn): ①在應(yīng)用程序開發(fā)的同時(shí)就可以同步建立測(cè)試腳本,而且當(dāng)應(yīng)用功能變動(dòng)時(shí),只需要修改業(yè)務(wù)功能部分的腳本;②利用模型化的設(shè)計(jì),避免重復(fù)的腳本,減少建立或維護(hù)腳本的成本;③測(cè)試輸入數(shù)據(jù),驗(yàn)證數(shù)據(jù)和預(yù)期的測(cè)試結(jié)果與腳本分開,存放在另外的數(shù)據(jù)文件里,利于測(cè)試人員修改和維護(hù);④透過判斷功能回傳值是“True”或“False”,可作錯(cuò)誤處理,增加了測(cè)試腳本的健壯性;⑤自動(dòng)化測(cè)試開發(fā)人員創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)的測(cè)試過程,測(cè)試員創(chuàng)建測(cè)試數(shù)據(jù);⑥在測(cè)試的過程中收集測(cè)試結(jié)果,并在輸入數(shù)據(jù)的語(yǔ)境中表示測(cè)試結(jié)果,這樣可以簡(jiǎn)化手工結(jié)果分析。
2) 缺點(diǎn): ①對(duì)自動(dòng)化測(cè)試工具里的腳本語(yǔ)言必須非常精通;②每個(gè)腳本都會(huì)對(duì)應(yīng)多個(gè)數(shù)據(jù)文件,這些數(shù)據(jù)文件需要根據(jù)腳本的功能類別存放在各自的目錄中,增加了使用的復(fù)雜性;③測(cè)試人員除了需要根據(jù)具體測(cè)試數(shù)據(jù)維護(hù)相應(yīng)的測(cè)試計(jì)劃,還要將這些數(shù)據(jù)寫入各個(gè)需求不同的數(shù)據(jù)文件中;④在編輯數(shù)據(jù)文件時(shí),必須注意測(cè)試腳本所要求的傳輸格式,否則會(huì)在處理腳本時(shí)產(chǎn)生錯(cuò)誤。如由專門的技術(shù)人員對(duì)其進(jìn)行維護(hù),依賴于數(shù)據(jù)驅(qū)動(dòng)腳本的自動(dòng)化測(cè)試框架實(shí)現(xiàn)起來更簡(jiǎn)單、快捷。但是,維護(hù)工作困難,而且還需要保持這種數(shù)據(jù)驅(qū)動(dòng)的模式,這樣,即便長(zhǎng)時(shí)間的維持也會(huì)導(dǎo)致失敗。
評(píng)論