本發(fā)明涉及自動(dòng)化控制技術(shù)領(lǐng)域,尤其涉及一種用于可編程控制器的自動(dòng)化測(cè)試方法及裝置。
背景技術(shù):
可編程控制系統(tǒng)在工業(yè)控制自動(dòng)化技術(shù)領(lǐng)域有著極其重要的作用,其廣泛應(yīng)用于石油、化工、高鐵、電力等各行各業(yè)的自動(dòng)化控制系統(tǒng)中??删幊踢壿嬁刂破?Programmable Logic Controller,PLC)是可編程控制系統(tǒng)的核心,主要用于運(yùn)行控制邏輯和執(zhí)行現(xiàn)場(chǎng)I/O變量刷新操作,其運(yùn)行狀態(tài)直接關(guān)乎整個(gè)可編程控制系統(tǒng)運(yùn)行結(jié)果的正確性,由此可見,PLC運(yùn)行的正確性和可靠性對(duì)工控現(xiàn)場(chǎng)的安全顯得尤為關(guān)鍵。
為了提高PLC運(yùn)行的準(zhǔn)確性和可靠性,在PLC的開發(fā)過(guò)程中往往需要對(duì)PLC進(jìn)行反復(fù)測(cè)試,任何由于對(duì)PLC測(cè)試不充分、不全面所引發(fā)的問題,都有可能導(dǎo)致對(duì)現(xiàn)場(chǎng)設(shè)備的損害,甚至對(duì)人身安全的威脅,給國(guó)家和人民造成不可估量的損失。因此,對(duì)于可編程控制器來(lái)說(shuō),一個(gè)全面、高效的測(cè)試方法和實(shí)施方案是非常重要也是一個(gè)必不可少的環(huán)節(jié)。對(duì)PLC的測(cè)試需要可編程控制系統(tǒng)中軟硬件的配合,具體涉及編譯,下裝,通信等一系列的操作。目前,在PLC的開發(fā)過(guò)程中,多是采用人工手動(dòng)測(cè)試方式對(duì)PLC進(jìn)行測(cè)試,即通過(guò)測(cè)試人員依據(jù)自身的專業(yè)素養(yǎng),手動(dòng)依次完成組建測(cè)試用例、運(yùn)行測(cè)試用例等測(cè)試步驟。
在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下技術(shù)問題:
采用人工手動(dòng)測(cè)試方式對(duì)PLC進(jìn)行測(cè)試時(shí),對(duì)測(cè)試人員測(cè)試時(shí)的身體狀態(tài)和專業(yè)素質(zhì)要求較高,由于各種外界因素所導(dǎo)致的誤操作對(duì)測(cè)試的干擾性極大,因此測(cè)試結(jié)果的可靠性也會(huì)受到很大程度上的影響;同時(shí),由于需要人工手動(dòng)完成各個(gè)測(cè)試步驟,因此測(cè)試效率低,從而影響了PLC的研發(fā)進(jìn)度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供的用于可編程控制器的自動(dòng)化測(cè)試方法及裝置,能夠減少PLC測(cè)試過(guò)程中測(cè)試人員的工作量以提高測(cè)試效率,從而能夠降低測(cè)試過(guò)程對(duì)測(cè)試人員專業(yè)素質(zhì)的過(guò)度依賴以提高測(cè)試的準(zhǔn)確性。
第一方面,本發(fā)明提供一種用于可編程控制器的自動(dòng)化測(cè)試方法,應(yīng)用于計(jì)算機(jī),包括:
步驟1、加載包含至少一個(gè)測(cè)試用例的測(cè)試用例包;
步驟2、對(duì)當(dāng)前測(cè)試用例進(jìn)行檢查與編譯,以生成對(duì)應(yīng)的可執(zhí)行文件;
步驟3、判斷所述當(dāng)前測(cè)試用例編譯是否成功;
步驟4、如果所述當(dāng)前測(cè)試用例編譯成功,根據(jù)預(yù)設(shè)的測(cè)試參數(shù)建立計(jì)算機(jī)與可編程控制器的通信通道和數(shù)據(jù)傳輸通道;
步驟5、判斷所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立是否成功;
步驟6、如果所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立成功,通過(guò)所述數(shù)據(jù)傳輸通道發(fā)送所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件至所述可編程控制器;
步驟7、判斷所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送是否成功;
步驟8、如果所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送成功,通過(guò)所述通信通道發(fā)送任務(wù)啟動(dòng)命令和任務(wù)停止命令至所述可編程控制器,以控制所述可編程控制器的任務(wù)運(yùn)行和任務(wù)停止;
步驟9、通過(guò)所述通信通道發(fā)送讀取命令至所述可編程控制器;
其中,所述讀取命令用于獲取所述當(dāng)前測(cè)試用例的實(shí)際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果經(jīng)過(guò)邏輯與運(yùn)算得到的最終測(cè)試結(jié)果;
步驟10、通過(guò)所述數(shù)據(jù)傳輸通道接收并顯示所述可編程控制器發(fā)送的所述當(dāng)前測(cè)試用例的最終測(cè)試結(jié)果;
步驟11、判斷所述當(dāng)前測(cè)試用例為本次測(cè)試的最后一個(gè)測(cè)試用例;
步驟12、如果所述當(dāng)前測(cè)試用例為本次測(cè)試的最后一個(gè)測(cè)試用例,則匯總各個(gè)測(cè)試用例的所有單步測(cè)試結(jié)果和最終測(cè)試結(jié)果,生成測(cè)試結(jié)果報(bào)表;
步驟13、如果所述當(dāng)前測(cè)試用例不是本次測(cè)試的最后一個(gè)測(cè)試用例,則跳轉(zhuǎn)至步驟2,直至完成本次測(cè)試的所有測(cè)試用例。
可選地,所述預(yù)設(shè)的測(cè)試參數(shù)包括賬戶、密碼和通信端口號(hào),其中,所述通信端口用于連接計(jì)算機(jī)與可編程控制器。
可選地,所述根據(jù)預(yù)設(shè)的測(cè)試參數(shù)建立計(jì)算機(jī)與可編程控制器的通信通道和數(shù)據(jù)傳輸通道包括:
讀取所述預(yù)設(shè)的測(cè)試參數(shù);
使用所述賬戶、所述密碼及所述通信端口號(hào)登錄所述可編程控制器,以建立所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道。
可選地,如果所述當(dāng)前測(cè)試用例編譯不成功、如果所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立不成功,或者如果所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送不成功,則跳轉(zhuǎn)至步驟11。
可選地,所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件至少運(yùn)行一個(gè)任務(wù)周期。
第二方面,本發(fā)明提供一種用于可編程控制器的自動(dòng)化測(cè)試裝置,設(shè)置于計(jì)算機(jī),包括:
加載模塊,用于加載包含至少一個(gè)測(cè)試用例的測(cè)試用例包;
檢查與編譯模塊,用于對(duì)當(dāng)前測(cè)試用例進(jìn)行檢查與編譯,以生成對(duì)應(yīng)的可執(zhí)行文件;
第一判斷模塊,用于判斷所述當(dāng)前測(cè)試用例編譯是否成功;
第一處理模塊,用于當(dāng)所述當(dāng)前測(cè)試用例編譯成功時(shí)根據(jù)預(yù)設(shè)的測(cè)試參數(shù)建立計(jì)算機(jī)與可編程控制器的通信通道和數(shù)據(jù)傳輸通道;
第二判斷模塊,用于判斷所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立是否成功;
第二處理模塊,用于當(dāng)所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立成功時(shí)通過(guò)所述數(shù)據(jù)傳輸通道發(fā)送所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件至所述可編程控制器;
第三判斷模塊,用于判斷所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送是否成功;
第三處理模塊,用于當(dāng)所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送成功時(shí)通過(guò)所述通信通道發(fā)送任務(wù)啟動(dòng)命令和任務(wù)停止命令至所述可編程控制器,以控制所述可編程控制器的任務(wù)運(yùn)行和任務(wù)停止;
發(fā)送模塊,用于通過(guò)所述通信通道發(fā)送讀取命令至所述可編程控制器;
其中,所述讀取命令用于獲取所述當(dāng)前測(cè)試用例的實(shí)際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果經(jīng)過(guò)邏輯與運(yùn)算得到的最終測(cè)試結(jié)果;
接收模塊,用于通過(guò)所述數(shù)據(jù)傳輸通道接收并顯示所述可編程控制器發(fā)送的所述當(dāng)前測(cè)試用例的最終測(cè)試結(jié)果;
第四判斷模塊,用于判斷所述當(dāng)前測(cè)試用例為本次測(cè)試的最后一個(gè)測(cè)試用例;
第四處理模塊,用于當(dāng)所述當(dāng)前測(cè)試用例為本次測(cè)試的最后一個(gè)測(cè)試用例時(shí)匯總各個(gè)測(cè)試用例的所有單步測(cè)試結(jié)果和最終測(cè)試結(jié)果,生成測(cè)試結(jié)果報(bào)表;以及用于當(dāng)所述當(dāng)前測(cè)試用例不是本次測(cè)試的最后一個(gè)測(cè)試用例時(shí)跳轉(zhuǎn)至步驟2,直至完成本次測(cè)試的所有測(cè)試用例。
可選地,所述預(yù)設(shè)的測(cè)試參數(shù)包括賬戶、密碼和通信端口號(hào),其中,所述通信端口用于連接計(jì)算機(jī)與可編程控制器。
可選地,所述第一處理模塊包括:
讀取單元,用于讀取所述預(yù)設(shè)的測(cè)試參數(shù);
建立單元,用于使用所述賬戶、所述密碼及所述通信端口號(hào)登錄所述可編程控制器,以建立所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道。
可選地,所述第五處理模塊,還用于當(dāng)所述當(dāng)前測(cè)試用例編譯不成功時(shí)跳轉(zhuǎn)至所述第四處理模塊;
所述第六處理模塊,還用于當(dāng)所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立不成功時(shí)跳轉(zhuǎn)至所述第四處理模塊;
所述第七處理模塊,還用于當(dāng)所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送不成功時(shí)跳轉(zhuǎn)至所述第四處理模塊。
可選地,所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件至少運(yùn)行一個(gè)任務(wù)周期。
本發(fā)明實(shí)施例提供的用于可編程控制器的自動(dòng)化測(cè)試方法及裝置,與現(xiàn)有技術(shù)相比,一方面,本發(fā)明通過(guò)測(cè)試用例的批量自動(dòng)編譯、自動(dòng)執(zhí)行、自動(dòng)顯示和存儲(chǔ)測(cè)試結(jié)果以及自動(dòng)生成測(cè)試報(bào)表,能夠提高測(cè)試效率,同時(shí)避免測(cè)試人員手工測(cè)試引入的誤操作,從而能夠降低測(cè)試過(guò)程對(duì)測(cè)試人員專業(yè)素質(zhì)的過(guò)度依賴以提高測(cè)試的準(zhǔn)確性;另一方面,由于測(cè)試報(bào)表中包括各個(gè)測(cè)試用例的單步測(cè)試結(jié)果和最終測(cè)試結(jié)果,使得測(cè)試人員可以依據(jù)與其對(duì)應(yīng)的各單步測(cè)試結(jié)果來(lái)判定該項(xiàng)測(cè)試在哪一步測(cè)試中出現(xiàn)了問題,以便測(cè)試人員對(duì)問題進(jìn)行定位并反饋給開發(fā)人員進(jìn)行修改,從而加快產(chǎn)品的研發(fā)進(jìn)度。
附圖說(shuō)明
圖1為本發(fā)明一實(shí)施例用于可編程控制器的自動(dòng)化測(cè)試方法的流程圖;
圖2為本發(fā)明一實(shí)施例用于可編程控制器的自動(dòng)化測(cè)試裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供一種用于可編程控制器的自動(dòng)化測(cè)試方法,如圖1所示,所述方法包括:
S11、加載包含至少一個(gè)測(cè)試用例的測(cè)試用例包。
其中,所述測(cè)試用例的組建過(guò)程為測(cè)試人員利用關(guān)鍵字、變量等基本元素,組合生成程序組織單元(Program Organization Unit,POU),然后按照測(cè)試需求,通過(guò)若干POU之間的組合和相互調(diào)用形成復(fù)雜的測(cè)試用例,其主要包括待測(cè)的指令集和對(duì)測(cè)試結(jié)果的預(yù)判,以使得測(cè)試用例盡可能全面地覆蓋測(cè)試范圍。
另外,在組建測(cè)試用例的過(guò)程中,測(cè)試人員會(huì)創(chuàng)建一個(gè)用于顯示單步測(cè)試結(jié)果的局部布爾型變量和一個(gè)用于保存最終測(cè)試結(jié)果的全局布爾型變量。
S12、對(duì)當(dāng)前測(cè)試用例進(jìn)行檢查與編譯,以生成對(duì)應(yīng)的可執(zhí)行文件。
具體地,所述對(duì)當(dāng)前測(cè)試用例進(jìn)行檢查包括檢查當(dāng)前測(cè)試用例的語(yǔ)法是否符合規(guī)則、語(yǔ)意是否正確以及邏輯是否合理。
S13、判斷所述當(dāng)前測(cè)試用例編譯是否成功,如果所述當(dāng)前測(cè)試用例編譯成功,則執(zhí)行步驟S14,否則執(zhí)行步驟S15。
S14、顯示單步測(cè)試結(jié)果為TRUE,并根據(jù)預(yù)設(shè)的測(cè)試參數(shù)建立計(jì)算機(jī)與可編程控制器的通信通道和數(shù)據(jù)傳輸通道,并跳轉(zhuǎn)至步驟S16。
S15、顯示對(duì)應(yīng)的單步測(cè)試結(jié)果為FALSE,設(shè)置其余步驟的單步測(cè)試結(jié)果和最終測(cè)試結(jié)果為FALSE,并跳轉(zhuǎn)至步驟S24。
S16、判斷所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立是否成功,如果所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立成功,則執(zhí)行步驟S17,否則執(zhí)行步驟S18。
S17、顯示單步測(cè)試結(jié)果為TRUE,并通過(guò)所述數(shù)據(jù)傳輸通道發(fā)送所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件至所述可編程控制器,并跳轉(zhuǎn)至步驟S19。
S18、顯示對(duì)應(yīng)的單步測(cè)試結(jié)果為FALSE,設(shè)置其余步驟的單步測(cè)試結(jié)果和最終測(cè)試結(jié)果為FALSE,并跳轉(zhuǎn)至步驟S24。
S19、判斷所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送是否成功,如果所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送成功,則執(zhí)行步驟S20,否則執(zhí)行步驟S21。
S20、設(shè)置單步測(cè)試結(jié)果為TRUE,并通過(guò)所述通信通道發(fā)送任務(wù)啟動(dòng)命令和任務(wù)停止命令至所述可編程控制器,以控制所述可編程控制器的任務(wù)運(yùn)行和任務(wù)停止,并跳轉(zhuǎn)至步驟S22。
S21、顯示對(duì)應(yīng)的單步測(cè)試結(jié)果為FALSE,設(shè)置其余步驟的單步測(cè)試結(jié)果和最終測(cè)試結(jié)果為FALSE,并跳轉(zhuǎn)至步驟S24。
S22、通過(guò)所述通信通道發(fā)送讀取命令至所述可編程控制器。
其中,所述讀取命令用于獲取所述當(dāng)前測(cè)試用例的實(shí)際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果經(jīng)過(guò)邏輯與運(yùn)算得到的最終測(cè)試結(jié)果。
S23、通過(guò)所述數(shù)據(jù)傳輸通道接收并顯示所述可編程控制器發(fā)送的所述當(dāng)前測(cè)試用例的最終測(cè)試結(jié)果。
S24、判斷所述當(dāng)前測(cè)試用例為本次測(cè)試的最后一個(gè)測(cè)試用例,如果所述當(dāng)前測(cè)試用例為本次測(cè)試的最后一個(gè)測(cè)試用例,則執(zhí)行步驟S25,否則跳轉(zhuǎn)至S12,直至完成本次測(cè)試的所有測(cè)試用例。
S25、匯總各個(gè)測(cè)試用例的所有單步測(cè)試結(jié)果和最終測(cè)試結(jié)果,生成測(cè)試結(jié)果報(bào)表。
本發(fā)明實(shí)施例提供的用于可編程控制器的自動(dòng)化測(cè)試方法,與現(xiàn)有技術(shù)相比,一方面,本發(fā)明通過(guò)測(cè)試用例的批量自動(dòng)編譯、自動(dòng)執(zhí)行、自動(dòng)顯示和存儲(chǔ)測(cè)試結(jié)果以及自動(dòng)生成測(cè)試報(bào)表,能夠提高測(cè)試效率,同時(shí)避免測(cè)試人員手工測(cè)試引入的誤操作,從而能夠降低測(cè)試過(guò)程對(duì)測(cè)試人員專業(yè)素質(zhì)的過(guò)度依賴以提高測(cè)試的準(zhǔn)確性;另一方面,由于測(cè)試報(bào)表中包括各個(gè)測(cè)試用例的單步測(cè)試結(jié)果和最終測(cè)試結(jié)果,使得測(cè)試人員可以依據(jù)與其對(duì)應(yīng)的各單步測(cè)試結(jié)果來(lái)判定該項(xiàng)測(cè)試在哪一步測(cè)試中出現(xiàn)了問題,以便測(cè)試人員對(duì)問題進(jìn)行定位并反饋給開發(fā)人員進(jìn)行修改,從而加快產(chǎn)品的研發(fā)進(jìn)度。
可選地,所述預(yù)設(shè)的測(cè)試參數(shù)包括賬戶、密碼和通信端口號(hào),其中,所述通信端口用于連接計(jì)算機(jī)與可編程控制器。
可選地,所述根據(jù)預(yù)設(shè)的測(cè)試參數(shù)建立計(jì)算機(jī)與可編程控制器的通信通道和數(shù)據(jù)傳輸通道包括:
讀取所述預(yù)設(shè)的測(cè)試參數(shù);
使用所述賬戶、所述密碼及所述通信端口號(hào)登錄所述可編程控制器,以建立所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道。
具體地,如果登錄成功,則表示所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立成功;如果登錄失敗或者登錄超時(shí),則表示所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立不成功。
可選地,所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件至少運(yùn)行一個(gè)任務(wù)周期。
這樣做的目的是為了能夠獲取更加準(zhǔn)確的測(cè)試結(jié)果,避免由于運(yùn)行不充分而對(duì)最終測(cè)試結(jié)果產(chǎn)生的誤判。
本發(fā)明實(shí)施例還提供一種用于可編程控制器的自動(dòng)化測(cè)試裝置,設(shè)置于計(jì)算機(jī),如圖2所示,所述裝置包括:
加載模塊11,用于加載包含至少一個(gè)測(cè)試用例的測(cè)試用例包;
檢查與編譯模塊12,用于對(duì)當(dāng)前測(cè)試用例進(jìn)行檢查與編譯,以生成對(duì)應(yīng)的可執(zhí)行文件;
第一判斷模塊13,用于判斷所述當(dāng)前測(cè)試用例編譯是否成功;
第一處理模塊14,用于當(dāng)所述當(dāng)前測(cè)試用例編譯成功時(shí)顯示單步測(cè)試結(jié)果為TRUE時(shí)根據(jù)預(yù)設(shè)的測(cè)試參數(shù)建立計(jì)算機(jī)與可編程控制器的通信通道和數(shù)據(jù)傳輸通道;
第二判斷模塊15,用于判斷所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立是否成功;
第二處理模塊16,用于當(dāng)所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立成功時(shí)顯示單步測(cè)試結(jié)果為TRUE,并通過(guò)所述數(shù)據(jù)傳輸通道發(fā)送所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件至所述可編程控制器;
第三判斷模塊17,用于判斷所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送是否成功;
第三處理模塊18,用于當(dāng)所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送成功時(shí)設(shè)置單步測(cè)試結(jié)果為TRUE時(shí)通過(guò)所述通信通道發(fā)送任務(wù)啟動(dòng)命令和任務(wù)停止命令至所述可編程控制器,以控制所述可編程控制器的任務(wù)運(yùn)行和任務(wù)停止;
發(fā)送模塊19,用于通過(guò)所述通信通道發(fā)送讀取命令至所述可編程控制器;
其中,所述讀取命令用于獲取所述當(dāng)前測(cè)試用例的實(shí)際執(zhí)行結(jié)果與預(yù)期執(zhí)行結(jié)果經(jīng)過(guò)邏輯與運(yùn)算得到的最終測(cè)試結(jié)果;
接收模塊20,用于通過(guò)所述數(shù)據(jù)傳輸通道接收并顯示所述可編程控制器發(fā)送的所述當(dāng)前測(cè)試用例的最終測(cè)試結(jié)果;
第四判斷模塊21,用于判斷所述當(dāng)前測(cè)試用例為本次測(cè)試的最后一個(gè)測(cè)試用例;
第四處理模塊22,用于當(dāng)所述當(dāng)前測(cè)試用例為本次測(cè)試的最后一個(gè)測(cè)試用例時(shí)匯總各個(gè)測(cè)試用例的所有單步測(cè)試結(jié)果和最終測(cè)試結(jié)果,生成測(cè)試結(jié)果報(bào)表;以及用于當(dāng)所述當(dāng)前測(cè)試用例不是本次測(cè)試的最后一個(gè)測(cè)試用例時(shí)跳轉(zhuǎn)至步驟2,直至完成本次測(cè)試的所有測(cè)試用例。
本發(fā)明實(shí)施例提供的用于可編程控制器的自動(dòng)化測(cè)試裝置,與現(xiàn)有技術(shù)相比,一方面,本發(fā)明通過(guò)測(cè)試用例的批量自動(dòng)編譯、自動(dòng)執(zhí)行、自動(dòng)顯示和存儲(chǔ)測(cè)試結(jié)果以及自動(dòng)生成測(cè)試報(bào)表,能夠提高測(cè)試效率,同時(shí)避免測(cè)試人員手工測(cè)試引入的誤操作,從而能夠降低測(cè)試過(guò)程對(duì)測(cè)試人員專業(yè)素質(zhì)的過(guò)度依賴以提高測(cè)試的準(zhǔn)確性;另一方面,由于測(cè)試報(bào)表中包括各個(gè)測(cè)試用例的單步測(cè)試結(jié)果和最終測(cè)試結(jié)果,使得測(cè)試人員可以依據(jù)與其對(duì)應(yīng)的各單步測(cè)試結(jié)果來(lái)判定該項(xiàng)測(cè)試在哪一步測(cè)試中出現(xiàn)了問題,以便測(cè)試人員對(duì)問題進(jìn)行定位并反饋給開發(fā)人員進(jìn)行修改,從而加快產(chǎn)品的研發(fā)進(jìn)度。
進(jìn)一步地,所述裝置還包括第五處理模塊23、第六處理模塊24和第七處理模塊25,其中,所述第五處理模塊23,還用于當(dāng)所述當(dāng)前測(cè)試用例編譯不成功時(shí)顯示對(duì)應(yīng)的單步測(cè)試結(jié)果為FALSE,設(shè)置其余步驟的單步測(cè)試結(jié)果和最終測(cè)試結(jié)果為FALSE,并跳轉(zhuǎn)至所述第四處理模塊21;
所述第六處理模塊24,還用于當(dāng)所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立不成功時(shí)顯示對(duì)應(yīng)的單步測(cè)試結(jié)果為FALSE,設(shè)置其余步驟的單步測(cè)試結(jié)果和最終測(cè)試結(jié)果為FALSE,并跳轉(zhuǎn)至所述第四處理模塊21;
所述第七處理模塊25,還用于當(dāng)所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件發(fā)送不成功時(shí)顯示對(duì)應(yīng)的單步測(cè)試結(jié)果為FALSE,設(shè)置其余步驟的單步測(cè)試結(jié)果和最終測(cè)試結(jié)果為FALSE,并跳轉(zhuǎn)至所述第四處理模塊21。
可選地,所述預(yù)設(shè)的測(cè)試參數(shù)包括賬戶、密碼和通信端口號(hào),其中,所述通信端口用于連接計(jì)算機(jī)與可編程控制器。
可選地,所述第一處理模塊14包括:
讀取單元,用于讀取所述預(yù)設(shè)的測(cè)試參數(shù);
建立單元,用于使用所述賬戶、所述密碼及所述通信端口號(hào)登錄所述可編程控制器,以建立所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道。
具體地,如果登錄成功,則表示所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立成功;如果登錄失敗或者登錄超時(shí),則表示所述計(jì)算機(jī)與所述可編程控制器之間的通信通道和數(shù)據(jù)傳輸通道建立不成功。
可選地,所述當(dāng)前測(cè)試用例對(duì)應(yīng)的可執(zhí)行文件至少運(yùn)行一個(gè)任務(wù)周期。
這樣做的目的是為了能夠獲取更加準(zhǔn)確的測(cè)試結(jié)果,避免由于運(yùn)行不充分而對(duì)最終測(cè)試結(jié)果產(chǎn)生的誤判。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。