版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
導讀:自動化測試在行業(yè)中的重要性和優(yōu)勢是顯而易見的。本文介紹了在工業(yè)軟件的自動化測試探索中,如何克服被測對象提出的挑戰(zhàn),從而摸索且實踐出的一套適合工業(yè)軟件的自動化測試解決方案,并對解決方案中的優(yōu)秀實踐進行了介紹。1引言
軟件質(zhì)量需要測試,自動化測試可以改善產(chǎn)品質(zhì)量,并保持高標準的代碼卓越性。軟件測試的經(jīng)典定義是:在規(guī)定的條件下對程序進行操作,以發(fā)現(xiàn)程序錯誤,衡量軟件質(zhì)量,并對其是否能滿足設(shè)計要求進行評估的過程。自動化測試通過讓機器代替人執(zhí)行測試,自動執(zhí)行大量的測試用例,甚至完成某些手工測試無法完成的測試工作,從而達到資源優(yōu)化、提高產(chǎn)品質(zhì)量的目標。在針對特殊行業(yè)軟件進行自動化測試探索過程中,遇到的困難點來自于兩個維度:一是被測試軟件自身的特點,對自動化測試框架提出了挑戰(zhàn);二是自動化測試框架當前通用的難點,在被測試軟件中恰是難以覆蓋的重點。面對困難與挑戰(zhàn),我們的自動化測試團隊迎難而上,最終實踐出一套適合工業(yè)軟件的優(yōu)秀自動化測試方案。2被測系統(tǒng)介紹
HOLLiASMACSV6.5系列是和利時于2013年正式推出的第5代高可靠性DCS系統(tǒng),設(shè)計過程中充分采用了安全系統(tǒng)的設(shè)計理念,吸取國際工業(yè)電子技術(shù)和工業(yè)控制技術(shù)的最新成果,嚴格遵循國際先進的工業(yè)標準,采用全冗余、多重隔離、熱分析、容錯等可靠性設(shè)計技術(shù),從而保證系統(tǒng)在復(fù)雜、惡劣的工業(yè)現(xiàn)場環(huán)境中能安穩(wěn)長滿優(yōu)地運行。HOLLiASMACSV6.5系統(tǒng)基于國際標準和行業(yè)規(guī)范進行設(shè)計,集成了各行業(yè)的先進控制算法平臺,可根據(jù)不同行業(yè)的自動化控制需求,提供更專業(yè)全面的一體化解決方案,從而實現(xiàn)了生產(chǎn)、設(shè)備和安全三大目標的最佳協(xié)調(diào),并幫助用戶實現(xiàn)產(chǎn)品全生命周期維護成本的最小化和設(shè)備投資回報的最大化。HOLLiASMACSV6.5系統(tǒng)是基于以太網(wǎng)和PROFIBUS-DP現(xiàn)場總線構(gòu)架,可方便接入多種工業(yè)以太網(wǎng)和現(xiàn)場總線。HOLLiASMACSV6.5系統(tǒng)符合IEC61131-3標準,集成了基于HART標準協(xié)議的AMS系統(tǒng),并可集成SIS、PLC、MES、ERP等系統(tǒng),同時提供了眾多知名廠家控制系統(tǒng)的驅(qū)動接口,可實現(xiàn)智能現(xiàn)場儀表設(shè)備、控制系統(tǒng)、企業(yè)資源管理系統(tǒng)之間無縫信息流傳送,實現(xiàn)工廠智能化、管控一體化。MACSV6.5系統(tǒng)主要由工程師站、操作員站、歷史站、通訊站、控制站等部件組成,控制網(wǎng)的網(wǎng)絡(luò)節(jié)點由控制站和I/O模塊構(gòu)成。產(chǎn)品架構(gòu)如圖1所示。圖1產(chǎn)品架構(gòu)圖3工業(yè)軟件自動化測試特點
與傳統(tǒng)的桌面應(yīng)用軟件相比,上文介紹的工業(yè)軟件有很多特點。從上到下的軟硬件一體,在軟件測試的過程中,需要考慮整體性。軟件自身結(jié)構(gòu)龐大,且處于分布式部署的模式,軟件自身的各個模塊間交互性非常強,在軟件測試過程中,需要考慮交互性。除此以外,工業(yè)軟件自身對實時性、安全性等的要求非常高,測試人員在測試過程中,同樣需要考慮它的特性。那么,作為工業(yè)軟件的自動化測試來說,定位既然是模擬手工測試人員的測試行為,那么,以上的所有工業(yè)軟件特性在自動化測試框架的設(shè)計中,均需要考慮。就自動化測試自身來講,軟件自動化測試的分層理論倡導不同層次(階段)需要自動化,從底到頂?shù)膶哟谓Y(jié)構(gòu)依次為:UT(單元測試)、接口層、UI(用戶界面)層。通過應(yīng)用程序的UI來操作該應(yīng)用程序的自動測試稱為編碼的UI測試(CUIT)。這些測試包括對UI控件的功能測試,可以驗證整個應(yīng)用程序(包括其用戶界面)是否正常運行。編碼的UI測試對于在用戶界面中存在驗證或其他邏輯的情況特別有用。針對工業(yè)應(yīng)用軟件當前測試投入點,結(jié)合自動化測試UI層特性,設(shè)計出了一套適合工業(yè)軟件的自動化測試框架。該測試框架既涵蓋無人值守的自動化測試完整流程,包括從測試版本自動推送一直到最終的測試結(jié)果反饋,又在實踐過程中納入了當前軟件行業(yè)非常多的優(yōu)秀實踐,并對此進行了改進和方案集成。以下將分別對優(yōu)秀實踐的應(yīng)用做以說明。4優(yōu)秀實踐
4.1邊角測試集成方案在自動化測試框架的設(shè)計中,ST環(huán)節(jié)定義為UI自動化測試,那么,分析現(xiàn)有無論是開源還是商用自動化測試工具,發(fā)現(xiàn)在對軟件的UI層進行自動化測試時,均會面臨無法識別軟件自定義或二次開發(fā)的UI控件。在圖形結(jié)果的驗證中,也很難做到識別與驗證,特別是在屏幕顏色進行閃變且圖形實時變化的情況。如果要達到自動化完全模擬人工測試的操作及結(jié)果驗證,那么以上的難點無法避免。鑒于此,我們在ST測試框架中,除了對UI上的控件進行識別加入到測試代碼的對象庫中,框架中集成了另外一種完全不同測試思想的圖形對象庫。圖形對象庫的建立,使得對軟件界面對象的操作和結(jié)果驗證,依賴的不再是框架是否可以識別的組件,而是圖形。對軟件進行自動化測試代碼編寫過程中,圖形對象的使用,可以克服自定義組件的困難,同樣的,圖形結(jié)果的驗證問題迎刃而解。圖形識別的自動化測試作為一個補充的邊角測試方法,與通用的基于組件識別的自動化測試框架集成,在做UI層自動化測試中,可測試范圍進行了極大的擴充。4.2測試數(shù)據(jù)管理對于自動化測試或傳統(tǒng)手工測試來說,測試數(shù)據(jù)都是非常重要的資源,那么對于自動化測試項目來說,如何更好地管理測試數(shù)據(jù),在自動化框架設(shè)計中也要考慮。首先,采用測試代碼與測試數(shù)據(jù)分離的設(shè)計模式。這種隔離的設(shè)計使得測試代碼的結(jié)構(gòu)非常清晰,而不是雜亂無章的混亂結(jié)構(gòu),更大的好處在于,測試數(shù)據(jù)的分離使得我們在自動測試代碼中使用數(shù)據(jù)池的概念非常便于替換。測試代碼的復(fù)雜度降低了,測試的有效性也更好發(fā)揮。其次,通過配置文件靈活讀取和替換測試數(shù)據(jù)。以上章節(jié)中提到,測試框架中的測試對象有一部分是圖形對象,圖形對象作為測試對象同時作為測試數(shù)據(jù),如果得不到很好的管理,那么,在被測試軟件發(fā)生部分界面變化時,維護的成本和工作量是非常巨大的??紤]到這個因素,設(shè)計采用了配置文件的方式,進行此類數(shù)據(jù)的組織、管理和調(diào)用。最后,使用工具將測試數(shù)據(jù)資源進行管理。在軟件開發(fā)的過程中,相信很多從事軟件工作的同行,無論哪個角色,均會用到支持軟件開發(fā)過程的大量工具。如團隊管理使用進行流程管控的工具,開發(fā)人員需要用到版本控制工具等。隨著VisualStudio產(chǎn)品線中TeamFoundationServer組件的公布,使得微軟開發(fā)團隊在僵化的軟件項目實踐應(yīng)用中取得了巨大進步。因此,在自動化測試項目組織和測試數(shù)據(jù)資源管理中,使用的是TFS,我們使用的是TFS的單server結(jié)構(gòu),單server的類型已滿足自動化項目的使用。完成項目配置后的TFS如圖2所示。圖2TFS配置完成狀態(tài)圖4.3測試結(jié)果監(jiān)視自動化測試框架對于自動化部署是采用分布式的設(shè)計,那么,對于測試機集群的測試結(jié)果就需要進行統(tǒng)一整合,并在此基礎(chǔ)上做出分析,使得測試人員定位錯誤的代價最小。對于測試結(jié)果監(jiān)視,我們的實現(xiàn)是通過控制中心,即自動化測試服務(wù)器將被測試機器的測試結(jié)果進行依次回收,回收至服務(wù)器本地后,首先進行測試結(jié)果的整合,將不同測試機的結(jié)果進行既定模板的整合,整合后,數(shù)據(jù)做兩個方面的處理。一是將測試數(shù)據(jù)進行統(tǒng)計分析,從全局上掌握自動化測試的運行結(jié)果。二是詳細分析,將每個自動化用例的測試結(jié)果進行豐富的多維度測試結(jié)果解析。結(jié)果一主要支持管理人員及測試維護人員從全局上了解被測試產(chǎn)品測試質(zhì)量。結(jié)果二的主要目的是提供測試維護人員對于失敗進行詳細及快速的定位。畢竟在自動化用例規(guī)模過大的時候,自動化的監(jiān)視對象主要還是失敗用例。自動化測試結(jié)果如圖3所示。圖3自動化測試結(jié)果展示圖4.4自動化測試用例設(shè)計與測試代碼質(zhì)量保證在我們的測試團隊中,自動化測試用例代碼的編寫是多人協(xié)作開發(fā)的模式,對于如何保障用例本身的代碼質(zhì)量,我們做了很多嘗試和努力,以兩個實踐中有效嘗試為例,在該部分做個說明。結(jié)構(gòu)化代碼設(shè)計,以便于更簡單地復(fù)制和改寫用例。測試代碼由多人開發(fā),在過程中,有很多重復(fù)性的代碼,那么,將這些部分進行模塊化處理,供公共調(diào)用,有效減少了測試代碼量,維護代價非常小。自動化代碼的代碼檢視。通過代碼的交叉檢視,不僅能發(fā)現(xiàn)個人代碼過程中的錯誤及不符合規(guī)范項,還能在檢視別人的代碼中提升自我。前提是我們的自動化團隊形成了自己的自動化代碼規(guī)范且包含了自動化用例設(shè)計指導原則等。當前,代碼檢視不能側(cè)重于發(fā)現(xiàn)代碼缺陷,它是一個監(jiān)督項,可以使我們的團隊不斷提升自動化測試代碼質(zhì)量。4.5部署和管理對于自動化測試當前耗時和可預(yù)見的未來用例及運行時長規(guī)模來說,自動化架構(gòu)設(shè)計之初運行環(huán)境必須采用分布式部署,才能滿足自動化構(gòu)建時長的要求。因被測軟件部署于Windows平臺,設(shè)計使用PowerShell及PowerShellDSC來完成自動化測試整體的部署和管理。此設(shè)計具有強大的兼容性,完全兼容Windows平臺上的其它調(diào)用,且基于平臺具備很好的可擴展性,也可以進一步利用.NETFramework的強大功能。在此特別需要說明一下的是PowerShellDSC。在集群機器管理中,通過使用PowerShellDSC保持自動化運行環(huán)境的可控和一致性,體現(xiàn)在操作系統(tǒng)和被測試應(yīng)用軟件上。通過它的使用同樣降低了腳本的復(fù)雜度,可大幅度提高迭代速度。將環(huán)境從結(jié)構(gòu)中分離出來,此類模型設(shè)計同樣契合與DevOps理念。自動化測試部署如圖4所示。圖4自動化測試部署圖4.6持續(xù)集成自動化測試想要發(fā)揮最大化的價值,就不能不涉及持續(xù)集成。在不斷迭代的被測試軟件版本中,自動化測試的防護網(wǎng)持續(xù)攔截且保持測試標準的一致性,這是自動化測試的理想應(yīng)用狀態(tài),因此,我們的自動化測試方案設(shè)計中關(guān)于持續(xù)集成的落地在此做一說明。開發(fā)代碼一旦入庫,通過配置的版本構(gòu)建,會經(jīng)過持續(xù)自動化的質(zhì)量保證環(huán)節(jié)。主要的構(gòu)建步驟如圖5所示。圖5自動化測試持續(xù)構(gòu)建圖4.7TestOps的展望新的理念與技術(shù)層出不窮,對于工業(yè)軟件的自動化測試設(shè)計方案也是在不斷接受新鮮事物的過程中集成、完善、逐步優(yōu)化的。顧名思義,TestOps即測試運維。從測試的角度推動研發(fā)和運維,將測試落地到整個研發(fā)體系的關(guān)鍵崗位。它關(guān)注全生命周期的質(zhì)量控制、測試過程接地氣、關(guān)注環(huán)境及代碼驗證、關(guān)注質(zhì)量統(tǒng)計分析及回溯。概念圖如圖6所示。圖6TestOps概念圖在優(yōu)秀的TestOps體系中,我們關(guān)于工業(yè)軟件自動化測試框架的設(shè)計及整體的CI設(shè)計已經(jīng)有部分優(yōu)秀的實踐活動進行了落地。但是將測試落地到整個研發(fā)體系的關(guān)鍵崗位,我們做得還不夠,有很大提升空間。例如如何讓測試團
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物(內(nèi)蒙古)-【八省聯(lián)考】河南、山西、陜西、內(nèi)蒙古、四川、云南、寧夏、青海八省2025年高考綜合改革適應(yīng)性演練聯(lián)考試題和答案
- 《法國園林》課件
- 小學生一年級30以內(nèi)加減法100題
- 高考新課標語文模擬試卷系列之63
- 《梅花嶺記》課件
- 行政后勤治安防范措施
- 裝飾行業(yè)采購經(jīng)驗分享
- 飲品店服務(wù)員工作心得
- 《溫州地區(qū)特產(chǎn)》課件
- 裝修行業(yè)監(jiān)督裝修工程衛(wèi)生施工
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導材料之15:“6策劃-6.4創(chuàng)新組合”(雷澤佳編制-2025B0)
- 廣東省廣州市天河區(qū)2022-2023學年七年級上學期期末語文試題(含答案)
- 2025混凝土外加劑買賣合同
- 標準廠房施工方案
- DBJT45T 037-2022 高速公路出行信息服務(wù)管理指南
- 港口碼頭租賃協(xié)議三篇
- 浙江省紹興市柯橋區(qū)2023-2024學年高一上學期期末教學質(zhì)量調(diào)測數(shù)學試題(解析版)
- 項目部實名制管理實施措施
- DB32/T 4700-2024 蓄熱式焚燒爐系統(tǒng)安全技術(shù)要求
- 國有企業(yè)普法培訓課件
- 靜脈血栓栓塞預(yù)防和治療的專家共識
評論
0/150
提交評論