手機測試,我做了3年,主要涉及的模塊就是entertainment.j2me的程序測試。它的測試主要包括,基本功能測試。包括了測試自帶程序(pre-installed)和后期通過模擬網或者實網下載而來的程序的生命周期。結合測試,一般指在java group這邊指兩個條件并存的情況下一些測試,但是這兩個條件一般不發生沖突。兢合測試,一般指兩個沖突的事件相兢合的情況下的測試。重點在于看系統是否基于既定的優先級進行妥善的處理。此外還有網絡測試,指網絡上獲得程序時的一些測試,包括了對jar,jad的一些屬性的改變來測試,還有狀態報告的測試等等。當然,在這之外,程序上還分若干種類,不同的種類都有不同的測試。
舉個例子來說,j2me程序運行的時候,一個電話和一條短信進來,如何處理?正常來說,第一步是要看沖突事件之間的優先級別,這個一般會在document里面有。比如電話和短信,電話的級別高于短信的級別。體現在這個沖突事件中就是電話在沒有其他設置的情況下,是可以打斷程序的,而短信是不可以的。而在沖突事件之后,每個時間都應該有很好的處理,比如被打斷的程序可以在斷點繼續運行而不是關閉或者起不來了(這個跟設計有關系,不是每個手機的處理方式都一樣),電話在沖突的情況下可以打進來,通話質量不受到影響。通話后,結束程序,可以找到相應的通話記錄。短信可以正常接收等等。。
一般來說,兢合點是很容易出現問題的。很多人在測試的時候卻沒有辦法測試出來,為什么呢?就是因為兢合點沒有把握好。
比如,用例這樣設計:Start a java app,during the java logo is displayed,incoming a call. check point: System can deal them normally or call can be received and after the call, java app can be continued to running.
有些人會這樣做,啟動一個程序,然后撥打一個電話,運行5次或者十次,沒有異常,ok.
但是有些人就會發現問題。差異在哪里呢?沖突點。就是java logo出現的那一瞬間需要incoming a call.這個沖突點之前的人沒有把握到。
有人會說,java logo出現的時間可能只有1秒不到,我怎么測試阿?總是很難碰上這個點,所在之之前或者之后連續測試,沒有問題就可以了。
實際的測試中的確有人這么做的。但是其實測試人員也會很清楚,這樣的測試,真的是對應了這個測試用例嗎?這樣得出的ok的結果真的就是ok了嗎?不是的。這是不能等價交換的。這樣的處理,就是沒有對應這個測試用例,或者說這個測試就是一個失敗的測試。
怎么做呢?
很簡單,你先測試一下,從你選擇啟動到java logo出現 需要幾秒,然后 java logo可以持續多久
然后你測試一下,一個電話從撥完號碼到它響應在手機上,需要幾秒。取一個交集就可以了。
比如,接到一個電話需要6s,java 程序啟動包括logo的時間需要3s.那么你可以再撥號后3秒再去啟動java app.基本上電話進來和logo出現就兢合到了一個點上。這樣幾次下來,如果沒有問題,就基本可以心安理得的寫上“ok”了。
諸如此類。
原文轉自:http://www.anti-gravitydesign.com