1. IOS和android手機測試要注意哪些方面
關於IOS和Android進行手機測試區別,首先對於手機的操作系統知識盡量有一個了解,測試方法一般也是單元測試,介面測試,軟體測試,單元測試。基於app代碼,unit,testng都是可以進行單元測試,測試封裝的類或者函數介面測試與其他介面測試一致,簡單的app,測試一般採用手工測試,如果app模塊穩定,可以採用部分自動化測試安裝,考慮到用戶的一個隱私,盡可能用少的許可權,安裝後的容量,安裝的目錄,安裝後產生的文件,安裝是否按照後台的模式來運行現在我們測試時,開發會先在本地機上做好測試包,自己安裝,開發修改好後,再進行一次測試。
功能測試時需要注意的點:
1、登錄功能:
1用戶名登錄和輸入密碼錯誤時,界面有提示信息。
2用戶退出登錄後,下次啟動APP時,應該進入登錄界面程序。
3自動登錄的APP,數據交換時,是否能成功登錄且對資料庫操作準確無誤。
4密碼進行更改後,登錄時是否做到了有效數據的校驗。
5未登錄時一些頁面的操作,後台是否做了適當操作控制。
6賬號切換登錄,檢驗登錄的信息是否做到有效的及時更新。
7多埠進行操作時,確保資料庫操作無誤,且每個埠都可以及時看到數據的更新。
8對於一些軟體,支持一個賬號綁定登錄到一台機器時需要檢查賬號登錄多個手機時,是否將原用戶的信息剔除,且能夠給出提示信息。
9APP切換到後台時,再次切換到前台的測試,如登錄時,有電話打進來。
2、離線功能:
1離線是應用程序在本地的客戶端會緩存一部分數據以功程序下次正常調用。
2對於離線程序,需要在登錄進來後,這時沒有網路的情況下可以瀏覽本地數據。
3在無網路時,刷新獲取新數據時,不能獲取數據且能及時給出提示。
4前台和後台切換是否都可以正常查看。
5離線後又連上網,這時對數據有更新時,需要從伺服器端獲取新數據來更新客戶端數據,且要更新本地緩存信息。
6界面的數據不提供離線查看,需要給出相應提示且界面更新後無任何數據。
3、Sqlite資料庫:
1android和IOS客戶端都是採用sqlite資料庫,SQLite是一個嵌入式庫並且實現了零配置、無服務端和事務功能的SQL資料庫引擎。它在廣泛領域內被使用,而且單線程讀寫性能與MySQL比肩,並且保證ACID性。
2當APP需要在客戶端保存數據時,它們會創建相應的資料庫表,最常見的就是對賬號的保存,這時的測試觀點主要以下:
3跟一般資料庫相同,需要見擦數據的增,刪,改,查。
4客戶端即用即建,當表不存在時,測試是否會自動創建表。
5數據表被刪除後,新建的表中的數據能否自動從伺服器端中獲取回來並保存。
6對數據進行了修改,刪除,客戶端和伺服器端能否有相應的更新提示。
7獲取數據客戶端是直接從客戶端獲取還是和伺服器端的數據進行比較。
8對於客戶端從伺服器端更新的數據,客戶端是否有保存於本地文件中。
bug注意點:
1因為ios系統有不斷的更新,所以會出現關於兼容性的問題,如果同一個用戶在android和ios上登錄後,記錄應該都是一樣的。手機軟體android系統上測試要特別注意,android手機款式多,內存廣,解析度多樣式,所以測試難度也比較大。我們的軟體有一個問題一直走不去,就是在手機上如果應用開發過多,占內存空間大,就會出現閃退現象。新的版本上線前,一定要測試舊的版本,不能因為新版本上線了,而舊版本導致不能用,用舊版本的的用戶還是大有人在。有一次測試過新版本注冊的用戶去玩舊版本,結果就有出錯,當然這樣測試的人一般會很少。
2如果一頁面里有很多條記錄里,要注意上下多滑動,在測試過程中,好幾次在上下滑動中又由於數據出現錯誤,導致閃退,尤其是android方面到了某個頁面,突然斷網了,然後你在不知情的情況下,點擊某個按鈕想繼續往下走,此時出現閃退的情況,而要給出斷網提示信息。文本框校驗時採用等價類劃分法,邊界值法,錯誤推測法與場景法,至少這些方法的概念,自己在網上可以搜索得到。
3很多手機app在打開後,一般用戶都不需要先注冊登錄,到了合適的地方,彈出合適的提示時候引導用戶去登錄。當然有些界面,而且有時沒有判斷和未登錄去點一些按鈕,有可能會閃退。未登錄與登錄顯示的界面是完全不一樣的。
4用戶登錄狀態時間久了,會話識別就會過期,會出現「雖然是登錄狀態,系統會提示用戶沒有登錄成功的信息。」
5外部軟體更新而導致自家軟體閃退。有一次在用支付快捷支付時,提示支付快捷支付需要更新,接著更新完成後軟體就出現異常情況和閃退。
上線前一定要測一下軟體更新,如果在沒有通過環境測試更新結果下上線,用戶更新就出大問題會大大影響用戶量。希望通過以上信息能給讓你了解更多關於IOS和androida手機APP測試方面的信息。
2. 手機APP如何進行測試,安卓版和ios版,主要是功能!
幾種比較流行的安卓和IOS編程工具應該一般有自帶模擬器,但是肯定存在一個問題是效率低下,建議使用真機測試,流暢,速度快
3. 如何用 appium 實現 iOS 以及 Android 的 Monkey 測試
Android測試工具包括:AndroidTestKit,AndroidJUnit4,Appium,calabash-android,Monkey,MonkeyTalk,NativeDriver,Robolectric,RoboSpock,Robotium,UIAutomator,SelendroidAndroidTestKit組Google源測試工具用於Android包含EspressoAPI用於編寫簡潔靠AndroidUI測試AndroidJUnit4讓JUnit4直接運行Android設備源命令行工具Appium源、跨自化測試工具用於測試原輕量移應用支持iOS,AndroidFirefoxOSAppium驅蘋UIAutomation庫AndroidUiAutomator框架使用SeleniumWebDriverJSON協議AppinmiOS支持基於DanCuellar'siOSAuto.Appium同綁定Selendroid用於Android測試
4. android與ios的app測試有什麼區別
android與ios的app測試的區別如下:
1、、升級測試:可以被升級的必要條件:新舊版本具有相同的簽名;新舊版本具有相同的包名;有一個標示符區分新舊版本(如版本號),對於Android若有內置的應用需檢查升級之後內置文件是否匹配(如內置的輸入法)。
2、 多解析度測試,Android端20多種,ios較少。
3、手機操作系統,Android較多,ios較少且不能降級,只能單向升級;新的ios系統中的資源庫不能完全兼容低版本中的ios系統中的應用,低版本ios系統中的應用調用了新的資源庫,會直接導致閃退(Crash)。
4、操作習慣:Android,Back鍵是否被重寫,測試點擊Back鍵後的反饋是否正確;應用數據從內存移動到SD卡後能否正常運行等。
5、push測試:Android:點擊home鍵,程序後台運行時,此時接收到push,點擊後喚醒應用,此時是否可以正確跳轉;ios,點擊home鍵關閉程序和屏幕鎖屏的情況(紅點的顯示)。
6、安裝卸載測試:Android的下載和安裝的平台和工具和渠道比較多,ios主要有app store,iTunes和testflight下載。
5. app測試,ios和安卓測試有什麼不同
iOS和android是兩種不同的手機系統。現在很多app都有iOS和android的版本,如果是APP測試的話,對系統來說沒什麼區別,就是在不同的系統中確保APP好用,不出現問題
6. 請問自動化測試android和iphone手機軟體的工具是什麼功能測試和性能測試分別是什麼
功能測試是最重要的測試內容,主要測試每個開發模塊所要實現的功能是否能正常使用!性能測試是說,APP正常使用的基礎上,使用起來的直觀感受是否令人滿意,比如啟動快慢、流量耗用多少之類。
安卓的自動化測試方面,網路做的還不錯,兼容測試、性能測試、功能測試都涵蓋了的。最近推出了MTC錄制回放客戶端,用著感覺不錯哦~是基於Eclipse開發環境的,能夠按照開發者的操作自動生成基於控制項的測試代碼,都不用再自己寫測試用例了,推薦你試試吧!!
7. 做Android手機軟體測試需要掌握哪些工具
請注意測試本身不是靠工具的而是靠設計,這是我的理念,所以我一向覺得,很多人認為做測試做的好就是靠掌握一門好的工具,這個觀點是不正確的,所以我可以負責任的告訴你,做Android手機需要掌握的不是工具、而是理念、思維、以及框架,總的來說是本質,而工具只是輔助,那麼現在我來介紹一些我了解的工具(僅僅是了解,很多沒用過)
開源 Android 軟體測試工具包括:Android Test Kit, AndroidJUnit4, Appium, calabash-android, Monkey, MonkeyTalk, NativeDriver, Robolectric, RoboSpock, Robotium, UIAutomator, Selendroid。
Android Test Kit
Android Test Kit 是一組 Google 開源測試工具,用於 Android 平台,包含 Espresso API 可用於編寫簡潔可靠的 Android UI 測試。
AndroidJUnit4
AndroidJUnit4 是一個讓 JUnit 4 可以直接運行在 Android 設備上的開源命令行工具。
Appium
Appium 是一個開源、跨平台的自動化測試工具,用於測試原生和輕量移動應用,支持 iOS, Android 和 FirefoxOS 平台。Appium 驅動蘋果的 UIAutomation 庫和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 協議。Appinm 的 iOS 支持是基於 Dan Cuellar's 的 iOS Auto. Appium 同時綁定了 Selendroid 用於老的 Android 平台測試。
Calabash-android
calabash-android 是一個基於 Cucumber 的 Android 的功能自動化測試框架。Calabash 允許你寫和執行,是開源的自動化移動應用測試工具,支持 Android 和 iOS 原生應用。Calabash 的庫允許原生和混合應用的交互測試,交互包括大量的終端用戶活動。Calabash 可以媲美 Selenium WebDriver。但是, 需要注意的是 web 應用和桌面環境的交互跟觸摸屏應用的交互是不同的。Calabash 專為觸摸屏設備的原生應用提供 APIs。
Monkey
Monkey 是 Google 開發的 UI/應用測試工具,也是命令行工具,主要針對壓力測試。你可以在任意的模擬器示例或者設備上運行。Monkey 發送一個用戶事件的 pseudo-random 流給系統,作為你開發應用的壓力測試。
MonkeyTalk
MonkeyTalk 是世界上最強大的移動應用測試工具。MonkeyTalk 自動為 iOS 和 Android 應用進行真實的,功能性交互測試。MonkeyTalk 提供簡單的 "smoke tests",復雜數據驅動的測試套件。MonkeyTalk 支持原生,移動和混合應用,真實設備或者模擬器。MonkeyTalk 使得場景捕獲非常容易,可以記錄高級別,可讀的測試腳本。同樣的命令可以用在 iOS 和 Android 應用上。你可以記錄一個平台的一個測試,並且可以在另外一個平台回放。MonkeyTalk 支持移動觸摸和基於手勢交互為主的移動體驗。點擊,拖拽,移動,甚至是手指繪制也可以被記錄和回放。
NativeDriver
NativeDriver 是 WebDriver API 的實現,是原生應用 UI 驅動,而不是 web 應用。
Robolectric
Robolectric 是一款Android單元測試框架,使用 Android SDK jar,所以你可以使用測試驅動開發 Android 應用。測試只需幾秒就可以在工作站的 JVM 運行。Robolectric 處理視圖縮放,資源載入和大量 Android 設備原生的 C 代碼實現。Robolectric 允許你做大部分真實設備上可以做的事情,可以在工作站中運行,也可以在常規的 JVM 持續集成環境運行,不需要通過模擬器。
RoboSpock
RoboSpock 是一個開源的 Android 測試框架。提供簡單的編寫 BDD 行為驅動開發規范的方法,使用Groovy 語音,支持 Google Guice 庫。RoboSpock 合並了 Robolectric 和 Spock 的功能。
Robotium
Robotium 是一款國外的Android自動化測試框架,主要針對Android平台的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點擊、長 按、滑動等)、查找和斷言機制的API,能夠對各種控制項進行操作。Robotium結合Android官方提供的測試框架達到對應用程序進行自動化的測 試。另外,Robotium 4.0版本已經支持對WebView的操作。Robotium 對Activity,Dialog,Toast,Menu 都是支持的。
UIAutomator
uiautomator 測試框架提高用戶界面(UI)的測試效率,通過自動創建功能 UI 測試示例,可以在一個或者多個設備上運行你的應用。
Selendroid
Selendroid 是一個 Android 原生應用的 UI 自動化測試框架。測試使用 Selenium 2 客戶端 API 編寫。Selendroid 可以在模擬器和實際設備上使用,也可以集成網格節點作為縮放和並行測試。
8. 做APP測試需要IOS和Android都要精通嗎
最好還是都要會,雖然現在很多公司的產品測試都是找專業的測試公司做,特別是自動化測試工程師和安全方面的,基礎是相同的,就看您怎麼想了。然後書的話就多了,《大話移動app測試》《Android測試與調試實戰》《iOS測試指南》,也可以看看《TestBird 2016上半年APP測試白皮書》很有幫助
9. android 和 ios 人機交互設計指南中最重要的幾點是什麼
android 和 ios 人機交互設計指南中最重要的幾點告訴你,希望你能理解:
這是針對於處於開發中的API或技術的初步文檔。雖然該文檔在技術精確度上經過了嚴格的審核,但並非最終版本,僅供蘋果開發者計劃的注冊會員使用。蘋果提供這份機要文檔的目的,是幫助你按照文中描述的方式對技術的選擇及界面的設計開發進行規劃。這些信息有可能發生變化,屆時,你的設計開發方式需要基於最終版本的操作系統及文檔進行相應的調整和測試。該文檔或許會隨著未來API或相關技術在的發展而進行更新。
審美的完整性
對app而言,審美的完整性並不是用來衡量app漂亮與否,或者塑造它的風格。而是通過app的外觀、交互行為和功能共同傳遞一致的,清晰明了的信息。
用戶關注app能否兌現此前承諾的功能,但是app的外觀和交互行為也潛在地影響著用戶。比如,一款幫用戶處理嚴肅任務的app,可通過使用標准控制項或可預見的交互方式讓裝飾性元素更為精妙和無打擾,從而讓用戶把注意力集中在對任務的處理上。
App清楚明了地把使用目的傳達給了用戶,這可以讓用戶更加信任它。不過,如果開發者通過入侵性的,輕佻的或者武斷的UI向用戶傳遞了混亂的信息,則用戶可能會質疑app的可靠性和可信賴度。
另一方面,對一款鼓勵沉浸式任務的的app,比如游戲,用戶期待一個迷人的外觀,和有趣、刺激以及鼓舞人心的發現。用戶並不期望在游戲中完成一系列嚴肅性的或者生產性的任務,但他們期望游戲的外觀和交互方式可以與游戲目的很好地融合在一起。
App需保持一致性
這樣方便用戶積累的知識和技巧在app各部分UI之間,在app之間進行遷移。一致性並不是盲目模仿其他app,也不是停滯不前,而是更關注用戶熟悉的標准和範例。
決定你的iOS app是否要遵守一致性的原則,考慮下邊幾個問題:
1.你的app是否符合iOS的標准?App 正確使用系統提供的控制項、視圖以及圖標了嗎?App以可靠方式整合設備的功能了嗎?
2.App自身是否一致?文本有沒有使用統一的術語和風格?相同圖標代表的意義是否一致?用戶在不同地方執行了相同的操作,用戶能否預測到將會發生什麼樣的結果?貫穿App的自定義UI元素的外觀和交互方式是否一致?
3.App現在的版本與此前的版本是否一致?條款和意義是否一致?App的基本概念和主要功能本質上有沒有發生變化?
直接操作
直接在屏幕上操作對象,而不使用單獨的控制項來操作,這樣用戶會更專注於當前的任務,他們也更容易理解操作產生的結果。
使用Multi-Touch 界面,用戶可通過雙指張開或者閉合來放大或者縮小圖片和內容區域。在游戲中,玩家可以直接移動屏幕上的對象或者與對象進行直接的交互。 在一款iOS app中,以下動作可為用戶提供直接操作的體驗:
1.旋轉或者移動設備以影響屏幕上的效果
2.使用手勢直接操控屏幕上的對象
3.可看到動作產生的直接結果或可視化結果
反饋
反饋是對用戶動作的承認,向他們展示操作的結果,更新他們任務的進程。內置iOS app為每位用戶的動作提供了可覺察的反饋。在用戶執行點擊操作的過程中,列表項目和控制項會持續幾秒鍾高亮狀態,通過控制項所處狀態短暫的改變來顯示進程的變化。
精巧的動畫可以給用戶有意義的反饋,可幫助用戶清楚地知曉動作產生的結果。比如,列表可以動態地展示新增一行的操作,從而幫助用戶跟蹤視覺上的變化。
聲音也可以給用戶有用的反饋,但不應該是僅有的反饋機制,因為用戶不能時刻傾聽他們的設備發出了什麼樣的聲音來反饋執行的動作。
隱喻
如果app中虛擬的對象和動作象徵著熟悉的用戶體驗,那麼不管這些體驗是深植於真實世界還是數字世界,用戶都可以快速掌握app的使用方法。在隱喻不涉及對象或動作局限性的情況下,App使用隱喻來暗示用法或者體驗再好不過。
由於用戶真實地與屏幕進行交互,因此iOS app的隱喻空間非常廣闊。iOS 中的隱喻包括:
1.移動分層的視圖來展現其下面的內容
2.在游戲中拖動、滑動或者輕掃對象
3.點擊開關,滑動滑塊以及旋轉選擇器
4.在雜志或書上進行翻頁
用戶控制
用戶應該發起和控制動作,而不是app。一款app可以啟發用戶的動作行為方法,或者提醒用戶危險後果,但是app撇開用戶做決策是錯誤的。app能給用戶他們想要的能力,也能幫他們規避不想要的結果,最好的app應該能在這兩者之間正確地平衡。
當交互行為和控制項是熟悉的,可預見的時候,用戶對app會更有控制感。當交互動作簡單直接的時候,用戶對app的動作也更容易理解和記憶。用戶期望在操作產生結果前有足夠多的機會來取消它們,並且他們期望有機會確認自己的目的,從而執行一個具有潛在破壞性的動作。最後,用戶期望能優雅地停止正在進行的操作。
10. 安卓與IOS系統上手機QQ軟體的測試是如何進行的
幾種比較流行的安卓和IOS編程工具應該一般有自帶模擬器,但是肯定存在一個問題是效率低下,建議使用真機測試,流暢,速度快