鑒源論壇·觀通丨軌交軟件測試技術詳述

作者 |?劉艷青 上海控安安全測評部測試經理

版塊 |?鑒源論壇 · 觀通

社群 |?添加微信號“TICPShanghai”加入“上海控安51fusa安全社區”

01

集成測試技術要求

1.1 總體要求

·?對軟件集成測試進行靜態測試應先于動態測試;

· 集成過程是動態進行的,在測試計劃中須明確集成策略;

·?建立集成測試環境并通過測試組確認;

·?應逐項測試技術文檔中明確的軟件組件的功能、接口等特征;

·?軟件組件功能特征應需要被正常和異常的測試用例覆蓋;

·?應測試軟件單元和軟件部件之間的所有調用,達到要求的測試覆蓋率;

·?應測試軟件部件的輸出數據及格式、部件之間及部件與硬件之間的接口;

·?對安全性關鍵的軟件部件,應對其進行安全性分析,明確每一個危險狀態和導致危險的可能原因,并對此進行針對性的測試。

1.2 集成測試-功能測試

·?部件(或單元)間接口數據傳遞和返回結果的正確性;

·?部件組裝后,部件功能的正確性;

·?全局數據結構的正確性。

1.3 集成測試-接口測試

·?軟件(或單元)間接口數據流的正確性;

·?數據通過接口是否丟失;

·?軟件(或單元)間是否相互存在影響;

·?全局數據結構是否存在問題。

1.4 集成測試-邏輯測試

單元調用關系上的覆蓋測試,要求調用覆蓋率和功能覆蓋率都應達到全覆蓋。即測試應覆蓋到每個單元均被調用過(主函數除外),且功能實現均完全覆蓋。

1.5 集成測試-結束準則

·?軟件代碼滿足軟件需求規格說明、設計說明中各部件的功能、性能要求;

·?軟件單元(或部件)無錯誤連接,集成為配置項;

·?接口正確;

·?質量保證完成對內部測試的文檔、程序是否符合規范的要求等符合性檢查;

·?集成測試文檔、記錄、代碼等配置項進入受控庫。

02

配置項合格性測試的要求

2.1 總體要求

·?在控制流圖中作結構覆蓋測試;

·?應逐項測試需求規格說明書中列出的配置項,以及配置參數所實現的功能、性能等特性;

·?配置項的每個功能特性應至少用一個正常的測試用例和一個異常的測試用例驗證并覆蓋;

·?配置項的每個性能特性應多次進行測試,取測試結果的最大值、最小值和平均值進行評估;

·?測試用例設計時,應考慮輸入有效等價類值、輸入無效等價類值以及上下邊界值;

·?應測試配置項的輸出及其格式;

2.2 文檔審查

· 文檔的完整性:主要審查文檔是否符合軟件任務書以及軟件工程化要求中規定的軟件文檔。

· 文檔的一致性:主要審查文檔內容、文檔之間內容的一致性和覆蓋完整性。

· 文檔的準確性:主要審查文檔內容的描述是否符合任務要求、文檔對功能、性能、接口以及安全性等方面的描述的正確性。

· 文檔符合標準:主要審查文檔與規范要求的格式的一致性、與規范中要求內容的一致性和正確性等。

2.3 配置項合格性測試-靜態分析

靜態分析宜借助靜態分析工具開展。根據軟件編程語言的具體特點制定度量元。

03

動態測試的要求

3.1 功能測試

功能測試是對軟件需求規格說明書中的功能項進行遍歷的測試,以驗證軟件是否滿足需求。功能測試一般可以分為如下情況:

·?用正常值等價類進行輸入的正常測試;

·?用非正常等價類進行輸入的異常測試;

·?對每個參數的邊界值測試,可以分為正常邊界值、異常邊界值,上邊界、下邊界等;

·?用正確的數據類型不斷加壓運行,測試閾值;

·?在配置項測試時對配置項的邏輯等進行驗證。

3.2 性能測試

性能測試一般包括:

·?測試在獲得定量結果時程序計算的精確度(處理運算的精度);

·?測試其時間特性和完成運行所需的時間(響應時間);

·?測試為完成功能所處理的數據量(容量);

·?測試程序運行所占用的空間;

·?測試其負荷潛力;

·?測試配置項各部分的協調性;

