張 懿劉 焰
(1.江蘇省軟件產品檢測中心 南京 210003)(2.上汽集團 南京 211100)
全球工業(yè)智能化的發(fā)展,國內相繼提出了“中國制造 2025”[1]和“互聯(lián)網(wǎng)+”[2]的發(fā)展規(guī)劃。制造業(yè)和互聯(lián)網(wǎng)行業(yè)的跨界產物-智能網(wǎng)聯(lián)汽車,國內對其的定義為:搭載先進的車載傳感器、控制器、執(zhí)行器等裝置,融合現(xiàn)代通信與網(wǎng)絡技術,實現(xiàn)車與人、車、路、后臺等在內的智能信息交換共享,具備復雜的環(huán)境感知、智能決策、協(xié)同控制和執(zhí)行等功能,并可最終替代人類操作的新一代汽車。目前,我國智能網(wǎng)聯(lián)汽車的測試還處于起步階段,首個“國家智能網(wǎng)聯(lián)汽車(上海)試點示范區(qū)”封閉測試區(qū)已由工信部批準在上海嘉定正式開園;“智能網(wǎng)聯(lián)汽車產業(yè)技術聯(lián)合創(chuàng)新中心”也正在籌建中[3];中國軟件評測中心已經(jīng)著手智能網(wǎng)聯(lián)汽車的測試工作。
智能網(wǎng)聯(lián)汽車的開發(fā)中已經(jīng)采用傳統(tǒng)軟件開發(fā)中使用的V模型,而在系統(tǒng)開發(fā)的每個階段都進行相應的測試是實現(xiàn)V模型開發(fā)的前提[4]。智能網(wǎng)聯(lián)汽車作為繼電腦、手機、平板后的第四個可大規(guī)模擴展應用的終端,除了實現(xiàn)自身的汽車駕駛功能以外,還附加了許多其他的功能,這就導致了智能網(wǎng)聯(lián)汽車測試中需要數(shù)量極其龐大的測試用例。這些測試用例除了要覆蓋所有的功能點以外,還需要滿足智能網(wǎng)聯(lián)汽車的行業(yè)標準和規(guī)范以及安全需求。
針對智能網(wǎng)聯(lián)汽車實現(xiàn)汽車駕駛功能方面的測試,除了在單元測試階段由內部測試人員進行基本白盒測試以外,在系統(tǒng)測試階段還應該引進第三方測試機構借助LDRA Testbed等白盒測試工具進行嚴格的代碼級安全測試,完成100%的語句覆蓋,分支覆蓋和MCDC覆蓋。而由汽車產業(yè)軟件可靠性協(xié)會(MISRA)提出的C語言開發(fā)標準MISRA C是一個已經(jīng)被作為工業(yè)標準的以“安全第一”為目的的C編程規(guī)范。通常認為,如果能夠完全遵守MISRA C標準中包括的127條C語言編碼標準,則C代碼是易讀、可靠、可移植和易于維護的。軟件開發(fā)和測試中均應遵從MISRA C標準,才能在代碼層面保證智能網(wǎng)聯(lián)汽車的駕駛安全。
智能網(wǎng)聯(lián)汽車由于與智能交通密不可分的關聯(lián),對移動通訊和大數(shù)據(jù)分析方面提出了更高的要求。智能網(wǎng)聯(lián)汽車由于時時刻刻處于車聯(lián)網(wǎng)系統(tǒng)中,既上傳自身行駛數(shù)據(jù)和車輛情況,也查看車聯(lián)網(wǎng)系統(tǒng)中其他智能網(wǎng)聯(lián)汽車的數(shù)據(jù)并給駕乘人員提供行駛建議,這就對智能網(wǎng)聯(lián)汽車網(wǎng)絡部分的性能和壓力測試提出了需求。在以往的軟件測試中,一些內部使用,用戶數(shù)量并不多的軟件系統(tǒng)跳過了性能和壓力測試,直接進行驗收交付,但是在智能網(wǎng)聯(lián)汽車測試領域,性能和壓力測試是在進入交付環(huán)節(jié)前必須完成的工作,這是實現(xiàn)智能、網(wǎng)聯(lián)的前提和基礎。
智能網(wǎng)聯(lián)汽車的安全性測試主要體現(xiàn)在以下幾個方面:1)智能網(wǎng)聯(lián)汽車駕駛身份識別;2)網(wǎng)絡通信中隱私信息的防竊??;3)車載應用系統(tǒng)中交易和支付的安全性;4)智能網(wǎng)聯(lián)汽車系統(tǒng)的防病毒破壞及系統(tǒng)自恢復能力。
智能網(wǎng)聯(lián)汽車和以智能網(wǎng)聯(lián)汽車為核心的智能交通系統(tǒng)已經(jīng)是公認的解決汽車產業(yè)高速發(fā)展和保有量激增與交通安全和交通行為效率等矛盾的根本途徑。智能網(wǎng)聯(lián)汽車涉及人-車-環(huán)境閉環(huán)系統(tǒng)[4],如圖1所示,三者互相影響,其復雜程度遠超汽車本身和單車行駛情況。
圖1 人-車-環(huán)境三者互相影響
模擬仿真技術早已成為汽車產品研發(fā)的重要手段之一,而在測試領域還未廣泛應用,現(xiàn)階段大多數(shù)的測試基于實驗場地居多,不僅成本高、開發(fā)周期長、可重復性差,且在測試階段往往具有較高的危險性。比較知名的配有虛擬實驗場景的車輛仿 真 軟 件 主 要 有 Carsim、Prescan、Pro-SiVIC、IPG-CarMaker、Dspace ASM等,這些軟件都具有各自的仿真?zhèn)戎亟嵌龋?]。其中,Dspase ASM已經(jīng)包含了環(huán)境模塊ASM Traffic,對確定性的交通情況的模擬已經(jīng)能夠基本實現(xiàn),但是定義過程復雜且不具備交互能力,難以滿足隨機場景的測試需求??梢哉f真正滿足對包含人-車-環(huán)境等在內的智能交通系統(tǒng)(ITS)模擬的仿真軟件還尚未成型。目前大多數(shù)的研究都是基于Matlab/Simulink軟件環(huán)境進行建模和仿真計算與驗證。結合模糊控制、自適應模糊PID控制算法[6]、神經(jīng)網(wǎng)絡算法、和虛擬現(xiàn)實技術,開發(fā)更加針對智能化研究和測試需求的仿真系統(tǒng),具有長遠的意義。
2016年上半年上海大眾公布了南京分工廠的先進自動化生產過程,向普通用戶揭開了國內首條機器人生產線的神秘面紗。由工人和上百個機器人的合作,經(jīng)過生產流程:從沖壓-車身-油漆-總裝-四輪定位和燈光檢測-滾軸試驗檢測-高速環(huán)道試車-戶外顛簸路面測試-淋雨測試-報交線-驗收線后,一臺中級車新款帕薩特就可以交付使用了,這是現(xiàn)代科學技術帶給傳統(tǒng)制造業(yè)的驚喜,是生產力上的革命。而在生產設計和汽車概念上的創(chuàng)新當下非智能網(wǎng)聯(lián)汽車莫屬。在智能網(wǎng)聯(lián)汽車不可避免的測試壓力下,如何在汽車生產環(huán)節(jié)就把對汽車的測試融合其中,提高智能網(wǎng)聯(lián)汽車的產量和質量,是未來即將面臨的現(xiàn)實問題。
在智能網(wǎng)聯(lián)汽車的測試過程中,除了代碼階段的白盒測試以外,其他的測試用例均需在每臺智能網(wǎng)聯(lián)汽車上重復執(zhí)行,這項工作如果在生產完成以后由人工完成,不僅延長了交付時間,更需要大量的人力成本。諸如一些涉及自動駕駛功能的測試可以在高速環(huán)道試車和戶外顛簸路面測試階段由自動駕駛機器人測試完成并自動記錄和反饋測試結果。國外駕駛機器人的關鍵技術還處在保密階段,目前擁有該項技術的主要有德國、美國、英國日本[7]。而在2015年11月福特汽車與他們的自主解決方案公司(ASI)已經(jīng)共同研制出了機器人測試員并且已經(jīng)正式對外公布,它可以模擬人類測試員的各種駕駛動作與技巧。在2017年福特生產的F系列將會采用機器人測試員參與到汽車測試工作中來。我國也有自行研制的駕駛機器人,但是在人工智能方面與國外技術相比還有較大差距。
采用駕駛機器人進行測試工作,可以消除人為因素的影響,而且更為規(guī)范與機械化,誤差更小。在效率方面,駕駛機器人可以24小時不間斷的工作,且由于其可編程性,在測試不同車型的時候,只需要更新一下程序即可立即進行測試工作。一部分更為先進的駕駛機器人還帶有自主學習的功能,所有這些技術都大大提升了測試的效率。
機器人雖然在人工智能方面取得了很大的進步并且已經(jīng)在工業(yè)領域逐漸應用和推廣,但是它不具備和人類同等的思維能力,只適合進行大量的重復性較高的測試工作。在智能網(wǎng)聯(lián)汽車的測試過程中,機器人并不能完全替代人類的測試,一些復雜程度較高、前置條件較多的模塊還是需要手工測試。在現(xiàn)階段,智能網(wǎng)聯(lián)汽車隸屬于一個新興的事物,與之相配套的測試技術、測試標準[8]及測試環(huán)境還處于研究探討和實驗性的階段。不過在人工智能迅猛發(fā)展的當下,相信不久的將來機器人能夠取代人工進行更高程度的測試工作。
智能網(wǎng)聯(lián)汽車在測試過程中雖然可以被看做一個大型的移動終端,能夠借用一些其他移動終端的測試方法和測試管理經(jīng)驗,但是由于其交通工具的屬性,決定了它與其他移動終端還是有著比較大的區(qū)別。概括來說智能網(wǎng)聯(lián)汽車是一個涵蓋移動終端功能的交通工具,它的測試很大一部分并不是在PC上完成的,且由于產量產生了巨量的測試工作。這種情況下,測試云的引入對生產企業(yè)來說是一個非常必要的選擇。如圖2所示,智能網(wǎng)聯(lián)汽車生產廠家通過自助測試的方式,分擔了一部分測試壓力,既節(jié)省了成本同時也提高了效率。
圖2 智能網(wǎng)聯(lián)汽車測試云平臺
在配置好環(huán)境,開放好端口后,登陸測試云可隨時隨地進行不間斷的功能和性能測試,獲得實時的、自動的、更加客觀和直觀的測試結果。這些測試結果中不僅僅包括發(fā)現(xiàn)的缺陷,還有診斷和優(yōu)化分析。
智能操作系統(tǒng)上的移動應用由于開發(fā)方普遍規(guī)模較小,沒有很強的安全防護能力,如果不經(jīng)過系統(tǒng)和嚴密的安全測試,很容易影響操作系統(tǒng)安全,嚴重的還會危及智能網(wǎng)聯(lián)汽車的行駛安全。構建智能網(wǎng)聯(lián)汽車測試云上的移動應用安全測試平臺,能夠實時地檢測和分析應用是否被篡改,是否是惡意軟件。對于一些涉及金融的銀行類和支付類軟件來說,這些檢測尤為重要。
智能網(wǎng)聯(lián)汽車測試云除了提供測試服務以外,還可以實現(xiàn)在線監(jiān)測的功能。通過傳感器及網(wǎng)絡通訊服務實時的監(jiān)測智能網(wǎng)聯(lián)汽車的軟硬件工作情況,在隱患發(fā)生時提醒用戶及時校正系統(tǒng)或停止使用汽車。當然,這部分功能的使用必須經(jīng)過用戶的授權。
通過各類測試的智能網(wǎng)聯(lián)汽車并不能直觀的體現(xiàn)其產品質量,可以依據(jù)ISO/IEC 25010質量度量模型[9]對其進行質量評價。如圖3所示,它將軟件質量總結為8大屬性,36個質量子特征屬性:
圖3 ISO/IEC 25010質量度量模型
參考不同學者提出的面向領域的應用軟件評價指標,設計得出智能網(wǎng)聯(lián)汽車評價指標體系,該體系包含6個第一層級評價指標和17個第二層級評價指標[10],如圖4所示:
圖4 智能網(wǎng)聯(lián)汽車軟件質量模型
AUDIT起源于德國,它基于“讓用戶滿意”的思想理念[11],是國際上通用的汽車質量評定、審核方法。AUDIT不是一般意義上的質量符合性檢驗,它站在消費者的立場上,需要判斷是否滿足顧客的需求,缺陷越少越滿意,它促使企業(yè)主動地去滿足顧客需求,是屬于建立在符合性基礎上的適應性檢驗。AUDIT是企業(yè)模擬用戶對自己的產品質量進行內部監(jiān)督的行為,適用于所有批量生產、質量穩(wěn)定的產品,只要是存在著顧客關系的環(huán)節(jié),并且顧客對安全、價格、舒適、環(huán)保等方面有要求的產品和服務,均可采用AUDIT方法來評審其質量。參照6.1中提出的智能網(wǎng)聯(lián)汽車軟件質量模型,其中功能性、安全性、可靠性、易用性、效率五個評價指標與客戶滿意度有比較密切的關聯(lián),可以在達到ISO/IEC 25010質量要求基礎上采用AUDIT評審方法,以此持續(xù)性改進智能網(wǎng)聯(lián)汽車的軟件質量。結合智能網(wǎng)聯(lián)汽車其他環(huán)節(jié)的AUDIT評審需求,可以設計開發(fā)出智能網(wǎng)聯(lián)汽車質量評價系統(tǒng),如圖2所示,在測試云平臺上部署環(huán)境,與智能工廠、智能制造系統(tǒng)協(xié)同工作,可以隨時隨地對質量問題進行追溯,避免了人工主觀因素的影響,極大地提升了智能網(wǎng)聯(lián)汽車的質量改進效率。
智能網(wǎng)聯(lián)汽車的測試是一個結合軟硬件、跨多個領域的復雜過程。自2015年10月全球技術領先的特斯拉公司向其車主推送含Autopilot自動駕駛系統(tǒng)的7.0版本以來,已在全球范圍內發(fā)生多起嚴重事故。智能網(wǎng)聯(lián)汽車的測試之路任重而道遠,它已跨越了傳統(tǒng)測試的范疇,向更廣闊的領域發(fā)展。測試人員應拓寬思維,涉獵工業(yè)自動化控制,傳感器技術,圖像識別,智能交通等方面的知識,為設計出高效實用的測試用例而努力,集眾家之長推進智能網(wǎng)聯(lián)汽車的測試研究和發(fā)展。