Емулятори, симулятори чи реальний пристрій — порівнюємо можливості та умови для тестування

💡 Усі статті, обговорення, новини про тестування — в одному місці. Приєднуйтесь до QA спільноти!

Усім привіт, мене звати Вадим Андрієнко, я Manual QA Engineer в компанії SweetSlackDigital. У цій статті хочу поговорити та порівняти можливості різних інструментів для мобільного тестування — емуляторів та симуляторів. Вони дозволяють розробникам і тестувальникам перевіряти поведінку мобільних застосунків та сайтів на різних платформах та пристроях без необхідності володіти фізичними пристроями.

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

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

  • роздільна здатність та діагональ екрана;
  • операційна система та її версія;
  • характеристики процесора;
  • обсяг оперативної та вбудованої пам’яті.

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

Емулятори

Емулятори — це програмне забезпечення, яке дозволяє імітувати поведінку операційної системи та обладнання реального пристрою. Вони зазвичай набагато повніші і точніші у порівнянні з симуляторами, але часто вимагають більше ресурсів комп’ютера. Емулятори використовуються для тестування застосунків на різних платформах (наприклад, Android на Windows або iOS на macOS).

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

Приклади емуляторів:

  • Android Studio: це офіційний емулятор від Google для розробки застосунків для Android. Він надає можливість тестувати застосунки на різних версіях Android та різних пристроях;
  • Xcode: це емулятор для розробки застосунків для iOS. Розробники можуть використовувати його для тестування застосунків на різних версіях iOS та різних моделях iPhone та iPad.
  • BrowserStack: це хмарна платформа для тестування, яка надає доступ до великої кількості емуляторів та симуляторів для різних мобільних та вебплатформ. Ви можете тестувати застосунки на різних пристроях та операційних системах безпосередньо з веббраузера.
  • Appium: це відкрита платформа для тестування, яка дозволяє використовувати емулятори та реальні пристрої для автоматизованого тестування мобільних застосунків. Вона підтримує різні мобільні платформи, такі як Android і iOS.

Симулятори

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

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

Приклади симуляторів:

  • Google Chrome Developer Tools: це вбудований в Google Chrome набір інструментів для розробників, який дозволяє імітувати різні мобільні та вебпристрої. Ви можете перевірити вигляд вашого сайту або застосунку на різних розмірах екранів та вирішити проблеми з відображенням;
  • Firefox Developer Edition: в цій версії Firefox також є набір розробника, який дозволяє симулювати різні пристрої і перевірити, як ваш вебзастосунок поводиться на різних платформах;
  • Safari Developer Tools: це інструменти для розробників, що входять в Safari, дозволяють симулювати різні пристрої iOS та Mac, щоб перевірити сумісність вашого вебзастосунку з цими платформами;
  • Microsoft Edge Developer Tools: цей набір інструментів у Microsoft Edge дозволяє симулювати різні пристрої та версії Windows, щоб перевірити ваш вебзастосунок на цих платформах;
  • BrowserStack: це хмарна платформа, яка не тільки надає доступ до емуляторів, але також дозволяє симулювати різні пристрої та платформи для тестування вебзастосунків.

Різниця між емулятором та симулятором:

  1. Зазвичай симулятори менше обтяжують систему, що забезпечує швидше виконання та перевірку застосунків.
  2. Симулятори завжди надають повністю точне відтворення реальних пристроїв і їхніх характеристик, що може призводити до некоректної поведінки застосунків на реальних пристроях.
  3. Зазвичай менш точні від емуляторів у відтворенні реальних умов, таких як мережеві з’єднання та сигнали.

Cloud-based рішення:

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