·?在系統測試時測試軟件和硬件結合時,系統的運行性能;

·?在系統測試時測試系統對并發任務的處理能力。

注:性能測試過程中不能改變被測軟件的運行邏輯、運行計算以及時序等,可通過外部信號進行監測,必要時可在程序中進行插樁,插樁代碼不應影響程序的性能指標。

3.3 接口測試

對于接口的測試,應根據接口的具體情況分別對待,如硬件接口,應對硬件接口的每個指標進行測試,例如對RS422接口的測試,應對波特率、數據位、奇偶校驗、停止位以及運行周期等進行測試,以檢驗是否滿足設計的要求。如對軟件內部數據接口的測試,應對軟件的數據傳遞類型、數據范圍等進行測試,以檢驗內部數據接口滿足設計的情況。

3.4 邊界測試

邊界測試一般包括:

·?軟件的輸入和輸出邊界或端點的測試;

·?狀態轉換的邊界或端點的測試;

·?功能界限的邊界或端點的測試;

·?性能界限的邊界或端點的測試;

·?容量界限的邊界或端點的測試。

注:邊界測試的數據選擇主要針對測試過程中的輸入數據,選擇輸入數據的要求一般選擇在數據有效范圍的邊界和端點,如輸入數據a的類型為整型,取值范圍為(0,100),(300,500),則最少選擇的邊界數據為12個,即每個端點處至少選擇3個邊界數據;如輸入數據b為狀態參數,應選擇b狀態的幾個邊緣點進行測試;如測試的對象為性能測試,則測試處最大性能參數與最小的性能參數;如測試對象為容量界限,一般選擇測試運行內存內容。對于性能測試和容量測試時,須對軟件進行邏輯、功能、性能分析后進行邊界測試用例的設計。

3.5 人機交互界面測試

人機交互界面測試用例設計應保證對設計中所有的正確的要求進行用例設計和測試,其次,應對未對保護的工作邏輯進行測試。人機交互界面中存在輸入輸出數據時,同時考慮對輸入輸出數據的功能性測試、邊界測試等。

3.6 恢復性測試

恢復性測試的具體要求如下:

·?應對軟件出現故障后通過容錯措施恢復正常工作的能力進行測試;

·?應對軟件失效后通過自復位或備機切換等措施等恢復繼續工作的能力進行測試;

·?應對系統失效后重新運行時軟件依據記錄數據恢復續接式作業工作的能力進行測試;

·?恢復性測試可結合其它測試類型一起進行,如:安全性測試、功能測試、性能測試等。

注:恢復性測試一般僅僅針對軟件或系統重新運行不會對整個系統造成影響的情況方才具備該測試類型,一般要求在運行過程中停止運行、條件觸發復位等各項操作,測試復位并重新啟動后,軟件對系統的影響以及自身的運行情況的測試。

3.7數據處理測試

數據處理測試的具體要求如下:

·?應對數據文件的存取、數據庫的存取、數據格式的轉換等專門數據處理功能進行測試;

·?對數據庫應用軟件、數據采集軟件、產生大量數據文件的軟件等應進行數據處理測試;

·?數據處理測試可結合其它測試類型一起進行,如:功能測試、性能測試、接口測試等。

數據處理測試一般包括:數據采集功能的測試;數據融合功能的測試;數據轉換功能的測試;剔除壞數據功能的測試;數據解釋功能的測試。

數據處理測試一般關注數據計算過程的邏輯、計算的正確性,在具備標準數據的輸入、輸出時,可采用動態測試的方式實現,否則一般以代碼審查的方式審查代碼與模型的一致性。

3.8 安裝性測試

安裝性測試的具體要求如下:

·?應對應用軟件安裝到應用系統中的操作過程進行測試,驗證安裝過程的正確性;

·?應驗證安裝過程與產品規格說明或用戶手冊中所說明的安裝步驟是否文實一致;

·?應對軟件卸載過程進行測試,測試卸載后系統中的軟件痕跡是否徹底清除干凈;

·?對適用于多種操作系統或多種系統配置的軟件,應進行各種環境下的安裝測試。

對于嵌入式軟件一般不進行安裝性測試,安裝性測試針對的主要是以安裝包的形式提交產品庫的要求時進行測試,主要測試的內容包括測試過程的符合性、安裝過程的符合性以及卸載后是否存在遺留等。

