【摘要】為了測(cè)試多個(gè)傳感器存在時(shí)系統(tǒng)運(yùn)行穩(wěn)定性的情況。基于已有的性能測(cè)試方法,模擬客戶端與服務(wù)器端的交互操作來(lái)實(shí)現(xiàn)多個(gè)客戶端的性能測(cè)試,提出了傳感器的模擬性能測(cè)試方法,研究了一種方法為純軟件模擬傳感器的測(cè)試,另外一種通過(guò)修改1個(gè)傳感器的二次儀表程序,使其中與系統(tǒng)通信部分的數(shù)據(jù)參數(shù)化,根據(jù)服務(wù)器的請(qǐng)求反饋服務(wù)器需要的正確的結(jié)果。結(jié)果表明:對(duì)傳感器二次儀表程序進(jìn)行修改,能夠?qū)崿F(xiàn)模擬多個(gè)傳感器在系統(tǒng)中運(yùn)行的性能測(cè)試。
【關(guān)鍵詞】傳感器;交互;模擬;性能測(cè)試
1.引言
在實(shí)際某系統(tǒng)(礦用或非礦用無(wú)分站的監(jiān)測(cè)系統(tǒng))中,會(huì)接入大量(60個(gè)以上)的傳感器使用,對(duì)此類系統(tǒng)進(jìn)行性能測(cè)試時(shí),需要找到能夠接入的最大數(shù)量的傳感器或者確認(rèn)系統(tǒng)在最大容量(255個(gè)傳感器)下能夠正常運(yùn)行。其在煤礦行業(yè)或金屬非金屬地下礦山的推廣應(yīng)用,對(duì)避免或降低氣體爆炸等事故發(fā)生具有十分重要的意義。
傳感器組成部分由二次儀表和變送器組成,變送器部分主要包含探頭等元器件,負(fù)責(zé)采集環(huán)境中的氣體濃度等,二次儀表負(fù)責(zé)處理和顯示數(shù)據(jù),并通過(guò)傳輸接口與上位機(jī)(系統(tǒng)監(jiān)控主機(jī))進(jìn)行數(shù)據(jù)通信。
2.系統(tǒng)性能測(cè)試要求
系統(tǒng)主要功能是監(jiān)測(cè)各類氣體傳感器實(shí)時(shí)值,通過(guò)傳輸通道直接傳給監(jiān)控主機(jī),由監(jiān)控主機(jī)處理和分析數(shù)據(jù),顯示實(shí)時(shí)值、報(bào)警和各項(xiàng)歷史查詢數(shù)據(jù),同時(shí),系統(tǒng)中還有監(jiān)控備機(jī),當(dāng)主機(jī)出現(xiàn)問(wèn)題或網(wǎng)絡(luò)故障時(shí),監(jiān)控備機(jī)自動(dòng)升級(jí)為主機(jī)。
經(jīng)調(diào)研:參照性能測(cè)試和壓力測(cè)試的測(cè)試要求[1],需要確認(rèn)系統(tǒng)在常用的容量下能夠正常運(yùn)行,如一般的用戶使用接入的傳感器最大不超過(guò)90個(gè);需要參照煤炭行業(yè)標(biāo)準(zhǔn)中要求的連續(xù)運(yùn)行800h(約34天)[2-3],還要確認(rèn)系統(tǒng)在最大負(fù)載情況下的情況,可以測(cè)試系統(tǒng)在最大容量(255個(gè)傳感器)下運(yùn)行30天的情形。
3.測(cè)試方法選擇
3.1 傳輸通道選擇
此次測(cè)試需要優(yōu)先考慮接入幾個(gè)傳輸通道,確定接入10個(gè)通道,有兩種方案,方案1:接入一個(gè)真實(shí)的KJJ14A傳輸接口,其他9個(gè)通道為VSPM串口,通過(guò)電腦虛擬產(chǎn)生;方案2:10個(gè)通道全部使用真實(shí)的通道,使用多個(gè)KJJ14A傳輸接口、KJJ32礦用本安型環(huán)網(wǎng)接入器、MOXA轉(zhuǎn)換模塊等實(shí)現(xiàn)。
其次系統(tǒng)中每個(gè)通道下都需要接入傳感器,每個(gè)通道最大能接入30個(gè),需要保證總數(shù)為90個(gè)或者255個(gè)。
3.2 測(cè)試難點(diǎn)
因傳感器的探頭在測(cè)試過(guò)程中易損耗,實(shí)驗(yàn)室環(huán)境中使用90或255個(gè)傳感器,生產(chǎn)無(wú)法提供,一旦提供如有損耗成本較高。測(cè)試時(shí)考慮單個(gè)通道下滿負(fù)荷30個(gè)傳感器必須使用真實(shí)的,其余的開(kāi)始使用模擬程序?qū)嵤?,發(fā)現(xiàn)模擬程序在不接入真實(shí)的設(shè)備下無(wú)法實(shí)現(xiàn)模擬傳感器收發(fā)數(shù)據(jù)且數(shù)據(jù)有變化的測(cè)試。
考慮借用性能測(cè)試實(shí)現(xiàn)原理:將敏捷法則應(yīng)用到自動(dòng)化上,保持簡(jiǎn)單[4],模擬客戶端與服務(wù)器的交互動(dòng)作-請(qǐng)求和回復(fù)來(lái)實(shí)施。如果一個(gè)通道下只接入1個(gè)傳感器如氧氣傳感器,但在傳輸接口進(jìn)行巡檢時(shí),每次巡檢其他地址的同類型傳感器時(shí),該氧氣傳感器會(huì)根據(jù)請(qǐng)求變更自身的地址,進(jìn)行數(shù)據(jù)反饋,如需要類型多一點(diǎn),就可以接入幾種不同類型的傳感器,就能實(shí)現(xiàn)30個(gè)傳感器運(yùn)行的效果。
4.測(cè)試實(shí)施過(guò)程
4.1 測(cè)試用例設(shè)計(jì)
用例1:系統(tǒng)中共10個(gè)傳輸通道,9個(gè)VSPM串口(PC的虛擬串口),1個(gè)KJJ14A,每個(gè)VSPM串口模擬接入25個(gè)傳感器,KJJ14A上接入30個(gè)真實(shí)傳感器,種類覆蓋系統(tǒng)中的常用的傳感器種類:如氧氣傳感器、風(fēng)速傳感器、礦壓傳感器、二氧化碳傳感器、溫度傳感器等。模擬傳感器值在取值范圍內(nèi)隨機(jī)變化,5分鐘變化10次。系統(tǒng)連續(xù)運(yùn)行7天。
用例2:與用例1類似,只是傳輸通道都是真實(shí)的通道,模擬出來(lái)的傳感器和實(shí)際接入的傳感器數(shù)量共為255個(gè),模擬程序的數(shù)值為量程范圍內(nèi)的隨機(jī)值,系統(tǒng)中同時(shí)存在報(bào)警數(shù)在160個(gè)左右,系統(tǒng)連續(xù)運(yùn)行30天。
測(cè)試過(guò)程中,無(wú)相對(duì)的客戶端,對(duì)系統(tǒng)的設(shè)置操作等是在監(jiān)控主機(jī)上實(shí)施,都需要確認(rèn)系統(tǒng)中報(bào)警信息顯示正常,系統(tǒng)中測(cè)點(diǎn)信息和通信數(shù)據(jù)顯示正常,系統(tǒng)能夠進(jìn)行正常查詢功能操作,監(jiān)控主機(jī)的性能在性能指標(biāo)范圍內(nèi)。
4.2 測(cè)試環(huán)境部署
用例2的測(cè)試環(huán)境部署圖可以參照?qǐng)D1測(cè)試環(huán)境網(wǎng)絡(luò)構(gòu)成圖,底色為紅色的傳感器為真實(shí)的傳感器,每類只有一個(gè),但運(yùn)行程序的程序?yàn)槟M程序,地址可變。系統(tǒng)安裝程序部署在監(jiān)控主機(jī)和監(jiān)控備機(jī)上。
4.3 傳感器模擬測(cè)試
用例1測(cè)試時(shí)發(fā)現(xiàn)出現(xiàn)問(wèn)題:運(yùn)行不到一天時(shí)間,主機(jī)中測(cè)點(diǎn)個(gè)數(shù)顯示為0個(gè),測(cè)點(diǎn)列表為空,各項(xiàng)功能不能使用,通道顯示通訊正常但查看通道數(shù)據(jù)時(shí)提示程序異常等。網(wǎng)絡(luò)不可用,減少傳感器數(shù)量,總數(shù)由255個(gè)降至155個(gè)再到90個(gè),進(jìn)行測(cè)試,仍然有同樣的問(wèn)題,經(jīng)調(diào)查,懷疑是使用虛擬串口進(jìn)行測(cè)試的原因。故調(diào)整測(cè)試環(huán)境,使用真實(shí)的通道,按照用例2進(jìn)行測(cè)試。
因真實(shí)的通道上無(wú)法直接運(yùn)行軟件模擬的傳感器程序,考慮可以接入一個(gè)真實(shí)的傳感器,將傳感器與上位機(jī)通信的地址設(shè)置為參數(shù)化的變量,實(shí)施自動(dòng)化測(cè)試。
將傳輸通道的IP地址修改為并測(cè)試主備機(jī)為同一網(wǎng)段的。每個(gè)COM口上接入一個(gè)真實(shí)的傳感器,二次儀表中刷入模擬程序,地址為可變(若為1~8)的,每次從監(jiān)控主機(jī)獲取。即監(jiān)控主機(jī)給通道地址5(在1~8范圍內(nèi)均可)的瓦斯傳感器發(fā)送數(shù)據(jù)請(qǐng)求,實(shí)際接入的地址1的瓦斯傳感器會(huì)接收數(shù)據(jù),并將自身的地址號(hào)更換為5,返回地址5的數(shù)據(jù)給監(jiān)控主機(jī)。地址設(shè)定可事先通過(guò)第三方串口調(diào)試工具下發(fā)命令的方式實(shí)現(xiàn),命令格式如表1:
表格中示例00號(hào)命令將氧氣傳感器的地址設(shè)置為01,02號(hào)命令將氧氣傳感器的地址設(shè)置為01~08,02號(hào)命令將氧氣傳感器的地址設(shè)置為01~08、開(kāi)停傳感器的地址設(shè)置為11。
4.4 測(cè)試操作步驟
(1)將KJJ32、KJJ14A接入網(wǎng)絡(luò)環(huán)境中,將傳感器的電源和485接入到傳輸接口等設(shè)備中;
(2)使用軟件修改KJJ32、KJJ14A的IP地址,將MOXA模塊程序更新為本系統(tǒng)用固件;
(3)在系統(tǒng)的主備機(jī)中分別運(yùn)行“Network Enabler Administrator”配置虛擬串口;
(4)運(yùn)行主機(jī)系統(tǒng)服務(wù),全局設(shè)置中將主機(jī)的IP地址配置為主機(jī),備機(jī)的IP地址配置為備機(jī);在系統(tǒng)設(shè)置中添加通道設(shè)置,分別對(duì)應(yīng)每一個(gè)已經(jīng)配置好的虛擬串口,如圖2通道配置圖;
(5)停止主機(jī)服務(wù),運(yùn)行備機(jī)該系統(tǒng)的服務(wù),在系統(tǒng)設(shè)置中添加通道設(shè)置,分別對(duì)應(yīng)每一個(gè)已經(jīng)配置好的虛擬串口;
(6)將主備機(jī)服務(wù)全部啟動(dòng)。環(huán)境配置完成,性能測(cè)試開(kāi)始。運(yùn)行時(shí)在主機(jī)上運(yùn)行Spot-light系統(tǒng)資源監(jiān)視工具監(jiān)視主機(jī)的資源。
5.分析測(cè)試結(jié)果
調(diào)整后使用用例2進(jìn)行了測(cè)試,分別進(jìn)行了148個(gè)傳感器運(yùn)行7天和255個(gè)傳感器運(yùn)行30天的性能測(cè)試。不再出現(xiàn)用例1中的問(wèn)題。148個(gè)為找到的保證系統(tǒng)達(dá)到性能指標(biāo)的一般經(jīng)常接入的傳感器數(shù)量。7天長(zhǎng)時(shí)間測(cè)試時(shí)CPU使用率在85%以下,在指標(biāo)范圍內(nèi)。30天長(zhǎng)時(shí)間測(cè)試時(shí)系統(tǒng)中有255個(gè)傳感器,CPU時(shí)間曲線中顯示CPU時(shí)間始終處于45%和100%之間?!爱?dāng)前報(bào)警、斷電、饋電異?!边M(jìn)程占用率在30%以上,此進(jìn)程的顯示的數(shù)據(jù)量為160條左右報(bào)警記錄,信息量并不多,建議優(yōu)化。
同時(shí)監(jiān)視到的監(jiān)控主機(jī)中物理內(nèi)存剩余不足200M。sqlserver使用內(nèi)存在400M以上,服務(wù)控制(CariSystemServiceControl)使用內(nèi)存在150M以上。建議優(yōu)化。
6.結(jié)語(yǔ)
本篇主要講解了用真實(shí)的傳感器模擬多個(gè)傳感器的測(cè)試方法,進(jìn)行系統(tǒng)中滿負(fù)荷傳感器和一般業(yè)務(wù)的性能測(cè)試,通過(guò)更改傳感器二次儀表程序,使得一個(gè)傳感器充當(dāng)多個(gè)傳感器來(lái)實(shí)現(xiàn)。按照通用的性能測(cè)試流程進(jìn)行測(cè)試,最終能夠?qū)崿F(xiàn)對(duì)系統(tǒng)進(jìn)行性能評(píng)價(jià)的目標(biāo),依此礦壓監(jiān)測(cè)系統(tǒng)以及其他涉及到傳感器或分站的煤礦安全監(jiān)測(cè)系統(tǒng)可借用該方法來(lái)進(jìn)行性能測(cè)試,使得性能測(cè)試在礦用領(lǐng)域有了較新的運(yùn)用,對(duì)安全生產(chǎn)和提高工作效率有著重大的意義。
參考文獻(xiàn)
[1]段念.軟件性能測(cè)試過(guò)程詳解與案例剖析[M].北京:清華大學(xué)出版,2006,8:52-80.
[2]國(guó)家發(fā)展和改革委員會(huì).MT-T1008-2006——煤礦安全生產(chǎn)監(jiān)控系統(tǒng)軟件通用技術(shù)條件[S].北京:煤炭工業(yè)出版社,2006:5.
[3]國(guó)家安全生產(chǎn)監(jiān)督管理總局.AQ6201-2006——煤礦安全生產(chǎn)監(jiān)控系統(tǒng)通用技術(shù)要求[S].北京:煤炭工業(yè)出版社,2006:8-18.
[4]Lisa Crispin,Janet Gregory敏捷軟件測(cè)試:測(cè)試人員與敏捷團(tuán)隊(duì)的實(shí)踐指南[M].孫偉峰,崔康,譯.清華大學(xué)出版社,2010:176-223.
作者簡(jiǎn)介:
張海梅(1983—),女,江蘇射陽(yáng)人,工程師,主要從事軟件測(cè)試管理工作。
趙小兵(1978—),男,江蘇海門人,工程師,主要研究方向:監(jiān)控系統(tǒng)開(kāi)發(fā)。
王全國(guó)(1981—),男,江蘇句容人,助理工程師,主要研究方向:軟件測(cè)試。