http://code.google.com/p/android/issues/detail?id=20964
搜尋此網誌
2011年12月29日
2011年12月28日
Android GUI test summarize / Android keyevent 測試
Android GUI測試上,只有 monkey 工具類似 MS LTK 裡面的 GUI load test 項目
GUI 測試一直是很耗費人力,且需要很多額外判斷方法的測試項目
如何做到自動化是件困難的事情
Android 目前有一些測試工具或方法,整理如下。
從 Software stack layer 大致分類來看:
Test Type | Methodology |
GUI Directly | 1.GUI record and play 2.Send key / touch event |
Application | 1.Instrumentation / Unit test 2.Activity element control |
Framework | Hook key logger |
從功能分析:
Test Type | Tool Name | Behavior Control | Limitation |
GUI Directly | Sikuli | Sikuli Any shell Any scripting tool (AutoIt / AutoHotKey / …) Any program language | Remote screen |
Activity element | Control by activity element | ||
Experitest | GUI record and play | Commercial Cannot native AP (TBC) | |
Key event | Adb keyevent (Key) Sendevent / getevent (Touch) | UI uniform problem | |
Monkey | Any shell Any scripting tool (AutoIt / AutoHotKey / …) Any program language | ||
Monkey runner | TBC | ||
Instrument | Instrument Unit test | Instrument / Unit test Robotium / Selenium Eclipse plugin (Testdroid) | Test single AP only or owned AP only |
Framework | Key logger |
*Remote screen:
1.MyMobiler (Remote control)
2.DDMS (Display only)
3.VNC (TBT)
4.QTADB (Display only)
5.Android Screen Monitor (Display only)
6.androidscreencast.jnlp (Remote control)
7.Android Projector (Display only)
8.AndroidScreenCapureSetup (Unknown)
9. droidAtScreen-0.5.1.jar (Unknow)
2011年12月26日
2011年12月25日
2011年12月23日
Android streaming test idea / Android 串流多媒體測試想法
測試網址:
測試對象 (Client):
- 可以從 Google 搜尋
- 從 free player (Internet radio / Internet radio) 裡面的 URL list 搜尋 (例如 Stream Media Player 裡面就有列出 URL)
- 自行架設 (Wiki 有列很多 streaming service 系統,最快就是用 VLC。但是 1.1.11 版的,都跟 Android client 配不起來,還在測試中)
測試對象 (Client):
- Android SDK API: MediaPlayer, AsyncPlayer, JetPlayer
- Market free player: Doga, MX Video Player, QissMusic, StreamMediaPlayer, Stream Media Player, VLC Direct, yxplayer, 達龍
測試方法 (Client):
0. Behavior check:
a. Downloading and playing at the same time.
b. URL check speed with different patterns size.
c. Network check speed with different network type.
d. CPU / Mem load
e. Touch panel response
1. Normal condition:
a. Could play by all protocols.
b. Could play specific patterns (mp3).
c. Count down & UI are sync and correct.
d. Slow network
2. Abnormal condition:
a. URL:
1. Wrong URL format.
2. URL unreachable (Pattern not exist).
3. Incorrect pattern type.
4. URL invalid while playing (During one cycle then go to next cycle)
b. Network:
1. PDP
2. WiFi
3. No network (Airplane mode)
4. Network invalid while playing (During one cycle then go to next cycle)
待解決問題:
- 如何用程式判斷 streaming URL 是存活的
- VLC streaming 都讀不到
2011年12月20日
Internet streaming (Audio / Video / Music / Radio) collection
Music / Radio / Audio:
- http://wiki.slimdevices.com/index.php/InternetRadioURLs
- http://wiki.secondlife.com/wiki/Music_streams
HTTP Live streaming (Client / Server)
Live TV URL:
Video streaming service:
- http://en.wikipedia.org/wiki/Comparison_of_video_services
- http://wiki.xbmc.org/index.php?title=HOW-TO:Play_internet_video_and_audio_streams
- http://www.wowza.com/demos/mobile.html
- rtsp://v3.cache7.c.youtube.
com/CjYLENy73wIaLQlsxb_ mm0Bu9RMYJCAkFEIJbXYtZ29vZ2xlS ARSBXdhdGNoYNyIl7jXoaH_TAw=/0/ 0/0/video.3gp
Streaming system:
Streaming protocol:
2011年12月19日
Android File IO Performance Test
並沒有參考過 Linux open community tool 的 algorithm
這是下一步要改進的
目前針對以下幾個項目,然後用各種不同的 Java IO 方式來進行測試
l Src / Dst path [option]
l File size [option]
l Test cases
n Sequential R/W (Postpone)
n Random R/W (Postpone)
n Creating (Low IO / High IO / New IO with buffer size, file size and algorithm)
u Create many small files
u Create large file
n Copying (Low IO / High IO / New IO with buffer size, file size and algorithm)
u Copy many small files
u Copy large file
n Deleting
u Delete many small files
n File compression / decompression
n File encryption / Decryption
Test scenario: (Algorithm, BufferedReader, BufferedWriter, read / write by buffer)
//createNative1(dstFlash, size);
createNative2(dstFlash, size);
createBuffered(dstFlash, size);
createNIO(dstFlash, size);
createRandom(dstFlash, size);
//nativeStream1(srcFlash, dstFlash, size);
nativeStream2(srcFlash, dstFlash, size);
//nativeReader(srcFlash, dstFlash, size);
//bufferedStream1(srcFlash, dstFlash, size);
bufferedStream2(srcFlash, dstFlash, size);
//bufferedReader1(srcFlash, dstFlash, size);
//bufferedReader2(srcFlash, dstFlash, size);
customBufferStream1(srcFlash, dstFlash, size);
customBufferStream2(srcFlash, dstFlash, size);
//customBufferReader1(srcFlash, dstFlash, size);
//customBufferReader2(srcFlash, dstFlash, size);
newIOBuffer(srcFlash, dstFlash, size);
bySystemCmd(srcFlash, dstFlash, size);
// copySmallFiles(flashPath, flashPath);
// customBufferBufferedStream(srcFlash, dstFlash);
// customBufferBufferedReader(srcFlash, dstFlash);
// appliedCompression(srcFlash, dstFlash, size);
// appliedCaching(srcFlash, dstFlash, size);
2011年12月15日
[蒐集] Android 自動化測試初探
http://www.linuxidc.com/Linux/2011-06/37906.htm
http://my.oschina.net/zhangqingcai/blog/36272
http://softteco.blogspot.com/2011/03/android-low-level-shell-click-on-screen.html
http://my.oschina.net/zhangqingcai/blog/36272
http://softteco.blogspot.com/2011/03/android-low-level-shell-click-on-screen.html
Android 檢查網路連線的兩個方法
一個是用 NetworkInfo 的 isConnected,一個是用 ConnectivityManager 的 getNetworkInfo(?).getState()
private void conditionCheck() {
try {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (activeNetwork.isConnected())
Log.w(name, "1 ok");
else
Log.w(name, "1 fail");
NetworkInfo activeNetwork1 = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (activeNetwork1.isConnected())
Log.w(name, "2 ok");
else
Log.w(name, "2 fail");
if ((cm.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED))
Log.w(name, "Mobile network is ok");
else
Log.w(name, "Mobile network is fail");
if ((cm.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED))
Log.w(name, "WiFi network is ok");
else
Log.w(name, "WiFi network is fail");
} catch(Exception e) {
e.printStackTrace();
}
}
但是以下這段卻不 work…還不知道為什麼
if ((cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.DISCONNECTED)
&& (cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.DISCONNECTED))
Log.w(name, "Cannot reach the pattern!");
2011年12月14日
[轉] Android 對 HTTP / URL 的請求方法
要做 streaming 時,想對 URL 對象做檢查
可以參考這兩個網頁:
可以參考這兩個網頁:
- http://blog.csdn.net/zuolongsnail/article/details/6373051
- http://lrc-1986.iteye.com/blog/868799
訂閱:
文章 (Atom)