在過去的30多年中,自動化測試最大的趨勢之一就是朝著以基于PC的模塊化平臺架構(gòu)演變。通過最新的商業(yè)可能的計算技術(shù)配合強(qiáng)大的處理器、最新的I/O總線、更高級的操作系統(tǒng)來搭建整個測試平臺。在此趨勢繼續(xù)演變的同時,還出現(xiàn)了如平板電腦和智能手機(jī)這種新型的運(yùn)算裝置,讓具有前瞻性的公司可以在自動化測試系統(tǒng)中利用這些商業(yè)可用的技術(shù)。
在最近的10年中,智能手持移動設(shè)備一般都是以PDA和智能手機(jī)為主。但在Apple公司發(fā)布了iPhone和iPad之后,又有Google、Microsoft等多家廠商發(fā)布的類似設(shè)備,都促使了行業(yè)進(jìn)入移動計算的新紀(jì)元,F(xiàn)在,已經(jīng)有數(shù)以千萬計的平板電腦和智能手機(jī)在消費(fèi)者與企業(yè)用戶手中。
1、用于自動化測試的移動設(shè)備
雖然平板電腦與智能手機(jī)并無法取代如PXI的PC結(jié)構(gòu)測量平臺,但卻具有其獨(dú)特的延伸測試系統(tǒng)的優(yōu)點(diǎn)。根據(jù)Pew Research Center的調(diào)查,絕大多數(shù)的平板電腦使用者主要著眼于其便利性。Nielsen Company于2011年對消費(fèi)者“使用平板電腦取代傳統(tǒng)電腦的理由”的調(diào)查中指出,主要原因在于平板電腦改善了使用體驗,例如其絕佳的便攜性、簡單易用性、更快速的開關(guān)機(jī)時間、更長的電池續(xù)航能力。從這此資料來看,移動裝置在自動化測試中所扮演的角色,應(yīng)該不外乎測試系統(tǒng)監(jiān)控、測試數(shù)據(jù)和報表查看功能。
(1)測試系統(tǒng)監(jiān)控
測試工程師、管理者、技術(shù)人員都可以通過平板電腦與智能手機(jī),直接了解測試系統(tǒng)的狀態(tài)。如果測試系統(tǒng)在附近,如同一棟建筑或校園內(nèi),這個功能十分有用。如果測試系統(tǒng)位于地球的另一端,移動設(shè)備也能夠提供一個用戶界面,就更能體現(xiàn)系統(tǒng)的便捷性。針對遠(yuǎn)程測試系統(tǒng),平板電腦與智能手機(jī)可以持續(xù)監(jiān)視多樣數(shù)據(jù),或直接控制其工作模式。在此使用條件下,測試系統(tǒng)本身需要連接上局域網(wǎng)或公共網(wǎng)絡(luò)。移動裝置只要位于同一校園或通過VPN進(jìn)入內(nèi)部網(wǎng)絡(luò),都可以由內(nèi)部網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程的監(jiān)控。而測試系統(tǒng)只要連上公共網(wǎng)絡(luò),理想狀態(tài)下可以在任何地點(diǎn)使用移動設(shè)備對其進(jìn)行操作。
(2)測試數(shù)據(jù)與報表查看
除了直接連接至測試系統(tǒng)之外,測試工程師可能需要查看相關(guān)的測試報表,以分析之前的測試結(jié)果并找出相應(yīng)的趨勢。在這個條件下,只要可以通過連接其它連網(wǎng)的電腦以取得測試系統(tǒng)的數(shù)據(jù),測試系統(tǒng)本身并不需要連接到網(wǎng)絡(luò)。這種功能將可以幫助整理測試結(jié)果,分析資料、建立報表,最后傳送到遠(yuǎn)程使用者的移動裝置中。
在上面的兩種使用條件下,如果要通過平板電腦和智能手機(jī)取得重要的數(shù)據(jù),往往會遇到兩個共同的問題。第一就是要能通過網(wǎng)絡(luò)正確地交換數(shù)據(jù)。目前可以選擇的通訊協(xié)議有TCP、UDP、HTTP等。而對于服務(wù)器和客戶端之間的數(shù)據(jù)交互,信息技術(shù)(IT)行業(yè)正在朝著網(wǎng)絡(luò)服務(wù)的方向發(fā)展。
2、網(wǎng)絡(luò)服務(wù)
網(wǎng)絡(luò)服務(wù)屬于應(yīng)用程序編程接口(API)。幾乎任何程序語言所編寫的客戶端,都可以通過HTTP進(jìn)行存取。當(dāng)呼叫完畢時,網(wǎng)絡(luò)服務(wù)就會馬上回傳一個用戶可以直接讀取的響應(yīng)(一般為XML格式文件)。呼叫某特定的網(wǎng)絡(luò)服務(wù),可能是測試系統(tǒng)的狀態(tài),當(dāng)天最新的測試結(jié)果,或者客戶端想監(jiān)視的任何資料。只要針對指定的URL發(fā)出HTTP請求、解析相關(guān)的響應(yīng),最后顯示給用戶即可。
測試組織如果能夠通過網(wǎng)絡(luò)服務(wù)完成移動客戶端與服務(wù)器之間的通訊,將可以獲得多項優(yōu)勢。第一,網(wǎng)絡(luò)服務(wù)簡單易用,可能通過任何編程語言完成編寫。第二,由于網(wǎng)絡(luò)服務(wù)是以最普遍的通訊協(xié)議(如HTTP)為架構(gòu),因此通訊操作極為簡單友善,并且可以通過SSL的工業(yè)標(biāo)準(zhǔn)技術(shù)進(jìn)行加密;谶@些理由,主要的網(wǎng)絡(luò)公司如Google、Yahoo!、Microsoft、Amazon等都通過網(wǎng)絡(luò)服務(wù)來為遠(yuǎn)程用戶提供搜索、地圖、云計算等功能。
3、本地 vs 基于網(wǎng)絡(luò)架構(gòu)的移動應(yīng)用程序
一旦客戶端獲取到數(shù)據(jù),移動設(shè)備上的應(yīng)用程序就可以獲取并顯示數(shù)據(jù)。開發(fā)移動應(yīng)用程序首先要決定:該應(yīng)用程序是基于操作系統(tǒng)的本地程序還是基于瀏覽器運(yùn)行的程序?這個決定將影響應(yīng)用程序的各個方面,包括了從開發(fā)所需的專業(yè)程度到其所具備的功能。
平板電腦和智能手機(jī)上的本地應(yīng)用程序是專門為如iPad等特定的設(shè)備所開發(fā)的。根據(jù)裝置的操作系統(tǒng)的不同,應(yīng)用程序?qū)⑼ㄟ^內(nèi)置的API而獲取設(shè)備上的功能和數(shù)據(jù)。如果想讓應(yīng)用程序正常工作,就必須符合供應(yīng)商的規(guī)范(技術(shù)與編程規(guī)范)。本地應(yīng)用程序往往較為豐富、互動性較高、更能緊密地整合在設(shè)備中。但如果要開發(fā)本地應(yīng)用程序,工程師必須熟悉特定的移動開發(fā)平臺與對應(yīng)的開發(fā)工具,大部分的應(yīng)用程序都無法用于其它的平臺,并且需要通過供應(yīng)商的商店發(fā)布程序(如Apple的App Store)。
另外值得注意的是,移動裝置在過去的5年中快速地發(fā)生著改變。根據(jù)PC Magazine的報告,五年前,RIM和Nokia占領(lǐng)了絕大部分的手機(jī)市場,但目前卻由Google的Android拿下了43%的智能手機(jī)市場,Apple則以28%名列第二。
此外,在iPad的引領(lǐng)下,各大廠商已經(jīng)席卷了在5年前還默默無聞的平板電腦市場。而相應(yīng)的競爭廠商只能在后面苦苦追趕。在變化如此激烈的市場環(huán)境下,我們根本無法評估對特定平臺的應(yīng)用程序應(yīng)該做多少的投資,才能產(chǎn)生相應(yīng)的收益。
從另一方面講,所有的平板電腦與智能手機(jī)都內(nèi)置移動式的網(wǎng)絡(luò)瀏覽器。以HTML和JavaScript技術(shù)編寫的網(wǎng)絡(luò)架構(gòu)的應(yīng)用程序,大部分都可以適用于所有的平板電腦和智能手機(jī),而且無需通過供應(yīng)商的商店即可發(fā)布。與本地應(yīng)用程序相比較,網(wǎng)絡(luò)應(yīng)用程序雖然看起來有很多優(yōu)點(diǎn),但還是有它的不足。在移動裝置的瀏覽器中運(yùn)行的應(yīng)用程序,一般都有其限定的框架,或者無法以內(nèi)建API獲取相應(yīng)功能,不能支持多點(diǎn)觸摸,所以往往不是非常直觀,用戶體驗比較差。
4、完整的移動設(shè)備解決方案
移動設(shè)備的巨幅成長,為工程師、管理者、技術(shù)人員提供了編譯上的優(yōu)勢。讓自動化測試行業(yè)可以遠(yuǎn)程獲取測試數(shù)據(jù)與結(jié)果。目前的解決方案,雖然可以通過移動設(shè)備達(dá)到遠(yuǎn)程監(jiān)控或報表生成,但測試機(jī)構(gòu)仍需要新的專業(yè)技術(shù),才能整合網(wǎng)絡(luò)連線、網(wǎng)絡(luò)服務(wù),移動應(yīng)用程序等。
查詢進(jìn)一步信息,請訪問官方網(wǎng)站http://www.ni.com/white-paper/13796/zhs。