專利名稱:軟件和模塊的自動化測試方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及銀行系統(tǒng)ATM機,主要是指一種用于ATM機的軟件和模塊的自動化測試方法及其系統(tǒng)。
背景技術(shù):
傳統(tǒng)ATM機的軟件和模塊的測試方法都是采用人工的方式,依靠人工將卡和紙幣反復(fù)在ATM機上進行操作。這種方式使測試人員產(chǎn)生疲勞及測試壓力。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種軟件和模塊的自動化測試方法及其系統(tǒng),通過采用機器人及自動操作系統(tǒng)的方式,旨在于對COLS(上層應(yīng)用)、通道(中間件)、SP(底層驅(qū)動)等多種與銀行相關(guān)的軟件/模塊的測試上減少測試人員的疲勞度和測試壓力等。實現(xiàn)本發(fā)明的方法是主要用于對銀行系統(tǒng)ATM機軟件和模塊性能的測試,通過機器人持卡和紙幣的方式替代人工來對ATM機進行插取卡和存取紙幣的重復(fù)操作,包括機器人設(shè)有用于抓卡和紙幣的電動爪;與機器人配套的示教器對機器人進行操控;機器人控制模塊包括同步和異步兩種命令模式,其中,同步命令下在一個動作返回前無法執(zhí)行任何其他動作,異步命令則可以同時指派多個動作,這些動作將會有選擇的順序執(zhí)行,并通過消息形式返回其執(zhí)行結(jié)果;ATM機信息捕獲與分析模塊從ATM機獲取到當前的狀態(tài),并合成狀態(tài)碼,機器人控制模塊依據(jù)這些編碼合理的控制機器人的所有動作;網(wǎng)絡(luò)通訊模塊機器人控制模塊、ATM信息捕獲與分析模塊通過網(wǎng)絡(luò)進行通訊;用戶界面模塊設(shè)置測試流程,即測試動作的先后與條件。該方法還包括如下流程A 流程測試人員通過用戶界面給機器人控制模塊發(fā)送同步和異步兩種命令;機器人控制模塊接收命令并對機器人發(fā)送同步操作命令;機器人持卡或紙幣進行ATM機操作;B 流程測試人員通過示教器給機器人發(fā)送命令;機器人持卡或紙幣進行ATM機操作;機器人完成動作后,將完成動作信息發(fā)給機器人控制模塊;C 流程 ATM機將運行性能情況轉(zhuǎn)換成狀態(tài)碼經(jīng)ATM機信息捕獲與分析模塊和網(wǎng)絡(luò)通訊模塊發(fā)送給機器人控制模塊;
該方法還包括
所述機器人控制模塊包括用戶界面模塊、命令碼處理模塊、命令執(zhí)行條件邏輯判斷模塊、執(zhí)行模塊、動作碼處理模塊、狀態(tài)碼處理模塊,其中用戶界面將異步命令發(fā)送給命令碼處理模塊,命令碼處理模塊將逐個提取命令發(fā)送給命令執(zhí)行條件邏輯判斷模塊,命令執(zhí)行條件邏輯判斷模塊將同步調(diào)用命令發(fā)送給執(zhí)行模塊,執(zhí)行模塊將同步操作命令發(fā)送給動作碼處理模塊,動作碼處理模塊將控制命令發(fā)送給機器人,狀態(tài)碼處理模塊將獲取狀態(tài)碼處理后發(fā)送給命令執(zhí)行條件邏輯判斷模塊;機器人將動作結(jié)果以返回碼形式發(fā)送給動作碼處理模塊,動作碼處理模塊將結(jié)果返回信息發(fā)送給執(zhí)行模塊,執(zhí)行模塊將動作執(zhí)行后返回信息發(fā)送給機器人。所述ATM機信息捕獲與分析模塊包括網(wǎng)絡(luò)通訊模塊接口、狀態(tài)碼處理模塊、狀態(tài)判斷模塊、消息鉤子模塊,其中ATM機將XFS (金融服務(wù)擴展標準)消息發(fā)送給消息鉤子模塊,消息鉤子模塊分別將XFS消息發(fā)送給日志文件模塊和經(jīng)篩選的合適消息發(fā)送給狀態(tài)判斷模塊,狀態(tài)判斷模塊經(jīng)狀態(tài)碼處理模塊將實時上傳狀態(tài)碼發(fā)送給網(wǎng)絡(luò)通訊模塊接口。所述網(wǎng)絡(luò)通訊模塊包括ATM信息捕獲與分析模塊、數(shù)據(jù)格式化模塊、發(fā)送數(shù)據(jù)緩存模塊、發(fā)送模塊、接收模塊,其中ATM信息捕獲與分析模塊經(jīng)數(shù)據(jù)格式化模塊發(fā)送異步模式給發(fā)送數(shù)據(jù)緩存模塊, 發(fā)送數(shù)據(jù)緩存模塊將提取數(shù)據(jù)經(jīng)發(fā)送模塊發(fā)送到局域網(wǎng);ATM信息捕獲與分析模塊經(jīng)數(shù)據(jù)格式化模塊將同步模式經(jīng)發(fā)送模塊發(fā)送到局域網(wǎng);局域網(wǎng)經(jīng)接收模塊、數(shù)據(jù)格式化模塊將返回狀態(tài)碼以消息形式反饋到機器人控制模塊。實現(xiàn)本發(fā)明的系統(tǒng)是主要用于對銀行系統(tǒng)ATM機軟件和模塊性能的測試,包括機器人、機器人控制器、示教器、HMI、電腦、電動爪、電動爪控制器、ATM機、以太網(wǎng)、數(shù)據(jù)線, 其中示教器經(jīng)機器人控制器分別連接機器人和以太網(wǎng),以太網(wǎng)還分別連接HMI、經(jīng)電動爪控制器連接電動爪、經(jīng)電腦和ATM機連接電動爪,電動爪設(shè)置在機器人上。該系統(tǒng)還包括所述系統(tǒng)還包括用戶界面模塊、機器人控制模塊、ATM機信息捕獲與分析模塊、網(wǎng)絡(luò)通訊模塊,其中用戶界面模塊經(jīng)機器人控制模塊、網(wǎng)絡(luò)通訊模塊連接ATM機信息捕獲與分析模塊,ATM機信息捕獲與分析模塊還連接ATM機,機器人控制模塊還連接機器人。所述機器人控制模塊包括用戶界面模塊、命令碼處理模塊、命令執(zhí)行條件邏輯判斷模塊、執(zhí)行模塊、動作碼處理模塊、狀態(tài)碼處理模塊,其中用戶界面模塊經(jīng)命令碼處理模塊、命令執(zhí)行條件邏輯判斷模塊分別與執(zhí)行模塊和狀態(tài)碼處理模塊連接,用戶界面模塊還經(jīng)執(zhí)行模塊、動作碼處理模塊與機器人連接,狀態(tài)碼處理模塊還與系統(tǒng)消息隊列模塊連接。所述ATM機信息捕獲與分析模塊包括網(wǎng)絡(luò)通訊模塊接口、狀態(tài)碼處理模塊、狀態(tài)判斷模塊、消息鉤子模塊,其中網(wǎng)絡(luò)通訊模塊接口經(jīng)狀態(tài)碼處理模塊、狀態(tài)判斷模塊、消息鉤子模塊分別與ATM機、日志文件模塊連接。所述網(wǎng)絡(luò)通訊模塊包括ATM信息捕獲與分析模塊、數(shù)據(jù)格式化模塊、發(fā)送數(shù)據(jù)緩存模塊、發(fā)送模塊、接收模塊,其中ATM信息捕獲與分析模塊經(jīng)數(shù)據(jù)格式化模塊、發(fā)送數(shù)據(jù)緩存模塊、發(fā)送模塊與局域網(wǎng)連接;局域網(wǎng)還經(jīng)接收模塊、數(shù)據(jù)格式化模塊與機器人控制模塊連接。
本發(fā)明具有的有益效果替代測試人員并提高效率。
圖1是本發(fā)明系統(tǒng)的拓撲結(jié)構(gòu)示意圖。圖2是本發(fā)明系統(tǒng)的總體結(jié)構(gòu)示意圖。圖3是本發(fā)明系統(tǒng)的處理流程圖(軟件結(jié)構(gòu))。圖4是本發(fā)明系統(tǒng)的ATM機信息捕獲與分析模塊結(jié)構(gòu)圖。圖5是本發(fā)明系統(tǒng)的網(wǎng)絡(luò)通訊模塊結(jié)構(gòu)圖。圖6是本發(fā)明系統(tǒng)的機器人控制模塊結(jié)構(gòu)圖。圖7是本發(fā)明系統(tǒng)的機器人控制模塊流程邏輯框圖。圖8是本發(fā)明系統(tǒng)的測試系統(tǒng)流程圖。圖9是本發(fā)明系統(tǒng)的測試系統(tǒng)數(shù)據(jù)流圖。圖10-圖12是本發(fā)明系統(tǒng)的用戶界面。其中1示教器、2機器人控制器、3以太網(wǎng)、4HMI、5電腦、6機器人、7電動爪控制器、8ATM機、9電動爪。HMI 外部控制設(shè)備(通過這個設(shè)備進行啟動,停止,復(fù)位等動作,此設(shè)備可以選用)。
具體實施例方式下面結(jié)合附圖對本發(fā)明做進一步說明如圖所示本系統(tǒng)由示教器(屬于川崎機器人的設(shè)施)1、機器人控制器2、以太網(wǎng) 3、HMI 4、電腦5、機器人6、電動爪控制器7、ATM機8、電動爪9組成,電動爪9屬機器人6 的一部分。本系統(tǒng)在達到測試要求的同時能夠保證測試過程的準確性與可重復(fù)性,以及測試結(jié)果的客觀性。并可以根據(jù)測試案例和測試結(jié)果靈活的生成需要的測試腳本。模塊設(shè)計1)機器人控制模塊根據(jù)返回的狀態(tài)碼和用戶的命令碼合理安排當前的機器人動作。接收命令碼和狀態(tài)碼有足夠大的緩存,然后由人工智能部分順序執(zhí)行需要的控制動作。機器人控制模塊分同步和異步兩種命令模式。其中,同步命令下在一個動作返回前無法執(zhí)行任何其他動作。異步命令則可以同時指派多個動作,這些動作將會有選擇的順序執(zhí)行,并通過消息形式返回其執(zhí)行結(jié)果2)網(wǎng)絡(luò)通訊模塊ATM信息捕獲與分析模塊的狀態(tài)碼通過此模塊發(fā)送到機器人控制模塊。3) ATM信息捕獲與分析模塊通過鉤子捕獲SP與通道之間的XFS命令返回消息獲取到當前的狀態(tài),并合成狀態(tài)碼。用戶界面界面設(shè)計,可使用visio中的Windows User Interface制作,但應(yīng)預(yù)先由分析人員與編程人員共同確定統(tǒng)一風(fēng)格。以列表方式進行界面元素描述或者文字方式描述輸入和輸出界面以及要求。軟件業(yè)務(wù)描述1)根據(jù)不同的現(xiàn)場、設(shè)備、需求等因素設(shè)置本系統(tǒng)。包括軟件、硬件的設(shè)置。2)用戶通過自動化測試系統(tǒng)的模板功能創(chuàng)建合適的測試模板(流程)。3)自動化測試系統(tǒng)從測試用例庫中提取合適的用例與答案并整理出測試腳本。4)自動化測試系統(tǒng)開始解釋執(zhí)行測試腳本。5) ATM機上報當前動作與狀態(tài)到自動化測試系統(tǒng)的信息處理模塊。6)自動化測試系統(tǒng)根據(jù)測試腳本和ATM反饋信息控制機械臂進行動作。7)第5-6步驟進行循環(huán),過程中會對所有動作進行正確與否的分析。8)測試腳本執(zhí)行完畢,系統(tǒng)自動生成概括性的測試報告與分析結(jié)果。9)(用戶)選擇是否針對測試報告的一個或多個結(jié)果進行專門的測試。10)根據(jù)用戶選擇重新生成測試腳本。11)重復(fù)第4-7步驟。12)生成最終測試報告和相關(guān)建議。術(shù)語機械爪機器人的前端夾片部分,用于夾卡/鈔等動作。觸摸桿機器人的前端圓柱體部分,用于按鍵動作。機械臂機器人的主體部分,6軸連動,用于控制機器手的運動。動作碼機器人動作控制代碼。返回碼機器人動作后返回控制程序的代碼。運行環(huán)境控制電腦NT4. 0以上操作系統(tǒng)。機械臂FseriesFS03NoATM 機C81。功能1.測試人員可以通過本系統(tǒng)或機器人配套的示教器對機器人進行操作。2.機器人控制模塊分同步和異步兩種命令模式。其中,同步命令下在一個動作返回前無法執(zhí)行任何其他動作。異步命令則可以同時指派多個動作,這些動作將會有選擇的順序執(zhí)行,并通過消息形式返回其執(zhí)行結(jié)果。3. ATM信息捕獲與分析模塊捕獲與分析模塊從ATM機獲取到當前的狀態(tài),并合成狀態(tài)碼。機器人控制模塊依據(jù)這些編碼合理的控制機器人的所有動作。4.機器人所有控制動作均是同步的。5.機器人控制模塊與ATM信息捕獲與分析模塊通過網(wǎng)絡(luò)進行通訊。6.由于本系統(tǒng)第一期沒有腳本處理模塊。所以用戶界面模塊就需要能夠讓用戶設(shè)置簡單的測試流程,即測試動作的先后與條件(偽腳本)。7.機器人控制模塊為本系統(tǒng)的核心處理模塊。接口設(shè)計用戶接口
外部接口 內(nèi)部接口 機器人控制模塊;網(wǎng)絡(luò)通訊模塊;ATM機信息捕獲與分析模塊。配置參數(shù)系統(tǒng)參數(shù)機器人參數(shù)以碼表的形式表示每個動作執(zhí)行的超時、序號等信息。命令碼狀態(tài)碼格式定義32位狀態(tài)碼模塊碼⑶+XFS碼⑶+返回碼(16)。模塊碼高16位中高8位代表執(zhí)行動作模塊。命令碼高16位中低8位代表當前模塊的動作。返回碼低16位代表當前命令碼執(zhí)行后的返回碼。系統(tǒng)出錯處理設(shè)計1.錯誤代碼格式定義錯誤代碼(3 =錯誤分類(8) +子碼(8) +錯誤描述碼(16)2.日志文件所有錯誤碼發(fā)生時必須寫在日志中。內(nèi)容包括錯誤發(fā)生時間、代碼行、以及其他附加信息。根據(jù)日志信息查找相關(guān)代碼進行維護修改。格式字段[年-月-日][時分秒.毫秒][文件名代碼行][描述信息](錯誤代碼 錯誤代碼描述)□必填信息()可選信息例1 2010-05-04 10:39:07. 127 Comm. Cpp :00057 啟動服務(wù)器K_ERR_R0B0T_CMD_UNSUPP_C0MMAND (不支持的命令)級別日志記錄的范圍隨著級別數(shù)的增加而擴大??紤]到以后的擴展可能,目前級別數(shù)上限是5。級別LevelLevelLevelLevelLevelLevel模式模式
8
相關(guān)描述 0 不寫日志。
1最低級別。僅輸出錯誤代碼里有的錯誤信息。 2關(guān)鍵級別。代碼執(zhí)行的關(guān)鍵路徑,及相關(guān)信息。(Enter…Leave)
3普通級別。追蹤全部函數(shù)(方法)具體實現(xiàn),包括輸入輸出等信息。% d
4完整級別。代碼執(zhí)行情況的詳細流程。
5開發(fā)級別。開發(fā)過程中可能需要跟蹤的信息。
相關(guān)描述
Mode 0Mode 1
打開文件_>寫日志_>關(guān)閉文件打開文件_>寫日志…寫日志_>關(guān)閉文件
權(quán)利要求
1.一種軟件和模塊的自動化測試方法,主要用于對銀行系統(tǒng)ATM機軟件和模塊性能的測試,其特征是通過機器人持卡和紙幣的方式替代人工來對ATM機進行插取卡和存取紙幣的重復(fù)操作,包括a.機器人設(shè)有用于抓卡和紙幣的電動爪;b.與機器人配套的示教器對機器人進行操控;c.機器人控制模塊包括同步和異步兩種命令模式,其中,同步命令下在一個動作返回前無法執(zhí)行任何其他動作,異步命令則可以同時指派多個動作,這些動作將會有選擇的順序執(zhí)行,并通過消息形式返回其執(zhí)行結(jié)果;d.ATM機信息捕獲與分析模塊從ATM機獲取到當前的狀態(tài),并合成狀態(tài)碼,機器人控制模塊依據(jù)這些編碼合理的控制機器人的所有動作;e.網(wǎng)絡(luò)通訊模塊機器人控制模塊、ATM信息捕獲與分析模塊通過網(wǎng)絡(luò)進行通訊;f.用戶界面模塊設(shè)置測試流程,即測試動作的先后與條件。
2.如權(quán)利要求1所述的軟件和模塊的自動化測試方法,其特征是所述方法還包括如下流程A流程測試人員通過用戶界面給機器人控制模塊發(fā)送同步和異步兩種命令; 機器人控制模塊接收命令并對機器人發(fā)送同步操作命令; 機器人持卡或紙幣進行ATM機操作; B流程測試人員通過示教器給機器人發(fā)送命令; 機器人持卡或紙幣進行ATM機操作; 機器人完成動作后,將完成動作信息發(fā)給機器人控制模塊; C流程ATM機將運行性能情況轉(zhuǎn)換成狀態(tài)碼經(jīng)ATM機信息捕獲與分析模塊和網(wǎng)絡(luò)通訊模塊發(fā)送給機器人控制模塊。
3.如權(quán)利要求1和2所述的軟件和模塊的自動化測試方法,其特征是所述機器人控制模塊包括用戶界面模塊、命令碼處理模塊、命令執(zhí)行條件邏輯判斷模塊、執(zhí)行模塊、動作碼處理模塊、狀態(tài)碼處理模塊,其中用戶界面將異步命令發(fā)送給命令碼處理模塊,命令碼處理模塊將逐個提取命令發(fā)送給命令執(zhí)行條件邏輯判斷模塊,命令執(zhí)行條件邏輯判斷模塊將同步調(diào)用命令發(fā)送給執(zhí)行模塊,執(zhí)行模塊將同步操作命令發(fā)送給動作碼處理模塊,動作碼處理模塊將控制命令發(fā)送給機器人,狀態(tài)碼處理模塊將獲取狀態(tài)碼處理后發(fā)送給命令執(zhí)行條件邏輯判斷模塊;機器人將動作結(jié)果以返回碼形式發(fā)送給動作碼處理模塊,動作碼處理模塊將結(jié)果返回信息發(fā)送給執(zhí)行模塊,執(zhí)行模塊將動作執(zhí)行后返回信息發(fā)送給機器人。
4.如權(quán)利要求1和2所述的軟件和模塊的自動化測試方法,其特征是所述ATM機信息捕獲與分析模塊包括網(wǎng)絡(luò)通訊模塊接口、狀態(tài)碼處理模塊、狀態(tài)判斷模塊、消息鉤子模塊, 其中ATM機將XFS消息發(fā)送給消息鉤子模塊,消息鉤子模塊分別將XFS消息發(fā)送給日志文件模塊和經(jīng)篩選的合適消息發(fā)送給狀態(tài)判斷模塊,狀態(tài)判斷模塊經(jīng)狀態(tài)碼處理模塊將實時上傳狀態(tài)碼發(fā)送給網(wǎng)絡(luò)通訊模塊接口。
5.如權(quán)利要求1和2所述的軟件和模塊的自動化測試方法,其特征是所述網(wǎng)絡(luò)通訊模塊包括ATM信息捕獲與分析模塊、數(shù)據(jù)格式化模塊、發(fā)送數(shù)據(jù)緩存模塊、發(fā)送模塊、接收模塊,其中ATM信息捕獲與分析模塊經(jīng)數(shù)據(jù)格式化模塊發(fā)送異步模式給發(fā)送數(shù)據(jù)緩存模塊,發(fā)送數(shù)據(jù)緩存模塊將提取數(shù)據(jù)經(jīng)發(fā)送模塊發(fā)送到局域網(wǎng);ATM信息捕獲與分析模塊經(jīng)數(shù)據(jù)格式化模塊將同步模式經(jīng)發(fā)送模塊發(fā)送到局域網(wǎng);局域網(wǎng)經(jīng)接收模塊、數(shù)據(jù)格式化模塊將返回狀態(tài)碼以消息形式反饋到機器人控制模塊。
6.實現(xiàn)權(quán)利要求1的軟件和模塊的自動化測試系統(tǒng),主要用于對銀行系統(tǒng)ATM機軟件和模塊性能的測試,其特征是包括機器人、機器人控制器、示教器、HMI、電腦、電動爪、電動爪控制器、ATM機、以太網(wǎng)、數(shù)據(jù)線,其中示教器經(jīng)機器人控制器分別連接機器人和以太網(wǎng), 以太網(wǎng)還分別連接HMI、經(jīng)電動爪控制器連接電動爪、經(jīng)電腦和ATM機連接電動爪,電動爪設(shè)置在機器人上。
7.如權(quán)利要求6所述的軟件和模塊的自動化測試系統(tǒng),其特征是所述系統(tǒng)還包括用戶界面模塊、機器人控制模塊、ATM機信息捕獲與分析模塊、網(wǎng)絡(luò)通訊模塊,其中用戶界面模塊經(jīng)機器人控制模塊、網(wǎng)絡(luò)通訊模塊連接ATM機信息捕獲與分析模塊,ATM機信息捕獲與分析模塊還連接ATM機,機器人控制模塊還連接機器人。
8.如權(quán)利要求7所述的軟件和模塊的自動化測試系統(tǒng),其特征是所述機器人控制模塊包括用戶界面模塊、命令碼處理模塊、命令執(zhí)行條件邏輯判斷模塊、執(zhí)行模塊、動作碼處理模塊、狀態(tài)碼處理模塊,其中用戶界面模塊經(jīng)命令碼處理模塊、命令執(zhí)行條件邏輯判斷模塊分別與執(zhí)行模塊和狀態(tài)碼處理模塊連接,用戶界面模塊還經(jīng)執(zhí)行模塊、動作碼處理模塊與機器人連接,狀態(tài)碼處理模塊還與系統(tǒng)消息隊列模塊連接。
9.如權(quán)利要求7所述的軟件和模塊的自動化測試系統(tǒng),其特征是所述ATM機信息捕獲與分析模塊包括網(wǎng)絡(luò)通訊模塊接口、狀態(tài)碼處理模塊、狀態(tài)判斷模塊、消息鉤子模塊,其中網(wǎng)絡(luò)通訊模塊接口經(jīng)狀態(tài)碼處理模塊、狀態(tài)判斷模塊、消息鉤子模塊分別與ATM機、日志文件模塊連接。
10.如權(quán)利要求7所述的軟件和模塊的自動化測試系統(tǒng),其特征是所述網(wǎng)絡(luò)通訊模塊包括ATM信息捕獲與分析模塊、數(shù)據(jù)格式化模塊、發(fā)送數(shù)據(jù)緩存模塊、發(fā)送模塊、接收模塊, 其中ATM信息捕獲與分析模塊經(jīng)數(shù)據(jù)格式化模塊、發(fā)送數(shù)據(jù)緩存模塊、發(fā)送模塊與局域網(wǎng)連接;局域網(wǎng)還經(jīng)接收模塊、數(shù)據(jù)格式化模塊與機器人控制模塊連接。
全文摘要
一種軟件和模塊的自動化測試方法及其系統(tǒng),方法包括通過機器人持卡和紙幣的方式替代人工來對ATM機進行插取卡和存取紙幣的重復(fù)操作;系統(tǒng)包括機器人、機器人控制器、示教器、HMI、電腦、電動爪、電動爪控制器、ATM機、以太網(wǎng)、數(shù)據(jù)線,其中示教器經(jīng)機器人控制器分別連接機器人和以太網(wǎng),以太網(wǎng)還分別連接HMI、經(jīng)電動爪控制器連接電動爪、經(jīng)電腦和ATM機連接電動爪,電動爪設(shè)置在機器人上。
文檔編號H04L12/26GK102157037SQ201110002149
公開日2011年8月17日 申請日期2011年1月5日 優(yōu)先權(quán)日2011年1月5日
發(fā)明者熊雄 申請人:深圳市怡化電腦有限公司