QA Kickstart: 7-денний тренінг для початківців

  • Основи тестування мобільних додатків
  • Платформи та пристрої для тестування
  • Тестування інтерфейсу користувача та функціональності мобільних додатків
  • Інструменти та технології для мобільного тестування

Основи тестування мобільних додатків

Тестування мобільних додатків є важливою складовою частиною їх розробки, що допомагає забезпечити високу якість та надійність додатків перед їх випуском.

Різні платформи

Мобільні додатки можуть працювати на різних платформах, таких як Android та iOS. Переконайтеся, що ви розумієте основні відмінності між цими платформами та їх особливості.

Версії операційних систем

Мобільні пристрої можуть працювати на різних версіях операційних систем. Впевніться, що ваш додаток працює на різних версіях Android та iOS і не має суттєвих проблем.

Розмір екрану та роздільна здатність

Мобільні пристрої мають різні розміри екрану та роздільні здатності. Переконайтеся, що інтерфейс вашого додатку коректно відображається на різних пристроях.

Орієнтація екрану

Мобільні пристрої можуть мати портретну та ландшафтну орієнтацію екрану. Перевірте, що ваш додаток коректно працює в обох режимах.

Інтернет-підключення

Перевірте, як ваш додаток поводиться при різних умовах підключення до Інтернету, таких як повне підключення, погане підключення або відсутність підключення.

Тестування геолокації

Якщо ваш додаток використовує геолокацію, перевірте, як він працює з різними місцями та умовами геопозиціонування.

Взаємодія з апаратними компонентами

Мобільні пристрої мають різні апаратні компоненти, такі як камери, мікрофони та датчики. Впевніться, що ваш додаток правильно взаємодіє з цими компонентами.

Тестування безпеки

Зверніть увагу на захист даних та інформацію про користувача у вашому додатку, зокрема використання шифрування та заходи для запобігання злому.

або відкрити у новій вкладці  Google Презентація

Основи тестування мобільних додатків

Для отримання додаткового матеріалу потрібно перейти за посиланням 
Google Drive

Анекдоти

Тестувальник запитує розробника: "Чи може додаток виконувати декілька завдань одночасно?"
Розробник відповідає: "Так, він навіть здатен сповіщати вас про нові повідомлення, одночасно виконуючи завдання зберігання батареї та відтворення музики."
Тестувальник насміхається: "Чудово! Тепер як тільки він зможе зробити ще й каву, ми отримаємо справжній універсальний додаток!"

Тестувальник до розробника: "Чи впевнений ти, що додаток працює на всіх пристроях?"
Розробник відповідає: "Так, він пройшов тестування на всіх пристроях, які ми мали під рукою."
Тестувальник з задумливим виразом обличчя каже: "Виглядає так, ніби ти просто розкидав телефони по офісу і сказав, що додаток тестувався на всіх пристроях."

Платформи та пристрої для тестування

Android Emulator

Це вбудований інструмент в середовищі розробки Android Studio, який дозволяє емулювати різні пристрої з різними версіями Android. Він дозволяє тестувати додатки на різних роздільних здатностях екрану та змінювати орієнтацію екрану.

iOS Simulator

Це вбудований інструмент у середовищі розробки Xcode для тестування додатків на пристроях iOS, таких як iPhone та iPad. Він дозволяє перевіряти різні версії iOS та моделі пристроїв.

Реальні пристрої

Найефективніший спосіб тестування — це використання реальних мобільних пристроїв. Таким чином, ви можете переконатися, що ваш додаток працює на різних пристроях з різними конфігураціями.

Cloud Testing Services

Існують платформи хмарного тестування, такі як BrowserStack, Sauce Labs та Firebase Test Lab, які дозволяють тестувати додатки на великому наборі реальних пристроїв, які хостяться в хмарі.

Mobile Device Labs

Деякі організації мають власні мобільні лабораторії, де вони збирають велику кількість реальних пристроїв для тестування. Такі лабораторії можуть бути внутрішніми для організації або зовнішніми сервісами.

Emulators та Simulators сторонніх виробників

Крім вбудованих інструментів, існують сторонні емулятори та симулятори, які можуть надати більше опцій для тестування на різних конфігураціях пристроїв.

Віртуальні машини

Іншим варіантом є використання віртуальних машин для емуляції різних операційних систем та пристроїв.

Платформи та пристрої для тестування

Для отримання додаткового матеріалу потрібно перейти за посиланням 
Google Drive

або відкрити у новій вкладці  Google Презентація

Анекдоти

Для тестувальника додатків виникло завдання протестувати додаток на різних пристроях. Він взяв у руки стільки телефонів, що його колеги подумали, що він запустив власний мобільний магазин.

