在我的了解中手機軟件測試是這樣的
手機測試是一個很大的題目,涉及到硬件測試和軟件測試,還有結構的測試,比如抗壓,抗摔,抗疲勞,抗低溫高溫等,結構上的設計不合理,會造成應力集中,使得本身外殼變形,對于翻蓋手機,蓋子失效,還有其他嚴重問題。硬件測試一般都有嚴格的物理電氣指標,也有專門的儀器,這里的儀器,不在多說,一般如果是專業的測試人員,不會對此陌生吧。
手機測試,一般是指軟件測試,這個一方面也說明了軟件在手機上的重要性。一方面也說明手機測試的難度。因為其它的測試都有明確的指標,嚴格的操作規程,還有各種儀器。下面說的手機測試一般都是手機軟件測試,以后不再重復說明。
在說明手機測試之前,我覺得應該了解一下什么是嵌入式操作系統,這是個時髦的名詞,雖然我們已經被嵌入式操作系統的產品所包圍,但是卻不一定能說清楚,什么是嵌入式操作系統,而學校的課堂上,講的也不多,所以很多人對此感到云山霧罩。
簡單的說,一個嵌入式操作系統就是為完成某種特定功能而專門開發的操作系統。這個操作系統的功能很明確,不像大型操作系統,范圍廣泛,大千世界,盡在其中,而嵌入式操作系統只為完成某一項或者幾項功能。
再說一下手機的特殊性,也就是要求對響應時間達到一定限制范圍,即所謂的實時操作系統。如果一個電話不能在90秒內接聽,那么對方會掛掉。而你的操作系統還沒反映過來,那么這個操作系統無疑是失敗的,這是對嵌入式操作系統實時性的要求。
作為一個測試人員,你必須了解這些,可能對一些軟件開發人員,他不必很在意這些方面,因為他只要了解自己模塊的入口說明和出口說明就可以。但是測試人員不行。高級測試人員應該了解嵌入操作系統的特點,這個系統不像WINDOWS,有圖形界面可以輸入輸出,也不像DOS用命令行模式,所有這些,都需要自己編寫一個編輯器,編寫一個交互界面,編寫一個輸入輸出界面,在WINDOWS中,利用一些API和一些MFC,不用考慮硬件的問題,因為系統已經完成,而WINDOWS是講究和硬件分離的,因為這樣可以保護系統不受侵入。而在嵌入式系統里面。這一些都要求和硬件息息相關。手機測試中,軟件出現的故障不一定是由于軟件的錯誤,也可能是由于沒有考慮到硬件和軟件沒有完美的結合。
因此我們在了解操作系統同時,也要了解一下其他的手機硬件性能,比如CPU ,存儲器等。
CPU的處理運算能力是以MIPS來衡量的,當然越快越好,但是也是和成本相關的,我不知道現在MOTOROLA T39的CPU,但是,因為是PDA,又是手寫屏幕,所以菜單特別的慢。關于存儲器需要專門做出說明,因為這里的存儲器很特別,不像PC,手機沒有硬盤!
嵌入式系統的編程語言一般用C,而且也是用的最多的,也有其他語言。比如C++在最開始時候是用匯編的,但是匯編難懂,而且也不容易移植,漸漸的被C代替,不過即使如此,在啟動程序時候,要啟動板子,也就是電路板時候,還是需要用一些匯編語言完成。
作為一個嵌入式系統的程序,和在PC上運行著的程序沒有任何不同,唯一不同可能是在PC上運行的程序,你可以看到結果——如果你用輸出語句的話,而在這里,你是看不到結果的。除非你加上LCD硬件,然后編寫了LCD驅動程序,然后再編寫顯示程序。編寫嵌入式程序,一切都要自己解決。我們的手機如果不是認為把電源切斷的話,或者在電源消耗到一定程度的話,是會一直在使用的,所以,手機程序是一直在運轉的,就是說一直在循環,這個對于了解嵌入式程序,應該是個好材料——嵌入式程序就是一個無限循環的程序,除非關掉電源和電源因素,這里也有一個測試點:硬件中斷是最高級的,它會終止你的程序,即使你現在的程序級別很高,比如通話,如果沒電了,一切會over.
手機程序就是在一個無限循環的程序,什么時候跳出這個無限循環?你關機吧,如果感到不高興,把電池卸下來,因為有可能進入死循環,而關機鍵失效了,——只好通過取下電池
這里要專門說明一下存儲器,因為很多手機毛病都和存儲有關,而且很多問題都和存儲相關,計算機的存儲是關鍵,而手機更是關鍵,因為計算機有硬盤作為存儲,而手機所有的都在存儲器里
存儲器分為幾類,RAM 隨機存儲器,ROM隨機只讀存儲器還有現在出現一些的閃存,以及電子可編程存儲和非易失存儲起。一個一個到來 。RAM 隨機存儲器,其中又有SRAM(靜態RAM),DRAM(動態RAM);
SRAM,只要只要電源開著,就會保存,我們打電話,有些最后撥打的號碼,暫時是存在SRAM中的,不會立刻寫入通話記錄。只有正常關機,才會寫入,如果取電池的話,是不會寫入手機的通話記錄的,如果在通話記錄中出現了已經撥打電話,但是沒有記錄的情況,那么有可能和這個存儲器有關,可能是你的軟件上錯誤,也可能是硬件。DRAM在手機上用的不多,因為保留數據時間很短。從價格上看,SRAM是非常昂貴的,而DRAM相比很便宜。
ROM也有幾種,PROM可編程ROM 和EPROM可擦除可編程ROM。兩者區別是,PROM是一次性的,也就是軟件灌入后,這個就完蛋了,這種是早期的產品,現在已經不可能使用了,而EPROM則是通用的存儲器,這些存儲器不符合手機軟件產品,一般使用ROM少。
其他FLASH。這是近來手機采用最多的存儲器,這種存儲起結合了ROM和RAM的長處,但是不屬RAM也不屬于ROM。手機大量采用的NVRAM 非易失存儲器。 和SRAM屬性差不多,EEPROM 電子可擦出可編程存儲器 。閃存,ROM的后代。手機軟件一般放在EEPROM中,EPROM是通過紫外光的照射,擦除原先的程序,而EEPROM是通過電子擦出,當然價格也是很高的,而且寫入時間很長,寫入很慢,所以前面提到的電話號碼,一般先放在S RAM中,不是馬上寫入EEPROM,因為當時有很重要工作要做——通話,如果寫入,漫長的等待是讓用戶忍無可忍的。 NVRAM 是一個很特別的存儲器,它和SRAM相類似,但是價格卻高很多,由于一些數據實在重要,斷電后必須保持這些數據,所以只能存放在這里,一般和個人信息有關的數據會放在這里,比如和S IM卡相關數據。容量大小也只有幾百字節。
閃寸存儲器是所有手機的首選,綜合了前面的所有優點,不會斷電丟失數據(NVRAM)快速讀取,電子可擦出可編程(EEPROM)所以現在手機大量采用。
說了這么多存儲器,可能比較糊涂了,這么多存儲器,究竟采用哪種呢,在手機發展中,各種存儲器都用過,至于現在,各種手機采用的存儲器是不同的,這個和成本相關,各種存儲器價格不一樣,本著性價比最優組合,由設計者決定,有些是可選的,有些是必須的,是手機方案決定的,我們了解只是各種存儲性能,特點,在測試中判斷錯誤原因。
原文轉自:http://www.anti-gravitydesign.com