Приклади Cloud-based рішень:

  • Amazon Web Services (AWS): AWS — це платформа хмарних послуг від Amazon, яка пропонує широкий спектр сервісів, таких як хмарне сховище (Amazon S3), обчислювальні ресурси (Amazon EC2), бази даних (Amazon RDS), машинне навчання (Amazon SageMaker) та багато іншого. Вона дозволяє підприємствам масштабувати свої застосунки та інфраструктуру відповідно до потреб безпосередньо з хмари;
  • Microsoft Azure: Azure — це хмарна платформа від Microsoft, яка також надає широкий спектр послуг, включаючи обчислення, зберігання, бази даних, штучний інтелект, Інтернет речей (IoT) та багато іншого. Azure дозволяє легко розгортати та керувати застосунками в хмарі, а також надає інтеграцію з інструментами Microsoft та іншими популярними сервісами;
  • Google Cloud Platform (GCP): GCP — це хмарна платформа від Google, яка надає обчислювальні, сховище, бази даних, машинне навчання, аналітику та інші послуги. Google Cloud Platform дозволяє розробникам швидко розгортати застосунки та використовувати різноманітні інструменти для зберігання та обробки даних;
  • IBM Cloud: IBM Cloud — це інтегрована платформа хмарних послуг від IBM, яка надає різноманітні інструменти для розробки, випробування, розгортання та управління застосунками та інфраструктурою.

Емулятор, симулятор чи реальний пристрій

Вибір між емулятором, симулятором і реальним пристроєм залежить від конкретного контексту і мети вашого тестування.

Ось деякі критерії, які можуть допомогти нам визначитися:

Емулятор:

Коли потрібно тестувати застосунки на різних версіях операційних систем або на пристроях з різною апаратною конфігурацією.

Коли реальні пристрої недоступні або неможливо використовувати (наприклад, через обмеженість бюджету, недоступність певних пристроїв тощо).

Коли потрібно здійснити тестування у відокремленому, контрольованому середовищі, яке емулятор надає.

Симулятор:

Коли потрібно прискорити тестування і перевірити базові функції застосунку.

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

Коли реальні пристрої не доступні, але вам потрібно протестувати застосунок на різних платформах.

Реальний пристрій:

Коли потрібно впевнитися, що застосунок працює на реальних умовах, таких як різні мережеві умови, GPS, акселерометр тощо.

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

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

Висновок

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

Потім, якщо можливо, протестуйте застосунок на реальних пристроях, щоб підтвердити правильну роботу і виявити потенційні проблеми, які можуть з’явитися тільки на реальних пристроях.

👍ПодобаєтьсяСподобалось6
До обраногоВ обраному3
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Ще про дрони можна поговорити

Симулятори НЕ завжди надають повністю точне відтворення реальних пристроїв...

?

когда написал с chatgpt и ни с чем не работал

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

Ця стаття не відповідає дійсності. Таке відчуття що автор в очі не бачив ті симулятори і емулятори.

в Аndroid Studio емулятори
в Xcode симулятори
((

У нас в проекті якраз прикол — UI баг який проявляється виключно на IPhone8. Причому XCode вже не дозволяє навіть емулятор цього телефону скачати, а люди які ними користуються є.

Усе змішалось: люди, коні... Android Studio та Xcode це IDEшки, BrowserStack це хмарна платформа для тестування, а Appium це тулза для автоматизації того самого тестування. Назвати це все емуляторами, це все одно що легковий автомобіль, автосалон та екскаватор назвати кондиціонерами, бо ви чули що в них всередині бувають кондиціонери.

Приклади емуляторів:
— Android Studio
— Xcode
— BrowserStack
— Appium

Статья ради статьи состоящая из копипаста опрелений сущностей.

Дякую, за критику)

Немного меня бомбануло. Был резковат. По сути — уже в первом же разделе про эмуляторы уже каша. Посмотрите про то что такое аппиум и что есть в качестве альтернативы, что такое браузерстак и в чем его преимущество (если там вообще реальные девайсы). И почему эти понятия оказались в одном списке под заголовком

Приклади емуляторів

Підписатись на коментарі