Тестувальник скаржиться своєму другові-розробнику: "Нам не вистачає пристроїв для тестування, кожен день з'являється новий телефон, а нас тут аж декілька моделей!".
Розробник посміхається і говорить: "Так, у нас така ж проблема. Кожен день з'являється нова платформа, а ми вже втратили рахунок, скільки їх існує".

Реальні історії

Жив-був тестер, який працював з різними платформами та пристроями для тестування. Він був відомий своєю ретельністю та вмінням знаходити навіть найдрібніші баги. Одного дня він отримав завдання протестувати новий смартфон.
Тестер з нетерпінням розпочав свою роботу, експериментуючи з усіма можливостями пристрою. Він випробував кожну програму, функцію та налаштування. Але потім він помітив щось незвичайне - одна з програм мала підозрілий код, який міг би бути потенційною уразливістю.
Замість того, щоб повідомити про знайдену проблему, тестер вирішив використати цю уразливість для своїх власних цілей. Він розробив спеціальний скрипт, який дозволяв йому отримувати необмежений доступ до даних пристрою. Тепер він став хакером, використовуючи свої знання про тестування, щоб отримати користь.
Протягом декількох днів тестер хакерував свій власний телефон, отримуючи доступ до всіх функцій і даних. Він почав надсилати смс від імені інших людей, переглядати їхній інтернет-трафік та навіть зламувати їхні соціальні медіа-акаунти.
Але в один прекрасний день його злочинні дії виявилися. Інші члени команди розробників помітили незвичайну активність на своїх телефонах і розпочали розслідування. Вони швидко виявили, що це був тестер, який зламав систему.
Настала година правди для тестера, коли його схопили за руку. Він був виключений з команди і повідомлений керівництвом. Ця історія є нагадуванням про важливість етики та відповідальності в тестуванні, а також про те, що використання своїх знань у злочинних цілях може мати серйозні наслідки.

"Загадковий Випадок Несумісності"В невеликій компанії розробників і тестерів мобільних додатків був дивний випадок неможливості відтворення певної помилки. Коли тестер намагався відтворити баг, який повідомили користувачі, він не зміг цього зробити, незалежно від того, що робив.
Тестер розпочав глибоке розслідування, перевіряючи різні версії операційної системи, різні моделі пристроїв та різні налаштування. Він спробував усе, але нічого не допомагало. Цей баг став для нього загадкою.
Поступово тестер почав розуміти, що проблема може бути пов'язана зі специфічними умовами використання. Він зібрав всю доступну інформацію про помилку та користувачів, які її повідомляли, і зробив висновок: баг відтворювався тільки тоді, коли користувач виконував певну послідовність дій, що була малоймовірна для пересічного користувача.
Тестер вирішив пройти по стежках користувача, уважно слідуючи кожному кроку, який він зробив. І ось він помітив маленьку деталь - випадково натиснув кнопку двічі під час виконання певної дії. Цей подвійний клік викликав послідовність подій, яка приводила до помилки.
Загадкова неможливість відтворення багу була розкрита. Тестер повідомив розробникам про своє відкриття та надав рекомендації щодо виправлення проблеми. Ця історія показує, як іноді навіть найдрібніші деталі можуть мати велике значення в тестуванні і виявленні проблем.

Тестування інтерфейсу користувача та функціональності мобільних додатків

Тестування UI

    • Перевірка зовнішнього вигляду: Переконайтеся, що інтерфейс виглядає належним чином на різних роздільних здатностях та орієнтаціях екрану. Перевірте, чи правильно розміщені елементи і чи немає зсувів або перекривань.
    • Функціональне тестування: Переконайтеся, що кнопки, посилання, меню та інші елементи інтерфейсу працюють правильно та відповідають на взаємодію користувача.
    • Перевірка текстових елементів: Переконайтеся, що всі текстові елементи, такі як заголовки, підказки, кнопки і повідомлення про помилки, відображаються правильно і без орфографічних помилок.

Тестування функціональності

    • Перевірка роботи функцій: Перевірте, чи всі функції додатку працюють відповідно до очікувань і специфікацій.
    • Тестування введення даних: Перевірте різні сценарії введення даних, такі як валідні і невалідні дані, допустимі максимальні та мінімальні значення, обов’язкові поля тощо.
    • Перевірка збереження даних: Переконайтеся, що дані, введені користувачем, зберігаються правильно і відображаються на інших сторінках або після перезапуску додатку.
    • Тестування зв’язків: Перевірте, чи працюють функції зв’язку, такі як відправка повідомлень, здійснення дзвінків або надсилання файлів.