3.9 結束準則

·?軟件滿足軟件需求規格說明中所規定的功能、性能、接口、約束及限制等軟件本身質量特性要求;

·?完成配置項合格性測試報告的編制并通過評審;

·?質量保證完成對配置項合格性測試的文檔、程序是否符合規范的要求等符合性檢查;

·?配置項合格性測試文檔、記錄、代碼等配置項進入受控庫。

04

總 結

本文從集成測試、配置項合格性測試、動態測試等方面介紹了測試的要求、各測試階段應關注的測試內容、以及結束的準則。除以上所提及的測試活動之外,不同的產品或系統,也會對應增加或簡化測試過程,如系統合格性測試、信息安全性等測試活動。從整個開發管理活動來說,還有軟件使用準備、軟件移交準備、軟件驗證等后續管理活動。

參考文獻:

[1] GB-T 15532-2008 計算機軟件測試規范

http://www.doc88.com/p-7394374075165.html

[2] GB T 33783-2017 可編程邏輯器件軟件測試指南

https://wenku.so.com/d/7e5129fc816015b21f1d0f3c901d307b

某軍工企業系統集成類項目管理系統的分析與設計

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/12259.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12259.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/12259.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

圖紙加密軟件是如何實現共享服務器圖紙防泄密?Cad圖紙防泄密廣州廠家

現在企業網絡數據安全的問題已經在社會的發展過程中引起了關注,尤其對研發制造類企業而言,企業設計圖紙的防泄密問題是這些企業在日后工作管理中的重中之重。在當今的互聯網發展形勢下,廣州的制造類設計企業為不讓單位圖紙泄露,也…

CVHub | CVPR 2024 | 英偉達發布新一代視覺基礎模型: AM-RADIO = CLIP + DINOv2 + SAM

本文來源公眾號“CVHub”,僅用于學術分享,侵權刪,干貨滿滿。 原文鏈接:CVPR 2024 | 英偉達發布新一代視覺基礎模型: AM-RADIO CLIP DINOv2 SAM 標題:《AM-RADIO: Agglomerative Vision Foundation Model Reduce Al…

vscode 之 output 輸出中文亂碼,終端輸出中文正常

# 1. 背景 因為沒錢買正版的軟件,所以轉戰 vscode 編譯器。 在編譯 python 文件時,發現直接右鍵 runner code,輸出中文亂碼。 但是在 teiminal 終端 執行py test.py 時,輸出正常,中文正常。 output 輸出中文樣式(中文…

java相等忽略音調

來自百度,親測可用 java相等忽略音調 在Java中,如果你想比較兩個字符串而忽略它們的音調符號,你可以使用java.text.Collator類來進行區域敏感的字符串比較。Collator類提供了根據特定區域的規則進行字符串比較的能力,可以設置忽略音調的選項…

Go微服務: Prometheus性能監控與Grafana平臺的搭建

Prometheus 概述 promethues 是一套開源的監控&報警&時間序列數據庫的組合基本原理是通過http協議周期性抓取被監控組件的狀態適合Docker、Kubernetes環境的監控系統 Promethues 整體架構 一、抓取數據的兩種方式 1 )Short-lived jobs 短暫的任務 不會提…

RedisTemplate操作Redis詳解之連接Redis及自定義序列化

連接到Redis 使用Redis和Spring時的首要任務之一是通過IoC容器連接到Redis。為此,需要java連接器(或綁定)。無論選擇哪種庫,你都只需要使用一組Spring Data Redis API(在所有連接器中行為一致):…

面對.halo勒索病毒,如何有效防范與應對?

導言: 隨著網絡技術的不斷發展,網絡安全問題也日益凸顯。其中,勒索病毒作為一種極具破壞性的網絡攻擊手段,近年來在全球范圍內頻發。其中,.halo勒索病毒作為勒索病毒家族中的一員,其危害性和傳播性不容忽視…

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition 論文閱讀

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition 論文閱讀 Abstract1 Introduction2 Related Work3 Proposed Approach4 Experiments5 Conclusion 文章信息: 原文鏈接:https://ojs.aaai.org/index.php/AAAI/article/view/4…

Flutter 中的 Spacer 小部件:全面指南

