測試結(jié)果報告
在選擇將測試結(jié)果報告到自動化框架中的庫或機制時,需要將查看這份報告的目標受眾考慮在內(nèi)。在這方面,需遵循以下幾個注意事項:
· 諸如 Junit 和 TestNG 之類的單元測試框架生成的報告主要針對如 CI(持續(xù)集成)服務器之類的接收系統(tǒng),這些系統(tǒng)最終會對其進行解釋并以其他軟件可使用的 XML 格式進行呈現(xiàn)。
· 當尋求使用大多數(shù)人都能理解的語言作為進行報告的工具時,你可能需要考慮使用與單元測試框架兼容的商業(yè)工具,比如用于 Junit、NUnit 和 TestNG 的 UFT-Pro。
· 另一種選擇是利用諸如 ExtentReports 之類的第三方庫,該庫以易于理解的格式創(chuàng)建測試結(jié)果報告,包括通過餅形圖、圖形或圖像進行可視化解釋。 輔助平臺
除了自動化測試框架本身,一些跟持續(xù)集成相關(guān)的輔助平臺也會對自動化測試有很大的幫助。比如CI可以進行交付件部署、測試調(diào)度;源代碼平臺可管理產(chǎn)品和測試腳本的代碼;依賴管理器一般是針對某種語言類庫的依賴管理工具,比如用nexus管理公司員工開發(fā)的通用java類型;禪道ZTF包含持續(xù)集成、單元測試和版本庫管理等特性。
CI平臺
為了以更快、更連貫的方式進行應用程序測試,持續(xù)集成平臺可以幫助您定期構(gòu)建軟件并為新版本運行各種測試。 當開發(fā)和部署新功能以及更新現(xiàn)有功能時,此方法使開發(fā)人員和測試人員對應用程序質(zhì)量獲得定期反饋和迅速響應。 當前一些突出的持續(xù)集成平臺有TeamCity、CircleCI、Jenkins 等。
源代碼管理
與手動測試一樣,自動化測試也涉及編寫和存儲源代碼版本。 每個開發(fā)公司都有一個精選的源代碼和版本控制系統(tǒng)來保存并保護源代碼。 自動化測試需要完善的源代碼管理系統(tǒng),該系統(tǒng)在處理生產(chǎn)代碼時會非常方便。 典型的源代碼管理示例有 Git和Subversion 。
創(chuàng)建依賴管理器
依賴性管理器的主要目的是協(xié)助收集、管理現(xiàn)有的已經(jīng)應用在自動化軟件解決方案 的功能中的依賴性和庫。某些工具(例如Maven和Gradle)同時充當依賴管理器并幫助構(gòu)建工具。構(gòu)建工具旨在幫助您從源代碼和支持庫開發(fā)自動化軟件并運行測試。這方面的工具包括Ant,npm 和 NuGet。 禪道ZTF ZTF支持與禪道無縫集成,可將禪道用例和自動化測試腳本一一綁定,執(zhí)行的結(jié)果能提交到禪道中作為測試結(jié)果,執(zhí)行失敗的腳本也可以自動創(chuàng)建bug。ZTF自動化測試框架實現(xiàn)了與Jenkins持續(xù)集成功能打通。用戶發(fā)起任務后,通過ZTF自動執(zhí)行測試腳本,把單元測試的結(jié)果回傳給禪道,二者合作打通了持續(xù)集成閉環(huán)。 框架的搭建和實施過程
以下是規(guī)劃實現(xiàn)自動化測試解決方案的幾種方式:
· 從客戶的角度探討自動化的實際適用性、從各個角度檢查其外觀是否良好、并在未充分使用的技術(shù)上進行測試。 與之相比,如果自動化開發(fā)的努力大大超過預期的優(yōu)勢,那自動化測試就沒有什么必要。
· 密切關(guān)注被測系統(tǒng)的技術(shù),以便找到能夠完美模擬用戶行為的最合適的自動化測試工具,這一點至關(guān)重要。
· 建議采用基于階段的實現(xiàn)方法,其中每個階段都具有交付自動化測試腳本的優(yōu)先級,同時添加框架功能以實現(xiàn)預期的腳本執(zhí)行。
· 在啟動軟件自動化測試之前,為了確保正確執(zhí)行自動化決策,必須首先估算實施后的投資回報率、概念證明、運行手動回歸或冒煙測試的時間以及每個版本的運行周期數(shù) 。
結(jié)論
在當今快節(jié)奏、殘酷的軟件開發(fā)生態(tài)系統(tǒng)中,自動化測試框架在保持軟件測試周期的速度、效率和清晰度方面起著不可或缺的作用。隨著人工智能被引入到軟件測試中,考慮采用自動化測試框架的組織必須深入研究最終框架的設計之后才能涉足這一領域。良好的框架設計和使用組件的策略將為最終的自動化測試框架奠定基礎。
構(gòu)建成熟、精細、靈活的自動化測試框架體系結(jié)構(gòu)的最好方法是從小處著手,頻繁地進行測試和審核,并逐步向更高的層次構(gòu)建擴展版本。從早期開始準備大量的自動化測試很方便,可以更快地看到工作框架,避免之后在自動化測試階段出現(xiàn)沖突或受損的情況。 上面闡述的指南旨在幫助軟件測試人員和公司,以讓大家從那些成功的執(zhí)行自動化測試的項目中汲取經(jīng)驗。
|