Тестування перевірки умов

    • Перевірка умов: Перевірте, як додаток поводиться при різних умовах, таких як втрата зв’язку, низький рівень заряду батареї, переключення мережі тощо.
    • Тестування орієнтованості на діапазон: Перевірте, як додаток працює в межах доступного діапазону дат, часу, геолокації тощо.

Тестування на різних пристроях і операційних системах

      • Тестування на різних версіях операційних систем: Переконайтеся, що додаток працює на різних версіях Android та iOS без проблем.
      • Тестування на різних пристроях: Випробуйте додаток на різних моделях пристроїв з різними характеристиками, щоб переконатися в його сумісності та стабільності.
    •  

Тестування інтерфейсу користувача та функціональності мобільних додатків

Для отримання додаткового матеріалу потрібно перейти за посиланням 
Google Drive

або відкрити у новій вкладці  Google Презентація

Анекдоти

Користувач: "Цей мобільний додаток такий лагучий, що я вирішив протестувати його на довгій прогулянці у парку."
Тестувальник: "І, як він проявив себе?"
Користувач: "Додаток так повільно відкривався, що я встиг зібрати п'ять кошиків сміття, поки він запустився!"

Тестувальник: "Я виявив дуже цікаву функціональність в нашому мобільному додатку - після кожного третього натискання кнопки, він випадково закривається."
Розробник: "Дивно, я тестував цю функцію і ніколи не стикалися з такою проблемою."
Тестувальник: "Можливо, ви просто натискали кнопку безвідповідально. Але я переконався - вона закривається саме коли треба!"

Ретельне тестування

Випадок з помилковим вводом: Один з тестувальників намагався перевірити роботу поля для введення дати на мобільному додатку. Замість вводу поточної дати, він помилково ввів дату наступного року. Після натискання кнопки "Відправити" додаток викинув повідомлення: "Надійність часових машин може бути поки що недоступна".

Проблема з перекладом: У одному мобільному додатку було багато текстових рядків для перекладу. Тестувальник помітив дещо дивний переклад в одному з текстів, який замість "Підключення до Інтернету" показував "Підключення до Інтернету, якщо хочете". Виявилося, що частину тексту, яка повинна була бути видалена під час перекладу, випадково не видалили.

Хибна ідентифікація обличчя: В одному мобільному додатку для розблокування використовувалася технологія розпізнавання обличчя. Під час тестування одного з тестувальників програма неправильно ідентифікувала його обличчя та запропонувала розблокувати додаток, коли він тримав перед собою фотографію свого обличчя.

Помилкове торкання: У мобільному додатку для перемикання між вкладками потрібно було провести пальцем зліва направо або справа наліво. Однак, в результаті помилки в програмі, тестувальники помітили, що додаток реагує на натискання пальцем у будь-якому напрямку, навіть якщо це було далеко від зазначених меж.

Зниклий кнопка: Під час тестування мобільного додатку один з тестувальників помітив, що після певної послідовності дій кнопка "Відправити" зникає з екрану. Виявилося, що в цій послідовності була невидима зона на екрані, яка не дозволяла користувачеві бачити та натискати кнопку.

Інструменти та технології для мобільного тестування

Appium

Appium є відкритим інструментом для автоматизованого тестування мобільних додатків на платформах Android та iOS. Він дозволяє писати тестові скрипти на різних мовах програмування, таких як Java, Python, Ruby, і запускати їх на реальних пристроях або емуляторах.

XCUITest та Espresso

XCUITest — це інструмент для автоматизованого тестування додатків на iOS, вбудований у середовище розробки Xcode. Espresso — це інструмент для автоматизованого тестування додатків на Android, розроблений Google.

TestComplete Mobile

TestComplete — це комерційний інструмент для автоматизованого тестування, який підтримує тестування мобільних додатків на платформах Android та iOS.

Selendroid

Selendroid — це інструмент для автоматизованого тестування додатків на платформі Android. Він дозволяє тестувати додатки на реальних пристроях та емуляторах.

    •  

UI Automator

UI Automator — це інструмент для автоматизованого тестування додатків на платформі Android. Він розроблений Google та дозволяє взаємодіяти з елементами інтерфейсу користувача та контролювати різні додатки.

Calabash

— це відкритий інструмент для тестування мобільних додатків на платформах Android та iOS, який дозволяє писати тестові скрипти на різних мовах програмування, таких як Ruby, Java та C#.

Kobiton

Kobiton — це платформа для тестування мобільних додатків в хмарі, яка дозволяє запускати тести на різних реальних пристроях.

