導(dǎo)讀:什么是物聯(lián)網(wǎng)? 物聯(lián)網(wǎng)工程師需要具備什么技能?
什么是物聯(lián)網(wǎng)?
物聯(lián)網(wǎng)工程師需要具備什么技能?
01什么是物聯(lián)網(wǎng)?
物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,也是"信息化"時(shí)代的重要發(fā)展階段。其英文名稱是:"Internet of things(IoT)"。顧名思義,物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng)。這有兩層意思:其一,物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)基礎(chǔ)上的延伸和擴(kuò)展的網(wǎng)絡(luò);其二,其用戶端延伸和擴(kuò)展到了任何物品與物品之間,進(jìn)行信息交換和通信,也就是物物相息。
物聯(lián)網(wǎng)通過智能感知、識別技術(shù)與普適計(jì)算等通信感知技術(shù),廣泛應(yīng)用于網(wǎng)絡(luò)的融合中,也因此被稱為繼計(jì)算機(jī)、互聯(lián)網(wǎng)之后世界信息產(chǎn)業(yè)發(fā)展的第三次浪潮。物聯(lián)網(wǎng)是互聯(lián)網(wǎng)的應(yīng)用拓展,與其說物聯(lián)網(wǎng)是網(wǎng)絡(luò),不如說物聯(lián)網(wǎng)是業(yè)務(wù)和應(yīng)用。因此,應(yīng)用創(chuàng)新是物聯(lián)網(wǎng)發(fā)展的核心,以用戶體驗(yàn)為核心的創(chuàng)新2.0是物聯(lián)網(wǎng)發(fā)展的靈魂。
活點(diǎn)定義:利用局部網(wǎng)絡(luò)或互聯(lián)網(wǎng)等通信技術(shù)把傳感器、控制器、機(jī)器、人員和物等通過新的方式聯(lián)在一起,形成人與物、物與物相聯(lián),實(shí)現(xiàn)信息化、遠(yuǎn)程管理控制和智能化的網(wǎng)絡(luò)。物聯(lián)網(wǎng)是互聯(lián)網(wǎng)的延伸,它包括互聯(lián)網(wǎng)及互聯(lián)網(wǎng)上所有的資源,兼容互聯(lián)網(wǎng)所有的應(yīng)用,但物聯(lián)網(wǎng)中所有的元素(所有的設(shè)備、資源及通信等)都是個(gè)性化和私有化。
物聯(lián)網(wǎng)其實(shí)是互聯(lián)網(wǎng)的一個(gè)延伸,互聯(lián)網(wǎng)的終端是計(jì)算機(jī)(PC、服務(wù)器),我們運(yùn)行的所有程序,都是計(jì)算機(jī)和網(wǎng)絡(luò)中的數(shù)據(jù)處理和數(shù)據(jù)傳輸,除了計(jì)算機(jī)外,沒有涉及任何其他的終端(硬件)。
物聯(lián)網(wǎng)的本質(zhì)還是互聯(lián)網(wǎng),只不過終端不再是計(jì)算機(jī)(PC、服務(wù)器),而是嵌入式計(jì)算機(jī)系統(tǒng)及其配套的傳感器。這是計(jì)算機(jī)科技發(fā)展的必然結(jié)果,為人類服務(wù)的計(jì)算機(jī)呈現(xiàn)出各種形態(tài),如穿戴設(shè)備、環(huán)境監(jiān)控設(shè)備、虛擬現(xiàn)實(shí)設(shè)備等等。只要有硬件或產(chǎn)品連上網(wǎng),發(fā)生數(shù)據(jù)交互,就叫物聯(lián)網(wǎng)。
物聯(lián)網(wǎng)的定義是:利用二維碼、RFID、紅外感應(yīng)器、GPS、等各種感知技術(shù)和設(shè)備,使任何物體與網(wǎng)絡(luò)相連,全面獲取現(xiàn)實(shí)世界的各種信息,完成物與物、人與物的信息交互、以實(shí)現(xiàn)對物體的智能化識別、定位、跟蹤、管理和控制。
既然如此,讓我們看看需要做些什么:現(xiàn)在每個(gè)家庭都會(huì)使用WiFi,WiFi是由無線路由器發(fā)射出來的。一個(gè)無線路由器,可以說就是一個(gè)局域網(wǎng)(LAN)。只要把那些電子設(shè)備連到家里的WiFI,就可以通過終端控制他們了??墒?,現(xiàn)在我們常見的能連上WiFi的設(shè)備,只有手機(jī)和電腦。電視機(jī)、空調(diào)和電燈都是連不到WiFI的東西。
那么,怎樣把電燈連到網(wǎng)絡(luò)呢,這個(gè)時(shí)候就需要修改電路了——在電燈這個(gè)電路里面加一個(gè)網(wǎng)絡(luò)模塊。說起來簡單做起來難,現(xiàn)在家用電燈都是日光燈什么的,里面還有什么鎮(zhèn)流器。這個(gè)時(shí)候,就需要有相關(guān)專業(yè)知識才行了。當(dāng)然現(xiàn)在也有大功率LED燈了,其發(fā)光亮度堪比日光燈,至于能不能替代日光燈成為主流產(chǎn)品,拭目以待。
電燈說完了,下面談?wù)劷K端。一般人可能理解不了終端是什么意思。對內(nèi)行人來說,就是客戶端(Client);對外行人我就用手機(jī)電腦這些名詞代替。想要手機(jī)要控制電燈,就需要有一個(gè)APP,APP怎么開發(fā)啊?安卓手機(jī)可以用Android SDK,開發(fā)語言是Java;蘋果手機(jī)是Xcode,開發(fā)語言是Objective-C。
那我們能不能用電腦控制呢?可以啊,我們可以用網(wǎng)頁來控制,這是Web開發(fā)。相對的,有客戶端就有服務(wù)器(server),那個(gè)怎么給燈泡里弄一個(gè)服務(wù)器呢?這個(gè)時(shí)候就需要給燈泡嵌入一個(gè)芯片了,燈泡與芯片結(jié)合,就是一個(gè)嵌入式系統(tǒng)了。
嵌入式系統(tǒng),就是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪的專用計(jì)算機(jī)系統(tǒng)。嵌入式這一領(lǐng)域,可以分為嵌入式硬件和嵌入式軟件。比如,我思考著搭一個(gè)電路,使電燈這個(gè)電路受于芯片的控制,這就是嵌入式硬件;電路搭建好了,我就想著在芯片上寫一個(gè)小小服務(wù)器,或者說就寫個(gè)小程序,可以用手機(jī)通過WiFi來控制該芯片,這就是嵌入式軟件。什么?你覺得WiFi學(xué)起來太難?那就使用藍(lán)牙唄。藍(lán)牙和WiFi都是同一種東西,無線局域網(wǎng)(WLAN)。
由于我們是在局域網(wǎng)內(nèi)監(jiān)控,當(dāng)你離開了局域網(wǎng)就不能監(jiān)控它們了。這個(gè)時(shí)候就需要把設(shè)備連到外網(wǎng)(WAN),需要知道更多的網(wǎng)絡(luò)知識,于是,云就產(chǎn)生了。什么云服務(wù)、云平臺(tái)、云計(jì)算、云存儲(chǔ),哎呀,我不是很懂這些,我只聽說過云計(jì)算是物聯(lián)網(wǎng)的基礎(chǔ)。以上,就是為什么我說網(wǎng)絡(luò)知識是基礎(chǔ)。
02物聯(lián)網(wǎng)測試工程師需要掌握的5項(xiàng)技能
1適應(yīng)灰盒測試
在物聯(lián)網(wǎng)環(huán)境下,各種傳感器、監(jiān)測設(shè)備以及智能終端可以通過多種協(xié)議接入網(wǎng)絡(luò),用戶對這些設(shè)備的使用方式和使用環(huán)境也無法確定,因此為了保證設(shè)備運(yùn)行的穩(wěn)定性和可靠性,測試人員需要對產(chǎn)品進(jìn)行灰盒測試。 也就是說測試團(tuán)隊(duì)不僅需要像白盒測試那樣驗(yàn)證應(yīng)用程序的功能,還需要像黑盒測試那樣深入其內(nèi)部結(jié)構(gòu), 為了做到這一點(diǎn), 測試人員必須盡可能多地收集與設(shè)備API、第三方服務(wù)以及連接協(xié)議等內(nèi)容相關(guān)的信息,精心設(shè)計(jì)測試用例,以便于覆蓋盡可能多的用例場景。
2嵌入式系統(tǒng)的知識
嵌入式開發(fā)一直是一個(gè)比較低調(diào)的技術(shù)領(lǐng)域,相對于Web開發(fā)和企業(yè)級開發(fā)而言,嵌入式開發(fā)似乎很少在互聯(lián)網(wǎng)上發(fā)出聲音。但是隨著智能手環(huán)、智能手表和智能眼鏡等穿戴式設(shè)備的興起, “嵌入式”這一概念迅速地以燎原之勢再次成為了當(dāng)今科技界的熱點(diǎn)之一。
但不可否認(rèn)的是,雖然嵌入式概念至今已經(jīng)過了長足的發(fā)展,到目前為止依然沒有擁有像iOS和Android這樣知名的、被良好維護(hù)的操作系統(tǒng)和支持工具。雖然流行的Ubuntu和Debian都為ARM架構(gòu)的自帶MMU(Memory Management Unit,內(nèi)存管理單元)設(shè)備進(jìn)行過安裝包的開發(fā),但是對于開發(fā)者而言依然需要掌握交叉編譯等基礎(chǔ)技能才能入門嵌入式開發(fā),而作為這一領(lǐng)域的質(zhì)量把控者,如果物聯(lián)網(wǎng)測試人員沒有一定的嵌入式知識,依然無法做好全面的測試工作。
3能執(zhí)行有效的仿真
物聯(lián)網(wǎng)實(shí)現(xiàn)了萬物互聯(lián),其設(shè)備形形色色,規(guī)模空前龐大,協(xié)議各不相同,環(huán)境錯(cuò)綜復(fù)雜,這意味著測試人員無法針對每一種設(shè)備,每一種協(xié)議,每一種使用環(huán)境構(gòu)造全面的測試用例,即使理論上能夠?qū)崿F(xiàn)也需要付出極大的成本。為此,測試人員必須具備仿真的能力,常常需要在單一的物理設(shè)備上創(chuàng)建各種各樣的虛擬設(shè)備和虛擬網(wǎng)絡(luò),從而模擬各種不同的用例場景,以達(dá)到測試的目的。仿真不僅能夠節(jié)約時(shí)間和金錢,還具有物理環(huán)境所不具備的擴(kuò)展性。
4處理數(shù)據(jù)峰值和突發(fā)的使用模式
在虛擬桌面基礎(chǔ)設(shè)施領(lǐng)域有一種現(xiàn)象稱為“啟動(dòng)風(fēng)暴(Boot Storm)”:所有人都試圖在同一時(shí)刻(通常是早晨)登錄他們的VDI解決方案,以致于后端系統(tǒng)響應(yīng)很慢,用戶體驗(yàn)很差。那么對于物聯(lián)網(wǎng)來說情況是怎樣的呢?
很多情況下,我們會(huì)面臨同樣的問題。例如,在智能家居領(lǐng)域,用戶上班后家里的各種聯(lián)網(wǎng)設(shè)備基本處于關(guān)閉或者待機(jī)狀態(tài),這時(shí)候數(shù)據(jù)流很小,后端系統(tǒng)幾乎沒有壓力,但是當(dāng)用戶回家之后,接入家庭WiFi網(wǎng)絡(luò)的各種設(shè)備便會(huì)運(yùn)轉(zhuǎn),例如電視機(jī)、電腦、Pad和手 機(jī),正如這時(shí)候通常會(huì)產(chǎn)生用電峰值一樣,數(shù)據(jù)峰值也會(huì)在此時(shí)產(chǎn)生,從而對后端系統(tǒng)造成極大的壓力。同樣的情況在智能交通領(lǐng)域也會(huì)存在,例如因?yàn)樯舷掳喽斐傻亩萝嚫叻?,因?yàn)楣?jié)假日而造成的高速癱瘓。 這對于大部分物聯(lián)網(wǎng)測試團(tuán)隊(duì)而言都是新的挑戰(zhàn)。
5無處不在的數(shù)據(jù)安全
物聯(lián)網(wǎng)潛在的數(shù)據(jù)安全問題是眾所周知的,但正如尼古拉斯·埃文斯在《Computer world》里所提到的:對于物聯(lián)網(wǎng)供應(yīng)商來說,安全通常是后考慮的問題。在物聯(lián)網(wǎng)普及并滲透到人們的日常生活之前,或許可以這樣做,但是隨著大眾對物聯(lián)網(wǎng)的認(rèn)可和使用程度越來越高,這已經(jīng)成為了一個(gè)亟需解決的問題。如果說在物聯(lián)網(wǎng)的發(fā)展前期,供應(yīng)商需要通過創(chuàng)新吸引用戶,那么在后期就必須通過穩(wěn)定性和安全性留住用戶。但現(xiàn)實(shí)情況是,面對規(guī)模如此龐大、種類如此豐富的設(shè)備、應(yīng)用和服務(wù),人們很難實(shí)現(xiàn)一種有效而又全面的防護(hù)策略。對物聯(lián)網(wǎng)測試團(tuán)隊(duì)而言,這無疑具有極大的挑戰(zhàn) 。
總而言之,物聯(lián)網(wǎng)這東西,是在現(xiàn)有成熟的技術(shù)上發(fā)展而來的,絕對不是如電子、計(jì)算機(jī)、通信這些已經(jīng)有獨(dú)立的學(xué)科的技術(shù)了,物聯(lián)網(wǎng)是前面三者的大融合!