国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Testbed的某測速與裝定軟件靜態(tài)測試應(yīng)用與分析

2021-10-21 09:18:39宋潔戴成華李鋒靳青梅王晉安陳茜
科技信息·學(xué)術(shù)版 2021年14期

宋潔 戴成華 李鋒 靳青梅 王晉安 陳茜

摘要:本文以某測速與裝定軟件為測試實(shí)例,用專業(yè)測試工具Testbed進(jìn)行靜態(tài)分析測試,詳細(xì)闡述了該工具的測試步驟,并展示了測試結(jié)束后產(chǎn)生的代碼評(píng)審報(bào)告、度量報(bào)告等結(jié)果,最終測試結(jié)果必須結(jié)合人工審查分析,排除測試工具可能出現(xiàn)的誤判錯(cuò)誤,確保最終結(jié)果準(zhǔn)確可靠。

關(guān)鍵詞:Testbed;靜態(tài)分析;人工審查

引言

隨著計(jì)算機(jī)技術(shù)在軍用裝備軟件中的應(yīng)用發(fā)展,軟件測試在整個(gè)軟件開發(fā)過程中占有非常突出的重要位置,軟件測試是一項(xiàng)很復(fù)雜費(fèi)時(shí)的工作,僅僅依靠測試人員手工完成很困難,好的測試工具能夠提高測試效率從而降低測試成本,選擇更高的測試充分性標(biāo)準(zhǔn)進(jìn)行測試從而提高軟件質(zhì)量。

1 系統(tǒng)架構(gòu)

某自行高炮測速與裝定系統(tǒng)由炮口裝置和炮口信號(hào)處理裝置組成。主要用于實(shí)現(xiàn)彈丸炮口初速測量、定向集束穿甲彈丸飛行時(shí)間修正量解算、彈丸起爆時(shí)間裝定等功能。其中炮口信號(hào)處理裝置主要由初速板、DSP板、發(fā)射板等組成,用于完成初速信號(hào)處理與計(jì)算、引信定時(shí)時(shí)間解算與編碼、編碼信號(hào)功率放大與發(fā)射、同步信號(hào)接收、系統(tǒng)故障診斷與CAN總線通信功能。炮口裝置包含測速線圈1、測速線圈2、裝定線圈等,用于實(shí)現(xiàn)彈丸出炮口感應(yīng)及引信裝定功能,測速與裝定系統(tǒng)組成框圖如圖1所示。

測速與裝定軟件是以炮口信號(hào)處理裝置內(nèi)的DSP板為硬件基礎(chǔ)、TMS320C6416為運(yùn)行平臺(tái)、Quartus 13.1為軟件開發(fā)平臺(tái)。該軟件采用C語言作為開發(fā)語言,主要功能有實(shí)現(xiàn)彈丸炮口初速解算、引信定時(shí)時(shí)間解算、引信定時(shí)時(shí)間編碼控制、總線通信、自檢、故障診斷、靶距設(shè)置與查詢及彈種選擇功能。其軟件功能模塊多,接口之間數(shù)據(jù)通信較復(fù)雜,因此本次使用專業(yè)軟件測試工具Testbed來進(jìn)行靜態(tài)測試分析。

2 測試概要

2.1靜態(tài)測試的概念和方法

靜態(tài)測試是一種不需要執(zhí)行被測軟件的軟件測試方法,在不運(yùn)行軟件的情況下對(duì)軟件進(jìn)行測試,通過對(duì)程序代碼和文檔進(jìn)行檢查,以發(fā)現(xiàn)可能存在的錯(cuò)誤。靜態(tài)測試可以從編碼規(guī)則檢查、代碼結(jié)構(gòu)分析和代碼評(píng)審三個(gè)方面來進(jìn)行。執(zhí)行靜態(tài)測試,需要軟件需求規(guī)格說明、源程序代碼以及其他軟件設(shè)計(jì)說明和用戶手冊等相關(guān)文檔,通常還需要一個(gè)或多個(gè)靜態(tài)測試工具,以盡可能多地發(fā)現(xiàn)程序中的隱藏錯(cuò)誤,提高測試的準(zhǔn)確率和工作效率。

2.2 Testbed靜態(tài)測試方法

Testbed是由LDRA公司開發(fā)的一款專業(yè)性軟件測試工具,具有靜態(tài)分析和動(dòng)態(tài)分析功能。這里我們只對(duì)靜態(tài)分析功能進(jìn)行研究。僅輸入源代碼文件,就可以根據(jù)質(zhì)量模型對(duì)代碼進(jìn)行分析和檢查,具體內(nèi)容包括編程標(biāo)準(zhǔn)驗(yàn)證、軟件度量分析和質(zhì)量標(biāo)準(zhǔn)驗(yàn)證、靜態(tài)數(shù)據(jù)流分析、信息流分析和交叉索引分析。

3 靜態(tài)測試

3.1 測試步驟

首先要根據(jù)相關(guān)軍用軟件測試標(biāo)準(zhǔn)和裝備軟件的軟件任務(wù)書和軟件需求規(guī)格說明等文件制定一份代碼檢查單,這是本次靜態(tài)分析的重要依據(jù),具體內(nèi)容也要結(jié)合測試工具的可分析內(nèi)容來定。