Інструменти та технології для мобільного тестування

Для отримання додаткового матеріалу потрібно перейти за посиланням 
Google Drive

або відкрити у новій вкладці  Google Презентація

Відгадай

Відповіді надіслати в телеграм бот

Виконую свою роль, тестую настільки довго.
Прикріплений до руки, з дисплеєм яскравим.
Дотик і жести, все перевіряю я.
Як зветься цей пристрій? Вгадаєш, скажи!

Я стежу за екраном, дбаю про якість.
Випробовую кожен вузол, кожну можливість.
Точність моїх рухів, перевірена в раз.

Виконую функції, міркую, аналізую.
Під час тестування не зупиняюся я.
Інформацію збираю, результати фіксую,
Дефекти виявляю, як професіонал.

Надайте відповіді

Відповідайте своїми словами коротко. Відповіді надіслати в телеграм бот або в скайп групу

  1. Які основні аспекти включає функціональне тестування мобільних додатків?
  2. Які фактори потрібно враховувати при тестуванні інтерфейсу користувача мобільного додатку?
  3. Що означає тестування сумісності мобільного додатку?
  4. Які чинники впливають на продуктивність мобільного додатку і як їх перевірити під час тестування?
  5. Які основні аспекти безпеки слід враховувати при тестуванні мобільних додатків?
  6. Що таке автоматизоване тестування мобільних додатків і які переваги воно може мати?
  7. Які критерії можуть бути використані для визначення якості мобільного додатку?
  8. Які основні виклики та проблеми можуть виникнути при тестуванні мобільних додатків?
  9. Як ви оцінюєте ефективність тестування мобільного додатку?
  10. Які інструменти та технології можна використовувати для тестування мобільних додатків?

Відгадай

Відповіді надіслати в телеграм бот

На якій платформі тестування працює,
Де відбувається перевірка кожного кроку?
Знаходить баги, проблеми різні,
Щоб програма була надійною й чудовою.

Цей пристрій тестер використовує,
Дотикається, шукає помилки й баги.
На ньому додатки перевіряються,
Щоб користувачам було комфортно й зручно.

Ця платформа широка й різноманітна,
Тестери використовують її постійно.
Додатки перевіряють на всіх пристроях,
Щоб були сумісними з усіма.

Виконай завдання

Створіть google doc та надайте доступ на перегляд  виконаного завдання.
Відправити посилання в телеграм бот або в скайп.

Ви стали членом команди, яка відповідає за тестування мобільного додатку «WeatherApp», який надає прогноз погоди для різних місць.

Android https://play.google.com/store/apps/details?id=com.weather.forecast.weatherchannel&hl=en_US

IOS https://apps.apple.com/us/app/weather/id1069513131

Ваше завдання — протестувати і підтвердити правильність роботи додатку за наступними критеріями:

  1. Функціональність:

    • Переконатися, що додаток правильно відображає поточну погоду для введеного місця.
    • Перевірити, чи відображає додаток прогноз погоди на наступні дні.
    • Переконатися, що додаток коректно відображає погодні умови, такі як температура, вологість, швидкість вітру і т.д.
    • Впевнитися, що додаток оновлюється згідно встановленого розкладу оновлень погоди.
  2. Інтерфейс користувача:

    • Переконатися, що елементи інтерфейсу додатку (такі як кнопки, поля введення і т.д.) працюють правильно і реагують на дії користувача.
    • Перевірити, чи зручний та інтуїтивно зрозумілий інтерфейс додатку для користувача.
    • Впевнитися, що додаток правильно відображає інформацію про погоду в читабельному та привабливому вигляді.
  3. Сумісність:

    • Перевірити, чи працює додаток на різних версіях операційної системи Android та iOS.
    • Впевнитися, що додаток правильно відображається та працює на різних розмірах екрану мобільних пристроїв.
  4. Надійність та стабільність:

    • Провести тестування на стабільність додатку, переконатися, що він не викривається до падінь або крахів.
    • Впевнитися, що додаток правильно обробляє помилки та повідомляє користувача про них.
  5. Продуктивність:

    • Виміряти час завантаження додатку і переконатися, що він працює швидко та ефективно.
    • Впевнитися, що додаток не споживає забагато ресурсів батареї або пам’яті пристрою.

Ваше завдання — виконати тестування мобільного додатку «WeatherApp» за цими критеріями і підготувати звіт з результатами тестування, включаючи виявлені проблеми та рекомендації щодо їх виправлення.

День 1

Вступ до тестування

Розпочати навчання

День 2

Типи тестування

Розпочати навчання

День 6

Практичні навички тестування

Розпочати навчання