這篇文章討論了機(jī)器人高級軟件設(shè)計(jì)、測試機(jī)器人軟件組件的方法以及要執(zhí)行的各種測試類型。在這篇文章中,我旨在揭穿如何進(jìn)行機(jī)器人軟件測試。 點(diǎn)贊,收藏,關(guān)注帶你了解科技領(lǐng)域最新的技術(shù)與產(chǎn)品。 ...
這篇文章討論了機(jī)器人高級軟件設(shè)計(jì)、測試機(jī)器人軟件組件的方法以及要執(zhí)行的各種測試類型。在這篇文章中,我旨在揭穿如何進(jìn)行機(jī)器人軟件測試。
點(diǎn)贊,收藏,關(guān)注帶你了解科技領(lǐng)域最新的技術(shù)與產(chǎn)品。
機(jī)器人涉及復(fù)雜的微處理器、嵌入式系統(tǒng)和多樣化的軟件堆棧。軟件質(zhì)量工程師在測試這些復(fù)雜的軟件組件以確保無縫功能和性能方面發(fā)揮著關(guān)鍵作用。我將探討在機(jī)器人領(lǐng)域中使用的不同軟件堆棧,并闡明軟件質(zhì)量工程師在這個(gè)充滿活力和不斷發(fā)展的領(lǐng)域中使用的重要測試方法。
機(jī)器人軟件設(shè)計(jì)在機(jī)器人領(lǐng)域,軟件設(shè)計(jì)的關(guān)鍵要素是硬件、微處理器、嵌入式系統(tǒng)、傳感器和軟件。軟件部分在很大程度上依賴于以上所有組件的性能。為了更詳細(xì)地介紹軟件設(shè)計(jì),它可以包括從低層平臺和內(nèi)核設(shè)計(jì)到中間件層再到更面向用戶的應(yīng)用程序?qū)用娴脑S多內(nèi)容。了解這些層次對于為這些組件編寫測試自動化設(shè)計(jì)非常關(guān)鍵。
平臺層這是構(gòu)建核心平臺組件的地方。這是最低級別的組件,建立在ROS(機(jī)器人操作系統(tǒng))之上。ROS命令被廣泛用于向機(jī)器人發(fā)出移動命令以及增加或減少速度和靈活性。這一層非常關(guān)鍵,所有頂層組件最終都會調(diào)用該層進(jìn)行設(shè)備的實(shí)際運(yùn)動。
移動層這是平臺層與中間件層之間的交互層。它提供一系列可由各種頂級客戶端調(diào)用的RESTful應(yīng)用程序,它們將命令傳遞給平臺層以進(jìn)行轉(zhuǎn)換為運(yùn)動命令。
中間件層這是上層客戶端與底層平臺層之間的中間層,它作為連接器橋梁的作用。所有前端應(yīng)用程序都通過內(nèi)部IP連接與該層通信,該層不斷監(jiān)視機(jī)器人的各種狀態(tài),例如閑置、運(yùn)動、轉(zhuǎn)向等。
前端/用戶界面層這些是前端用戶界面應(yīng)用程序。以智能家居機(jī)器人為例,用戶界面應(yīng)用程序可以是主頁應(yīng)用程序、日歷應(yīng)用程序或用于控制設(shè)備設(shè)置的默認(rèn)應(yīng)用程序。還包括與OK Google或Amazon Alexa等語音助手的集成。
如何處理這個(gè)軟件堆棧的測試應(yīng)該對所有單獨(dú)的層進(jìn)行測試,并且需要進(jìn)行大量的端到端(End-to-End)測試,其中包括同時(shí)測試所有三個(gè)層。
第二類測試是對產(chǎn)品性能進(jìn)行測試。這也是至關(guān)重要的,因?yàn)槿魏涡阅懿患训南M(fèi)者機(jī)器人都不理想。在說完這些之后,我將幫助您分解如何開始進(jìn)行軟件測試自動化的組成部分。
機(jī)器人軟件測試功能測試自動化方法在這里,我們將看到如何為驗(yàn)證功能而進(jìn)行測試自動化。正如我之前提到的,測試可以并且應(yīng)該在上述各個(gè)層次進(jìn)行??傮w功能測試可以分為兩個(gè)主要部分。
組件測試端到端測試組件測試以下是組件測試用例的一些示例。這些測試旨在覆蓋對每個(gè)組件的深度測試。一些組件測試方案的示例包括但不限于:
平臺層:安全功能的測試。機(jī)器人不應(yīng)對用戶造成傷害,必須遵守安全條件。溫度測試。設(shè)備使用時(shí)溫度值如何增加?傳感器讀數(shù)、數(shù)值、圖像處理等。移動層:捕捉移動速度、加速度和轉(zhuǎn)彎半徑。在預(yù)定義或未知區(qū)域中導(dǎo)航。中間件層:低層級和高層級組件之間的連接。日志記錄、錯(cuò)誤處理和報(bào)告。前端應(yīng)用程序?qū)樱汉w用戶與機(jī)器人交互的各種場景。端到端測試,即E2E測試有一個(gè)誤解,開發(fā)人員經(jīng)常得出結(jié)論說組件已經(jīng)進(jìn)行了最大深度的測試,這就是為什么我們需要在E2E測試中投入時(shí)間的原因。事實(shí)上,我們不會將組件單獨(dú)發(fā)送給最終客戶。發(fā)送的是整個(gè)機(jī)器人,其中集成了所有組件。在這一層進(jìn)行測試非常關(guān)鍵,不能跳過,例如對于家用吸塵器機(jī)器人的測試。
機(jī)器人能否從起居室導(dǎo)航到廚房?機(jī)器人是否能返回充電器?機(jī)器人在移動時(shí)是否會碰到我的貓?這些只是示例,但這是最難在封閉和清潔的測試環(huán)境下自動化和測試的部分。這對于識別軟件中的錯(cuò)誤很關(guān)鍵。
性能測試自動化方法如果產(chǎn)品具有眾多的很酷功能但性能差勁,則毫無意義。因此,專注于在性能層次上對軟件和硬件組件進(jìn)行測試非常重要。
性能測試旨在獲得軟件的延遲和可靠性。延遲是執(zhí)行操作所花費(fèi)的時(shí)間,用百分位表示。機(jī)器人的最高速度的Tp90為0.2米/秒。響應(yīng)移動命令的Tp95為500毫秒。這些與某些標(biāo)準(zhǔn)KPI(關(guān)鍵性能指標(biāo))相比較,以衡量產(chǎn)品的性能質(zhì)量。
可靠性非常直觀,顧名思義是我的軟件在一段時(shí)間內(nèi)的可靠性如何。
接下來是什么?希望您對機(jī)器人的軟件設(shè)計(jì)和不同的測試方法有了基本了解。在我即將發(fā)布的文章中,我將深入探討各種測試自動化技術(shù),并提供一些實(shí)際示例。