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

?

系統(tǒng)測試的意義及系統(tǒng)可測試性設(shè)計

2024-06-01 22:43:17鄒海蓉
現(xiàn)代信息科技 2024年4期

收稿日期:2023-07-05

DOI:10.19850/j.cnki.2096-4706.2024.04.019

摘? 要:系統(tǒng)測試是系統(tǒng)開發(fā)的一個重要環(huán)節(jié),是驗證所設(shè)計的系統(tǒng)是否滿足功能要求和性能要求的重要手段。測試進行得越早,解決缺陷所需要的成本越低??蓽y試性設(shè)計做得越好,越能提高測試的效率。這大大地降低項目進度,項目成本和產(chǎn)品質(zhì)量的風(fēng)險。文章首先介紹了系統(tǒng)測試的意義和可測試性設(shè)計的意義,然后從可測試性設(shè)計總則和可測試性設(shè)計方法詳述兩方面闡述了在系統(tǒng)設(shè)計中如何實現(xiàn)可測試性設(shè)計,并提供了一些具體的設(shè)計實例,為系統(tǒng)的可測試性設(shè)計提供了一些從理論到實踐的參考。

關(guān)鍵詞:可測試性;非功能性需求;質(zhì)量屬性

中圖分類號:TP311? 文獻標(biāo)識碼:A? 文章編號:2096-4706(2024)04-0092-05

Significance of System Test and Design of System Testability

ZOU Hairong

(Siemens Shanghai Medical Equipment Co., Ltd., Shanghai? 201318, China)

Abstract: System test is an important part of system development, and an important means to verify whether the designed system meets the functional and performance requirements. The earlier the test is performed, the lower the required cost of fixing defects. The better testability is designed, the more efficient testing. The risk of project schedule, project cost and product quality is greatly reduced. This paper firstly introduces the significance of system testing and significance of testability design, then elaborates how to do testability design in system design from two aspects of general principles and method details. In the meantime, it provides some concrete design examples. The contents can be referred from theory to practice in system testability design.

Keywords: testability; NFR; quality attribute

0? 引? 言

系統(tǒng)測試是系統(tǒng)開發(fā)的一個重要環(huán)節(jié),但很多人并不是很清楚系統(tǒng)測試的意義,甚至對系統(tǒng)測試有一些誤解,認為測試本身并沒有創(chuàng)造價值,卻要消耗大量的人力,物力和時間成本,是很大的浪費。這導(dǎo)致有些組織重開發(fā),輕測試,使得大量問題難以在設(shè)計過程中發(fā)現(xiàn)和解決,造成大量的客戶抱怨,和無法估量的后期補救成本。所以每一個利益相關(guān)人都應(yīng)該充分了解測試的意義。同時,如何通過系統(tǒng)的可測試性設(shè)計來提高測試效率,從而最大限度地減少測試成本,是每一位系統(tǒng)設(shè)計者需要面對的問題。

1? 測試的意義

1.1? 測試的定義

測試是用于測試的實踐和過程的集合,測試是確定被檢測的產(chǎn)品/系統(tǒng)/服務(wù)是否符合設(shè)計,設(shè)計是否正確地反映了功能需求,產(chǎn)品及其系統(tǒng)性能是否滿足其用戶的需求的重要手段。

1.2? 測試的意義

1.2.1? 降低產(chǎn)品風(fēng)險保證產(chǎn)品質(zhì)量

測試可以提供對產(chǎn)品的認知和了解。這些認知和了解可以為管理產(chǎn)品開發(fā),生產(chǎn),運行和維護過程中的風(fēng)險提供幫助,從而保證產(chǎn)品質(zhì)量。比如:測試可以在早期識別出技術(shù),運行或是系統(tǒng)層面的缺陷,以便于及時采取糾正措施,避免這些問題發(fā)生在客戶現(xiàn)場;測試可以識別出系統(tǒng)的能力和局限性,以便于系統(tǒng)工程師采取措施來改進系統(tǒng)性能,或是給用戶提供一些可以優(yōu)化系統(tǒng)使用的方法。測試進行的越早,對系統(tǒng)的優(yōu)勢和劣勢的認知就越早,這對于功能開發(fā)和性能提升兩方面都有意義。

