Кросплатформне тестування: 3 основні ОС
Кросплатформне тестування: 3 основні ОС
- 15.03.2023
- Опубліковано: Admin
Перш, ніж приступити до розгляду кросплатформного тестування, давайте розберемося з поняттям кросплатформності в цілому.
Кросплатформність або міжплатформність – це здатність програмного забезпечення працювати з декількома платформами або операційними системами. Кросплатформність досягається за допомогою високорівневих мов програмування, середовищ розробки і виконання, що підтримують умовну компіляцію, компонування і виконання коду для різних платформ.
Найпоширенішим і простим прикладом кросплатформної програми є веб-браузер. Вони відображають веб-сайти практично однаково, незалежно від того, на якій платформі або операційній системі їх запустили.
Кросплатформність буде реалізована по-різному в залежності від того який додаток у нас – традиційний або веб-додаток.
Зазвичай, усі веб-додатки позиціонуються як кросплатформні через те, що доступні з будь-якого веб-браузеру та в різних ОС. Веб-додатки використовують клієнт-серверну архітектуру, але можуть істотно відрізнятися за функціоналом та складністю.
Прості веб-додатки обробляють дані з сервера без збереження стану і направляють результат клієнту. Тобто, взаємодія користувача з додатком здійснюється шляхом обміну запитами даних та відповідями сервера.
Прикладами складніших веб-додатків можуть бути:
- веб-інтерфейс Gmail;
- веб-сайт Google Maps;
- служба Bing від Microsoft.
Такі розширені програми зазвичай залежать від додаткових функцій, які можна знайти тільки в більш свіжих версіях популярних веб-браузерів. Ці залежності включають Ajax, JavaScript, Dynamic HTML, SVG та інші компоненти багатофункціональних інтернет-додатків. Більш ранні версії популярних веб-браузерів, як правило, не підтримують деякі функції.
Хоча популярність веб-додатків і зростає, багато хто продовжує користуватися традиційними додатками, які не базуються на клієнт-серверній архітектурі.
Таке програмне забезпечення поширюється у вигляді двійкових файлів, які підтримують тільки ОС і комп'ютерну архітектуру, для якої вони були побудовані. Тому, якщо додаток має бути кросплатформним, для нього створюють кілька виконавчих файлів для встановлення – для кожної підтримуваної платформи окремо.
Але іноді, за допомогою різних інструментів, можна створити збірки для всіх підтримуваних платформ. В цьому випадку розробник ПЗ повинен змінити код таким чином, щоб він підходив для нової архітектури комп'ютера або операційної системи.
Поняття та важливість кросплатформного тестування
Кросплатформне тестування – це процес перевірки роботи програми або сайту на різних платформах.
Кросплатформне тестування є дуже важливим етапом забезпечення якості ПЗ. Коли продукт розробляється для кількох платформ, важливо виділити всі найбільш популярні та протестувати роботу програми на них. Для веб-додатків можна просто вибрати найбільш популярні версії браузерів і проводити тестування. Для десктопних додатків кількість комбінацій ОС/конфігурацій системи занадто велика, тому необхідно проводити більш глибокий аналіз аудиторії та виділяти найважливіші комбінації для тестування.
Кросплатформне тестування проводиться для визначення поведінки додатку і веб-сайту в різних середовищах. Міжплатформне тестування допомагає у виявленні проблем, які можуть відрізнятися в залежності від платформи або конфігурації, таких як узгодженість, користувацький інтерфейс, проблеми з юзабіліті та продуктивність.
У додатку, який передбачається запускати на декількох платформах, важливо, щоб інтерфейс розробки був узгодженим. Дизайн повинен бути розроблений таким чином, щоб не викликати проблем з вирівнюванням або непотрібним перенесенням тексту в інтерфейсі.
Якщо додаток використовує багато даних, це може викликати проблеми для пристроїв з низьким кешем і оперативною пам'яттю. Також важливо враховувати зручність використання пристрою. Наприклад, користувачі телефонів Android надають перевагу додаткам невеликого розміру, які не займають багато місця на пристроях.
GUI з дуже великою кількістю кнопок може бути складним і недружнім для кінцевого користувача. Дуже важливо знати, як юзери будуть взаємодіяти з системою та який тип введення вони будуть використовувати. Наприклад, в фінансових додатках кращою комбінацією введення є текстові поля, але якщо користувачеві надаються випадаючі списки і кнопки, це викличе деякі труднощі.
Подібні проблеми викликають у користувачів погане враження і інтерес швидко втрачається.
Особливості, методи кросплатформного тестування
Нижче наведено короткий список порад і методів для проведення кросплатформного тестування:
Визначення кордонів
Щоб уникнути плутанини під час тестування важливо визначити чіткі межі для кросплатформного тестування. Виділити найважливіші платформи, які будуть використовувати реальні користувачі.
Тестова матриця
Матриця завжди корисна, коли мова йде про розробку тестових сценаріїв. Підготуйте тестову матрицю та використовуйте її для виконання тестових випадків і для зв'язку з кінцевими користувачами.
Теплові карти
Виділіть елементи, які мають високий ризик в тестовій матриці. Теплова карта може бути корисна для ідеального визначення зон ризику. Це допомагає в правильній розстановці пріоритетів, коли час і ресурси обмежені.
Багатовимірна матриця разом з тепловою картою будуть корисні для визначення того, що необхідно протестувати в першу чергу, а що може почекати. Жовті клітинки в таблиці – те, що потрібно протестувати за наявності достатньої кількості часу, а червоні – «умови тестування високого ризику», те, що необхідно протестувати в першу чергу.
Найпопулярніші ОС, які використовуються для кросплатформних додатків
Найпоширенішими операційними системами є Windows, Android та iOS.
Android – операційна система, яка може використовуватися на різних девайсах: смартфонах, планшетах, електронних книгах, цифрових програвачах, наручних годинниках, фітнес-браслетах, ігрових приставках, ноутбуках, нетбуках, смартбуках, окулярах Google Glass, телевізорах та інших пристроях.
Це найпоширеніша операційна система для мобільних пристроїв на даний момент. Під час планування кросбраузерного тестування необхідно враховувати відмінності між версіями операційної системи та їх поширеність.
Нижче розміщено таблицю популярності версій Android OS в 2019 році:
Версія системи | Поточне розподілення |
2.3 Gingerbread | 0,3% |
4.0 Ice Cream Sandwich | 0,3% |
4.1 4.2 4.3 Jelly Bean | 3,2% |
4.4 Kitkat | 6,9% |
5.0 Lollipop | 3% |
5.1 Lollipop | 11,5% |
6.0 Marshmallow | 16,9% |
7.0 Nougat | 11,4% |
7.1 Nougat | 7,8% |
8.0 Oreo | 12,9% |
8.1 Oreo | 15,4% |
9.0 Pie | 10,4% |
iOS (До 24 червня 2010 року - iPhone OS) – операційна система, яка також може використовуватися на різних девайсах: смартфонах, електронних планшетах, переносних програвачах та деяких інших пристроях. Ця операційна система розробляється і випускається американською компанією Apple. Була випущена в 2007 році; спочатку – для iPhone та iPod touch, пізніше – для iPad. У 2014 році з'явилася підтримка автомобільних мультимедійних систем Apple CarPlay. На відміну від Android (Google), випускається тільки для пристроїв, вироблених фірмою Apple.
53% пристроїв, представлених в останні 4 роки, використовують iOS 12. Статистика популярності версій iOS:
За даними App Store на 10 жовтня 2018 року, на пристроях, представлених з вересня 2014 року.
Windows – сімейство комерційних операційних систем корпорації Microsoft, які орієнтовані на управління за допомогою графічного інтерфейсу. Windows була встановлена не менше ніж на 88,5% персональних комп'ютерів і робочих станцій, згідно з даними за червень 2019 року. За даними компанії Net Applications, на червень 2019 року ринкова частка Windows склала 88,33%. Падіння частки пов'язано, в першу чергу, з тенденцією до скорочення продажів ПК у світі, а також зі збільшенням популярності конкурентів – macOS та Linux. Найпопулярнішою версією Windows за даними W3Schools з липня 2017 року вважається Windows 10 (близько 37%).
При плануванні тестування на Windows необхідно враховувати особливості різних версій операційної системи, а також взаємодії їх з різними браузерами при кросбраузерному тестуванні.
Інструменти для проведення кросплатформного тестування
Інструменти завжди корисні при будь-якому типі тестування. Особливо, коли необхідно перевірити один і той же функціонал на різних платформах, на допомогу приходять інструменти для автоматизованого тестування та емуляції виконання програми на різних платформах.
Деякі з поширених інструментів для кросплатформного тестування:
1. Appium
Доступний як на iOS, так і на Android. Це HTTP-сервер, що керує сеансами WebDriver. Він підтримує тестування в будь-якому середовищі і на будь-якій мові, яку може створити запит HTTP. Це інструмент з відкритим вихідним кодом для автоматизації нативних, мобільних і веб-додатків, а також гібридних додатків на платформах iOS та Android.
2. MonkeyTalk
Також працює з Android та iOS, це інструмент з відкритим вихідним кодом, що складається з трьох компонентів, таких як IDE, сценарії і агенти. MonkeyTalk автоматизує функціональні інтерактивні тести для додатків Android та iOS. Скрипти MonkeyTalk використовують простий синтаксис ключових слів і механізми виконання Ant of Java. Тести можуть бути оброблені даними з електронної таблиці в форматі CVS.
3. Katalon
Katalon – це безкоштовний інструмент для мобільного тестування, веб-тестування і автоматизації, який сумісний з останніми версіями iOS та Android. Katalon пропонує повнофункціональне управління тестами, інтерфейси з двома сценаріями для початківців і досвідчених користувачів. Виконання сценаріїв на емуляторах, реальних пристроях або хмарне тестування. Вбудовані ключові слова підтримують GUI, API і тестування даних, а також мають вбудовану інтеграцію з JIRA, GIT та Kobiton.
4. EggPLANT
EggPLANT – це комерційний продукт для автоматизованого тестування з графічним інтерфейсом, розроблений TestPlant для iOS і Android, а також для теста функціональності, тестування на основі зображень, мобільного тестування, мережевого тестування, веб-тестування і кросбраузерного тестування. Можна використовувати один скрипт для всіх пристроїв та платформ, а також створювати додаткові для конкретного пристрою/платформи.
5. Browsershots
Цей інструмент широко використовується як інструмент кросбраузерного тестування через його функції та доступні налаштування. Він підтримує IE, Firefox, Google Chrome, Opera, Safari, Minefield, Netscape і багато інших з усіма їх версіями. Ви можете вибрати розмір екрану, глибину кольору та параметр, що дозволяє перевірити стан JavaScript, а також варіанти включення або відключення Flash. Одна з проблем тут полягає в тому, що для отримання результатів потрібно багато часу, і немає мобільних браузерів.
6. BrowserStack
Забезпечує тестування веб-браузера в режимі реального часу з миттєвим доступом до всіх настільних та мобільних пристроїв. Немає необхідності встановлювати додаток, оскільки він розташований на хмарі. Для відладки та кросбраузерного тестування використовуються встановлені інструменти розробника.
7. KeepItFunctional (KIF)
Платформа з відкритим вихідним кодом, розроблена для додатків iOS, призначена для тестування користувацького інтерфейсу мобільного додатку і простого автоматизованого тестування. Це інтегроване середовище тестування iOS, яке використовують для функціонального тестування, створює і виконує контрольні тести.
8. Xamarin
Xamarin має інструменти тестування для кросплатформних мобільних додатків на iOS, Android, Blackberry і Windows. У Xamarin є власний інструмент розробки інтерфейсу і програма Xamarin University, де ви можете пройти онлайн-курси; він дозволяє запускати хмарний автоматичний приймальний тест користувацького інтерфейсу.
9. Browserling
Запущений у 2010 році Browserling – це інтерактивний кросбраузерний інструмент для тестування у режимі реального часу. Підтримує тестування на більшості версій Internet Explorer, Chrome, Opera, Safari і Firefox. Підтримуються операційні системи Windows XP, Windows Vista і Windows 8.1, а також Android Mobile.
10. Litmus
Відомий інструмент для тестування поштових скриньок, Litmus можна використовувати і для тестування веб-додатків. Litmus дозволяє бачити, як сторінка відображається у відомих веб-браузерах на мобільних та десктопних платформах. Підтримує браузери Firefox, Chrome, Safari і мобільні версії, а також операційні системи Windows, iOS та Android.
Кросплатформне тестування – важливий вид тестування, який необхідно проводити для розуміння того, чи буде належним чином відображатися тестований продукт на різних платформах, використовуваних цільовою аудиторією. Найчастіше, для проведення цього виду тестування, використовуються інструменти автоматизованого тестування, які доступні у великій кількості в магазинах додатків.