
Під час створення будь-якого програмного продукту вся команда прагне найкращого результату, але, як й у процесі, можуть виникати певні труднощі чи траплятися якісь помилки. Щоб вчасно їх виявити та усунути, проводиться тестування програми. Цей етап дозволяє ще на ранніх термінах встановити наявність помилок чи невідповідностей, зробити продукт ще якіснішим та вдосконалити його. А щоб нічого не пропустити, допоможе чек аркуш для тестування мобільних додатків.
Функціональне тестування
Насамперед завжди необхідно протестувати головні функції програми - те, як він працює. Функціональне тестування дає зрозуміти, чи справляється додаток із виконанням своїх функцій, чи працюють усі елементи, чи немає помилок та чи виконані основні вимоги. Це найважливіший вид тестування, який повинен і завжди проводиться насамперед, саме тому він і увійшов до чекліста тестування мобільного додатка під номером один.
Що перевіряємо?
Якщо коротко, необхідно перевірити коректність роботи всіх функцій програми. Але тут важливо зазначити, що перевірити необхідно всі елементи та взаємозв'язки елементів, тому функціональне тестування ділиться на чотири рівні:
- Компонентне тестування: за цей рівень зазвичай відповідають програмісти, а не тестувальники, адже на цьому етапі необхідно протестувати кожен окремий елемент системи, а це можна зробити лише за допомогою коду.
- Інтеграційне тестування: на цьому рівні тестування необхідно перевірити взаємодію компонентів між собою. Тут увага приділяється тому, як два або кілька компонентів працюють у зв'язці, як відбуваються переходи та обмін даними між ними.
- Системне тестування: тут вся програма перевіряється як єдине ціле. При тестуванні важливо пройти за всіма можливими сценаріями взаємодії з програмним продуктом, щоб нічого не прогаяти, і переконатися, що вся система функціонує належним чином.
- Приймальне тестування: це заключний етап функціонального тестування, завдання якого - переконатися, що всі вимоги, обумовлені на початку розробки та прийняті протягом задоволені. Наприклад, система може відмінно функціонувати загалом, але виявиться, що якоїсь частини функціоналу просто немає. Щоб уникнути таких ситуацій, застосовують приймальне тестування.
Тестування сумісності
Коли стоїть завдання протестувати мобільний додаток, важливо приділити належну увагу також нефункціональному тестуванню. Один із його видів - тестування сумісності. Справа в тому, що мобільні програми найчастіше використовуються на максимально різноманітному спектрі пристроїв, і дуже важливо, щоб програма коректно функціонувала на кожному з них, незалежно від параметрів, що відрізняються. Якщо тестування сумісності буде провалено, або взагалі не буде проведено (що теж загрожує ризиком помилок та некоректної роботи), ви ризикуєте втратити більшу частину своєї аудиторії, тому що вони не змогли скористатися продуктом зі свого девайсу. Крім того, це загрожує втратою репутації для вашої компанії.
Що перевіряємо?
При тестуванні сумісності дуже важливо визначити якомога точніше спектр пристроїв, з яких здійснюватиметься використання системи, та перевірити її роботу в усіх необхідних умовах. Так важливо звертати увагу на такі нюанси:
- як додаток працює за різних потужностей пристроїв;
- чи є обмежена кількість пам'яті на заваді роботі системи і яка мінімальна кількість вільної пам'яті пристрою необхідна;
- як відображається інтерфейс на пристроях з різними розмірами та роздільною здатністю екрана;
- чи можна використовувати стандартні кнопки пристрою для керування програмою, або, якщо це не передбачено, чи не створить використання стандартних кнопок перешкод роботі програми;
- важливо перевірити всі аспекти взаємодії програми з самим пристроєм, на якому воно буде встановлене та запущене.
Крос-платформне тестування
Крос-платформне тестування - найважливіший підвид тестування сумісності, але має свої певні особливості. Його суть полягає в тому, щоб перевірити, чи додаток працює однаково коректно на різних платформах: андроїд, айос, блекберрі і так далі. Звичайно, перевіряти потрібно лише ті системи, які використовуються цільовою аудиторією вашої програми, не варто витрачати ресурси на перевірку непотрібних показників.
Проте, цей підвид тестування застосовується не до всіх додатків. Існує три види програм: веб-додатки, нативні та кросплатформні (гібридні). Веб-програми запускаються в браузерах, тому немає необхідності перевіряти їх сумісність з платформою, важливіше приділити увагу кросбраузерності. Нативні програми розробляються цілеспрямовано під одну платформу, тестуються виключно на ній, і не вимагають кроссплатформенного тестування, адже вони не призначені для встановлення та використання на інших платформах. А кросплатформні програми створюються один раз відразу під кілька платформ, і тут дуже важливо приділити увагу відповідному тестуванню.
Що перевіряємо?
Необхідно перевірити коректність проведення всього циклу взаємодії користувача з додатком: встановлення, відкриття, використання за різними сценаріями, видалення та навіть повторне скачування.
При цьому важливо приділити увагу решті видів нефункціонального тестування: додаток повинен мати доступ до необхідних ресурсів пристрою, забезпечувати належний рівень безпеки, коректно відображатися і демонструвати достатній рівень продуктивності незалежно від системи.
Тестування безпеки
Безпека - один з найважливіших факторів для користувача при прийнятті рішення про використання програмних продуктів. Важливо, щоб жодні дані користувача не були під загрозою, щоб систему не могли зламати та використовувати у своїх цілях зловмисники.
При тестуванні часто вибираються тільки найважливіші аспекти, і деякі кроки або етапи пропускаються задля економії часу. Дійсно, на невеликих проектах ретельна перевірка всіх рівнів і характеристик може тривати більше часу, ніж розробка продукту. Але тестування безпеки - не те, чим можна знехтувати.
Що перевіряємо?
Щоб переконатися в повній безпеці, у додатку, що тестується, звертаємо увагу на три ключові аспекти:
- Система захищена від зловмисників. Ніхто не зможе проникнути у додаток або використовувати його у своїх цілях несанкціоновано.
- Дані користувачів, які вони вносять до програми, захищені від будь-яких третіх осіб.
- Дані користувачів на пристрої захищені від випадкового видалення або будь-якого іншого пошкодження, пов'язаного з роботою програми.
Тестування локалізації та глобалізації
Ще один етап тестування - перевірка локалізації та глобалізації програми. Цей вид тестування також не обов'язковий для всіх додатків, оскільки деякі розробляються виключно під вузьку аудиторію, представники якої знаходяться в одному місці і не мають суттєвих відмінностей між собою. Якщо ж ваша програма розрахована на ширшу аудиторію, або ви претендуєте на світовий масштаб, необхідно приділити час локалізації.
Що перевіряємо?
Кожна локація, як і її мешканці, має певні особливості, які відрізняють її від інших і мають бути враховані при розробці програми:
- правильність перекладів різними мовами;
- автоматичне визначення часових поясів та коректність відображення часу та дати;
- відповідність культурним особливостям регіону (так, у деяких країнах кольори або інші зображення, що використовуються у додатку, можуть мати певний символізм, який може виявитися неприйнятним та призвести до краху кампанії в цьому регіоні).
Тестування зручності використання
Ще один істотний аспект, який необхідно тестувати незалежно від масштабів та особливостей програми, це зручність його використання. Важливість і вплив User Experience на долю програми - тема, про яку йшлося багато разів. Проте у тестуванні це окрема категорія, яку не можна обійти. Справа в тому, що користувачеві має бути легко та зручно освоїтися у додатку та здійснити цільову дію, інакше він не користуватиметься вашим продуктом. Ваше завдання подбати про те, щоб ваша аудиторія могла зробити те, навіщо встановлювала додаток, не витративши годинника на те, щоб розібратися.
Що перевіряємо?
Говорячи про зручність використання програми, необхідно згадати кілька моментів для перевірки:
- Інтуїтивно зрозумілий інтерфейс: користувачеві відразу зрозуміло призначення всіх елементів на екрані;
- Продуманий шлях користувача: шлях до цільової дії повинен містити мінімальну кількість кроків, щоб цілі можна було досягти якнайшвидше;
- Відсутність відволікаючих факторів: при створенні дизайну вашої програми важливо не перестаратися, і при всій красі елементів не збити користувача зі шляху;
- Передбачені різні сценарії використання: якщо ваш користувач знаходиться далеко від WiFi і користується лише мобільним інтернетом, їде у транспорті та може тримати та працювати з пристроєм лише однією рукою, і так далі.
- При необхідності передбачені сценарії для людей з обмеженими можливостями: якщо така категорія є у вашій цільовій аудиторії, подбайте про голосове управління, голосове введення, а також забезпечте можливість озвучення всього, що знаходиться на екрані.
Тестування продуктивності
Ще один важливий критерій у роботі програми - це його продуктивність. Відповідний вид тестування перевіряє, наскільки успішно програмний продукт працює за різних видів навантаження. Проведення тестування продуктивності ліквідує ризики того, що ваша програма не впорається з очікуваною кількістю користувачів або зламається, якщо їх стане дещо більше за очікуване. Простий приклад – Чорна П'ятниця – день великих розпродажів та безлічі покупок, а значить і покупців. У цей час кількість користувачів може зрости настільки, що серверу важко обробляти всі запити, що надходять. А тестування продуктивності допоможе це передбачити.
Що перевіряємо?
Є кілька важливих підвидів тестування продуктивності, які дозволяють здійснити максимально комплексну та всеосяжну перевірку:
- Performance: перевіряємо швидкість реакції системи за певних заданих показників навантаження;
- Load: перевіряємо, чи система витримує різні навантаження з однаковою продуктивністю, починаємо з мінімуму і поступово доводимо до обумовлених показників, перевіряємо запас міцності;
- Volume: застосовується здебільшого до баз даних програми, перевіряємо, який обсяг інформації вони здатні витримувати та коректно обробляти;
- Stability: певна перевірка на міцність, як довго система зможе показувати досить високий рівень продуктивності при стабільному навантаженні, переконуємось, що немає збоїв;
- Scalability: масштабованість - це фактор, який може стати в нагоді не відразу, але його варто передбачити, що якщо ви залишите менше серверів для обробки, або навпаки додасте, будь-які зміни в масштабах системи не повинні зменшувати продуктивність;
- Stress: стресове тестування перевіряє систему як би "за рамками" можливого, і відноситься до всіх вищеперелічених типів. Тому ми розглянемо її окремо.
Стресове тестування
Цей підвид навантажувального тестування застосовується для того, щоб побачити як поведеться ваш додаток у критичній ситуації, а також чи повернеться вона до ладу при зниженні навантаження назад до нормальних показників.
Що перевіряємо?
Проводячи стресове тестування важливо приділити увагу граничним можливостям системи щодо кожного з видів продуктивності:
- Як вона функціонуватиме, якщо навантаження суттєво перевищить норму;
- Чи впорається система з ненормованою кількістю даних;
- Чи коректно працюватиме ваш додаток при тривалому безперервному та досить високому навантаженні;
- Як зміниться продуктивність системи, якщо залишити критично малу кількість серверів для роботи, або навпаки, якщо зробити занадто багато шляхів;
- При кожному з них, чи показники продуктивності повертаються в норму, якщо повернути навантаження до норми.
Висновки
Mobile App Testing - обов'язковий та необхідний етап у розробці програм, якщо ви хочете досягти максимальних результатів. Виявлення та виправлення помилок – не єдине завдання тестування. Необхідно приділяти достатньо уваги всім функціям, а також нефункціональним характеристикам програмних продуктів, тоді тестування зможе забезпечити високий рівень якості.
Для того щоб переконатися в тому, що ви перевірили все необхідне і нічого не пропустили, використовуйте чек аркуш, тестування мобільних додатків потребує точності та ретельності.
Ми в компанії Wezom завжди проводимо тестування, починаючи з ранніх етапів розробки продукту, щоб мінімізувати ризики та максимізувати якість результату.
Якщо у вас залишилися питання, ви можете залишити заявку на сайті, наш менеджер передзвонить вам та проконсультує. Якщо ви хочете дізнатися докладніше про розробку мобільного додатка в Wezom, зв'яжіться з нами будь-яким зручним для вас способом, і ми із задоволенням відповімо на всі ваші запитання.