1.2.2? 給利益相關(guān)人提供信息和證據(jù)

測試的結(jié)果可以給利益相關(guān)人提供與產(chǎn)品質(zhì)量相關(guān)的信息和證據(jù),測試越充分意味著可以提供更多更好的信息和證據(jù)。這些信息和證據(jù)可以用于決策,改進產(chǎn)品及流程。

1.2.3? 設(shè)計確認和產(chǎn)品認證

測試結(jié)果中的順利通過的測試項,是對設(shè)計的確認,確認所測試的產(chǎn)品在功能和性能上符合設(shè)計的要求。另外有一種專門的測試,是產(chǎn)品過程認證的必要步驟,從產(chǎn)品標(biāo)準的維度上驗證了產(chǎn)品的質(zhì)量。

1.2.4? 加速開發(fā)過程

在傳統(tǒng)的瀑布式開發(fā)模式向敏捷開發(fā)模式的轉(zhuǎn)換過程中,一邊開發(fā)一邊測試,小步迭代的模式已經(jīng)被越來越多的組織接受并采用。在這個過程中,測試是對開發(fā)的一種有力的支持和驅(qū)動,在一定程度上有效的測試可以加速開發(fā)的過程。

1.3? 小結(jié)

測試結(jié)果是質(zhì)量的指標(biāo),提供關(guān)于質(zhì)量的信息。測試本身并不能提高質(zhì)量,但是設(shè)計者可以根據(jù)測試結(jié)果采取相應(yīng)的措施來提高質(zhì)量。

測試的行為在整個開發(fā)周期里發(fā)生的越早,解決測試中發(fā)現(xiàn)的缺陷所需要的成本越低,如圖1所示。所以越是一個成熟的組織,越會在產(chǎn)品開發(fā)的早期給予測試更多的投入,以便在早期就可以發(fā)現(xiàn)產(chǎn)品的風(fēng)險,避免錯誤,保證開發(fā)質(zhì)量。

圖1? 有效的測試

2? 可測試性設(shè)計

2.1? 可測試性設(shè)計的意義

測試需要各種資源,比如人力,物力,所以說測試活動本身是非常昂貴的,有效的可測試性設(shè)計可以在保證測試質(zhì)量的前提下,最小化測試需要消耗的資源,從而保證測試的有效性和效率。

可測試性(Testability)是ISO 25010里所描述的質(zhì)量屬性,即非功能性需求(NFR)中的一個重要的部分。架構(gòu)師在架構(gòu)設(shè)計階段就需要考慮可測試性的解決方案。

可測試性在提高測試的效率的同時,也提高了可維護性(serviceability),因為在一個可測試性好的系統(tǒng)上進行故障診斷會相對容易和有效率得多。

2.2? 可測試性設(shè)計的方法總則

2.2.1? 觀察系統(tǒng)

通常認為系統(tǒng)能被看到的部分就是能測試的部分。為此,系統(tǒng)設(shè)計時應(yīng)實現(xiàn):

1)能夠觀察或測量輸出,組件狀態(tài),內(nèi)部的資源使用,以及被測試系統(tǒng)的其他不良表現(xiàn)。

2)能夠通過觀察點與被測系統(tǒng)進行交互。

3)通過診斷功能提供系統(tǒng)運行狀態(tài)的反饋。

2.2.2? 控制系統(tǒng)

系統(tǒng)可以被更好地控制就意味著系統(tǒng)可以被更好地測試。為此,系統(tǒng)設(shè)計時應(yīng)實現(xiàn):

1)能夠給定一定的輸入到被測試系統(tǒng),從而將其帶入特定狀態(tài)。

2)通過控制點與被測系統(tǒng)進行交互。

2.2.3? 以簡單、一致和可分解為目標(biāo)

很顯然,要測試的東西越少,測試工作就完成得越快。為此,系統(tǒng)設(shè)計是應(yīng)遵循:

1)已定義的標(biāo)準。定義并使用產(chǎn)品所屬領(lǐng)域的通用架構(gòu)。

2)系統(tǒng)元素、組件有明確定義的職責(zé)和接口,并做好獨立測試的準備。

