У зв'язку з великою популяризацією мобільних додатків ми все частіше і частіше починаємо користуватися мобільними пристроями. Таксі, погода, новини, замовлення їжі та інше, практично для всього вже існують свої мобільні сервіси.
А раз кількість додатків зростає, то зростає і потреба в якості що випускаються додатків. Це факт! Все більше і більше організацій приходять до того, щоб тестувати свої мобільні додатки. Звичайно, найчастіше, це робимо не ми з вами (тестувальники), а користувачі, замовники. Але тим не менше, якщо програма має велику аудиторію, то ціна дефекту зростає, а значить потрібно вже не просто тикати кнопочки, а прикладати голову і знання для своєчасного знаходження дефектів.
Так до чого я це?
Ах да! Є просто купа матеріалу, який говорить нам про те, що таке мобільний тестування, як його проводити, як повинен бути влаштований процес і купа купа всякої мукулатури. Але ми ж не просто тестуємо мобілки, ми тестуємо їх на різних платформах!
На тлі це ми поговоримо, які особливості є в тестуванні мобільних додатків і на що потрібно звернути увагу в першу чергу, перш ніж приступати до тестування. І нашим об'єктом буде платформа Android.
Ну і раз я почав говорити про кроки до якісної випуску мобільного продукту, то одними з перших кроків буде підготовка мобільної лабораторії.
- Наші пристрої.
У зв'язку з тим, що кількість мобільних пристроїв під платформою Android постійно зростає, важливою складовою при тестуванні є працездатність додатки під великою кількістю пристроїв. Згідно з офіційною статистикою Android, сьогодні більш ніж в 190 країнах доступні пристрої на платформі Android, а кількість всіх пристроїв досягає сотні мільйонів. Природно, при такому величезної популярності платформи, кожен пристрій має свої власні специфічні вимоги, такі як фізичний дизайн та інтерфейс різних атрибутів.
Якщо ви тестируете, то пам'ятайте, що ваш парк повинен включати не один, не два і навіть не десять пристроїв.
Часто на співбесіди до мене приходять тестіроващікі мобілок, і, коли розмова заходить про парк мобільних пристроїв, в 90% випадку я чую максимум 4-5 пристроїв, на яких прийнято тестувати в їх компанії.
Що ???
Не можна відштовхуватися при виборі пристроїв від версії платформи !!!
Багато ж вважають, що якщо ми перевірили додаток на Android 5.0 Lollipop на SAMSUNG Galaxy S6, то значить додаток працює.
Як би не так!
Крім платформи, є ряд складових, таких як CPU, діагональ і дозвіл екрану, ОЗУ, які можуть серйозно впливати на працездатність Вашого застосування.
В середньому за статистикою, яку ми зробили в результаті нашого дослідження, для повноцінного тестування мобільних додатків на Android потрібно близько 69 пристроїв на платформі Android.
Повні результати дослідження можна подивитися тут:
Мобільна лабораторія
При цьому потрібно завжди пам'ятати, що багато програм можуть бути доступні на ще більшій кількості пристроїв, в тому числі на низькобюджетних смартфонах, які все частіше і частіше починають з'являтися в багатьох ринках, особливо в Китаї.
Якщо у Вас є плани по розширенню і виходу на міжнародний ринок, потрібно обов'язково враховувати цей фактор і постійно проводити аналітику для розширення парку пристроїв.
- Розмір екрану і щільність.
Якщо про розмір екрану все зрозуміло, то звичайні тестувальники не завжди стикаються з поняттям щільності.
Отже, щільність екрану (Screen density) - це кількість фізичних пікселів дисплея.
У порівнянні з досить малою кількістю екранів на iOS, варіацій за розміром екрану і його щільності для платформ Android додають додаткову складність в тестуванні. Незважаючи на те, що існує більше 12 000 різних пристроїв, офіційно Android їх розділяє на 4 класу за розміром екрану і 6 класів по щільності.
Як ми бачимо, самі популярним розміром екрану є «Normal» з щільністю hdpi, xhdpi, xxhdpi і mdpi, що важливо враховувати при підготовці парку пристроїв для тестування мобільних додатків.
Також зазначу, що ці дані постійно оновлюються на офіційному сайті розробників Android, тому періодично перед тестуванням перевіряйте актуальність інформації, тому що мобільний ринок зростає постійно.
Посилання на dashboard android
- Версійність.
Офіційно Android підтримує 10 платформ / версій, починаючи з «Froyo» 2.2 і закінчуючи «Marshmallow» 6.0. Але якщо говорити про сьогоднішній день, то не всі мобільні додатки підтримують всі версії і платформи. Тому, якщо і планувати тестування, то потрібно обов'язково враховувати виконання тест-кейсів на декількох версіях Android.
Так, наприклад, якщо ми подивимося на поточний ринок, то вже давно вийшли такі версії, як «Lollipop» 5.0-5.1 (яка вийшла ще в грудні 2014 року) і «Marshmallow» 6.0, але лідером як і раніше є «KitKat» 4.4.
У чому важливість використання різних платформ?
З одного боку, не варто тестувати на останніх версіях платформи, тому що саме таким тестуванням можна буквально ізолювати велику кількість користувачів від приємної роботи з Вашим продуктом.
З іншого, якщо у вас програма не оновлюється до нових версій платформ Android, то є ризик втратити поточних користувачів, після того, як вони оновлять свою версію платформи Android.
Я як то переглядав Play Market і мене здивувало, що практично для кожної програми користувачі пишуть про те, що на тому чи іншому пристрої їх додаток працює не правильно!
І іноді це дійсно виморожуємо нервує. Коли ви завантажуєте додаток особливого не через wi - fi і метрів під 900, запускаєте його, а у відповідь додаток не відкривається!
Звідси можу сказати, що важливо протестувати продукт як мінімум на 4-х, а краще 5-ти версіях Android.
На цьому моє творче оповідання про формування парку мобільних пристроїв закінчено.
Чи можемо йти далі!
Все, про що я розповів раніше, було етапом підготовки. Тепер поговоримо про найприємніше, про мобільний тестуванні. Я розповім про основні проблеми, з якими можна зіткнутися при тестуванні мобільних додатків.
- Загальна функціональність.
Насправді, багато хто може порахувати, що це звичайні і легкі завдання. Я не приховую, так, це так, але якщо ми не проведемо якісне тестування, то при випуску / оновленні нас чекатиме повний крах.
Почнемо по порядку.
- Реєстрація та вхід в систему.
Мабуть, більш явного кейса для тестування не знайти, але тим не менше я не можу не зупиниться на цьому. Тестування будь-якого мобільного застосування повинно повністю покривати процеси реєстрації та входу в систему. Особливу увагу можна звернути на те, що при тестуванні даних процесів потрібно виконувати їх від початку до кінця, при цьому максимально генеруючи всілякі негативні тести, починаючи з некоректного введення пароля і закінчуючи SQL -іньекціямі.
Якщо розглядати мобільне тестування на безлічі пристроїв з різними дозволами екранів, то завжди можна зіткнутися з ситуацією, коли стандартні пункти меню, такі як, Довідка, Про нас, і інше буде просто недоступні, як візуально, так і фізично при натисканні пальцем. Особливо це стосується пристроїв з невеликими екранами, коли намагався потрапити своїм широким пальцем на посилання. У підсумку доводиться прицілюватися і акуратно натискати 🙂
- Ключові функції.
Будь-які функції, які особливо пов'язані з текстовим набором, скроллингом, кнопкою «Назад» та інші, без яких функціонування додаток просто неможливо для нормального користувача, повинні обов'язково перевірятися в ході тестування. Крім того, необхідно обов'язково перевірити, що додаток буде коректно працювати при послідовному використанні фізичних кнопок і тачскрін.
Нещодавно скачав собі додаток KFC. Моїй злості не було меж! Мало того, що у мене просто не натискати кнопки додавання в корзину, так він ще і завантажується хвилину! І ресторан я свій шукав руками, тому що додаток наполегливо говорило мені, що я перебуваю в протилежній частині міста!
Як поводиться додаток, коли батарея телефону на повному, середньому і низькому заряді? Чи може користувач скористатися викликами або тестовими повідомленнями? Ви завжди повинні знати, наскільки робота інших додатків (найчастіше стандартних) може вплинути на роботу Вашого застосування. Для цього дуже корисний аналіз crashlog. Наприклад, у мене на Lenovo, коли працює музика через Bluetooth, постійно при повторному запуску Яндекс Навігатора і при натисканні на кнопку GPS перезавантажується телефон. Це жахливо, особливо коли ти їдеш на швидкості 100 км / год і у тебе пропав GPS, а потрібно його перезавантажити. Починається паніка, куди їхати ... І наостанок розробники Android будуть аплодувати сто я, найкрутіше, що перезавантажується телефон ось в такому форматі:
І тут починається лотерея! Фізично тачскрін працює в портретній орієнтації, а екран обрізаний на половину і відображається в альбомній орієнтації. Коли я перший раз наткнувся на такий баг, я 30 хвилин намагався потрапити по кнопці перезавантажити телефон!
Але повернемося до теми мобільного тестування.
Дуже важливо пам'ятати, що найчастіше додаток можливо використовувати не тільки в портретній орієнтації, а й в альбомної. Багато користувачів часто використовують портретну орієнтацію, але, ось особисто мені, використовувати навігатор або відео програвач зручніше в альбомному режимі. Тому, при тестуванні необхідно перевіряти, що функціональність і юзабіліті мобільного додатка не змінюються при переході з портретного режиму в альбомний. Нижче покажу приклад на все тому ж яндекс навігаторі:
Як видно, клавіатура закриває всю можливість вибрати попередні адреси! Тому або вибираємо перший адресу, або вводимо його. Ну або витрачаємо 5 хвилин, на те, що б спробувати прокрутити адреси, при цьому не натиснувши випадково на адресу або клавіатуру !!!
При тестуванні мобільного додатка обов'язково потрібно перевіряти вплив установок програми на його продуктивність, в тому числі ефект мобільного застосування на заряд батареї. Багато користувачів хочуть використовувати свій мобільний пристрій мінімум один день, при цьому використовуючи улюблені ними додатки. Якщо ваш додаток користується великою аудиторією, то ви обов'язково повинні знати, як воно впливає на ресурс харчування телефону. Для цього рекомендується проводити тести експлуатації.
- Вплив на роботу пристрою.
Говорячи про експлуатацію, передбачається робота додатка в звичайному режимі. Для тестування необхідно запустити додаток і використовувати його в перебігу 6-12 годин. При використанні необхідно кожні 30 хвилин або 1 годину вимірювати рівень заряду батареї. Найчастіше така перевірка автоматизована, щоб не витрачати час тестувальника на збір даних. Якщо результати тесту показують, що зниження рівня заряду батареї відбувається раніше 6 годин при умови роботи з усіма фоновими функціями вашого телефону, то це явно вказує на проблеми в додатку.
Я думаю у кожного була ситуація, коли ви завантажуєте додаток, а потім воно зжирає у вас за 30 хвилин 20% акумулятора. Я не пам'ятаю їх назви, але такі були точно!
- Додаткові перевірки.
Крім основної функціональності існує ряд проблем, з якими можна зіткнутися при тестуванні мобільних додатків на Android. Обов'язково при тестуванні потрібно звернути увагу на:
Спец символи. Якщо додаток, які ви тестируете включає поля пошуку або форми введення, обов'язково потрібно перевірити на можливість введення спецсимволов.
Тривале натискання на екран. Обов'язково потрібно перевірити, що при натисканні та утриманні тачскрін в полях введення працюють стандартні функції Android на копіювання та вставку. Потрібно впевнитися, по-перше, що ці функції працюють і вони не переплутані, а по-друге, що довге натискання на екран програми не призводить до збоїв.
Віртуальна клавіатура. У більшості пристроїв, що працюють на Android, клавіатури віртуальні. Якщо користувач змінює розмір і візуальну обкладинку клавіатури потрібно переконатися, що ці зміни не впливають використання мобільного застосування, і, що гірше, не спотворюють його до неможливості використання.
Додатково завжди ставте себе на місце реального користувача і тестируйте додаток з точки зору потенційно реальних ситуацій в роботі користувачів.
Пам'ятайте, що будь-які відмови ведуть до невдоволення користувача програми.
- Безпека Android.
В цілому я не вважаю себе фахівцем з тестування безпеки, але тим не менш є певні перевірки, які потрібно виконувати, щоб убезпечити кінцевих користувачів.
Будь-яка система повинна забезпечувати дотримання вимог до інформації:
- Конфіденційність. Недоступні чи особисті дані користувачів?
- Цілісність. Чи немає можливості ззовні змінити особисті дані при їх передачі?
- Аутентифікація. Як додаток перевіряє, що саме я є власником облікового запису?
- Доступність. Як і за яких умов можливість зламати / зробити непрацездатним додаток?
- Відмовостійкість. Як ведеться облік всіх відмов системи?
Якщо фахівці з безпеки передбачили всі ці пункти, а також перевірили методи шифрування інформації при передачі, а також протестували можливо підключення до стандартних функцій пристрою через API (контакти, камера або GPS), то можна вважати, що ваша заявка придатне для використання користувачами.
І пам'ятайте, що зайва нав'язливість користувачеві політики конфіденційності теж може відбити бажання користуватися мобільним додатком!
Ну і наостанок ....
Мені довелося неабияк поритися в Google Play, але це виявилося дуже корисним.
Вдалося щодо визначити основні проблеми, з якими стикаються користувачі:
- 55% скаржаться на установку
- 24% скаржаться на продуктивність
- 13% говорять про відмови додатки
- 5% пишуть, що їх застосування пригальмовує або зависає.
- 2% скаржаться на UI
- 1% на проблеми з конфіденційністю або безпекою.
І як завжди негативних відгуків більше ніж позитивним, а це говорить про те, що дуже мало в Росії компаній, які повноцінно тестують свої мобільні продукти. Погані відгуки можуть просто злити вихід додатка, перш, ніж воно почне успішно працювати.
Тестируйте мобільні додатки, як на емуляторах на стадії розробки, так і на реальних девайсах на стадії повноцінного тестування. Такі функції, як акселерометр, використання сенсорного екрану або вiдтворення розташування просто неможливо перевірити на емуляторах.
Не женіться за дешевими емуляторами, клавіатура і миша ніколи не замінить повноцінного використання реального девайса руками.
Сподіваюся було корисно!
Так до чого я це?Що ?
Як поводиться додаток, коли батарея телефону на повному, середньому і низькому заряді?
Чи може користувач скористатися викликами або тестовими повідомленнями?
Недоступні чи особисті дані користувачів?
Чи немає можливості ззовні змінити особисті дані при їх передачі?
Як додаток перевіряє, що саме я є власником облікового запису?
Як і за яких умов можливість зламати / зробити непрацездатним додаток?
Як ведеться облік всіх відмов системи?