選擇好要分析的源文件后,創(chuàng)建一個(gè)文件集,根據(jù)代碼檢查單和相關(guān)軍用軟件測試標(biāo)準(zhǔn)及規(guī)定制定好編碼規(guī)則,然后選擇要做的靜態(tài)分析項(xiàng)。根據(jù)本項(xiàng)目的測試需求分析我們選擇了列表的前四項(xiàng)做靜態(tài)分析,分別為主靜態(tài)分析、復(fù)雜度分析、靜態(tài)數(shù)據(jù)流分析和交叉索引,也可直接選擇快捷鍵BS、QS,將得到代碼的完整性及基本屬性的分析情況,如代碼評(píng)審報(bào)告、質(zhì)量評(píng)審和設(shè)計(jì)評(píng)審等方面內(nèi)容,對(duì)代碼的合規(guī)性、可維護(hù)性及可測試性進(jìn)行檢查分析。確定好分析選項(xiàng)后就可以開始進(jìn)行靜態(tài)分析測試。

3.2靜態(tài)分析結(jié)果

(a)代碼評(píng)審報(bào)告

待靜態(tài)分析過程結(jié)束后,可通過操作查看代碼評(píng)審報(bào)告。報(bào)告提供了被選編碼標(biāo)準(zhǔn)的違反情況,并用紅色顯示在源代碼中違反某條規(guī)則有多少處,可以鏈接到違反的源代碼行和對(duì)每條規(guī)則的詳細(xì)解釋,以及以函數(shù)為單位顯示違反編碼規(guī)則的條數(shù)和有多少處違反編碼規(guī)則的地方。報(bào)告單詳情如圖2所示。

(b)軟件度量分析

軟件度量分析包含McCabe圈復(fù)雜度、基本McCabe圈復(fù)雜度、HALSTEAD科學(xué)度量、扇入/扇出、代碼行注釋比例、可執(zhí)行代碼行數(shù)等指標(biāo)。靜態(tài)分析完成后可在質(zhì)量評(píng)審報(bào)告中查看各度量元的分析結(jié)果,從各度量元的清晰性、維護(hù)性和可測性等三方面進(jìn)行分析。本次總共有三個(gè)程序需要分析,分別是CANsys.c、MEMORY.c、TL16c550Test.c,具體操作步驟是選擇Individual Results→Text Results→Quality Review Report(HTML)。報(bào)告顯示三個(gè)程序均通過了測試,具體單個(gè)文件的圈復(fù)雜度等指標(biāo)如圖3所示。

(c)調(diào)用關(guān)系與控制流程分析

支持圖形化方式顯示軟件調(diào)用關(guān)系與每個(gè)子程序的控制流程。通過代碼分析可得到程序模塊之間的調(diào)用關(guān)系,具體操作是選擇Set Results→Graphical Results→Static Callgraph,查看函數(shù)靜態(tài)調(diào)用關(guān)系圖,如圖4所示。

函數(shù)靜態(tài)調(diào)用關(guān)系圖反映了程序模塊之間的層次關(guān)系,從調(diào)用關(guān)系圖中可以顯示模塊的類型、調(diào)用層次和調(diào)用關(guān)系,在所要定位的模塊上右鍵選擇highligh選項(xiàng),可以定位該模塊的調(diào)用模塊和被調(diào)用模塊;選擇需要查看的函數(shù)單擊,圖形化顯示控制流圖。

4 人工審查分析

根據(jù)前面制定的代碼檢查單,測試人員還需要進(jìn)行人工審查判斷,對(duì)以上獲得的測試報(bào)告內(nèi)容進(jìn)行分析和處理。為了消除誤報(bào)的情況,需要人工核對(duì)報(bào)告來檢查代碼源,通過對(duì)報(bào)告提示的違反規(guī)則與代碼檢查單進(jìn)行對(duì)照分析,為最后生成問題報(bào)告單提供有力依據(jù)。經(jīng)考核,該測速與裝定軟件每千行代碼缺陷為:發(fā)現(xiàn)問題數(shù)/代碼總行數(shù)=8/1.512=5個(gè),不超過每千行10個(gè)的代碼缺陷率,符合通過要求。

5 結(jié)論

本文以某測速與裝定軟件為測試對(duì)象,應(yīng)用專業(yè)測試工具Testbed對(duì)主靜態(tài)分析、復(fù)雜度分析、靜態(tài)數(shù)據(jù)流分析和交叉索引等四個(gè)指標(biāo)做了靜態(tài)測試分析,并對(duì)測試生成的報(bào)告結(jié)果進(jìn)行了人工審查判斷。使用專業(yè)的測試工具可以直接提升測試工作效率,也可以增強(qiáng)軟件的可靠性和健壯性,但是測試報(bào)告結(jié)果也不能直接采納,必須進(jìn)行人工審查分析,排除可能出現(xiàn)的誤判錯(cuò)誤,確保最終結(jié)果準(zhǔn)確可靠。

參考文獻(xiàn):

[1]Testbed靜態(tài)分析使用指南.上海創(chuàng)景計(jì)算機(jī)系統(tǒng)有限公司.

[2]周培.基于LDRA Testbed的民用機(jī)載軟件靜態(tài)測試方法.[J]計(jì)算機(jī)測量與控制.2019.27(7)

[3]周永健,范明,張森,趙東旭..LDRA TestBed在CTCS2-200C擴(kuò)展單元軟件測試中的應(yīng)用.[J]機(jī)車電傳動(dòng).2016.05

南部县| 青海省| 色达县| 涿鹿县| 临汾市| 涿州市| 武隆县| 珠海市| 平远县| 石台县| 青河县| 丰都县| 佛教| 遂昌县| 耿马| 哈尔滨市| 开阳县| 交城县| 临澧县| 望城县| 姚安县| 墨玉县| 临清市| 黄平县| 那曲县| 沅陵县| 望奎县| 台南县| 谢通门县| 新田县| 柳林县| 凉山| 景洪市| 黄山市| 秦安县| 炎陵县| 滦南县| 泸定县| 宜良县| 新源县| 资溪县|