3)系統(tǒng)可配置的組合不要太多。

2.2.4? 保證可操作性

系統(tǒng)工作得越正常,越穩(wěn)定(這里指的是不出或者少出故障),測試的效率就越高。原因如下:

1)故障增加了分析和報告這些問題的人力資源消耗。

2)故障掩蓋了其他沒有被測試出來的問題。

在開發(fā)階段,完全沒有故障是不可能的。為了保證測試的有效性,測試前要確認系統(tǒng)的故障不會阻礙測試的執(zhí)行。在架構(gòu)設(shè)計上也盡可能地模塊化,減少不同模塊之間的依賴性。這樣即使一個模塊出現(xiàn)故障,不會影響另一個模塊的測試。

2.2.5? 保持穩(wěn)定

這里的穩(wěn)定指的是被測試系統(tǒng)硬件和軟件版本的穩(wěn)定性,盡可能在一個測試周期內(nèi)保持不變。更改越少,對測試的破壞就越少。為此,系統(tǒng)設(shè)計時需保證如下:

1)對系統(tǒng)及其接口的更改是受控的,不會導(dǎo)致現(xiàn)有的測試無效。

2)系統(tǒng)可以從故障中很好地恢復(fù)狀態(tài)(魯棒性)。

2.2.6? 確??衫斫庑?/p>

我們擁有的信息越多越好,我們就會越聰明地進行測試。系統(tǒng)設(shè)計時應(yīng)保證如下:

1)架構(gòu)易于理解,使得所有的利益相關(guān)人都能很好地理解系統(tǒng)架構(gòu)。

2)技術(shù)描述文檔要有良好的格式,并且能及時更新。

2.3? 可測試性設(shè)計方法詳述

2.3.1? 測試架構(gòu)

如圖2所示,采用一個合適的測試架構(gòu)。針對系統(tǒng)架構(gòu)設(shè)計一個合適的測試架構(gòu)對于系統(tǒng)測試,特別是自動化的系統(tǒng)測試來說至關(guān)重要。

通常情況下,測試系統(tǒng)包含測試系統(tǒng)本身,測試管理和測試數(shù)據(jù)幾個部分。測試系統(tǒng)通過測試總線與仿真的測試環(huán)境通信,或者是直接與真實的測試系統(tǒng)通信,完成測試所需要的發(fā)送指令和接收數(shù)據(jù)。

下面以我們目前產(chǎn)品使用的自動化測試系統(tǒng)(SITA)的架構(gòu)為例來詳細說明(如圖3所示)。

如圖3所示,SITA系統(tǒng)的硬件包含兩個部分:測試PC和SITA Box。測試PC通過USB接口與SITA Box相連。SITA系統(tǒng)軟件部分安裝在測試PC上,SITA Box可以提供系統(tǒng)測試中所需要的硬件IO信號。

SITA系統(tǒng)軟件部分包含以下功能:翻譯腳本,識別UI,發(fā)送XCS(XRAY Communication System) 報文,驅(qū)動IO信號,生成測試日志文件。

測試總線包含兩個部分,一個是通過TCP/IP協(xié)議與影像系統(tǒng)通信,完成腳本的翻譯,通過UI識別軟件,把腳本轉(zhuǎn)化成用戶的操作;另一個是通過XCS協(xié)議與整個系統(tǒng)通信,即通過發(fā)送特定的XCS報文完成某一個功能的模擬。另外,當(dāng)某一功能需要IO信號輸入時,測試軟件會控制IO box產(chǎn)生相應(yīng)的信號輸入。

圖3? 自動化測試系統(tǒng)(SITA)的架構(gòu)圖

2.3.2? 測試點

設(shè)計必要的控制點和觀察點。觀察點可以是一些測試點,需要用萬用表,示波器,劑量儀等儀器進行測量,從而知道系統(tǒng)的狀態(tài);也可以是指示燈或是數(shù)碼管等可以不用儀器就能夠觀察系統(tǒng)狀態(tài)的設(shè)計??刂泣c是在測試的過程中可以加入激勵的點。

為了測試方便,控制點和觀察點都要盡量靠近模塊外側(cè)容易觸及的位置。

2.3.3? 測試接口