Flutter 中的 Spacer 小部件:全面指南 在Flutter布局系統中,Spacer是一個Flex組件,用于占據可用空間,從而推動其他Widget到布局的開始或結束位置。Spacer通常與Row、Column或Flex一起使用,以實現靈活的布局設計。本文…

二叉樹專題(有關二叉樹的相關學習)

二叉樹 1.數概念及結構 1.1樹的結構 樹是一種非線性的數據結構,它是由n(n>0)個有限結點組成一個具有層次關系的集合。把它叫做樹是因 為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。 有一個特殊的結…

ollama離線部署llama3(window系統)

首先介紹下ollama是什么?Ollama是一個開源的大型語言模型服務工具,旨在為用戶提供本地化的運行環境,滿足個性化的需求。具體來說,Ollama是一個功能強大的開源框架,可以簡化在Docker容器中部署和管理大型語言模型&a…

【C++】內聯函數、auto、范圍for

文章目錄 1.內聯函數2.auto關鍵字2.1auto簡介2.2auto的注意事項2.3auto不能推導的場景 3.基于范圍的for循環(C11)4.指針空值nullptr(C11) 1.內聯函數 概念: 以inline修飾的函數叫做內聯函數,編譯時C編譯器會在調用內聯函數的地方展開,沒有函…

商場綜合體能源監管平臺,實現能源高效管理

商場作為大型綜合體建筑,其能源消耗一直是備受關注的問題。為了有效管理商場能耗,提高商場能源效率,商場綜合體能源監管平臺應運而生。 商場綜合體能源監管平臺可通過軟硬件一起進行節能監管,硬件設備包括各種傳感器、監測儀表和…

Matter 1.3版標準新出爐,支持更多智能家居/家電/能源等設備

5月8日,CSA連接標準聯盟正式發布了Matter 1.3標準,過去CSA一直保持約每六個月一次的標準更新節奏。 圖源CSA連接標準聯盟官方 獲得一系列改進的Matter 1.3標準,將提升設備的互操作性,擴展支持的設備類別,并增強整個智…

Android 幾種系統升級方式詳解

目錄 ◆ 概述 ● 幾種啟動模式 ● MISC分區 ● CACHE分區 ● 幾種系統升級方式 ◆ Recovery升級 ● 升級包構成,簽名,制作 ● 升級腳本 ● 升級過程 ◆ OTA升級 ● 升級包構成,制作 ● 升級腳本 ● 升級過程 ◆ fastboot升級 ◆ ADB升級 幾…

【研發日記】Matlab/Simulink技能解鎖(七)——兩種復數移相算法

復數移相,也稱為復數相位旋轉,就是在原有復數的基礎上,不改變模數,只把相位角做一定的偏移。 文章目錄 前言 三角函數移相 復數乘法移相 分析和應用 總結 前言 見《【研發日記】Matlab/Simulink技能解鎖(二)——在Function編…

(三)Spring教程——依賴注入與控制反轉

Spring框架是為了簡化企業級應用開發而創建的,其強大之處在于對Java SE和Java EE開發進行全方位的簡化,Spring還對常用的功能進行封裝,可以極大地提高Java EE的開發效率。 依賴注入是Spring的核心技術之一,也被稱為“控制反轉”&a…

【Linux】自動化編譯工具——make/makefile(超細圖例詳解!!)

目錄 一、前言 二、make / Makefile背景介紹 🥝Makefile是干什么的? 🍇make又是什么? 三、demo實現【見見豬跑🐖】 四、依賴關系與依賴方法 1、概念理清 2、感性理解【父與子👨】 3、深層理解【程序…

【JavaEE】HTTP 協議

文章目錄 一、HTTP 協議1、HTTP 是什么2、理解 "應用層協議"3、理解 HTTP 協議的工作過程4、HTTP 協議格式5、HTTP 請求 (Request)5.1 認識 URL 6、 二、HTTPS1、HTTPS是什么2、"加密" 是什么3、HTTPS 的工作過程3.1 對稱加密3.2 非對稱加密3.3 證書3.4 完…

零樣本身份保持:ID-Animator引領個性化視頻生成技術新前沿

在最新的研究進展中,由Xuanhua He及其團隊提出的ID-Animator技術,為個性化視頻生成領域帶來了突破性的創新。這項技術的核心在于其零樣本(zero-shot)人物視頻生成方法,它允許研究者和開發者根據單一的參考面部圖像生成…