如今,移動設(shè)備在每個人的生活中占有非常特殊的位置。我們的生活取決于他們購買食品,訂購食物,學習,支付賬單,銀行業(yè)務(wù)需求,是的,幾乎是一切。當前,移動應用程序以其易于訪問性,良好的用戶界面,出色的響應能力統(tǒng)治著世界,只需輕觸手指即可解決我們的日常需求。
保證質(zhì)量的有效測試和出色的用戶體驗對于移動應用程序的成功至關(guān)重要。在本文中,我們將看到與手動和自動化測試相關(guān)的移動測試基礎(chǔ)。
什么是移動測試?
讓我們從最基本的角度開始,了解什么是移動測試。
顧名思義,在移動設(shè)備上完成的任何測試都稱為移動測試。它可以有兩種變體:
移動設(shè)備測試:這意味著測試設(shè)備本身,并且還涉及與移動設(shè)備硬件的某些交互。例如,屏幕分辨率,Wi-Fi,藍牙,SD卡,內(nèi)部硬件,相機,收音機等。
移動應用程序測試:這意味著測試移動應用程序,并且涉及在移動設(shè)備上運行的軟件。例如,屏幕布局,按鈕,交易速度,性能,網(wǎng)絡(luò)安全性等。
為什么我們需要移動測試?
今天,我們在市場上的移動設(shè)備上有很大的不同。在開發(fā)了移動應用程序之后,我們不能確定該應用程序?qū)⒃谒羞@些應用程序上都能正常工作。那么,我們?nèi)绾未_保我們的移動應用程序在目標設(shè)備上運行呢?我們可以通過有效的測試來做到這一點。由于移動設(shè)備存在以下變化,因此我們需要它:
操作系類型g系統(tǒng)
?Android
?iOS
?Windows
?Blackberry
設(shè)備類型
?手機
?平板電腦
?電子書閱讀器
?智能手表
應用類型
以下是我們在移動設(shè)備上運行的三種類型的應用程序:
本機應用程序:這些是專門為在iOS或Android平臺上運行而開發(fā)的。他們可以訪問移動設(shè)備的GPS(位置),聯(lián)系人列表,相機,SMS等。這些是應用程序商店(Google Play商店/ Apple應用程序商店)中存在的可供下載的應用程序。例如,WhatsApp
行動網(wǎng)路應用程式:這些實際上是可在行動瀏覽器上運作的網(wǎng)站,與原生應用程式有所不同,因為不需要安裝。例如,金融時報
混合應用程序:這些應用程序是本機和移動Web應用程序的混合。他們以移動應用程序的形式廣播網(wǎng)站內(nèi)容。例如,Instagram。有關(guān)移動應用程序類型的更多詳細信息,請點擊此處。
移動測試的類型
我們可以通過兩種方式執(zhí)行移動測試:
?手動移動測試
?自動化的移動測試
手動移動測試由質(zhì)量檢查工程師手動執(zhí)行。它是在不使用任何自動化腳本或自動化工具的情況下執(zhí)行的。質(zhì)量檢查小組在實際的移動設(shè)備上手動執(zhí)行所有操作并捕獲測試結(jié)果。顯然,手動執(zhí)行測試用例將需要更多的時間和精力,但我們無法完全廢除它。在某些情況下,需要人工關(guān)注并關(guān)注細節(jié)。
此類方案的示例包括可用性測試,探索性測試等。
好處
?手動測試非常適合與用戶體驗相關(guān)的場景。為了測試可用性,UI直觀性,易用性等,我們需要能夠執(zhí)行這些任務(wù)并根據(jù)人類經(jīng)驗提供反饋的真實用戶。
?學習自動化工具或腳本不需要任何培訓,因為所有任務(wù)將由用戶手動執(zhí)行。
?無法自動化的復雜方案始終使用手動測試進行測試。例如,游戲應用程序。
?對于小型項目,自動化可能會變得昂貴,因此在這種情況下最好使用手動測試。
?找出內(nèi)存崩潰和應用程序掛起的原因時,手動測試是一個更好的選擇。
?幫助執(zhí)行實際場景并確定可能的問題。
缺點
?由于錯誤是由人執(zhí)行的,因此更容易出錯。
?可能需要更多的精力和時間來執(zhí)行測試用例。
?需要更多的人力資源來執(zhí)行測試。
何時使用手動移動測試
可用性測試:測試用戶友好性,直觀性,移動應用程序的易用性。
探索性測試:用戶無需任何先前的測試案例即可手動瀏覽移動應用程序。它基于用戶的創(chuàng)造力和思維,因此只能是手動的。
設(shè)備崩潰:設(shè)備崩潰的原因有很多,要找出根本原因是一項棘手的任務(wù)。有時,由于內(nèi)存泄漏,設(shè)備可能會丟失可用于移動應用程序的內(nèi)存。因此,內(nèi)存泄漏是移動應用程序崩潰的原因之一。為了確定代碼中可能導致內(nèi)存泄漏的漏洞,測試人員和開發(fā)人員使用BlackBox和Whitebox測試技術(shù)的結(jié)合進行內(nèi)存配置和調(diào)試。
新功能:在市場上通過移動應用程序發(fā)布新功能/實用程序時,很難知道客戶將如何獲得它。他們是否愿意。因此,最初,建議僅手動測試此功能。一旦功能最終確定并穩(wěn)定并為用戶所接受,下一步自動化就是測試用例的自動化。
臨時測試:這是最不正式的測試方法。用戶無需任何文檔即可進行測試以查找錯誤。 在此處了解有關(guān)臨時測試的更多信息。
本地化測試:要求進行測試,以確保該應用程序滿足特定區(qū)域/國家/地區(qū)的所有要求,徽標,文本,消息。
自動化的移動測試使用自動化工具和腳本在移動設(shè)備上執(zhí)行測試用例。在自動移動測試中,不需要人工干預。我們始終可以使重復的測試用例自動化,例如測試套件中的回歸測試用例。另外,像性能測試用例一樣無法手動執(zhí)行的測試也需要自動化。我們可能認為我們可以使整個測試過程自動化,然后放松休息。事實并非如此,因為我們永遠無法自動化測試用戶體驗。為此,我們需要一個真正的用戶。
自動化移動測試比手動測試更可靠,因為它不容易出現(xiàn)手動錯誤。
自動化測試可以一天24小時運行,因此與同一時間范圍內(nèi)的手動測試相比,它提供的覆蓋范圍更大。
可以使用自動化工具執(zhí)行并行測試。多個測試用例可以同時運行;這將極大地增加覆蓋范圍。這樣的工具之一就是 Testsigma,它可以在數(shù)以千計的環(huán)境中進行并行測試而無須任何設(shè)置麻煩。
對于大型組織和大型項目而言,這是一個更好的選擇。一旦自動化腳本準備就緒,則投資回報率(ROI)將更高。
有些場景很難手動執(zhí)行,例如性能測試(負載,壓力,體積等)。在這種情況下,我們將利用自動化測試工具。
幫助及早發(fā)現(xiàn)錯誤,從而降低開發(fā)后期的修復成本。
測試用例是可重用的;相同的重復測試用例可以重復使用多次,而不會帶來任何麻煩。
無法有效執(zhí)行與用戶體驗相關(guān)的測試用例。為此,我們可以更好地依靠手動測試。
不建議對具有小功能的小型應用程序使用自動化測試,因為為測試用例編寫腳本而不是手動執(zhí)行腳本可能會花費更多時間。
根據(jù)不斷變化的需求和環(huán)境維護測試腳本通常很耗時。有一種工具可以節(jié)省您寶貴的維護時間,因為它不需要編碼技能和環(huán)境設(shè)置。
何時使用自動移動測試
并行測試:可以使用自動化工具在多個真實設(shè)備上并行運行許多測試用例。
大型項目:對于大型項目,建議使用自動化工具,因為手動測試可能會花費更多的精力,人力和時間。
重復測試用例:諸如理智和回歸測試用例之類的重復用例應自動化。
性能測試用例:負載,壓力,體積和耐久性測試用例通常無法大規(guī)模執(zhí)行,因此無法手動執(zhí)行。
手動執(zhí)行的復雜方案:復雜的計算和其他難以手動執(zhí)行的復雜方案是通過自動化工具執(zhí)行的。
結(jié)論
現(xiàn)在,我們了解了手動和自動移動測試的優(yōu)缺點。因此,很明顯兩者都有自己的重要性和用途。某些方案最好手動運行,而另一些則最好自動化。連同功能測試用例一起,我們需要評估電池消耗,網(wǎng)絡(luò)連接,性能,內(nèi)存使用情況,內(nèi)存泄漏等的測試用例。很少可以手動檢查這些情況,對于一些檢查,我們可以使用自動化工具。因此,混合測試方法是最成功的方法。