設(shè)計測試接口。測試接口包括硬件測試接口和軟件測試接口。硬件測試接口可以是測試點,控制點,觀察點,也可以是特定的通信接口。軟件測試接口可以是支持測試系統(tǒng)的特殊協(xié)議。比如,我們在產(chǎn)品的運動控制模塊中增加了一個報文ST_ACTUATOR,目的就是為了用報文模擬操作者操作按鍵。測試系統(tǒng)發(fā)送該報文就可以完成一個工作流程的測試。

2.3.4? 自檢功能

設(shè)計自檢功能。大部分自檢功能通常是在啟動的時候被執(zhí)行,但也可以在一些觸發(fā)條件滿足的時候被執(zhí)行,比如時間,特定事件,特定報文等。

2.3.5? 診斷功能

設(shè)計診斷功能。通常情況下,可以在服務(wù)軟件里設(shè)置一些針對不同模塊的診斷功能。服務(wù)工程師可以選擇某一個特定模塊的某一個特定項目進行診斷,也可以選擇全部。

圖4是我們目前產(chǎn)品中所設(shè)計的診斷功能的用戶界面。如圖4所示,第一列是可以做診斷的模塊,當(dāng)某一個模塊被選中,所有與該模塊相對應(yīng)的可以被診斷的項目會出現(xiàn)在第二列。診斷開始以后,診斷的詳細結(jié)果會出現(xiàn)在第三列。

系統(tǒng)通常會發(fā)送一個固定的報文用于觸發(fā)診斷和收集診斷結(jié)果,通過不同的標(biāo)識符來區(qū)分被診斷的模塊和項目。比如:報文ST_DIAG/SH_DIAG可以包含如下標(biāo)識符 (僅舉幾個例子來說明):

ACS_DIAG_ID_IS_VERSION? ? ? ? 300影像系統(tǒng)的版本信息

ACS_DIAG_ID_IS_HOST_ID? ? ? ? 301影像系統(tǒng)的host ID

ACS_DIAG_ID_IS_CPU_INFO? ? ? ?307影像系統(tǒng)CPU的信息

ACS_DIAG_ID_FD2430_TYPE? ? ? ?340平板的類型

ACS_DIAG_ID_FD2430_SN? ? ? ? 341平板的序列號

ACS_DIAG_ID_FD2430_SW? ? ? ? 342平板的SW版本

ACS_DIAG_ID_FD2430_FW? ? ? ? 343平板的FW版本

ACS_DIAG_ID_FD2430_TEMPERATURE? ? 346平板的溫度

ACS_DIAG_ID_FD2430_WIFI? ? ? ?347平板的Wifi狀態(tài)

ACS_DIAG_ID_FD2430_SHOCK? ? ? ?348平板被摔的次數(shù)

2.3.6? 日志

提供日志和跟蹤文件。日志和跟蹤文件都是為記錄每個模塊在系統(tǒng)中的行為而設(shè)計的,通過查看日志和跟蹤文件所記錄的每個模塊的執(zhí)行,數(shù)據(jù)流,狀態(tài)是否正確來分析產(chǎn)生錯誤的原因,以及重現(xiàn)錯誤的方法。

日志文件記錄模塊重要的行為,數(shù)據(jù),狀態(tài)。日志文件的生成除了記錄日志的工具外,通常需要模塊設(shè)計者在編碼過程中主動打印重要的日志信息。

跟蹤文件記錄通信總線上的報文。跟蹤文件的生成是由特定的跟蹤工具實現(xiàn)的,不需要模塊設(shè)計者額外的工作。跟蹤工具運行后,是通信網(wǎng)絡(luò)上的一個有監(jiān)控能力的節(jié)點,可以監(jiān)控到通信網(wǎng)絡(luò)上的所有報文。跟蹤工具把這些報文記錄下來,形成跟蹤文件。跟蹤工具可以實現(xiàn)報文的收集,可視化和分析功能。

日志文件和跟蹤文件對于模塊測試,系統(tǒng)集成,系統(tǒng)測試,系統(tǒng)監(jiān)控和分析等至關(guān)重要,所以在一個項目的前期要盡早確定實現(xiàn)日志文件和跟蹤文件的方案。

