Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

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

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

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

Table of Contents

Що таке тестування на сумісність

тестування та розробка програмного забезпечення?

Стрес-тестування - типи, процес, інструменти, контрольні списки та інше

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

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

 

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

альфа-тестування проти бета-тестування

Компанії проводять тестування сумісності на етапі тестування програмного забезпечення, особливо коли вони мають “стабільну” версію програми, яка точно відображає, як вона буде поводитися для клієнтів. Це продовжується після альфа-версії, прийняття та інших форм тестування, які часто шукають загальну стабільність і проблеми, пов’язані з функціоналом. Якщо у додатку виникають проблеми на етапі тестування сумісності, це, як правило, пов’язано зі специфічними проблемами, пов’язаними з сумісністю. Впровадження цих перевірок занадто рано може фактично зробити їх надлишковими, оскільки незначні зміни на більш пізніх етапах циклу розробки програми можуть радикально вплинути на сумісність.

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

 

2. Коли вам не потрібно проводити тестування сумісності програмного забезпечення

контрольний список процесів тестування програмного забезпечення

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

 

3. Хто бере участь у тестуванні сумісності?

хто має бути залучений до інструментів автоматизації тестування програмного забезпечення та планування

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

 

1. Розробники

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

 

2. Тестери

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

 

3. Клієнти

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

 

Переваги тестування на сумісність

Що таке тестування програмного забезпечення?

Звичайні переваги тестування сумісності програмного забезпечення включають в себе наступні:

 

1. Ширша аудиторія

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

 

2. Покращує стабільність

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

 

3. Удосконалює розвиток

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

 

4. Перевіряє інші тести

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

 

5. Зменшує витрати

Тестування сумісності також може знизити витрати на поточну програму, допомагаючи командам виявляти проблеми до того, як додаток вийде в публічний реліз – на цьому етапі виправлення помилок стає дорожчим. Чим різноманітніші тести команди (і чим вищий рівень тестового покриття), тим дешевше усунути будь-які помилки, коли вони з’являються.

 

Проблеми тестування на сумісність

Порівняння UAT тестування з регресійним тестуванням та інше

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

 

1. Обмежений час

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

 

2. Відсутність реальних пристроїв

Ці перевірки зазвичай проводяться на віртуальних машинах, які імітують компоненти та умови реальних пристроїв; це набагато дешевше (і швидше), ніж самостійне придбання відповідних деталей і платформ. Однак це може вплинути на точність цих результатів; особливо тому, що продуктивність часто залежить від того, як користувачі експлуатують реальний пристрій.

 

3. Важко передбачити майбутнє

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

 

4. Обслуговування інфраструктури

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

 

5. Велика кількість комбінацій

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

 

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

Альфа-тестування - що це таке, види, процес, порівняння з бета-тестуванням, інструменти та багато іншого!

Ключові характеристики тестів на сумісність включають

 

1. Ретельний

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

 

2. Експансивний

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

 

3. Двонаправлений

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

 

4. Повторювані

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

 

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

тестування автоматизації веб-додатків

Основні типи тестування на сумісність наведені нижче:

 

1. Тестування зворотної сумісності

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

 

2. Тестування на сумісність з попередніми версіями

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

 

3. Тестування сумісності з браузерами

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

 

4. Тестування мобільної сумісності

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

 

5. Тестування апаратної сумісності

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

 

6. Тестування сумісності пристроїв

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

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

 

7. Тестування мережевої сумісності

Якщо для роботи програми потрібна мережева функціональність – наприклад, підключення до онлайн-бази даних через сервер компанії – це вимагає численних перевірок сумісності. Це гарантує, що програма зможе працювати на відповідній швидкості при підключенні до мережі Wi-Fi, 4G або 3G.

 

Що ми перевіряємо в тестах сумісності?

усунення плутанини в автоматизації тестування програмного забезпечення

Тестери сумісності зазвичай перевіряють наступне:

 

1. Перформанс

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

 

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

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

 

3. Графіка

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

 

4. Зв’язок

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

 

5. Універсальність

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

 

Типи результатів тестів на сумісність

Три основні результати тестів на сумісність

 

1. Результати тестування

Найпоширенішим результатом таких перевірок є самі результати, які можуть мати різні форми. Наприклад, тестування сумісності браузерів може виявити, що веб-додаток призводить до витоку пам’яті в Microsoft Edge, тоді як той самий додаток не має негативних наслідків у браузерах на базі Chrome. Крім того, додаток може працювати саме так, як очікує команда, на відповідних платформах.

 

2. Журнали випробувань

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

 

3. Тестові кейси

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

Типи виявлених дефектів

через тестування сумісності

тестування та автоматизація api

Ось найпоширеніші помилки, які можуть виявити тести сумісності:

 

