趙曉曦 孫亮亮 李楊
摘? 要:針對(duì)現(xiàn)有技術(shù)在工控機(jī)測(cè)試過(guò)程中需要使用非常多的測(cè)試軟件,軟件查找繁瑣,從而會(huì)導(dǎo)致出現(xiàn)工作效率低下的問(wèn)題,設(shè)計(jì)一種網(wǎng)絡(luò)自適應(yīng)測(cè)試軟件運(yùn)行方法,通過(guò)網(wǎng)絡(luò)自行下載自有服務(wù)器端的測(cè)試軟件并自動(dòng)安裝,實(shí)現(xiàn)在無(wú)網(wǎng)絡(luò)情況下也能實(shí)現(xiàn)自動(dòng)查找、自動(dòng)下載和自動(dòng)安裝軟件功能,保證下載的軟件與服務(wù)器端保持一致,提升工作效率,提高自動(dòng)化水平。
關(guān)鍵詞:工控機(jī)測(cè)試;測(cè)試軟件;網(wǎng)絡(luò)自適應(yīng);服務(wù)器端;工作效率
中圖分類號(hào):TP393.0;TP311.5? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)09-0076-03
Running Method of Network Adaptive Test Software
ZHAO Xiaoxi1,SUN Liangliang2,LI Yang1
(1.Nanning EVOC Industry Personal Computer Software Co.,Ltd.,Nanning? 530031,China;
2.Shenyang Jianzhu University,Shenyang? 110168,China)
Abstract:In view of the existing technology in the process of industrial test,you need to use a lot of software testing,software search is tedious,which leads to low efficiency of work,design a method of network adaptive testing software runs through the network to download their own test software on the server and automatically install,in the absence of network to realize automatic search,download and install the software function,to assure consistent with the server to download software,improve work efficiency,improve the level of automation.
Keywords:industrial computer testing;testing software;network adaption;server-side;work efficiency
0? 引? 言
在工控機(jī)測(cè)試工作當(dāng)中,需要使用到非常多的測(cè)試軟件;由于每個(gè)測(cè)試人員每次接到新任務(wù)或者每次重新裝過(guò)系統(tǒng)之后,都需要重新自己查找和安裝對(duì)應(yīng)系統(tǒng)的測(cè)試軟件,這樣就會(huì)浪費(fèi)時(shí)間在查找測(cè)試軟件的過(guò)程當(dāng)中,嚴(yán)重降低了工作效率;并且也不能保證下載下來(lái)的軟件安裝包是與服務(wù)器保持一致的,因此,我們急需改變現(xiàn)狀,提升工作效率和提高測(cè)試的自動(dòng)化率,將時(shí)間都充分地用在刀刃上。
將南寧市研祥特種計(jì)算機(jī)軟件有限公司的工控機(jī)產(chǎn)品應(yīng)用在沈陽(yáng)建筑大學(xué)的建筑監(jiān)控系統(tǒng)中,由于在應(yīng)用現(xiàn)場(chǎng)經(jīng)常需要對(duì)工控機(jī)產(chǎn)品進(jìn)行維護(hù)和測(cè)試,因此對(duì)本文的網(wǎng)絡(luò)自適應(yīng)測(cè)試軟件運(yùn)行方法提出了需求。
本文的目的在于提出一種通過(guò)網(wǎng)絡(luò)自行下載自有服務(wù)器端的測(cè)試軟件,并且保證在沒(méi)有網(wǎng)絡(luò)的情況下依然可以快速地通過(guò)拷貝的方式打開(kāi)軟件,依然可以自動(dòng)安裝各個(gè)測(cè)試軟件;旨在解決在測(cè)試工作當(dāng)中頻繁地在自有服務(wù)器端查找、對(duì)比和下載測(cè)試軟件的問(wèn)題,提升工作效率,保證下載的軟件與服務(wù)器端保持一致。
運(yùn)行環(huán)境的配置:
(1)軟件運(yùn)行在Windows系統(tǒng)環(huán)境下(不區(qū)分位數(shù))。
(2)運(yùn)行時(shí)給予最高權(quán)限使其順利運(yùn)行。
(3)完整安裝系統(tǒng)驅(qū)動(dòng)。
(4)與軟件服務(wù)器處于同一網(wǎng)絡(luò)環(huán)境當(dāng)中。
1? 軟件運(yùn)行方式
本文網(wǎng)絡(luò)自適應(yīng)測(cè)試軟件運(yùn)行時(shí)有幾個(gè)關(guān)鍵點(diǎn),分別為系統(tǒng)信息的讀取、服務(wù)器下載軟件的完整性校驗(yàn)、整機(jī)是否有連接網(wǎng)絡(luò)的檢查。首先運(yùn)行軟件后,軟件會(huì)自動(dòng)檢測(cè)當(dāng)前是否有網(wǎng)絡(luò)可以進(jìn)行連接,之后系統(tǒng)信息讀取模塊進(jìn)行系統(tǒng)信息的讀取操作,根據(jù)讀取到的信息判斷軟件是否支持當(dāng)前系統(tǒng)的運(yùn)行環(huán)境并且將結(jié)果輸出給軟件進(jìn)行處理[1];軟件會(huì)在界面中顯示出當(dāng)前系統(tǒng)支持的測(cè)試軟件,用戶則需要根據(jù)需要進(jìn)行點(diǎn)擊,軟件會(huì)根據(jù)用戶的選擇自動(dòng)地訪問(wèn)服務(wù)器,下載對(duì)應(yīng)的測(cè)試軟件,下載完成后校驗(yàn)?zāi)K會(huì)進(jìn)行軟件的校驗(yàn)并且輸出結(jié)果交給軟件進(jìn)行分析;之后就直接調(diào)用軟件的執(zhí)行文件進(jìn)行安裝[2],流程圖如圖1所示。
本文還提供一個(gè)備用方案:即在沒(méi)有網(wǎng)絡(luò)通信的情況下我們可以通過(guò)手動(dòng)拷貝將所有的測(cè)試軟件鏡像全部拷貝到當(dāng)前的測(cè)試整機(jī)當(dāng)中,但是不同的地方在于我們?cè)诖虬玫臏y(cè)試軟件鏡像當(dāng)中也提供了一個(gè)本地的自動(dòng)安裝程序,也能夠?qū)崿F(xiàn)自動(dòng)檢測(cè)當(dāng)前操作系統(tǒng)、自動(dòng)顯示支持當(dāng)前操作系統(tǒng)的軟件、自動(dòng)安裝的功能[3]。具體流程如圖2所示。
2? 網(wǎng)絡(luò)檢測(cè)模塊工作原理
本文設(shè)計(jì)的網(wǎng)絡(luò)自適應(yīng)測(cè)試軟件運(yùn)行方法中,有檢測(cè)網(wǎng)絡(luò)是否連接和網(wǎng)絡(luò)連接是否正確的模塊[4];本模塊的設(shè)計(jì)目的在于我們需要借助網(wǎng)絡(luò)從服務(wù)器端下載軟件,這就要求機(jī)器需要與服務(wù)器處于同一個(gè)網(wǎng)絡(luò)環(huán)境當(dāng)中。本文設(shè)計(jì)一個(gè)自動(dòng)檢測(cè)的模塊,其原理為,運(yùn)行軟件后網(wǎng)絡(luò)檢測(cè)模塊會(huì)自動(dòng)與服務(wù)器嘗試連接并發(fā)送數(shù)據(jù),若發(fā)送成功則代表網(wǎng)絡(luò)連接成功且與服務(wù)器在同一個(gè)網(wǎng)絡(luò)環(huán)境當(dāng)中。流程圖如圖3所示。
在檢測(cè)的過(guò)程中,如果網(wǎng)絡(luò)沒(méi)有連接或是連接異常,則應(yīng)用軟件會(huì)提示系統(tǒng)檢查網(wǎng)絡(luò)是否正常連接;如果網(wǎng)絡(luò)存在連接,則應(yīng)用軟件會(huì)讀取出系統(tǒng)信息,并通過(guò)信息判斷當(dāng)前系統(tǒng)的運(yùn)行環(huán)境是否能夠支持當(dāng)前的測(cè)試軟件,并將判斷結(jié)果輸出給應(yīng)用軟件進(jìn)行處理。除此之外,應(yīng)用軟件還會(huì)在界面中顯示出當(dāng)前操作系統(tǒng)支持的測(cè)試軟件版本,用戶可根據(jù)需要進(jìn)行點(diǎn)擊并選擇,應(yīng)用軟件會(huì)根據(jù)用戶選擇的情況自動(dòng)連接到測(cè)試軟件服務(wù)器,并下載對(duì)應(yīng)的測(cè)試軟件版本,下載完成后,校驗(yàn)?zāi)K會(huì)進(jìn)行測(cè)試軟件安裝包的校驗(yàn)并且輸出校驗(yàn)結(jié)果進(jìn)行分析,如果校驗(yàn)發(fā)現(xiàn)測(cè)試軟件安裝包不完整,則需要重新進(jìn)行測(cè)試軟件安裝包的下載,如果校驗(yàn)發(fā)現(xiàn)測(cè)試軟件安裝包完整,則可直接調(diào)用測(cè)試軟件的執(zhí)行文件進(jìn)行安裝。
在沒(méi)有網(wǎng)絡(luò)通信的情況下,首先可以將測(cè)試軟件包的鏡像文件復(fù)制一份到工控機(jī)本地存儲(chǔ)器中,并在測(cè)試軟件的鏡像文件中,提供一個(gè)本地的自動(dòng)安裝程序,這個(gè)自動(dòng)安裝程序可以實(shí)現(xiàn)自動(dòng)檢測(cè)當(dāng)前是何操作系統(tǒng)、自動(dòng)顯示能夠支持當(dāng)前操作系統(tǒng)的軟件、自動(dòng)安裝軟件的功能。然后運(yùn)行本地測(cè)試軟件鏡像文件,隨后測(cè)試軟件的自動(dòng)安裝程序便開(kāi)始讀取系統(tǒng)的信息,在顯示界面中顯示出當(dāng)前操作系統(tǒng)支持的測(cè)試軟件有哪些版本,用戶則可根據(jù)需要進(jìn)行點(diǎn)擊和選擇,然后測(cè)試軟件便會(huì)根據(jù)用戶的選擇進(jìn)行對(duì)應(yīng)測(cè)試軟件版本的安裝。因?yàn)樽詣?dòng)安裝程序存放于測(cè)試軟件包中,因此在沒(méi)有網(wǎng)絡(luò)通信的情況下也能夠進(jìn)行系統(tǒng)信息的讀取、測(cè)試軟件的安裝等操作,并保證工控機(jī)可以順利安裝對(duì)應(yīng)版本的測(cè)試軟件。
3? 信息讀取模塊工作原理
本文設(shè)計(jì)的網(wǎng)絡(luò)自適應(yīng)測(cè)試軟件運(yùn)行方法中,一個(gè)關(guān)鍵的部分就是自動(dòng)讀取系統(tǒng)的信息,并且獲取信息后自動(dòng)進(jìn)行分析處理,從而顯示出支持的操作系統(tǒng)軟件。
本文選用的是通過(guò)調(diào)用Windows API函數(shù)讀取信息的方式,API函數(shù)包含在Windows系統(tǒng)目錄下的動(dòng)態(tài)鏈接庫(kù)文件中[5],是一套用來(lái)控制Windows的各個(gè)部件的外觀和行為的預(yù)先定義的Windows函數(shù)。用戶的每個(gè)動(dòng)作都會(huì)引發(fā)一個(gè)或幾個(gè)API函數(shù)的運(yùn)行以通知Windows當(dāng)前用戶的操作情況,API能夠向應(yīng)用程序與開(kāi)發(fā)人員提供基于某軟件或硬件訪問(wèn)一組例程的能力,這在某種程度上很像Windows的天然代碼,而其他的語(yǔ)言只是提供一種能自動(dòng)而且更容易地訪問(wèn)API的方法[6]。當(dāng)使用者點(diǎn)擊窗體上的一個(gè)按鈕時(shí),Windows會(huì)發(fā)送一個(gè)消息給窗體,VB獲取這個(gè)調(diào)用并經(jīng)過(guò)分析后生成一個(gè)特定事件,流程如圖4所示。首先,系統(tǒng)檢測(cè)當(dāng)前操作系統(tǒng)版本,根據(jù)讀取到的操作系統(tǒng)版本信息結(jié)構(gòu)來(lái)讀取當(dāng)前操作系統(tǒng)信息,并判斷是否為Windows操作系統(tǒng),如是,則讀取當(dāng)前操作系統(tǒng)版本號(hào),并反饋給應(yīng)用軟件,如否,則結(jié)束。
4? 文件校驗(yàn)?zāi)K工作原理
本文的文件校驗(yàn)?zāi)K選用的是MD5碼校驗(yàn)的方式[7],MD5是Message-Digest Algorithm 5(信息摘要算法)的縮寫,被廣泛用于加密和解密技術(shù)上,它可以說(shuō)是文件的“數(shù)字指紋”。任何一個(gè)文件,都有且僅有一個(gè)唯一的MD5信息值,不管這個(gè)文件是什么類型的,如圖片文件、程序文件、臨時(shí)文件或是任何其他文件類型,也不管這個(gè)文件的大小有多大,一旦被修改,那么這個(gè)唯一的MD5值也會(huì)被隨之修改。因此,通過(guò)MD5的值來(lái)進(jìn)行校驗(yàn),可以直接有效的識(shí)別文件是否被改寫過(guò),由此MD5被廣泛用于加密和解密技術(shù)。因此本文選取MD5碼作為校驗(yàn)方式。
MD5算法具有以下特點(diǎn):
(1)可壓縮性:不管數(shù)據(jù)的長(zhǎng)度有多長(zhǎng),通過(guò)其得出的MD5值都是固定的長(zhǎng)度。
(2)容易計(jì)算:通過(guò)原始數(shù)據(jù),可以很便捷地得出MD5的值。
(3)抗修改性:如若對(duì)原始數(shù)據(jù)進(jìn)行改動(dòng),哪怕只有小小的修改,哪怕修改只有1個(gè)字節(jié),MD5的值都會(huì)有很大的改變。
(4)強(qiáng)抗碰撞:使用MD5值作為校驗(yàn)碼,想要偽造數(shù)據(jù)是非常不容易的,因?yàn)橄胍圃旌驮紨?shù)據(jù)的MD5值相同的數(shù)據(jù),是幾乎不可能的。
MD5通過(guò)把大容量信息在用數(shù)字簽名軟件簽署私人密鑰前,把一個(gè)任意長(zhǎng)度的字節(jié)串變換成一定長(zhǎng)的十六進(jìn)制數(shù)字串,“壓縮”成一種保密的格式,使得數(shù)據(jù)不易篡改,安全可靠。
本模塊的原理是我們從服務(wù)器端下載一個(gè)軟件安裝包,該軟件安裝包使用MD5校驗(yàn),那么服務(wù)器在發(fā)送軟件安裝包的同時(shí)會(huì)再發(fā)送一個(gè)存有校驗(yàn)碼的軟件安裝包,我們收到該軟件安裝包后做MD5運(yùn)算,得到的計(jì)算結(jié)果與服務(wù)器端發(fā)送的校驗(yàn)碼相比較,如果一致則認(rèn)為下載的軟件安裝包沒(méi)有出錯(cuò),否則認(rèn)為軟件安裝包出錯(cuò)需要重新發(fā)送。流程如圖5所示。
5? 結(jié)? 論
綜上,通過(guò)設(shè)計(jì)一個(gè)能自動(dòng)從指定服務(wù)器下載測(cè)試軟件安裝包的應(yīng)用軟件,當(dāng)工控機(jī)測(cè)試過(guò)程中需要安裝某個(gè)安裝包時(shí),使用軟件統(tǒng)一管理的方式實(shí)現(xiàn)自動(dòng)查找、自動(dòng)下載和自動(dòng)安裝軟件功能,極大提升了工作效率和自動(dòng)化率。且提供的備用方案保證了在沒(méi)有網(wǎng)絡(luò)的情況下依然能夠達(dá)到自動(dòng)查找對(duì)應(yīng)系統(tǒng)軟件、自動(dòng)安裝等功能。
參考文獻(xiàn):
[1] 楊麗波.軟件自動(dòng)化測(cè)試方法的發(fā)展現(xiàn)狀分析 [J].無(wú)線互聯(lián)科技,2017(4):49-50.
[2] 肖文濤.自動(dòng)測(cè)試系統(tǒng)軟件技術(shù)的通用性分析 [J].通訊世界,2017(24):333-334.
[3] 王萌.自動(dòng)測(cè)試系統(tǒng)軟件技術(shù)通用性研究綜述 [J].硅谷,2014,7(18):75+72.
[4] 袁海根.網(wǎng)絡(luò)蠕蟲(chóng)和惡意網(wǎng)址偵測(cè)方法探討 [J].輕工科技,2018,34(3):73-74+84.
[5] 吳林,劉曄.利用VB.NET和WMI編程讀取Windows系統(tǒng)信息 [J].電腦知識(shí)與技術(shù),2010,6(23):6503-6505.
[6] 趙珺,徐臘梅.利用API函數(shù)制作音樂(lè)播放器 [J].軟件導(dǎo)刊,2011,10(1):119-120.
[7] 靳燕.基于MD5算法的文件完整性檢測(cè)系統(tǒng)分析及設(shè)計(jì) [J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2019(11):36-38.
作者簡(jiǎn)介:趙曉曦(1988.10—),男,漢族,河南太康人,工程師,研究生,研究方向:電子信息。