網(wǎng)上有很多關(guān)于pos機(jī)軟件測試,嵌入式軟件功能測試與接口測試的知識,也有很多人為大家解答關(guān)于pos機(jī)軟件測試的問題,今天pos機(jī)之家(www.afbey.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
pos機(jī)軟件測試
一、前言
凱云科技軟件測評中心于2022年7月底參加了中國航天科技集團(tuán)有限公司軟件評測中心組織的嵌入式軟件功能測試和接口測試能力驗證計劃PT008,取得滿意成績并順利通過能力驗證。本次驗證計劃共計74家實驗室參加,其中不乏國內(nèi)知名大型測試機(jī)構(gòu),包括我中心共計22家檢測出14個及以上的缺陷,約占30%。
本次測試要求根據(jù)GJB/Z 141-2004《軍用軟件測試指南》中的功能測試和接口測試條款對被測件進(jìn)行測試。被測系統(tǒng)是一個模擬的天線伺服控制軟件,為典型的控制系統(tǒng)嵌入式軟件,主要功能是接收上位機(jī)指令發(fā)送的遙控指令,通過伺服控制算法,向天線座驅(qū)動發(fā)送控制量,并與上位機(jī)通過串口進(jìn)行通信回傳執(zhí)行結(jié)果與狀態(tài)。所有測試要求在10個工作日內(nèi)完成,這是對所有參試測評中心嵌入式軟件測試手段、測試人員能力的一次全面考驗。我中心經(jīng)對測試需求的認(rèn)真分析,決定采用公司自主研發(fā)的測試管理系統(tǒng)STM和嵌入式軟件半實物仿真測試集成開發(fā)環(huán)境ETest開展本次能力驗證的軟件測試工作。
能力驗證結(jié)果發(fā)布后,公司對參與此次能力驗證的有關(guān)單位進(jìn)行了調(diào)研,在本次能力驗證工作中應(yīng)用了ETest測試工具及STM管理系統(tǒng)的測評中心均取得較滿意成績。我們分別從協(xié)議信息包的生成、測試用例的設(shè)計、人力投入、測試占用時間、文檔資料準(zhǔn)備、缺陷發(fā)現(xiàn)結(jié)果等角度進(jìn)行了對比分析。結(jié)果可以看出,無論是測試效率還是測試能力均提高了70%。
表1:與傳統(tǒng)測試技術(shù)效果對比
二、被測軟件概要介紹
天線伺服系統(tǒng)由上位機(jī)、天線控制器及天線座組成,伺服控制軟件運行在天線控制器內(nèi)部DSP芯片上,配合硬件平臺和上位機(jī)軟件共同控制天線座轉(zhuǎn)動,使天線指向目標(biāo)。上位機(jī)負(fù)責(zé)向天線控制器下達(dá)遙控指令,提供天線控制器所需的工作參數(shù),查看天線伺服系統(tǒng)的狀態(tài)信息。 天線控制器是整個天線伺服系統(tǒng)的核心,負(fù)責(zé)處理遙控指令,計算目標(biāo)指向角,計算并輸出速度控制量。
圖2:伺服控制軟件系統(tǒng)結(jié)構(gòu)
伺服控制軟件與上位機(jī)的接口通信協(xié)議多達(dá)26種,通信協(xié)議中包含非整字節(jié)的字段,以及很多字段是需要根據(jù)比例因子換算為實際的變量值,要求協(xié)議數(shù)據(jù)包用十六進(jìn)制從模擬的軟件界面中輸入。上位機(jī)與伺服控制軟件通信的基本協(xié)議幀如下:
同步字
幀長度
方式字
幀信息
校驗字
2 字節(jié)
2 字節(jié)
4 字節(jié)
n 字節(jié)
2 字節(jié)
◆同步字:2 字節(jié)。固定內(nèi)容為:0xEB90。
◆ 幀長度:2 字節(jié)。幀長度為方式字和幀信息所占用的字節(jié)數(shù)。
◆ 方式字:4 字節(jié)。所有的幀數(shù)據(jù)都必須遵循下表的格式。
格式
標(biāo)識
字節(jié)
描述
方式字
T
1
信息幀類型
C
1
信息代號
SEQ
2
信息幀序號
◆ 幀信息
幀信息長度可變。
◆ 校驗字:2 字節(jié)。從“同步字”至“幀信息”,將字節(jié)內(nèi)容依次進(jìn)行累加。計 16 位,不計進(jìn)位。
幀信息字段的內(nèi)容是根據(jù)方式字中的T來定義的,以設(shè)置矢量參數(shù)包指令的幀信息說明為例(見下表),幀信息組成比較復(fù)雜,包含有無符號整型、單精度浮點、雙精度浮點、有符號整型(添加比例因子),時間要換算成毫秒計數(shù)等。
設(shè)置矢量參數(shù)包(幀信息)
序號
參數(shù)
數(shù)據(jù)長度
取值說明
備注
1
矢量參考時刻T0
40bit
無符號整型
有效范圍:[0,240-1],單位:ms。表示從 2022 年 1 月 1 日 0 時 0 分0 秒開始的毫秒計數(shù)。
2
天線位置矢量X
64bit
雙精度浮點
單位:m
3
天線位置矢量Y
64bit
雙精度浮點
單位:m
4
天線位置矢量 Z
64bit
雙精度浮點
單位:m
5
天線速度矢量VX
32bit
單精度浮點
單位:m/s
6
天線速度矢量VY
32bit
單精度浮點
單位:m/s
7
天線速度矢量VZ
32bit
單精度浮點
單位:m/s
8
目標(biāo)位置矢量X
64bit
雙精度浮點
單位:m
9
目標(biāo)位置矢量Y
64bit
雙精度浮點
單位:m
10
目標(biāo)位置矢量 Z
64bit
雙精度浮點
單位:m
11
目標(biāo)速度矢量VX
32bit
有符號整型
比例因子:5×2 -23
有效范圍:[-1200,1200],單位:
km/s
12
目標(biāo)速度矢量VY
32bit
有符號整型
比例因子:5×2 -23
有效范圍:[-1200,1200],單位:
km/s
13
目標(biāo)速度矢量VZ
32bit
有符號整型
比例因子:5×2 -23
有效范圍:[-1200,1200],單位:
km/s
14
保留
8bit
/
/
15
目標(biāo)位置矢量Y
64bit
雙精度浮點
單位:m
對于伺服控制軟件來說,要測試其伺服控制功能,需要通過設(shè)置矢量參數(shù)包、設(shè)置天線指向模式、設(shè)置修正矩陣、發(fā)送時間校準(zhǔn)指令等一系列信息幀通信才能使得其進(jìn)入到伺服控制功能,這個過程涉及到多個串行通信信息幀的發(fā)送,如何快速生成滿足格式要求的信息幀就顯得尤為重要。如何產(chǎn)生幀信息是擺在測評中心面前的一大難題,如果使用通用程序設(shè)計語言編寫C/C++程序產(chǎn)生這些信息幀,不僅效率不高,而且極易出錯。如果使用人工編寫這些信息幀,則不僅工作量巨大,而且難以根據(jù)測試數(shù)據(jù)設(shè)計很快做出信息幀。
為順利完成該項能力驗證,我們的思路是用公司自主研發(fā)的測試管理系統(tǒng)STM設(shè)計測試用例以及測試數(shù)據(jù),只需要關(guān)注測試數(shù)據(jù)的設(shè)計,無需關(guān)注信息幀報文如何組包;我們使用嵌入式軟件半實物仿真測試集成開發(fā)環(huán)境ETest開發(fā)協(xié)議幀格式以及協(xié)議幀數(shù)據(jù)生成腳本,并將生成的協(xié)議信息幀直接填入到測試管理系統(tǒng)STM的測試用例中,從而有條不紊地完成軟件測試工作,達(dá)到較高的測試覆蓋率。
四、半實物仿真測試系統(tǒng)集成開發(fā)環(huán)境ETest之開發(fā)
本次驗證計劃基于ETest開發(fā)主要工作有:協(xié)議定義、腳本開發(fā)、設(shè)計用例、數(shù)據(jù)生成。
1、協(xié)議定義
1)在ETest圖形界面通過拖拽方式定義各協(xié)議,設(shè)置字段類型;
2)根據(jù)協(xié)議要求設(shè)置字段的字節(jié)序、最大值與最小值、默認(rèn)值;
3)選擇校驗算法,設(shè)置校驗字段。
通過上述幾步很快完成全部26個協(xié)議的定義。
圖3:ETest協(xié)議定義
2、腳本開發(fā)
通過測試腳本的編寫,完成比例尺以及數(shù)組等的特殊處理,就可以按照任意要求形成所需要的協(xié)議信息包了。我們針對不同的通信協(xié)議分別開發(fā)出對應(yīng)的測試程序。例如t13程序就是對矢量數(shù)據(jù)信息幀的處理程序,在這段處理程序中對矢量參考時刻T0完成從日期時刻到2022年1月1日0時0分0秒開始的毫秒計數(shù)的轉(zhuǎn)換,同時完成目標(biāo)速度矢量VX、Vy、Vz的比例因子代入。我們還通過for循壞生成批量的天線初始矢量設(shè)置信息幀。
圖4:ETest腳本開發(fā)
3、設(shè)計用例
在ETest中,實現(xiàn)了測試程序開發(fā)與測試數(shù)據(jù)設(shè)計的分離,ETest中將測試數(shù)據(jù)簡單地抽象為用例,我們可以直接在用例節(jié)點設(shè)計測試數(shù)據(jù),測試數(shù)據(jù)可以用類似AntZPos: [10000,0,10,300,10000]這樣的表達(dá)式進(jìn)行描述,這就代表設(shè)計了5個用例,取了AntZPos的5個值。
設(shè)置該用例所對應(yīng)的程序,運行程序時自動關(guān)聯(lián)用例。
圖5:ETest設(shè)計用例
4、數(shù)據(jù)生成
通信協(xié)議、程序、用例均完成后,就可以用程序執(zhí)行的方式,直接執(zhí)行程序,程序會自動從關(guān)聯(lián)的用例中取出測試數(shù)據(jù)生成數(shù)據(jù)幀。
圖6:ETest數(shù)據(jù)生成
也可以不編寫程序,直接用ETest快速測試的方法生成組包的界面。當(dāng)然,這需要自己進(jìn)行比例尺的變換,因此我們此次未采用。
圖7:ETest快速測試
五、測試管理系統(tǒng)STM
為了保證測試能充分有序進(jìn)行,本次測試工作基于測試管理系統(tǒng)STM進(jìn)行測試需求分析、測試用例設(shè)計和測試文檔生成,將ETest所生成的信息包直接填入測試用例的步驟描述中,對著測試步驟描述就可以讓測試執(zhí)行人員有序地開展測試執(zhí)行工作。
通過使用測試管理系統(tǒng)STM,我們可以很容易地劃分出測試項并能觀察出測試項、測試子項是否通過。
圖8:STM需求分析設(shè)計
在STM中測試用例設(shè)計可以采用參數(shù)的方式,用實例來直接進(jìn)行測試數(shù)據(jù)設(shè)計,下圖中<<<指令名稱>>>、<<<方式字異常指令>>>均為步驟參數(shù)值。
圖9:STM測試用例設(shè)計
參數(shù)值取值可以形成測試實例集,測試實例集可有效保證測試的充分性,如下圖。
圖10:STM測試用例集設(shè)計
完成測試用例數(shù)據(jù)設(shè)置后,即可按照步驟一步步執(zhí)行測試,此時,已設(shè)置好各類指令報文,直接將其復(fù)制到被測件的協(xié)議輸入?yún)^(qū)域就可以完成相應(yīng)的測試工作。
圖11:STM測試執(zhí)行
完成全部測試工作后,測試管理系統(tǒng)STM自動快速生成能力驗證所需要的各類文檔,編寫文檔的工作量縮短為1天以內(nèi),減少70%的用時,有效保證測試人員集中精力于實際的測試工作中,最終確保測試通過。
圖12:STM自動生成測試文檔
六、總結(jié)
本次能力驗證,按傳統(tǒng)方式一般測試開發(fā)人員可能需要1個工作日甚至更長時間才能開發(fā)出所有協(xié)議信息包;我中心由于ETest的熟練應(yīng)用,僅使用了1個多小時,生成協(xié)議組包的效率提高了80%以上。另外基于ETest在測試數(shù)據(jù)設(shè)計方面也有非常明顯的效率提升并有效保證了測試質(zhì)量。使用STM實現(xiàn)了測試需求分解、測試用例與測試數(shù)據(jù)設(shè)計、已經(jīng)測試執(zhí)行的測試過程管理,使得測試人員能夠根據(jù)設(shè)計好的測試用例有條不紊的執(zhí)行,發(fā)現(xiàn)軟件中預(yù)埋的問題,也保證了軟件問題、測試步驟、測試數(shù)據(jù)的良好追蹤。
測試管理工具(STM)和嵌入式半實物仿真測試系統(tǒng)集成開發(fā)環(huán)境(ETest)的使用是我中心順利取得本次能力驗證滿意結(jié)果的重要因素。公司將一如既往加緊突破自動化測試的相關(guān)技術(shù)瓶頸,為我國的軟件質(zhì)量發(fā)展事業(yè)貢獻(xiàn)力量。
以上就是關(guān)于pos機(jī)軟件測試,嵌入式軟件功能測試與接口測試的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機(jī)軟件測試的知識,希望能夠幫助到大家!
