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

Розглянемо детальніше 2 основних види оточень, їх типи та версії:

  1. Операційна система (Operating System). Це оточення, в якому користувач запускає програму. Наприклад, операційне оточення DOS складається з усіх команд DOS, доступних користувачу. З іншого боку, до операційного оточення Macintosh входять графічний інтерфейс користувача, який використовує іконки та меню замість команд. 

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

Найпопулярнішими операційними системами на період з 2018-2021 років є:

  • cімейство Windows (версії: 7, Vista, 8, 10), для яких існують 32x і 64х розрядні версії;
  • сімейство UNIX-подібних систем LINUX (версії: Debian, Redhat, Ubuntu, Fedora, Mint);
  • сімейство OS X (Macintosh) (останні версії Mojave 10.14.6, Catalina 10.15.7, Big Sur 11.3.1). Також до цього сімейства входить операційна система для мобільних платформ із закритим кодом – iOS. Останні версії: iOS 12; iOS 13; iOS 14. Компанія, що використовує і розробляє серію програмних продуктів macOS, iOS – Apple;
  • Аndroid – вільна операційна система для мобільних телефонів, планшетних комп’ютерів, розумних годинників, телевізорів і смартбуків, що використовують ядро Linux, яке розробляється Open Handset Alliance і належить компанії Google. Наразі відбулось 40 оновлень системи. Останні версії: Android 8.0, 8.1 Oreo; Android 9.0 Pie; Android 10.0; Android 11.0.
  1. Браузер, або веб-переглядач – прикладне програмне забезпечення для перегляду веб-сторінок, змісту веб-документів, комп'ютерних файлів та їх каталогів, керування веб-додатками, а також для вирішення інших завдань. У глобальній мережі браузери використовують для запиту, обробки, маніпулювання і відображення змісту веб-сайтів. Багато сучасних браузерів також можуть використовуватися для обміну файлами з серверами ftp, а також для безпосереднього перегляду змісту файлів багатьох графічних форматів (gif, jpeg, png, svg), аудіо-відео форматів (mp3, mpeg), текстових форматів (pdf, djvu) та інших файлів.

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

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

  • Opera – веб-браузер і пакет прикладних програм для роботи в Інтернеті, від компанії Opera Software. Розроблений в 1994 році групою дослідників з норвезької компанії Telenor. Підтримує операційні системи: Windows, macOS, Linux, Android та iOS. Мови інтерфейсу: багатомовна підтримка (61 мовний пакет). Апаратна платформа x86-64, ARM і x86. Стан – в активній розробці.
  • Google Chrome – браузер, що розробляється Google на основі вільного браузера Chromium і движка Blink (до квітня 2013 року використовувався WebKit). Операційна система Android (4.1 і вище), iOS (7.0 і вище), Linux (+GCC v4.6 & +GTK v2.24), macOS (10.6 і вище), Windows (7 і вище). Мови інтерфейсу: 53 мови. Апаратна платформа x86-64, ARM і x86. Стан – в активній розробці.
  • Mozilla Firefox – вільний браузер на Gecko движку, розробкою і поширенням якого займається Mozilla Corporation. Другий за популярністю браузер у світі і перший серед вільного ПЗ. Firefox офіційно випускається для Windows, macOS, GNU/Linux та Android. Мови інтерфейсу: багатомовна підтримка. Апаратна платформа x86-64 та ARM. Стан – в активній розробці.
  • Safari – браузер, що розроблений корпорацією Apple і є частиною OS X та iOS. Стабільно займає четверте місце за числом користувачів. Safari зроблений на вільно розповсюджуваному коді двигуна WebKit. Цей браузер було створено, коли закінчувався термін угоди Apple з Microsoft по розробці Internet Explorer для OS X. Незабаром, після появи Safari, робота над Internet Explorer for Mac була зупинена. Вперше Safari був доданий до складу Mac OSX 10.3 Panther і з тих пір став єдиним браузером в macOS та iOS. Стан – в активній розробці

Розглянемо на прикладі, як правильно описувати оточення під час опису дефекта (для прикладу представлені наступні програми керування дефектами Mantis, Jira, Pivotal, Trello і Bugzilla).

Щойно ви знайшли дефект (помилку, баг), потрібно повідомити про нього в найкоротший термін, використовуючи системи обліку дефектів (bug tracking systems). Головна порада під час створення звіту про помилку: ніколи не відкладайте на потім те, що можна зафіксувати зараз. Стосується ця порада не тільки написання звітів про помилки, але і всієї роботи фахівця в сфері тестування. Багато тестувальників нехтують цим простим правилом і багато дефектів так і залишаються не виправленими, впливаючи на якість продукту.

