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