汽車EBSE測試流程分析(一):汽車軟件測試的特征和問題
內容提要:此文為該連載系列的“第一”篇章,闡述了汽車軟件工程的特點,并具體分析了使用混合方法設計的分階段基于證據的測試過程以及每個步驟中提出的研究問題。
摘要
背景:基于證據的軟件工程(EBSE:Evidence Based Software Engineering)提供了一種基于嚴格審查方法解決實際問題的過程。重點是通過系統性的評審映射和匯總證據。
目標:通過在項目案例中使用EBSE流程,擴展現有的基于證據的軟件工程工作,從而幫助組織改進其測試流程。并使用基于證據的流程,來分析實際汽車測試流程的經驗,為汽車軟件測試過程的挑戰提供相關解決方案。
方法:在本專題連載中,我們使用擴展的EBSE過程對汽車軟件測試過程進行了深入調查,包括案例研究(了解實際問題以定義研究范圍)、系統文獻綜述(通過系統文獻確定解決方案)和價值流圖(根據當前情況和確定的改進建議制定改進的汽車測試流程)。隨后是對所用EBSE流程的回顧。
結果:在EBSE過程的第一步中,我們確定了26個獨立挑戰中的10個。然后對26個挑戰中的15個,針對特定領域的系統文獻評審確定了解決方案。基于挑戰和解決方案的輸入,我們創建了當前和未來流程的價值流圖。
結論:總的來說,我們發現本專題連載中提出的基于證據的測試過程,有助于研究成果向產業的技術轉移,但同時也面臨一些挑戰(例如,確定系統評審的范圍以更多地關注具體的行業問題,以及了解實施EBSE的策略與努力和證據質量有關)。
EBSE專題連載共分為“五個”篇章。此文為該連載系列的“第一”篇章,闡述了汽車軟件工程的特點,并具體分析了使用混合方法設計的分階段基于證據的測試過程以及每個步驟中提出的研究問題。
1.簡介
基于證據的軟件工程包括以下步驟:1) 確定對信息(證據)的需求并提出問題,2) 追蹤最佳證據來回答問題并批判性地評價證據,3) 批判性地反思所提供的證據,這些證據應該有助于解決問題和背景。總的來說,目的是支持在工作中遇到問題的從業者,就如何依靠證據解決問題做出良好的決定。
在軟件工程中,兩種識別和聚合證據的方法(系統圖和系統評審)受到了廣泛關注,這在大量系統評審和出版的涵蓋各個領域的圖中可以看出。這包括非常具體和范圍廣泛的問題(例如,公司內部與跨公司成本估計)到非常一般的問題(如我們對軟件生產力測量或配對編程的了解)。到目前為止,還沒有人使用基于證據的測試過程來解決工業案例中提出的具體問題,然后嘗試通過基于證據的測試過程為該具體問題/案例提供解決方案。我們通過使用基于證據的測試過程來分析汽車軟件測試過程,擴展了基于證據的軟件工程的現有工作。
本專題連載的第一個貢獻是在工業案例中展示基于證據的測試過程的使用,反映了使用該流程對公司的改進。該過程是一個分階段的過程,后續階段使用先前階段的輸入,從而提供從實際挑戰到改進建議的可追溯的整體圖景。步驟是:確定需要解決的信息/問題(通過案例研究);確定解決方案并對其進行批判性評估(通過系統的文獻綜述);批判性地反思與問題有關的解決方案,并將其映射以解決問題(通過價值流映射);對EBSE過程的反思。
第二個貢獻是深入了解汽車軟件測試過程的現狀(優勢和劣勢),并根據文獻中提供的證據定義目標過程。換句話說,它展示了基于文獻證據的改進的汽車軟件測試過程的樣子。有必要更好地理解和解決與汽車領域軟件測試相關的挑戰,并確定汽車公司可以使用哪些解決方案來應對這些挑戰,由于汽車軟件工程的特定領域特征,這一點尤為重要。
本專題連載的其余部分結構如下:第2節介紹了相關工作,闡述了汽車軟件工程的特點。第3節介紹了使用混合方法設計的分階段基于證據的測試過程,以及每個步驟中提出的研究問題。第4至7節介紹了本研究中提出的EBSE過程的不同階段及其結果。第8節介紹了有效性威脅。此后,第9節討論結果,然后是第10節的結論。
2.相關工作
本章闡述汽車軟件工程領域軟件測試解決方案的信息和挑戰。
2.1.汽車軟件工程-表征領域
特征1-異構子系統:許多不同類型的系統(例如多媒體、遠程信息處理、人機界面、車身/舒適軟件、安全電子軟件、動力傳動系和底盤控制軟件以及基礎設施軟件)是當今制造的汽車的一部分。它們高度異質,因此沒有標準,而是采用非常不同的方法、過程和工具。
特征2-組織單位劃分明確:從歷史上看,汽車行業的特點是垂直組織的單位負責汽車的不同配件。然后組裝起來。鑒于軟件更加復雜,需要實現系統之間的通信,集成成為一個挑戰。一個普遍的(但在汽車系統中被放大的)挑戰是,鑒于缺乏完善的標準,供應商可以自由地實現他們的解決方案。因此,非常需要在許多不同的利益相關者之間進行溝通。鑒于涉及的利益相關者數量眾多,新需求的來源也很多,這導致需求波動。
特征3-軟件分布:以前不相關的機械功能,現在由于軟件的引入而相關(例如,駕駛任務與舒適性和信息娛樂交互)。分發要求不同的功能單元通過中間件/總線進行交互。此外,汽車中嵌入了多個實時和操作系統。這增加了復雜性,并可能導致無意或有意的特征交互,從而使質量保證更加困難。
特征4-高度可配置的系統:汽車軟件是高度可配置的。有人統計一輛汽車有80多個電子配件,這必須反映在軟件中,他們還報告了具有3488種不同組件實現的組件。此外,配置隨時間變化并具有不同的生命周期。硬件配置可能比電子單元及其各自的軟件實現,具有更長的生命周期。這導致汽車中存在許多不同版本的軟件,從而導致兼容性問題。
特征5-成本壓力和對基于單元的成本模型的關注:汽車領域的特點是成本壓力,并且非常關注基于單元的成本模型。優化單元成本(例如,通過針對特定處理器或受其容量限制的內存定制軟件)會在以后導致問題,例如,在移植或擴展/維護該軟件時。
2.2.汽車軟件測試
已經發現,從行業收集的關于汽車領域如何執行測試過程的證據很少,并且沒有評估這方面的挑戰。此外,測試過程、方法、工具和技術與測試管理和版本管理之間的交互是不為人知的。需要在實時約束下盡早地在多個集成級別上進行測試,這對正在使用的測試過程和程序提出了很高的要求。研究人員確定了量化汽車環境中測試活動的質量保證的必要性。有人對如何在汽車環境中執行與發布過程相關的系統測試進行了詳細研究,并確定了這方面的幾個挑戰。此外,他們觀察到需要對具有改進潛力的區域進行詳細辨別和優先排序。但是,還沒有人從汽車軟件環境中的過程改進這一角度,深入關注整個測試過程中的優勢和挑戰。
因此,需要深入了解該領域的挑戰,并探索哪些解決方案可用于應對這些挑戰,并將這些解決方案映射到軟件測試過程。
3.基于證據的軟件工程流程案例
在基于證據的軟件工程(EBSE)中,應根據證據選擇實際問題的“最佳”解決方案。EBSE包括以下步驟:1) 確定對信息(證據)的需求并提出問題,2)追蹤“最佳”證據來回答問題,并批判性地評價證據,3)批判性地反思所提供的關于證據應該有助于解決的問題和背景的證據。最后(第4步),應嚴格評估基于證據的測試過程(第1-3步)。
在以前的工作中,EBSE的步驟是孤立進行的,例如調查挑戰和問題的案例研究,進行系統評審以回答問題,并對解決方案進行評估等。
在本專題連載中,我們使用多階段EBSE過程,其中后續階段建立在先前階段的基礎上(見圖1)。此外,為了系統地縮小Step 1(確定對信息(證據)的需求并提出問題)和Step 2(追蹤“最佳”證據來回答問題,并批判性地評估證據)的結果之間的差距。在基于證據的測試過程中,我們在Step 3中使用了價值流分析(批判性地反思所提供的關于證據應該有助于解決的問題和背景的證據)。

