什么是手機軟件測試(手機測試)?
說起手機測試我想大家一定也知道它是一個很大的題目,涉及到硬件測試和軟件測試,還有結構的測試,比如抗壓,抗摔,抗疲勞,抗低溫高溫等,結構上的設計不合理,會造成應力集中,使得本身外殼變形,對于翻蓋手機,蓋子失效,還有其他嚴重問題。硬件測試一般都有嚴格的物理電氣指標,也有專門的儀器,這里的儀器,不在多說,一般如果是專業的測試人員,不會對此陌生吧。
大家所談的手機測試,一般是指軟件測試,這個一方面也說明了在手機上的重要性還是在于軟件。一方面也說明手機測試的難度。因為其它的測試都有明確的指標,嚴格的操作規程,還有各種儀器。下面說的手機測試一般都是手機軟件測試,以后不再重復說明。
在說明手機測試之前,我覺得應該了解一下什么是嵌入式操作系統,這是個時髦的名詞,雖然我們已經被嵌入式操作系統的產品所包圍,但是卻不一定能說清楚,什么是嵌入式操作系統,而學校的課堂上,講的也不多,所以很多人對此感到云山霧罩。
簡單的說,一個嵌入式操作系統就是為完成某種特定功能而專門開發的操作系統。這個操作系統的功能很明確,不像大型操作系統,范圍廣泛,大千世界,盡在其中,而嵌入式操作系統只為完成某一項或者幾項功能。
再說一下手機的特殊性,也就是要求對響應時間達到一定限制范圍,即所謂的實時操作系統。如果一個電話不能在90秒內接聽,那么對方會掛掉。而你的操作系統還沒反映過來,那么這個操作系統無疑是失敗的,這是對嵌入式操作系統實時性的要求。
作為一個測試人員,你必須了解這些,可能對一些軟件開發人員,他不必很在意這些方面,因為他只要了解自己模塊的入口說明和出口說明就可以。但是測試人員不行。高級測試人員應該了解嵌入操作系統的特點,這個系統不像WINDOWS,有圖形界面可以輸入輸出,也不像DOS用命令行模式,所有這些,都需要自己編寫一個編輯器,編寫一個交互界面,編寫一個輸入輸出界面,在WINDOWS中,利用一些API和一些MFC,不用考慮硬件的問題,因為系統已經完成,而WINDOWS是講究和硬件分離的,因為這樣可以保護系統不受侵入。而在嵌入式系統里面。這一些都要求和硬件息息相關。手機測試中,軟件出現的故障不一定是由于軟件的錯誤,也可能是由于沒有考慮到硬件和軟件沒有完美的結合。
因此我們在了解操作系統同時,也要了解一下其他的手機硬件性能,比如CPU ,存儲器等。
CPU的處理運算能力是以MIPS來衡量的,當然越快越好,但是也是和成本相關的,我不知道現在MOTOROLA T39的CPU,但是,因為是PDA,又是手寫屏幕,所以菜單特別的慢。關于存儲器需要專門做出說明,因為這里的存儲器很特別,不像PC,手機沒有硬盤!
嵌入式系統的編程語言一般用C,而且也是用的最多的,也有其他語言。比如C++在最開始時候是用匯編的,但是匯編難懂,而且也不容易移植,漸漸的被C代替,不過即使如此,在啟動程序時候,要啟動板子,也就是電路板時候,還是需要用一些匯編語言完成。
作為一個嵌入式系統的程序,和在PC上運行著的程序沒有任何不同,唯一不同可能是在PC上運行的程序,你可以看到結果——如果你用輸出語句的話,而在這里,你是看不到結果的。除非你加上LCD硬件,然后編寫了LCD驅動程序,然后再編寫顯示程序。編寫嵌入式程序,一切都要自己解決。我們的手機如果不是認為把電源切斷的話,或者在電源消耗到一定程度的話,是會一直在使用的,所以,手機程序是一直在運轉的,就是說一直在循環,這個對于了解嵌入式程序,應該是個好材料——嵌入式程序就是一個無限循環的程序,除非關掉電源和電源因素,這里也有一個測試點:硬件中斷是最高級的,它會終止你的程序,即使你現在的程序級別很高,比如通話,如果沒電了,一切會over.
手機程序就是在一個無限循環的程序,什么時候跳出這個無限循環?你關機吧,如果感到不高興,把電池卸下來,因為有可能進入死循環,而關機鍵失效了,——只好通過取下電池了。
原文轉自:http://www.anti-gravitydesign.com