就職在一家物聯(lián)網(wǎng)平臺公司,剛?cè)肼毷煜I(yè)務(wù)的時(shí)候負(fù)責(zé)過嵌入式的測試灵嫌。由于嵌入式測試比較偏門,就和大家聊一聊嵌入式測試和常見的軟件測試有什么區(qū)別蛀序。
嵌入式產(chǎn)品類型
-
安防行業(yè)
- 通過車載攝像頭的數(shù)據(jù)進(jìn)行實(shí)時(shí)傳輸達(dá)到的視頻云監(jiān)控,對周邊路口進(jìn)行實(shí)時(shí)預(yù)警,盲區(qū)監(jiān)測等确垫。
- 通過采集用戶生物信息達(dá)到的智能門禁識別。
- 通過5G高速網(wǎng)絡(luò)實(shí)現(xiàn)的車載設(shè)備和紅綠燈交互通信,攝像頭對路口人員檢測,讓紅綠燈更加高效的協(xié)調(diào)各個(gè)路口交通。
- 通過校園點(diǎn)位檢測,人臉識別簽到機(jī),實(shí)驗(yàn)室氣體檢測報(bào)警設(shè)備達(dá)到的智能校園等等。
-
通信行業(yè)
- 路由器,本質(zhì)上還是基于Linux進(jìn)行二次開發(fā),內(nèi)置有DNS服務(wù)器,DHCP服務(wù)器,HTTP服務(wù)器,至于4G/5G,我認(rèn)為是多了一個(gè)通信模塊和降低功耗,增強(qiáng)信號強(qiáng)度等
- 交換機(jī),上學(xué)的時(shí)候經(jīng)常和這玩意打交道,思科(Cicso)和華為的設(shè)備都是基于Linux二次開發(fā),一些命令都一樣,例如:查看網(wǎng)卡功能ipconfig,查看路由:route 等
- 防火墻,接觸過網(wǎng)御星云的一些防火墻,產(chǎn)品類型是基于Linux二次開發(fā)逗概。舉個(gè)例子,防火墻的目的是管理墻內(nèi)的網(wǎng)絡(luò),對IP,端口,域名等進(jìn)行限制,那CentOS6的iptables是不是也可以達(dá)到這樣的效果?想了解防火墻的話,研究一些Linux上的防火墻就可以?四表五鏈,各自負(fù)責(zé)自己的功能。
-
物聯(lián)網(wǎng)平臺
- 小米全家桶,智能空調(diào),智能音箱,智能洗衣機(jī),智能電視等等
- 人臉支付,智能體溫計(jì)等等
其他產(chǎn)品
嵌入式用到技術(shù)/系統(tǒng)
Linux
需要做復(fù)雜的業(yè)務(wù)處理的產(chǎn)品,像防火墻,路由器,交換機(jī),控制設(shè)備的主機(jī)
安卓
注重交互的產(chǎn)品,智能電視,路邊的電子站牌,車載主機(jī)的顯示屏等
開發(fā)板
注重和硬件交互,C/C#,像共享單車智能的開關(guān),停車場道閘的升降等
特有名字
-
燒錄
- 像上面描述的開發(fā)板,想在上面裝程序就需要用到燒錄,其實(shí)是通過程序來進(jìn)行安裝忘衍。(如果愛搞機(jī)的水友應(yīng)該知道有一種安裝系統(tǒng)的方式就是燒錄,或者是重新安裝BIOS程序,就需要燒進(jìn)去)
-
串口
- 用來和純硬件程序做交互的方式,常說串口通信, 日常用作讀取硬件的日志,看下發(fā)的命令和收到的日志是否正確,如果不正確,就是BUG
-
看門狗
- 重啟解決80%的問題,硬件運(yùn)行環(huán)境極其復(fù)雜,各種疑難雜癥,為了應(yīng)對這些疑難雜癥,一般遇到異常之后就會自動重啟,然后通過看門狗程序拉起應(yīng)用(類似于檢測主程序進(jìn)程,如果主進(jìn)程丟失,就運(yùn)行啟動命令)
測試工具
聊嵌入式測試就不得不聊嵌入式的測試設(shè)備逾苫。
- 串口線
- 和硬件通信的工具,類似于數(shù)據(jù)線,一端USB口,另一端插在板子上
- 杜邦線
- 目的是為了讓設(shè)備短路,線的兩頭一樣
- 藍(lán)牙燒錄器
- 硬件設(shè)備很大一部分靠藍(lán)牙通信(沒接觸嵌入式之前,感覺藍(lán)牙沒啥用,就只能連接藍(lán)牙耳機(jī)一樣),之前一直不明白滴滴的青桔單車開鎖的時(shí)候?yàn)槭裁匆欢?要開啟藍(lán)牙,原來是因?yàn)殚_鎖的指令是通過手機(jī)藍(lán)牙下發(fā)給智能鎖來達(dá)到開鎖的效果。
- 高低溫箱
- 溫度對硬件的工作影響是比較大的,例如北方的共享單車用的都是低溫電池,南方的共享單車用的都是常溫電池;北方的車載設(shè)備內(nèi)置硬盤應(yīng)該都是被處理過的,南方的就是普通的,外加防震,因?yàn)榈蜏叵聲档痛疟P讀寫速度,不然實(shí)時(shí)查看錄像的時(shí)候會卡頓枚钓。
- 熱熔槍
- 錫焊
- 示波器
- 萬用表
- 等等
- 測試類型
- 功能測試
- 基于安卓的嵌入式應(yīng)用,正常的功能測試和交互測試,其中,尤其注意安裝/升級測試等铅搓。
- 基于Linux的嵌入式應(yīng)用,讀日志,命令控制,功能,交互測試等。
- 基于C#的嵌入式應(yīng)用,根據(jù)日志來判斷業(yè)務(wù)功能狀態(tài)是否正確搀捷。
- 要注意的是如果測試環(huán)境中換了一個(gè)元件,需要從頭再測試一遍,因?yàn)橛布牟环€(wěn)定性太多太多
- 穩(wěn)定性測試
- 嵌入式設(shè)備一般長期工作,7*24小時(shí),是否存在離線的情況
- 網(wǎng)絡(luò)波動,網(wǎng)絡(luò)恢復(fù)后是否能修復(fù)影響
- 死機(jī)之后,看門狗是否能拉起設(shè)備
- 專項(xiàng)測試(尤其重要,否則可能造成大批量設(shè)備問題,修復(fù)問題成本極高)
- 高低溫
- 壓力測試
- 電池壽命
- 功耗高低
- 等等
總的來說,嵌入式的測試和軟件的測試工作大同小異星掰。
軟件測試是根據(jù)需求文檔,然后進(jìn)行需求和實(shí)現(xiàn)的功能進(jìn)行測試,測試過程中可有清晰的交互和明明白白的日志可以幫助排查問題。
嵌入式測試也是根據(jù)需求文檔,然后進(jìn)行需求和實(shí)現(xiàn)的功能進(jìn)行測試嫩舟。但是,基于安卓的嵌入式產(chǎn)品還好,如果是其他類型的產(chǎn)品測試,根據(jù)自己實(shí)現(xiàn)的操作和研發(fā)定好的協(xié)議進(jìn)行對比,從頭到尾都在對比日志,測試一天發(fā)現(xiàn)三個(gè)BUG,研發(fā)一個(gè)BUG改一天氢烘。