1. Масштабування макета

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

 

2. Збої програмного забезпечення

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

 

3. Проблеми з валідацією HTML/CSS

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

 

4. Помилки відтворення відео

Багато сучасних відеоплеєрів використовують HTML5 для трансляції відео в Інтернеті, що потенційно може стати ключовою частиною веб-додатку компанії. Однак команди, які перевіряють сумісність веб-сайтів з браузерами, можуть виявити, що відео-функції їхніх додатків не сумісні з застарілими браузерами.

 

5. Безпека файлів

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

 

Процес тестування на сумісність

що таке автоматизація тестування програмного забезпечення

Звичайні етапи тестування на сумісність такі:

 

1. Складіть план тестування

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

 

2. Налаштуйте тестові кейси

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

 

3. Створіть середовище для тестування

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

 

4. Виконайте тести

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

 

5. Повторний тест.

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

 

Загальні показники тестування сумісності

переваги створення центру передового тестування (TCoE)

Ось деякі загальні метрики, які використовуються для тестування сумісності:

 

1. Пропускна здатність

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

 

2. Використання процесора

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

 

3. Шкала зручності використання системи

Шкала юзабіліті системи – це загальний спосіб вимірювання суб’єктивних деталей програми, що складається з десяти основних питань про зручність використання програми. Підсумкова оцінка SUS за 100-бальною шкалою може відрізнятися на різних платформах через графічні помилки.

 

4. Загальна кількість дефектів

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

 

5. Оцінка SUPRQ

Подібно до оцінки SUS, стандартизований опитувальник Percentile Rank Questionnaire – це спосіб для тестувальників оцінити додаток за кількома ключовими факторами, включаючи зручність використання та зовнішній вигляд. Це допомагає їм виявити, які проблеми можуть виникнути у користувачів при використанні додатку на певних пристроях.

 

7 помилок та підводних каменів при проведенні тестів на сумісність

виклики навантажувального тестування

Ось сім основних помилок, яких слід уникати при проведенні тестування на сумісність:

 

1. Відсутність реальних пристроїв

Хоча неможливо протестувати на кожній можливій комбінації пристроїв, команда тестувальників все ж може отримати користь від використання якомога більшої кількості реальних пристроїв. Різні платформи пропонують “реальні” пристрої через хмарні рішення, щоб полегшити тестування крос-браузерної сумісності, яке може відображати нативну продуктивність.

 

2. Уникайте старих пристроїв

Багато користувачів все ще отримують доступ до своїх додатків на старих версіях Windows або iOS; зосередження на нових версіях популярних пристроїв та операційних систем може обмежити охоплення продукту. Якщо команда не розширить свої тести на “застарілі” пристрої, значна частина їхньої аудиторії не зможе користуватися програмою.

 

3. Нераціональне використання часу

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

 

4. Неправильне планування

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

 

5. Не враховується роздільна здатність екрану

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

 

Брак досвіду

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

 

6. Без попереднього обговорення

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

 

Найкращі практики тестування сумісності

Перелік перевірок програмного забезпечення

Найкращі способи забезпечити високу якість тестів на сумісність включають

 

1. Тестуйте протягом всієї розробки

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

 

2. Використовуйте реальні пристрої

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

 

3. Розставити пріоритети в тестах

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

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

4. Інтегрувати гнучкі методи

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

 

5. Обмежте сферу тестування

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

 

Приклади кейсів і сценаріїв тестування на сумісність

Що таке модульне тестування?

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

 

До таких випадків зазвичай відносяться

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

 

Ось конкретні приклади тестування сумісності в тестуванні програмного забезпечення для різних програм:

 

1. Додаток для соціальних мереж

Соціальні мережі зазвичай мають форму веб-додатків для браузерів і мобільних додатків для відповідних пристроїв; обидва типи вимагають однаково ретельного тестування. Наприклад, цей мобільний додаток має бути повністю працездатним на пристроях iOS та Android щонайменше – команда перевіряє старі та нові пристрої під кожною операційною системою. Наприклад, якщо певна модель iPhone не може відтворювати анімовані GIF-файли, команда повинна визначити причину цього, щоб забезпечити стабільний користувацький досвід.

 

2. Відеогра

Відеоігри зазвичай пропонують настроювані графічні опції, які користувачі можуть змінювати відповідно до свого комп’ютера; це включає в себе управління роздільною здатністю екрана і забезпечення відповідного масштабування інтерфейсу. Певні проблеми можуть виникати залежно від конкретного апаратного забезпечення плеєра – помилки згладжування можуть призвести до зернистості графіки. Це може бути пов’язано зі звичайною графічною картою, яка несумісна з рендерингом текстур компанії. Залежно від конкретної проблеми, це може проявлятися навіть у вигляді збою системи під час запуску гри на певних пристроях.

 

