mobile application performance testing guide
Ръководство за тестване на производителността на мобилни приложения:
В това Изричен набор от уроци за тестване на производителност, изследвахме концепцията за Тестване на производителността в облак в последния ни урок.
Тук ще научите какво е мобилно приложение, видове мобилни приложения, подход за тестване на производителността на мобилни приложения, как да настроите среда за тестване на производителността на мобилни приложения, как да отстраните проблеми с производителността на мобилните приложения, предизвикателствата и наличните инструменти и т.н. по подробен начин.
=> Щракнете тук за пълна серия уроци за тестване на ефективността
Какво ще научите:
- Общ преглед
- Какво е мобилно приложение?
- Архитектурата на мобилните приложения
- Подход за тестване на производителността на мобилните приложения
- Стратегия за изпълнение на мобилните приложения
- Среда за тестване на производителността на мобилните приложения
- Предизвикателства при тестване на производителността на мобилни приложения
- Отстраняване на проблеми с производителността с мобилни приложения
- Инструменти за тестване на производителността на мобилните приложения
- Заключение
- Препоръчително четене
Общ преглед
В днешния технологичен свят мобилните приложения се използват широко от обикновените настолни приложения. Броят на потребителите, които използват смартфони за достъп до повечето от своите приложения, отколкото използването на настолен компютър или лаптоп, се увеличава драстично.
Също така крайният потребител ще очаква добър отговор от приложението, когато го използва. Следователно разработчикът, който създава мобилните приложения, трябва да има това предвид, докато разработва приложението.
какво означава недефинирана препратка в c ++
Сега тестването на производителността е от решаващо значение, било то редовно уеб приложение или приложение на мобилно устройство. Ако дадено приложение стартира без тестване на производителността и ако крайният потребител се сблъска с проблеми с производителността като бавен отговор и т.н., тогава той ще се опита да намери друго по-добро приложение, което да работи по-добре.
Тестването на производителността е скъпо и отнема повече време. Следователно много клиенти избягват да ходят на тестване на производителността, но това ще помогне много за проблемите в производството. По този начин всяко приложение трябва да бъде тествано щателно, преди да бъде предоставено на разположение на крайния потребител.
Какво е мобилно приложение?
Мобилните приложения са набор от предварително дефинирани функции, предназначени да работят на мобилни устройства като Smart Phone, Tablets и други телефони с функции. Не всички мобилни приложения са еднакви, има три различни типа мобилни приложения и те се основават на технологията, използвана за разработването на тези приложения.
3 вида мобилни приложения включват:
- Родни мобилни приложения
- Уеб-базирани мобилни приложения
- Хибридни приложения
# 1) Родни мобилни приложения:
Нативните мобилни приложения са тези приложения, които се изпълняват на вашите собствени смартфони или таблети, те се изпълняват в операционната система на мобилните устройства. Те осигуряват висока производителност и също са много надеждни. Този тип приложения имат достъп и до другите приложения на вашето смартфон устройство, като снимки, адресна книга и др.
Нативните приложения са налични в магазина за мобилни приложения. За Android имаме магазин за игра, а за iPhone iTunes. Така че тези приложения се изтеглят от съответните им магазини и се инсталират на мобилни устройства.
Примери Нативните приложения са калкулатор, календар, Facebook приложение и др.
# 2) Уеб базирани мобилни приложения:
Уеб-базирани мобилни приложения се изпълняват директно от браузъра, те не са инсталирани на мобилното устройство.
Примери на уеб-базирани мобилни приложения са онлайн игри, сайтове за социални мрежи и др.
# 3) Хибридни приложения:
Хибридните приложения са подобни на естествените приложения и те се изпълняват в родния контейнер, те са комбинация от двете приложения и използват браузъра на устройството, а не действителния браузър, за да изобразяват уеб страниците на приложението.
Примери на хибридното приложение са Instagram, Yelp и др.
Архитектурата на мобилните приложения
На горната фигура , смартфоните и таблетите идват от страна на клиента. Те включват устройствата, които обикновено използваме като Smart Phone, Tablets, тяхната мрежа като 3G, 4G и др. Операционна система на устройства като Android, iOS, Windows и т.н.
Мобилна клетъчна мрежа , Безжична, интернет и защитна стена влиза в мрежа. За клетъчната мрежа виждаме сила на сигнала, задръстване на мрежата, отпадане и т.н. За безжична мрежа виждаме сила на сигнала, скорост и т.н.
Web, App и DB идват от страна на сървъра, където се извършва по-голямата част от работата.
Подход за тестване на производителността на мобилните приложения
Тестването на производителността на мобилните приложения се различава от тестването на производителността на уеб приложения. Лаптопите или настолните компютри, които се използват за достъп до уеб приложенията, не страдат много от лоши мрежови условия, включително загуба на пакети или латентност.
Докато в условията на мрежата за мобилни приложения, загуба на пакети, латентност, типът устройство, което използваме като смартфон или смарт устройство и честотна лента, са важни и не бива да пренебрегваме всички тези фактори, докато обмисляме тестване на производителността на мобилните приложения.
Преди да разработите вашата стратегия за ефективност, трябва да разберете какъв тип приложение използвате на вашето мобилно устройство.
Има три вида приложения:
- Браузърни приложения
- Родни приложения
- Хибридни приложения
# 1) Приложения, базирани на браузър:
Този тип приложения могат да бъдат директно достъпни чрез мобилен браузър и те не се нуждаят от допълнителен софтуер, който да бъде изтеглен или инсталиран на устройството.
Те са леки и са изградени на един и същ стек във всички видове устройства като Android, iPhone и др. Също така отзивчив уеб дизайн движението улеснява още повече създаването на мулти браузърно базирано приложение, тъй като можете да го направите с различни размери на екрана.
Този тип приложения имат недостатъци, като че не могат да бъдат достъпни без връзка с интернет, те не разполагат с всички функции, вградени в устройството и те също са склонни да изглеждат по-бавни за потребителите.
Така. докато тествате производителността на този тип приложения, важно е да репликирате натоварването на потребителя от мобилен браузър и също така е важно да тествате изобразяването на уеб страници на целеви устройства.
# 2) Родни приложения:
Този тип приложения се изграждат на определена платформа, използвайки софтуера, който е инсталиран директно на устройството.
Родните приложения са по-бързи и по-отзивчиви, тъй като са изградени локално на устройството. Тъй като кодът на всяко устройство е различен, т.е. за iPhone, Android и т.н., докато тестваме производителността, трябва да помислим за тестване на всяка платформа.
# 3) Хибридни приложения:
Хибридните приложения са комбинация както от браузър, така и от собствени приложения. Те са съставени от Native shell, която осигурява бързо интегрирано изживяване.
Докато тестването на производителността е насочено към натоварването, генерирано от потребителите на такова хибридно приложение от страна на сървъра, както и измерва производителността на приложението на устройството от гледна точка на крайния потребител.
И така, как да тестваме тези мобилни приложения?
За да тестваме такива мобилни приложения, трябва да изградим среда с емулатори и реални устройства. Мобилните емулатори са софтуер, който трябва да бъде инсталиран на нашите лаптопи или настолни компютри, който ще имитира мобилно приложение или мобилна платформа.
Следователно, използвайки тези емулатори, ние можем да генерираме значително количество товар за нашето тестване на натоварване.
Другият метод е използване на реални устройства, тук имаме устройството физически и можем да видим как приложението работи на всяко устройство. Използвайки реални устройства, нямаме възможност да генерираме товара, което е основната ни цел, но за да направим това, трябва да имаме множество реални устройства.
Ако обаче искате да тествате поведението на приложението на конкретно устройство, можете да използвате истинското устройство, но за генериране на натоварване трябва да използваме емулатори.
Следващата точка, която трябва да обърнете внимание при тестване на мобилно приложение, е да знаете местоположението на крайния потребител. Много е важно да се знае дали потребителите имат достъп от един и същи град, една и съща държава или са разпространени по целия свят и т.н. Ако планираме теста или средата, без да се съобразяваме с това, тестовете ни биха били погрешни.
Ефективността на приложението на мобилно приложение като смарт телефон или смарт устройство обикновено се измерва по отношение на производителността на устройството, производителността на сървъра / API и мрежовата производителност.
кой е най-добрият шпионски софтуер за мобилни телефони
Трябва да проверим следното при всяко изпълнение.
Ефективност на устройството:
- Време за стартиране на приложението
- Време на батерията, докато използвате приложението
- Консумация на памет
- Вариант на хардуера и софтуера
- Използване с други приложения
- Приложение, работещо във фонов режим
Изпълнение на сървъра / API:
- Данни към и от сървъра.
- Генерирани извиквания на API
- Престой на сървъра
Мрежова производителност:
- Изгубен пакет
- Скорост на мрежата
По този начин, докато пишете подхода за тестване на производителността на мобилните приложения, трябва да вземете предвид всички горепосочени точки и да съответствате на обхвата и изискванията на вашия проект.
Стратегия за изпълнение на мобилните приложения
Тестовият подход се различава за всеки тип мобилно приложение. Подходът варира от едно приложение до друго, тъй като всяко приложение е разработено с различни компоненти и механизмът за обработка е различен за всеки.
Мобилните приложения, базирани на браузър, действат по различен начин от обикновеното приложение на уеб браузъра. Това поведение се дължи на честотната лента от плана за данни, който използва крайният потребител, а също така зависи от конфигурацията на мобилните устройства.
Разходите за разработване на този тип базирани на браузър приложения ще бъдат по-малко, тъй като разработката ще бъде да се види неговата съвместимост с браузърите, налични на мобилни устройства.
Следователно за тестване на производителността, като например приложения, базирани на мобилни браузъри, трябва да повторим натоварването на потребителя в браузъра. Можем да направим това с помощта на емулатори или други допълнителни компоненти. Освен натоварването на потребителите в мобилните браузъри, ние също трябва да тестваме изобразяването на уеб страници на устройствата.
Разходите за разработка на Native Mobile Applications са повече. Приложенията се инсталират директно на устройството, което прави потребителското изживяване по-добро, но приложението зависи от платформата.
Така че, ако искаме да тестваме производителност в този тип приложения, тогава трябва да тестваме всички платформи на мобилните устройства като Android, iOS, Windows и т.н., както и на всички видове устройства като смартфон, таблети и т.н.
Хибридните мобилни приложения са комбинация както от мобилни приложения, базирани на браузъра, така и от собствени мобилни приложения, поради което тук трябва да тестваме натоварването на потребителя на сървъра, а също така трябва да направим пълно тестване на производителността на участъци на всички мобилни устройства и платформи.
За всяко приложение на мобилното устройство има два основни фактора, които влияят върху ефективността на крайния потребител:
- Заявка на мобилното устройство
- Рендиране на страницата на мобилното устройство
# 1) Заявка за мобилно устройство:
При това заявката се доставя на сървъра и отговорът на сървъра се генерира въз основа на получената заявка. След като отговорът бъде генериран на сървъра, този отговор се изпраща обратно на мобилното устройство, което е изпратило първоначалната заявка.
Тук параметрите, които трябва да бъдат разгледани, са натоварването на сървъра, различните типове мрежи като 3G, 4G и т.н., натоварване на всяка мрежа и всякакви други компоненти.
Можем да ги тестваме с помощта на емулатори, т.е.можем да генерираме скриптове и да използваме емулатори, за да имитираме потребителското натоварване на сървъра.
# 2) Оказване на страница в мобилното устройство:
Рендирането на страници на мобилното устройство не е нищо друго освен отговор, който се получава от сървъра за заявката, която изпратихме от нашето мобилно приложение.
Тук параметрите, които трябва да бъдат разгледани, са операционната система на устройството, настройката на конфигурацията на мобилното устройство и т.н. Можем да ги тестваме, като всъщност влезем в мобилното устройство и ги наблюдаваме.
техники за тестване на бяла кутия с примери
Сега нека разгледаме подробно всяка стъпка, спомената на горната фигура:
а) Създайте потребителски сценарии в реално време:
Подобно на обикновените приложения за уеб браузър, трябва да идентифицираме сценариите или условията, които се очакват на сървъра в реално време. Ще има много сценарии за тестване.
Нека приемем условие, при което има уеб приложение, което е достъпно и на двата настолни компютъра, както и на мобилно устройство, също така е родно в Android и iOS устройства. Тук трябва да разработим тестов скрипт, базиран на типа достъп до приложението. Следователно трябва да го тестваме отделно на всяко устройство.
Също така трябва да разгледаме модела на натоварване за този сценарий, т.е. трябва да разберем как се разпределя натоварването към всяко устройство. Например, 500 потребители ще имат достъп до приложението през мрежата, около 100 ще използват родно приложение на своето устройство с ios, а други 200 ще имат достъп до приложението от своето собствено устройство на приложение за Android.
Трябва също да вземем предвид географското местоположение на товара на сървъра. Например, 30% от потребителите имат достъп от САЩ, 50% от Индия, а останалите 20% от други места. Задължително е да се имитира различно местоположение на потребителя, тъй като това ще има много голямо въздействие върху сървърите.
Тестването на всички 100% от едно място ще доведе до грешни резултати. Затова се препоръчва да тествате натоварването на сървърите, като посочите различно местоположение. Решението в облака може да се използва за имитиране на различни географски местоположения.
б) Създаване на мрежови условия в реално време:
Тук трябва да създадем различни мрежови условия, както и качеството на мрежата като 3G мрежа, 2G мрежа, Wi-Fi с най-добрата скорост, средна скорост и ниска скорост. Трябва да направим мрежова емулация за създаване на мрежови условия.
Ние също трябва да тестваме производителността, като дадем 50% условия на честотна лента, можем да постигнем това, като правим мрежова емулация. Можем да използваме всякакви инструменти като аеродинамичен тунел, Shunra и др.
Също така тествайте мрежата по отношение на различни географии като 3G мрежата в Бангалор. 4G в Хайдерабад и др. Тук също трябва да направим мрежова емулация, като използваме подходящи инструменти.
в) Създаване на условия на устройството в реално време:
Това не е нищо друго освен тип приложение на мобилното устройство, като например дали е приложение за тънък клиент или приложение за дебел клиент, каква е операционната система на мобилното устройство, тип устройство като iPhone, Nokia и др., И всяко друго приложение които ще работят паралелно по време на използването на това конкретно приложение и т.н., също трябва да бъдат тествани като част от сценариите.
г) Тествайте ефективността на всеки компонент:
След създаването на всички горепосочени сценарии трябва да тестваме производителността на приложението, включително целия софтуер и хардуер. Сега съберете всички необходими показатели по време на теста за натоварване.
Някои от показателите от страна на сървъра, които трябва да бъдат събрани, са използване на процесора, натоварване на процесора, време за обработка, общ наличен байт, изпратени пакети, получени пакети и т.н.
Някои от мрежовите показатели, които трябва да бъдат събрани, са пакети и байтове, изпратени по мрежата, пакети и байт, получени по мрежата, паднали пакети и общо средно закъснение.
Показателите на устройството, които трябва да бъдат събрани, са CPU, използване на паметта, време за реакция и т.н., а също така измерват всички времена за реакция на транзакция и производителност.
Среда за тестване на производителността на мобилните приложения
Преди да настроим среда за тестване на производителността за мобилно приложение, трябва да разберем кои са мобилните приложения, които ще бъдат тествани, какви операционни системи или устройства ще бъдат тествани, както и различните географски местоположения.
Следователно, първо, трябва да създадем среда, която да се състои от емулатори и реални устройства. И така, какво е емулатор? Емулаторът е софтуер, който може да се инсталира на нашите лаптопи или настолни машини и те действат като мобилни устройства. Можем да генерираме огромно натоварване с помощта на тези емулатори, поради което те са най-добре да се използват за тестване на натоварване на мобилни приложения.
От друга страна, Real Devices са физически мобилни устройства. Затова трябва да проверим поведението на приложението на всяко устройство и във всяка мрежа. Но няма да можем да тестваме честотната лента, загубата на пакети и т.н., когато множество устройства са свързани към една и съща мрежа и имат достъп до едно и също приложение.
Следващото нещо, което трябва да се вземе предвид, е географското местоположение на устройствата за приложение, това е задължителен и много важен аспект, който трябва да се има предвид, иначе резултатите от тестовете ни няма да бъдат такива, каквито се случват в реалния свят.
И така, след като анализирате всичко по-горе, изберете съответния инструмент за тестване на натоварването, за да проведете тестове за ефективност.
Предизвикателства при тестване на производителността на мобилни приложения
Предизвикателствата, с които се сблъскваме при тестване на производителността на мобилни приложения, включват:
- Когато трябва да тестваме нашето приложение на различни мобилни устройства, трябва да организираме всички устройства като IOS, Android, Windows и т.н.
- Мрежовата симулация е друго предизвикателство, пред което ще се изправим, т.е. трябва да симулираме мрежи като 3G, 2G, 4G и wifi мрежи.
- Наличната памет в мобилните устройства за обработка на тестовите пробези.
- Животът на батерията на мобилните устройства.
Отстраняване на проблеми с производителността с мобилни приложения
След приключване на пробното пускане е време да се съберат тесните места за изпълнение, идентифицирани по време на пробното пускане. След като проблемите се консолидират, трябва да установим основната причина за проблема и да ги отстраним.
Нека да разгледаме някои проблеми с производителността на мобилните приложения:
- Забавяне в отговора от мобилното приложение: Това забавяне обикновено се причинява от паметта или кеширането. В такива случаи се препоръчва да изчистите кеша и да повторите теста.
- Приложението известно време се рестартира, обесва или замръзва: В такива случаи проверете софтуера, сякаш трябва да се извършат някакви актуализации, проверете кода на приложението за някаква оптимизация, като обработката на кеширането са някои области, които трябва да се разгледат.
Инструменти за тестване на производителността на мобилните приложения
Инструментите могат да варират в зависимост от типа на устройството и платформата.
Някои от най-често използваните инструменти са дадени по-долу.
За устройства с Android:
роботи: С помощта на този инструмент можем да запишем и възпроизведем няколко стъпки за провеждане на теста. Щракнете тук за урок за роботиум .
Маймунски бегач : С помощта на този инструмент можем да провеждаме тестовете си на устройствата, като ги свързваме с десктоп. С помощта на интерфейса на инструмента можем да осъществим достъп до смартфона.
За устройства с iOS:
Автоматизатор: С помощта на този инструмент можем да плъзгаме и пускаме работните потоци и да ги автоматизираме.
Заключение
Сигурен съм, че бихте научили повече за мобилните приложения и как да продължите и да извършите тестване на натоварване на мобилните приложения по перфектен начин чрез този информативен урок.
Нашият предстоящ урок ще ви запознае с това как да извършите ръчно тестване на производителността с прости думи.
=> Посетете тук за пълна серия уроци за тестване на ефективността
Препоръчително четене
- Тестване на производителността на мобилните приложения с помощта на BlazeMeter
- Ръководството за начинаещи за тестване на производителността на уеб приложения с помощта на WAPT Pro
- Ръководство за тестване на сигурността на уеб приложения
- Тестване на ефективността срещу тестване на натоварване срещу тестване на стрес (разлика)
- Как да получите бърза работа за мобилно тестване - Ръководство за мобилно тестване за кариера (част 1)
- Тестване на натоварване, стрес и производителност на уеб приложения с помощта на WAPT
- Как да извършите ръчно тестване на производителността?
- Инструменти за тестване на проникване на мобилни приложения и доставчици на услуги