android app testing tutorial
Събиране на основни знания преди тестване на приложения за Android:
Както подсказва самото заглавие, в този урок ще обсъдим повече за процеса на тестване на Android.
Но преди да вляза в различните подробности за процеса на тестване на Android, бих искал да задам няколко въпроса.
Притежавате ли мобилен телефон?
Сега, колко тъп е този въпрос! Разбира се, че всички ние го правим. Всеки има мобилен телефон. Мобилните телефони се превърнаха в основна необходимост на човешкото съществуване в днешно време.
Можете ли да ми кажете операционната система, която е там на вашия телефон?
Ако сте закупили телефона си между 2014-16, тогава шансовете телефонът ви да работи под Android е около 80-85%.
Какво ще научите:
- Растеж на Android
- Въведение в приложението за Android
- Списък „Задачи“ преди началото на процеса на тестване
- Видове тестване за мобилни приложения
- Най-добри практики при тестване на приложения за Android
- Рамка за тестване на Android
- Заключение
- Препоръчително четене
Растеж на Android
Статистиките по-долу описват повече за растежа на Android по лесно разбираем начин.
- През 2009 г. Android беше начинаещ и представляваше само 3,9% от общия пазар.
- Тогава най-голям принос имаше операционната система Symbian с огромен брой от 47% (Златни дни на Nokia).
- Тази тенденция започна да се променя през годините и Android вече достигна 85,2% през 2016 г.
- Горните номера са само за мобилни телефони. Android OS също има голямо въздействие в индустрията на таблети. От 4,4% пазарен дял през 2011 г. до 35,7% през 2015 г. говори за интереса, който хората развиват към таблетни устройства с Android.
- В магазина на Google Play също се наблюдава бързо нарастване на броя на изтеглянията. От 2010 до 2016 г. цифрите са се увеличили от 1 милиард изтегляния на месец до 65 милиарда изтегляния на месец.
- Изтеглянията на приложенията също са силно повлияни от ниските цени (Ср .: 0,06 $ / приложение) на приложенията за Android в сравнение с приложенията за iOS.
Защо просто ви прекарах през всички тези цифри?
Това беше само за да ви информира колко огромно е израснало Android, колко сложно е станало разработването на приложения и колко голям пазар е завоювала тази операционна система през последното десетилетие.
Всеки уебсайт, приложение за Windows и приложение за Mac вече има андроид брат или сестра. Всеки се опитва да разработи приложение за Android веднага щом планира да разработи уебсайт / приложение за Windows. Сега стана необходимо, тъй като клиентите също започнаха да предпочитат мобилни приложения пред компютърни приложения или уебсайтове през последните години.
Някои от приложенията, които са много често използвани в ежедневните ни дейности, са Flipkart, Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp и др.
Причината за скока на пазара на Android е, че:
- Това е отворена система, поради което е лесна за персонализиране, лесна за научаване и дори разработването на приложения е по-лесно.
- Публикуването на приложение в магазина на Google Play е доста лесно в сравнение с другите магазини за игра.
- Има няколко производители на пазара за телефони с Android като Sony, HTC, Samsung, Motorola и др.
- В Android има огромен брой функции като DualSIM, microSD, сменяема батерия и т.н., което е допълнително предимство към него.
- Цените на телефоните с Android не са твърде високи и са достъпни и т.н.
Заедно с изискванията за разработка на приложенията за Android, нараства и изискването за тестери, които са добре запознати с тестване на Android.
Като тестер, преди да започнете да тествате приложение, изградено от Android, трябва да направите много домашни. Първото нещо, което трябва да направите, е да изучите ОС и нейната история. Ако не познавате операционната система, не можете да тествате приложението спрямо различните версии. Основната функционалност на версията на операционната система, потребителският интерфейс, GPS, поддръжката на типа мрежа, живота на батерията и т.н., са някои от важните аспекти, които засягат приложението.
С Android не само операционната система, но и множеството устройства също се нуждаят от проучване.
На пазара се предлагат огромен брой устройства, поради което преди да финализирате и замразите тестовото си легло, трябва да разберете какъв е делът на целевата аудитория. Различните устройства, предлагащи различни функции като DualSIM, двойна камера, разделителна способност на екрана, теми и др., Засягат приложението и те трябва да бъдат тествани.
Следователно е много важно QA да събере изчерпателни знания за цялостната екосистема на Android.
Въведение в приложението за Android
Има различни методи за тестване, които са последвани от успешно сертифициране на приложение за Android.
Типична архитектура за приложение за Android ще изглежда подобно на диаграмата, показана по-долу:
mp3 безплатно изтегляне за телефони с Android
Въз основа на горната фигура има две възможности за приложение:
1) Мобилно приложение за уеб приложение: Възможно е клиентът да има уеб приложение и да иска да направи мобилно приложение за същото. Amazon, Jabong, Myntra и др. Направиха същото и в момента, в който мобилните приложения започнаха да създават бум на пазара, тези търговски компании осъзнаха, че скоро хората ще преминат от уеб приложения към мобилни приложения.
2) Мобилно приложение като отделен бизнес субект: Тествах подобно логистично приложение, за да увеличи бизнеса, той създаде отделно приложение за своите драйвери, за да улесни безпроблемната доставка и премахна документите.
Шофьорите са инсталирали приложението на телефоните си, за да преместят пратката на различни етапи на доставка и съответния им статус, а актуализациите на доставката са отразени в съществуващото им уеб приложение.
Други такива Примери където мобилното приложение е отделен обект са WhatsApp, приложения за проследяване на здравето като S Health и др.
Списък „Задачи“ преди началото на процеса на тестване
За разлика от нормалния цикъл на тестване, за първото издание на мобилно приложение има няколко елемента, които се нуждаят от допълнителни изследвания и планиране за успешна доставка на приложението.
Следват някои от дейностите, които са важни за QA, преди да започне действителното тестване:
# 1) Изследване на ОС и устройства:
Освен да разберете изискването за приложението, трябва да разберете и въздействието на различните версии на операционната система и моделите на устройствата. Трябва да създадете тестови случаи или сценарии в операционната система и моделите на устройствата.
# две) Тестово легло:
За разлика от настолните, уеб и iOS приложенията, създаването на тестово легло за приложения за Android е много сложно поради отворената система за Android. Решението трябва да се вземе след обсъждане с BA, разработчиците и собствениците на продукти, за да се намери целевата аудитория.
# 3) План за тестване:
Тъй като това е първото издание, трябва да има одобрен план с одобрен тест, типове тестове и т.н. Ако е необходимо отделно време за изследване на функционалности или бизнес правила или ако тестването ще бъде сложно и т.н., всичко трябва да бъде обхванато в плана.
# 4) Инструменти за автоматизация:
Инструментите за автоматизация, необходими за мобилни приложения, са много различни от тези за настолни или уеб приложения. Следователно може да се наложи да отделите допълнително време и усилия, за да научите инструмента. Времето и усилията, необходими за същото, трябва да бъдат одобрени от собственика на продукта или клиента.
# 5) Техники или методи за тестване:
За разлика от конвенционалните тестове, които обикновено правим, има малко тестове, които са много специфични за мобилните приложения. А именно полеви тест, GPS тест, тест за заснемане на изображения и т.н. Те трябва да бъдат документирани в тестовите случаи заедно с начина на тестване на този тип.
Видове тестване за мобилни приложения
За сертифициране на приложение за Android се извършват следните видове тестване:
1) Функционално тестване:
Тестването обикновено се постига чрез тестови потоци, инициирани от потребителския интерфейс. Тества се не само потокът от случай на употреба, но и различните бизнес правила. Тестването се извършва чрез удостоверяване на изискванията. т.е. дали приложението работи въз основа на изискванията.
Нека вземем Пример на приложението Zomato.
Когато стартирате приложението, в зависимост от местоположението, се показва списъкът с ресторанти. Сега като QA трябва да тествате списъка с ресторанти.
Това е тестване на функционалност и тук ще тествате функционалности като:
- Проверете дали картите на ресторанта са показани w.r.t местоположението.
- Проверете дали показаните ресторанти са в дадения диапазон (км) от местоположението.
- Проверете дали броят на рецензиите за всяка карта е в синхрон с дадените рецензии.
- Проверете дали добавянето на нов ресторант за дадено място отразява в списъка.
- Проверете дали ресторантите са изброени въз основа на правилото за филтриране на Zomato и т.н.
2) Тестване на потребителския интерфейс на Android:
Това е тестване, ориентирано към потребителя на приложението. В тази тестова фаза под това се тестват елементи като видимост на текст на различни екрани на приложението, интерактивни съобщения, подравняване на данни, външен вид и усещане на приложението за различни екрани, размер на полетата и т.н.
За същия пример по-горе на Zomato тестовете на потребителския интерфейс ще бъдат:
- Проверете дали картите са показани правилно подравнени с размера на мобилния екран.
- Проверете дали изображението на ресторанта се показва според очакванията.
- Проверете дали данните за картата, рейтингът на ресторанта, видът на кухнята, адресът и т.н. са показани правилно подравнени.
- Проверете дали превъртането на списъка не съдържа грешки и картите не се показват неправилно подравнени, когато се превърта дълъг списък от карти и т.н.
3) Тестване на съвместимост:
Това тестване се извършва най-вече под формата на две матрици на OS Vs app и Device model Vs app. Обикновено списък на поддържаните операционни системи (а понякога и устройства) се предоставя от собственика на продукта или клиента.
Необходимостта от това тестване е:
- Когато се вземе под внимание ОС като Android, се откриват 7 базови версии, като се пренебрегва броят на изданията на кръпки / EP.
- Можете ли да познаете видовете устройства с Android, които в момента работят по целия свят? 1000? 2000 г.? Грешно! Правилният отговор е 24000. Има 24000 вида уникални устройства с Android, които присъстват и са активни в света.
- С варианти като тези тестването на съвместимост играе жизненоважна роля при сертифицирането на приложение за Android.
- Ние не само трябва да потвърдим операционната система и типа на устройството, но също така и няколко други функции, които попадат в теста за съвместимост. Функциите включват:
- Размер на екрана
- Резолюция на екрана
- Мрежова свързаност
4) Тестване на интерфейса:
С други думи, това също се нарича интеграционно тестване. Това тестване се извършва, след като всички модули на приложението са напълно разработени, тествани индивидуално и всички грешки са фиксирани проверени.
Тестването на интерфейса включва тестове като цялостно тестване на приложението, взаимодействие с други приложения като Карти, социални приложения и т.н., използване на микрофон за въвеждане на текст, използване на камера за сканиране на баркод или за снимане и т.н.
Отново като се има предвид Zomato, тестовете за интеграция ще бъдат като:
- Проверете дали потребителят може да резервира маса за ресторант.
- Проверете дали потребителят е в състояние да разгледа менюто и да поръча храна онлайн.
- Проверете дали потребителят може да се възползва от купон PayTM, докато поръчва храна.
- Проверете дали потребителят може да вижда местоположението на ресторанта в Google Maps.
- Проверете дали потребителят може да отвори телефонния набирач и да се обади на ресторанта и т.н.
5) Тестване на мрежата:
Основните характеристики на мрежовото тестване включват:
- Приложението трябва да разговаря с междинната служба, за да извърши процеса.
- По време на това тестване заявката / отговорът към / от услугата се тества за различни условия.
- Този тест се прави главно, за да се провери времето за реакция, в което се извършва дейността като опресняване на данни след синхронизиране или зареждане на данни след влизане и т.н.
- Това се прави както за силна wifi връзка, така и за мобилна мрежа за данни.
- Това е вътрешно тестване.
6) Тестване на производителността:
Проверява се ефективността на приложението при някои специфични условия.
Тези условия включват:
- Малко памет в устройството.
- Батерията е изключително ниска.
- Лошо / лошо приемане в мрежата.
Ефективността се тества основно от 2 края, края на приложението и края на сървъра на приложения
7) Тестване на инсталацията:
Има два типа приложения на устройство с Android, т.е. предварително инсталирани приложения и приложения, които се инсталират по-късно от потребителя.
И за двете по-горе трябва да се извърши тестване на инсталацията. Това е да се осигури гладка инсталация на приложението, без да се стигне до грешки, частична инсталация и т.н.
Тестовете за надстройка и деинсталация се извършват като част от тестването на инсталацията.
8) Тестване на сигурността:
Поверителността и сигурността са 2-те основни изисквания на приложението. В банковото дело, здравеопазването обаче това се превръща в основно изискване.
Тестването на потока от данни за механизъм за криптиране и дешифриране трябва да бъде тествано на тази фаза. Достъпът до съхранените данни също се тества на тази фаза.
9) Полеви тестове:
Тестуването на място се извършва специално за мобилната мрежа за данни и не вътрешно, а чрез излизане и използване на приложението като нормален потребител. Това тестване се извършва „само“, след като цялото приложение е разработено, тествано и регресирано (за грешки и тестови случаи).
По принцип се прави, за да се провери поведението на приложението, когато телефонът има 2G или 3G връзка. Полевото тестване проверява дали приложението се срива при бавна мрежова връзка или зареждането на информацията отнема твърде много време.
Можете да прочетете повече за полевите тестове в нашата статия „Значение и необходимост от полеви тестове за мобилни приложения“
10) Тестване на прекъсване:
Този тип тестване е известен и като офлайн проверка на сценарий. Условия, при които комуникацията прекъсва в средата, се наричат офлайн условия.
най-добрите компании за видеоигри, които да работят за 2018 г.
Някои от условията, при които прекъсванията в мрежата могат да бъдат тествани, са както следва:
- Премахване на кабел за данни по време на процеса на трансфер на данни.
- Прекъсване на мрежата по време на фазата на осчетоводяване на транзакциите.
- Възстановяване на мрежата след прекъсване.
- Премахване на батерията или включване / изключване на захранването, когато е във фаза на транзакция.
Най-добри практики при тестване на приложения за Android
Има определени фактори, които трябва да бъдат взети предвид при изготвянето на стратегия за тестване на мобилни приложения.
Те са:
1) Избор на устройство:
- Това е една от най-критичните стъпки преди започване на процеса на тестване на приложението за Android.
- Решете кои устройства трябва да се вземат предвид при процеса на тестване.
- Изборът трябва да се направи така, че да се увеличи максимално броят на целевите клиенти.
- Фактори като версия на операционната система, резолюции на екрана и форм-фактори (таблет или смартфони) играят жизненоважна роля във фазата на избор.
- При необходимост може да се вземе предвид дори помощта на емулатори.
- Но емулаторите не трябва да заменят процеса на тестване на физическото устройство.
- Емулаторите на устройства са рентабилни и са полезни по време на началната фаза на разработка.
- Но за да се тестват сценариите от реалния живот, физическите устройства са задължителни. И емулаторите, и физическите устройства трябва да се използват балансирано за оптимизиран резултат.
2) Бета тестване на приложението:
- Бета тестването е много ефективно при тестване с реални потребители, реални устройства, действителни мрежи и приложения, инсталирани в широка география.
- Това дава ясна картина на мрежовата плътност, мрежовите вариации (Wi-Fi, 4G, 3G и 2G) и въздействието върху приложението.
- Бета тестването в реалния свят е единствен по рода си и не може да бъде възпроизведен в контролирана среда.
3) Свързаност:
- Обикновено приложенията за Android са свързани към интернет за различни изисквания.
- Свързването на различни устройства играе ключова роля при изготвянето на стратегията.
- Повечето свързаността се контролира от симулационен софтуер, който помага при регулиране на скоростта на мрежата, латентността и ограничената свързаност по време на тестване.
- Казва се, че тестването при реални мрежови връзки винаги е препоръчително за резултат / данни в реално време.
4) Ръчно или автоматизирано тестване:
- Въпреки че тестването за автоматизация отнема достатъчно време за първото изпълнение, това е полезно, когато тестването трябва да се повтори. Това също така намалява общия период от време на тестване по време на различните етапи на разработка.
- Android Automation трябва да бъде обединен с ръчно тестване, когато повторението на теста за регресия е високо във фазата на разработване на приложението, тестването на съвместимост трябва да се направи за едно и също приложение на различни версии на ОС, контролни точки за обратна съвместимост и т.н.
Рамка за тестване на Android
Налични са няколко тестови рамки за Android.
В този урок ще обсъдим 3 различни типа най-често използвани рамки:
- Тестова рамка за роботиум
- Робо-електрическа рамка за изпитване
- Appium тест рамка
1) Тестова рамка за роботиум:
- Тази рамка се използва за писане на сложни и здрави тестови случаи на черна кутия за приложения за Android.
- Той поддържа както местни, така и хибридни клиенти.
- Функциите, системните тестове и тестовете за приемане от потребителите могат да бъдат написани с помощта на тази рамка.
- Robotium поддържа Android 1.6 и по-нови версии, както и поддръжка на диалогови прозорци, менюта, дейности и др.
- Тази рамка обработва автоматично множество дейности с Android.
- Няколко метода са дадени като част от Robotium за взаимодействие с различни графични компоненти на приложението Android. Някои от тях са както по-долу:
- Върни се();
- getButton ();
- isRadioButtonChecked ();
- searchText („Потребител“);
- щракнете върху бутона (“Изход”);
2) Робо-електрическа рамка за изпитване:
- Тази рамка помага при тестване на приложения за Android на JVM въз основа на рамката JUnit4.
- Той използва Android API.
- Това помага при писането на тестови казуси и стартирането им на JVM.
- При това всички класове се заменят с нещо, наречено обекти в сянка.
- Винаги, когато се реализира метод, Robo-electric вътрешно изпраща повикването към сенчестия обект.
- Въз основа на изпълнението, ако методът е реализиран от обект в сянка, тогава се връща стойност. В противен случай се връща NULL.
- Поради сенчестите обекти и JVM изпълнението става по-бързо.
3) Тестови рамкови епохи;
- Тази рамка работи за местни, хибридни и мобилни уеб приложения за устройства с Android.
- Appium е безплатна за използване.
- Single API работи както за Android, така и за платформата iOS. Това е една от рамките, която поддържа междуплатформено тестване.
- Той използва Selenium Web драйвер за взаимодействие с приложението за Android.
- Appium поддържа писане на скриптове с помощта на много програмни езици като Java, C #, Python, PHP, Ruby и др.
Заключение
Автоматизацията на приложенията за Android може да бъде обединена с ръчно според нуждите. Ако обаче към стратегията се добави тестване на Androind Automation, изборът на правилния инструмент е голяма задача. При избора на фактори на инструмента за автоматизация като поддръжка на няколко платформи, тестов работен поток, цена на инструмента, услуга / поддръжка и т.н. трябва да се вземат предвид.
Има няколко предизвикателства, свързани с тестването на приложения за Android. Има различни фактори, които трябва да бъдат взети под внимание, преди процесът на тестване на Android наистина да може да бъде приложен, но след като това стане, това става много интересна задача.
Внимавайте за нашия предстоящ урок, за да научите повече за Предизвикателства и решения за мобилни тестове.
Препоръчително четене
- 11 най-добри инструменти за автоматизация за тестване на приложения за Android (инструменти за тестване на приложения за Android)
- Услуги за бета тестване на мобилни приложения (Инструменти за бета тестване на iOS и Android)
- Създайте Appium Tests за приложение за Android
- Функционално тестване срещу нефункционално тестване
- Уроци за тестване на мобилни приложения (Пълно ръководство с над 30 урока)
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)
- Алфа тестване и бета тестване (Пълно ръководство)
- Уроци за задълбочено затъмнение за начинаещи