3. Хмарна система CRM

Рішення для управління взаємовідносинами з клієнтами інтенсивно використовують бази даних для отримання інформації про їхні транзакції, постачальників та інші важливі аспекти бізнесу, переважно за допомогою хмарних сховищ. Тестувальники повинні переконатися, що ця база даних та її хмарні сервіси працюють в різних мережах, включаючи 3G і 4G, якщо користувачеві потрібно отримати доступ до неї без підключення до Інтернету. Команда також повинна перевірити широкий спектр операційних систем, оскільки певні збої можуть з’являтися лише на пристроях під управлінням Linux, наприклад.

 

Ручні чи автоматизовані тести на сумісність?

комп'ютерний зір для тестування програмного забезпечення

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

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

 

Що потрібно для початку тестування сумісності?

Що таке навантажувальне тестування, тестування мобільних додатків та спеціальне тестування?

Основні передумови для тестування на сумісність зазвичай включають

 

1. Кваліфікований персонал тестування

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

 

2. Потужна емуляція пристроїв

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

 

3. Чіткий обсяг тестування

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

 

4. Тайм-менеджмент

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

Тестування на сумісність

контрольний список, поради та підказки

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

 

1. Не орієнтуйтеся на абсолютне покриття

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

 

2. Пріоритетність кросбраузерних комбінацій

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

 

3. Перевірити макет

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

 

4. Перевірте API

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

 

5. Вивчіть SSL-сертифікат

SSL-сертифікати підвищують безпеку браузера, шифруючи веб-трафік і дозволяючи користувачам користуватися перевагами протоколів HTTPS. Веб-сайт або веб-додаток може мати сертифікат, несумісний з певними браузерами. Це означає, що тестувальники повинні перевірити сертифікат на всіх основних платформах, щоб переконатися, що користувачі відчувають себе в безпеці на вашому сайті.

 

6. Перевірка відеоплеєрів

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

 

5 найкращих інструментів та програмного забезпечення для тестування сумісності

Поширені запитання щодо автоматизації функціонального тестування

Найефективніші безкоштовні та платні інструменти для тестування сумісності включають

 

1. ZAPTEST Free & Enterprise Edition

ZAPTEST пропонує чудову функціональність як у безкоштовній, так і в корпоративній (платній) версіях, допомагаючи компаніям будь-якого розміру (або бюджету) з перевіркою сумісності. Компанії, які обирають версію ZAPTEST для підприємств, можуть навіть отримати прибуток, що в 10 разів перевищує їхні початкові інвестиції. Функція 1SCRIPT рішення спеціально адаптована до потреб тестувальників сумісності, дозволяючи їм запускати однакові тести на різних платформах, не змінюючи код для узгодження. Додайте сучасну функціональність RPA без додаткових витрат, і ви отримаєте універсальне рішення для автоматизації будь-яких завдань.

 

2. Лямбда-тест

LambdaTest використовує хмарний підхід для доставки 3 000 автоматизованих пристроїв – хоча і зі значним акцентом на веб-браузери, що може обмежити ефективність цього рішення для певних програм. Платформа спеціалізується на безперервному тестуванні, тісніше інтегруючи процес забезпечення якості з розробкою. Перевірки в цьому додатку також дозволяють користувачам встановлювати роздільну здатність, що значно спрощує тестування кросбраузерної сумісності. Це рішення пропонує безкоштовну модель, хоча вона включає в себе обмежені тести без оновлення та без реальних пристроїв.

 

3. BrowserStack

Подібно до LambdaTest, BrowserStack надає доступ до 3 000 реальних пристроїв; їхній каталог також включає застарілі та бета-версії браузерів. Хоча люди частіше оновлюють свій браузер, ніж ОС, все ще може бути багато людей, які використовують старіші версії – BrowserStack враховує це. Користувачі також можуть проводити геолокаційне тестування, щоб побачити, як виглядають веб-сайти та веб-додатки в різних країнах. Однак немає безкоштовних або безкоштовних варіантів, а реальне тестування пристроїв може бути повільним.

 

4. TestGrid

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

 

5. Browsera

Browsera в основному зосереджується на тестуванні веб-сайтів, щоб переконатися, що вони правильно відображаються на різних пристроях, браузерах і операційних системах. Завдяки хмарному підходу командам із забезпечення якості не потрібно встановлювати цю віртуальну тестову лабораторію на свої пристрої. Browsera також може порівнювати результати, щоб розумно виявляти проблеми з версткою і помилки JavaScript, які навіть людина-тестувальник може пропустити. Однак Browsera не підтримує декілька поширених браузерів, включаючи Opera, і пропонує лише базовий тестовий функціонал безкоштовно.

 

Висновок

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

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post