2.3.7? 程序崩潰記錄

增加應(yīng)用程序崩潰記錄。應(yīng)用程序有可能在運行過程中出現(xiàn)崩潰的情況,這時候,應(yīng)用程序本身無法發(fā)出有用的信息用于判斷哪里出了問題,操作系統(tǒng)在正確的設(shè)置下可以提供dump文件,記錄應(yīng)用程序運行到哪個模塊出現(xiàn)了崩潰,從而有助于進一步分析原因。

2.3.8? 版本信息

提供版本信息和配置文件的信息。這些信息可以幫助重現(xiàn)錯誤和分析錯誤產(chǎn)生的原因。

3? 結(jié)? 論

系統(tǒng)的可測試性設(shè)計與項目進度和產(chǎn)品質(zhì)量密切相關(guān)。不良的可測試性設(shè)計是項目進度和產(chǎn)品質(zhì)量的主要風(fēng)險。

可測試性不僅僅是可控性和可觀察性,本文介紹的可測試性設(shè)計的很多方面都要盡可能地在系統(tǒng)設(shè)計的初期予以考慮,并給出充分有效的適合特定產(chǎn)品的解決方案。

測試系統(tǒng)的復(fù)雜性和成本取決于系統(tǒng)的可測試性,也就是說,系統(tǒng)的可測試性設(shè)計的好,可以大大降低測試系統(tǒng)的復(fù)雜性和成本。

參考文獻:

[1] 王娟,潘衛(wèi),陳奎.航電設(shè)備測試性與外部自動測試系統(tǒng)一體化平臺設(shè)計 [J].航空計算技術(shù),2023,53(1):87-90+95.

[2] 孫安全,關(guān)莉,劉正圓,等.一種電傳飛控系統(tǒng)測試性架構(gòu)設(shè)計與評估技術(shù)研究 [J].測控技術(shù),2022,41(1):51-57.

[3] 胡尊帆,吳麗媛,李春雷,等.直升機機電綜合管理系統(tǒng)通用測試性試驗平臺設(shè)計 [J].中國科技信息,2021(7):36-37.

[4] 陳慧琍,陳曉軒.一種ATS系統(tǒng)自動化測試工具的設(shè)計與實現(xiàn) [J].鐵道通信信號,2021,57(1):72-76.

[5] 張秀.CAN總線協(xié)議與自動化測試系統(tǒng)的設(shè)計分析 [J].今日制造與升級,2023(7):60-63.

[6] 賈占強,梁保衛(wèi),王江輝,等.基于多信號流圖模型的典型無人機測控系統(tǒng)測試性優(yōu)化設(shè)計方法研究 [J].測控技術(shù),2022,41(6):26-32.

[7] 張強,黃家成,趙文俊,等.某型機載通信對抗設(shè)備自動測試系統(tǒng)設(shè)計與實現(xiàn) [J].測控技術(shù),2021,40(12):51-58.

[8] 申宇皓,馬春雷.系統(tǒng)級可測試性設(shè)計 [J].華北工學(xué)院學(xué)報,2004(5):348-352.

[9] 溫熙森,胡政,易曉山,等.可測試性技術(shù)的現(xiàn)狀與未來 [J].測控技術(shù),2000(1):9-12.

[10] 張延欣,吳濤,王明濤.系統(tǒng)工程學(xué) [M].北京:氣象出版社,1997.

作者簡介:鄒海蓉(1973—),女,漢族,上海人,副高級工程師,碩士,研究方向:醫(yī)療影像設(shè)備系統(tǒng)。

托克托县| 芜湖县| 巴林右旗| 太康县| 资中县| 扎赉特旗| 维西| 读书| 临城县| 青川县| 烟台市| 拉孜县| 龙江县| 金沙县| 台安县| 佛冈县| 诸暨市| 兴山县| 阿图什市| 石台县| 兰西县| 安阳市| 台东县| 鄂伦春自治旗| 长顺县| 四川省| 黔江区| 汝城县| 漳州市| 萝北县| 海兴县| 五台县| 宜州市| 桦南县| 洱源县| 卢湾区| 丘北县| 安图县| 扶沟县| 昂仁县| 左贡县|