圖1:分階段EBSE過程
總體目標是在汽車軟件工程的背景下改進軟件測試過程。目標如下:
EBSE Step 1:首先,我們需要深入了解測試過程的挑戰和優勢,以解決正確的問題。案例研究適合深入了解現實世界的情況和過程。案例研究中提出的研究問題如下:
? RQ1:哪些測試實踐可以被視為汽車領域的優勢?通過這個問題提供了在測試過程中充當優勢的活動清單。這是從訪談獲得的定性數據中提取的。
? RQ2:在測試汽車系統時發現的挑戰/瓶頸是什么?收集了在測試過程中作為初始質量障礙的挑戰或表現不佳的實踐清單,來回答這個問題。
EBSE Step 2:在下一步中,我們通過特定領域的系統審查確定了有助于解決與汽車軟件測試相關的挑戰(EBSE Step 1)的解決方案。我們出于多種原因進行了特定領域的系統審查。首先,汽車領域具有與其他領域不同的特定特征。因此,領域上下文中解決方案的發現更有可能是可轉移的。其次,鑒于對整個測試過程進行了研究,評審的范圍將無法管理,我們將無法為解決方案提供及時的輸入。EBSE Step2的結果可以看作是解決方案的清單,在此基礎上可以提出改進建議。來自EBSE Step 1的與強度相關的結果添加到該清單中。
? RQ3:基于實踐經驗建議對汽車測試過程進行哪些改進?
EBSE Step3:根據優勢和挑戰的詳細定義,以及我們使用價值流分析的解決方案。選擇價值流分析作為分析方法的原因如下。首先,價值流圖區分當前狀態圖,其中分析當前情況的價值(什么運作良好并為客戶增加價值)和浪費(對客戶價值沒有直接或間接貢獻的東西)和未來狀態圖(基于改進的過程的期望映射)。因此,當前狀態圖使用案例研究作為輸入,而未來狀態圖使用案例研究和系統審查來繪制所需的過程,代表向從業者提供如何進行測試過程的基于證據的建議。其次,價值流圖起源于汽車領域,這使得它在所研究的環境中的使用變得容易。然后回答以下問題:
? RQ4:考慮到EBSE Step 1中確定的流程活動、優勢和劣勢,流程中的價值和浪費是什么?
? RQ5:基于EBSE Step 2中確定的解決方案,當前價值流圖所代表的流程應該如何改進?
EBSE Step 4:在最后一步中,我們反思基于證據的測試過程在改進軟件工程當前實踐中的使用。
? RQ6:使用基于EBSE過程的混合方法,哪些方面運作良好?如何改進該過程?
更多內容,請關注“汽車EBSE測試流程分析(二):Step 1關于優勢和挑戰的案例研究”,關注牛喀網,學習更多汽車科技。有興趣的朋友,可以添加牛小喀微信:NewCarRen,加入專家社群參與討論。
文末福利!
軟件靜態和動態代碼測試工具免費試用申請,掃碼添加牛小喀企業微信,回復"軟件測試"


作者:牛喀網專欄作者
牛喀網文章,未經授權不得轉載!
