手機測試是一個很大的題目,涉及到硬體測試和軟體測試,還有結構的測試,比如抗壓,抗摔,抗疲勞,抗低溫高溫等,結構上的設計不合理,會造成應力集中,使得本身外殼變形,對於翻蓋手機,蓋子失效,還有其他嚴重問題。硬體測試一般都有嚴格的物理電氣指標,也有專門的儀器,這里的儀器,不在多說,一般如果是專業的測試人員,不會對詞陌生吧。
手機測試,一般是指軟體測試,這個一方面也說明了軟體在手機上的重要行。一方面也說明手機測試的難度。因為期他得測試都有明確的指標,嚴格的操作規程,還有各種儀器。下面說的手機測試一般都是手機軟體測試,以後不在重復說明。
在說明手機測試之前,我覺得應該了解一下什麼是嵌入市操作系統,這是個時髦的名詞,雖然我們已經被嵌入市操作系統的產品所包圍,但是卻不一定能說清楚,什麼是嵌入式操作系統,而學校的課堂上,講的也不多,所以很多人對此感到雲山舞罩。
簡單的說,一個嵌入市操作系統就是為完成某中特定功能而專門開發的操作系統。這個操作系統的功能很明確,不象大型操作系統,范圍廣泛,大千世界,盡在其中,而嵌如操作系統只為完成某一項或者幾項功能。
再說一下手機的特殊性,也就是要求對響應時間達到一定限制范圍。也就是所謂的實時操作系統,如果一個電話不能在90秒內接聽,那麼對方會掛掉。而你的操作系統還沒反映過來,那麼這個操作系統無疑是失敗的,這是對嵌如操作系統實時性的要求。
作為一個測試人員,你必須了解這些,可能對一些軟體開發人員,他不必很在意這些方面,因為他只要了解自己模塊的入口說明和 出口說明就可以。但是測試人員不行。高級測試人員應該了解嵌入操作系統的特點,這個系統不象WINDOWS,有圖形界面可以輸入輸出,也不象D OS用命令行模式,所有這些,都需要自己編寫一個編輯器,編寫一個交互界面,編寫一個輸入輸出界面,在WINDOWS中,利用一些API和一些M FC,不用考慮硬體的問題,因為系統已經完成,而WINDOWS是講究和硬體分離的,因為這樣可以保護系統不受侵入。而在嵌入市系統裡面。這一些都要求和硬體息戲相關。手機測試中,軟體出現的故障不一定是由於軟體的錯誤,也可能是由於沒有考慮到硬體和軟體沒有完美的結合。
因此我們在了解操作系統同時,也要了解一下其他的手機硬體性能,比如CPU ,比如存儲器。
CPU的處理運算能力是以MIPS來衡量的,當然越快越好,但是也是和成本相關的,我不知道現在MOTOROLA T39的CPU,但是,因為是PDA,又是手寫屏幕,所以菜單特別的慢。關於存儲器需要專門做出說明,因為這里 的存儲器很特別,不象PC,手機沒有硬碟!
嵌入時系統的編程語言一般有C,而且也是最多的,也有其他語言。比如C++在最開始時候是用 匯編的,但是匯編難懂,而且也不容易移植,漸漸的被C代替,不過即使如此,在啟動程序時候,要啟動板子,也就是電路板時候,還是需要用一些匯編語言完成。
作為一個嵌入市系統的程序,和在PC上運行著的程序沒有任何不同,唯一不同可能是在PC上運行的程序,你可以看到結果——如果你用輸出語句的話,而在這里,你是看佈道結果的。除非你加上L CD硬體,然後編寫了LCD驅動程序,然後再編寫顯示 程序。編寫嵌入市程序,一切都要自己解決。
我們的手機如果不是認為把電源切斷的話,或者在電源消耗到一定程度的話,是會一直在使用的,所以,手機程序是一直在運轉的,就是說一直在循環,這個,對於了解嵌入市程序,應該是個好材料——嵌入式程序就是一個無限循環的程序,除非關掉電源和電源因素,這里也有一個測試點:硬體中斷是最高級的,它會終止你的程序,即使你現在的程序級別很高,比如通話,如果沒電了,一切會o ver.
手機程序就是在一個無限循環的程序,什麼時候跳出這個無限循環?你關機吧,如果感到不高興,把電池卸下來,因為有可能進入死循環,而關機鍵失效了,——只好通過取下電池了。
這里要專門說明一下存儲器,因為很多手機毛病都和存儲有關,而且很多問題都和存儲相關,計算機的存儲是關鍵,而手機更是關鍵,因為計算機有硬碟作為存儲,而手機所有的都在存儲器里
存儲器分為幾類,RAM 隨機存儲器,ROM隨機只讀存儲器還有現在出現一些的快閃記憶體,以及電子可編程存儲和非易失存儲起。一個一個到來 。RAM 隨機存儲器,其中又有SRAM(靜態RAM)DRAM(動態RAM),
SRAM,只要只要電源開著,就會保存,我們打電話,有些最後撥打的號碼,暫時是存在SRAM中的,不會立刻寫入通話記錄。只有正常關機,才會寫入,如果取電池的話,是不會寫入手機的通話記錄的,如果在通話記錄中出現了已經撥打電話,但是沒有記錄的情況,那麼有可能和這個存儲器有關,可能是你的軟體上錯誤,也可能是硬體。DRAM在手機上用的不多,因為保留數據時間很短。從價格上看,SRAM是非常昂貴的,而DRAM相比很便宜。
ROM也有幾種,PROM可編程ROM 和EPROM可擦除可編程ROM。兩者區別是,PROM是一次性的,也就是軟體灌入後,這個就完蛋了,這種是早期的產品,現在已經不可能使用了,而E PROM則是通用的存儲器,這些存儲器不符和手機軟體產品,一般使用ROM少。
其他FLASH。這是近來手機採用最多的存儲器,這種存儲起結合了ROM和RAM的長處,但是不屬RAM也不屬於ROM。手機大量採用的NVRAM 非易失存儲器。 和SRAM屬性差不多,EEPROM 電子可擦出可編程存儲器 。快閃記憶體,ROM的後代。手機軟體一般放在EEPROM中,EPROM是通過紫外光的照射,擦除原先的程序,而EEPROM是通過電子擦出,當然價格也是很高的,而且寫入時間很長,寫入很慢,所以前面提到的電話號碼,一般先放在S RAM中,不是馬上寫入EEPROM,因為當時有很重要工作要做——通話,如果寫入,漫長的等待是讓用戶忍無可忍的。 NVRAM 是一個很特別的存儲器,它和SRAM相類似,但是價格卻高很多,由於一些數據實在重要,斷電後必須保持這些數據,所以只能存放在這里,一般和個人信息有關的數據會放在這里,比如和S IM卡相關數據。容量大小也只有幾百位元組。
閃寸存儲器是所有手機的首選,綜合了前面的所有優點,不會斷電丟失數據(NVRAM)快速讀取,電子可擦出可編程(EEPROM)所以現在手機大量採用。
說了這么多存儲器,可能比較糊塗了,這么多存儲器,究竟採用哪中呢,在手機發展中,各種存儲器都用過,至於現在,各種手機採用的存儲器是不同的,這個和成本相關,各種存儲器價格不一樣,本著性價比最優組合,由設計者決定,有些是可選的,有些是必須的,是手機方案決定的,我們了解只是各種存儲性能,特點,在測試中判斷錯誤原因。
-----------------------------------------------
手機協議站軟體的白盒測試
手機軟體測試單從測試的內容來看,包括上面的MMI和底下的PROTOCOL。由於MMI的靈活性,和各個廠家的個性化,以及手機本身的用戶不同。MMI的側重點也就不同,在基本通話、短消息、數據功能完成的基礎上可以五花八門,所以測試的重點不同。測試方法各不相同。 但是協議就不同了,協議是統一的,雖然你實現方法可以不同,但是完成的功能必須相同,和MMI不同,雖然都是聊天,但是有些用短消息
聊天,有些用PUSH聊天,而協議軟體有一個遵守的規范——ETSI指定的協議規范,有統一的命令規范和統一的標准。消息(術語,不是軟體編程里的消息,是通信術語)是固定的嘛。 針對協議的測試,因為有標准可循,有規范可儀,所以軟體測試就很多工具,公司也多,自動化測試要自動話,否則,按照人的測試能力,誰也無法保證其絕對可靠性,也沒有這么大的人力去仔細做測試。
一般對於白盒測試是比較嚴格的,而且也是耗費人力的,所以常採用自動化測試工具。這樣節省人力、縮短測試時間。至於誰家的工具比較好,涉及各取所需吧,也涉及到成本問題。你如果想購買某產品,會給你一個DEMO版本,給你一個月的評價時期,這個評估版本讓你熟悉其產品的優劣也讓你熟悉其操作。測試工具一般都有二次開發功能,也就是可以自己編寫腳本,針對不同的軟體平台做一些改動,這樣可以根據自己的需要編寫測試CASE測試用列。當然即使是全部用自動化測試,你心理還是沒底,你還是要仔細去看代碼。分析流程,讀懂其含義,一個很小的問題,出錯保護沒有作好,一般這個問題最多,出錯保護機制沒有作好,會造成崩潰這樣嚴重的問題。 這是針對協議代碼的白盒測試 。如果你是對購買來的協議進行測試,一般有儀器,模擬一個網路基站,進行測試,不過這樣的儀器非常昂貴,而且測試人員要對ETSI協議比較熟悉。 我沒有直接參加針對協議的白盒測試,不過對評估般的測試軟體曾經PRACTISE,可測試覆蓋率,我很奇怪的是,一般打點(跟蹤)也是需要消耗CPU時間的這樣程序效率就降低了,而我要測試程序的效率等項目就要考慮CPU,而且程序的工作運轉必須和CPU息息相關,而現在CPU 在保證程序RUN同時,還要進行打點,是否測試出的指數和實際不符和呢,是否沒有達到真實的水平呢?而它這個產品(水牛)介紹說,一般不佔用CPU時間,我想了很長時間沒有想通後想咨詢,告之這是他們的專利,無可奉告。由於這種測試工具是針對平台,所以如果你平台不支持的,也就沒有辦法使用了。還有集成測試等等,在軟體的介紹中有詳細說明,不再詳細說明。 對協議進行白合測試,我想對你的要求就是:熟悉相關的協議,否則白扯;熟悉開發的語言,否則免談。
--------------------------------------------
1 計算機工業的分類
以往我們按照計算機的體系結構、運算速度、結構規模、適用領域,將其分為 大型計算機、中型機、小型機和微計算機,並以此來組織學科和產業分工,這 種分類沿襲了約40年。近10年來隨著計算機技術的迅速發展,實際情況產生了 根本性的變化,例如70年代末定義的微計算機演變出來的個人計算機(PC),如
今已經占據了全球計算機工業的90%市場,其處理速度也超過了當年大、中型計 算機的定義。隨著計算機技術和產品對其它行業的廣泛滲透,以應用為中心的 分類方法變得更為切合實際,也就是按計算機的嵌入式應用和非嵌入式應用將 其分為嵌入式計算機和通用計算機。 通用計算機具有計算機的標准形態,通過裝配不同的應用軟體,以類同面目出 現並應用在社會的各個方面,其典型產品為PC;而嵌入式計算機則是以嵌入式系統的形式隱藏在各種裝置、產品和系統中。
2 嵌入式系統(Embedded Systems)
嵌入式系統被定義為:以應用為中心、以計算機技術為基礎、軟體硬體可裁剪、 適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。 嵌入式計算機在應用數量上遠遠超過了各種通用計算機,一台通用計算機的外部 設備中就包含了5-10個嵌入式微處理器,鍵盤、滑鼠、軟碟機、硬碟、顯示卡、顯 示器、Modem、網卡、音效卡、列印機、掃描儀、數字相機、USB集線器等均是由嵌 入式處理器控制的。在製造工業、過程式控制制、通訊、儀器、儀表、汽車、船舶、 航空、航天、軍事裝備、消費類產品等方面均是嵌入式計算機的應用領域。
B. 計算機雲計算是什麼
雲計算(cloudcomputing)是基於互聯網相關服務的增加、使用和交互模式,通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。
美國國家標准與技術研究院(NIST)定義:
雲計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網路訪問, 進入可配置的計算資源共享池,這些資源能夠被快速提供,只需投入很少的管理工作,或與服務供應商進行很少的交互。
XenSystem,以及在國外已經非常成熟的Intel 和IBM,各種「雲計算」的應用服務范圍正日漸擴大,影響力也無可估量。
由於雲計算應用的不斷深入,以及對大數據處理需求的不斷擴大,用戶對性能強大、可用性高的4路、8路伺服器需求出現明顯提速,這一細分產品同比增速超過200%。
特點:
1、超大規模
「雲」具有相當的規模,Google雲計算已經擁有100多萬台伺服器, Amazon、IBM、微軟、Yahoo等的「雲」均擁有幾十萬台伺服器。
2、虛擬化
雲計算支持用戶在任意位置、使用各種終端獲取應用服務。
所請求的資源來自「雲」,而不是固定的有形的實體。
應用在「雲」中某處運行,但實際上用戶無需了解、也不用擔心應用運行的具體位置。
3、通用性
雲計算不針對特定的應用,在「雲」的支撐下可以構造出千變萬化的應用,同一個「雲」可以同時支撐不同的應用運行。
4、高可擴展性
「雲」的規模可以動態伸縮,滿足應用和用戶規模增長的需要。
5、按需服務
「雲」是一個龐大的資源池,你按需購買;雲可以像自來水,電,煤氣那樣計費。
6、極其廉價
由於「雲」的特殊容錯措施可以採用極其廉價的節點來構成雲,因此用戶可以充分享受「雲」的低成本優勢,經常只要花費幾百美元、幾天時間就能完成以前需要數萬美元、數月時間才能完成的任務。