Шаблон дефекту про помилку (баг-репорт) залежить від системи відслідковування помилок (bug tracking system), яку ви використовуєте. Але такі поля зазвичай присутні у всіх популярних системах:

  • унікальний ідентифікатор (id);
  • серйозність (severity);
  • пріоритет (priority);
  • оточення (environment);
  • короткий опис/тема (summary);
  • детальний опис (description);
  • кроки для відтворення (steps to reproduce);
  • фактичний результат (actual result);
  • очікуваний результат (expected result);
  • прикріплені файли (аttached files).

Давайте коротко розглянемо оточення у звіті про помилку в таких системах керування дефектами, як: Mantis, Jira, Pivotal, Trello і Bugzilla. Оточення необхідне команді розробників, щоб виправити помилки саме в тому оточенні, в якому вони були знайдені.

Система відслідковування Mantis має декілька полів для опису оточення тестованого продукту: 

  • поле «Платформа» (Platform) (Браузер і його версія, ПК, Телефон і тощо);
  • поле «Операційна система» (OS) (Ім’я ОС [Windows, Mac, Linux]);
  • поле «Версія ОС» (OS Version) (Номер версії операційної системи).

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

Правильный приклад оформлення оточення баг-репорта в Mantis

Мал. 1. Mantis (правильный приклад)

В системі керування дефектами Mantis інформація про оточення вноситься в поле «Platform, OS, OS Version». На скріншоті вище можна побачити, що у полі «Platform» вказується платформа (браузер і його версія), на якій виконувалося тестування. У полі «OS» вказується операційна система пристрою, на якому виконувалося тестування. В поле «OS Version» вноситься інформація про версію операційної системи пристрою.

Давайте розглянемо приклади неправильного заповнення оточення:

Неправильний приклад оформлення оточення баг-репорта в Mantis

Мал. 2. Mantis (неправильний приклад)

Неправильний приклад оформлення оточення баг-репорта в Mantis 2

Мал. 3. Mantis (неправильний приклад)

В системі керування дефектами Jira інформація про оточення пишеться в поле «Environment». У цьому полі вказується інформація про всі дані середовища тестування (платформа, ОС, версія ОС, версія білда, і тощо).

Правильний приклад оформлення оточення баг-репорта в Jira

Мал 4. Jira «Environment» (правильний приклад)

Розглянемо також приклад неправильного заповнення полів оточення у системі керування дефектами Jira:

Неправильний приклад оформлення оточення баг-репорта в Jira

Мал 5. Jira «Environment» (неправильний приклад)

У системі Pivotal опис дефекту, кроки для відтворення, результати та оточення пишуться у полі «Description».

Оформлення баг-репорта в системі Pivotal

Мал 6. Pivotal

Веб-додаток для керування проектами Trello також можна використовувати як систему керування дефектами – ім'я створеної картки буде коротким описом дефекту, а кроки для відтворення, результати і оточення будуть вказуватися в полі «Description».

Веб-додаток для керування проєктами Trello

Мал 7. Trello

У баг-трекінговій системі Bugzilla вся інформація про оточення пишеться в поля «Version», «Hardware» та «OS».

Баг-трекінгова система Bugzilla

Мал 8. Bugzilla

Тож, давайте коротко підсумуємо сказане:

Програмне Оточення (Software Environment) – оточення, у якому знайдено дефект – операційна система, браузер, версія браузера, сервер і т.ін.

Операційна система – оточення, у якому користувач запускає програму. Найпопулярніші: Windows OS, Linux, macOS (ОС для ПК і для мобільних платформ – iOS), Android.

Браузер – прикладне програмне забезпечення для перегляду веб-сторінок. Найпопулярніші: Opera, Google Chrome, Mozilla Firefox, Safari.

У разі знаходження помилки (дефекта, бага) необхідно якнайшвидше завести баг-репорт до баг-трекінгової системи (системи обліку дефектів).

Обов’язкові поля до заповнення у баг-репортах:

  1. Унікальний ідентифікатор.
  2. Важливість.
  3. Пріоритет.
  4. Оточення.
  5. Короткий опис (тема).
  6. Детальний опис.
  7. Кроки для відтворення.
  8. Фактичний та очікуваний результати.
  9. Прикріплені файли.

Відмінності в оформленні інформації про тестове оточення (у розглянутих системах):

  1. У системі Мantis присутні окремі поля для опису оточення «Platform», «OS», «OS Version».
  2. У Jira вся інформація про дані тестового оточення вказуються у полі «Environment».
  3. В баг-трекінговій системі Bugzilla інформація про оточення пишеться в поля «Version», «Hardware» і «OS».
  4. В Trello та Pivotal відсутні окремі поля для опису кроків, результатів та оточення, тому вся ця інформація вказується у полі «Description».