Що таке тестове оточення?
Програмне оточення (Software environment) – оточення, у якому знайдено дефект: операційна система, браузер, версія браузера, сервер тощо. Якщо дефект відтворюється на всіх оточеннях, то потрібно залишити відповідний коментар.
Розглянемо детальніше 2 основних види оточень, їх типи та версії:
- Операційна система (Operating System). Це оточення, в якому користувач запускає програму. Наприклад, операційне оточення DOS складається з усіх команд DOS, доступних користувачу. З іншого боку, до операційного оточення Macintosh входять графічний інтерфейс користувача, який використовує іконки та меню замість команд.
У різних операційних системах, складові оточення можуть дуже сильно відрізнятись.
Найпопулярнішими ОС на період з 2020-2024 років є:
- cімейство Windows (версії: 7, 8.1, 10, 11), для яких існують 32x і 64х розрядні версії;
- сімейство UNIX-подібних систем LINUX (версії: Debian, CentOS, Ubuntu, Fedora, Mint);
- сімейство OS X (Macintosh) (останні версії Monterey 12.7.4, Ventura 13.6.6, Sonoma 14.4.1). Також до цього сімейства входить операційна система для мобільних платформ із закритим кодом – iOS. Останні версії: iOS 15; iOS 16; iOS 17. Компанія, що використовує і розробляє серію програмних продуктів macOS, iOS – Apple;
- Аndroid – вільна операційна система для мобільних телефонів, планшетних комп’ютерів, розумних годинників, телевізорів і смартбуків, що використовують ядро Linux, яке розробляється Open Handset Alliance і належить компанії Google. Останні версії: Android 12; Android 12.L; Android 13; Android 14.
- Браузер, або веб-переглядач – прикладне програмне забезпечення для перегляду веб-сторінок, змісту веб-документів, комп'ютерних файлів та їх каталогів, керування веб-додатками, а також для вирішення інших завдань. У глобальній мережі браузери використовують для запиту, обробки, маніпулювання і відображення змісту веб-сайтів. Багато сучасних браузерів також можуть використовуватися для обміну файлами з серверами ftp, а також для безпосереднього перегляду змісту файлів багатьох графічних форматів (gif, jpeg, png, svg), аудіо-відео форматів (mp3, mpeg), текстових форматів (pdf, djvu) та інших файлів.
Функціональні можливості браузерів постійно розширюються та покращуються завдяки конкуренції між їхніми розробниками, а також високим темпам розвитку і впровадженню нових інформаційних технологій.
Існує величезна кількість веб-браузерів від різних компаній та країн, відкритих і закритих для використання в певних регіонах і країнах світу. Розглянемо найпопулярніші з них.
- Google Chrome – браузер, що розробляється Google на основі вільного браузера Chromium і движка Blink (до квітня 2013 року використовувався WebKit). Операційна система Android (Oreo і вище), iOS (15 і вище), Linux, macOS (10.15 і вище), Windows (10 і вище).
- Microsoft Edge – браузер, створений Microsoft, випущений у 2015 році з ОС Windows 10. Браузер функціонує окремо від Internet Explorer, і не замінює його. Microsoft Edge може замінити Internet Explorer в Windows 7, Windows Server 2008 R2 або пізніше, але цей веббраузер недоступний на Windows Vista, Windows Server 2008 або раніше. Операційні системи: Android 8.0 і пізніше iOS 15.0 і пізніше, macOS 10.15 і пізніше, Windows 10, Windows Server 2016 і пізніше, Linux (особливо Ubuntu, Debian, Fedora).
- Safari – веб-браузер, розроблений Apple. Він вбудований в операційні системи Apple, включаючи macOS, iOS, iPadOS і visionOS, і використовує движок веб-переглядача Apple з відкритим кодом WebKit, який був похідним від KHTML. Операційні системи macOS, iOS, iPadOS, Windows (2007–2012).
- Mozilla Firefox – вільний браузер на Gecko движку, розробкою і поширенням якого займається Mozilla Corporation. Операційні системи: Linux, macOS 10.15 і пізніше, Windows 10 і пізніше, Android 5.0 і пізніше, iOS 15.0 і пізніше.
- Opera – веб-браузер і пакет прикладних програм для роботи в Інтернеті, від компанії Opera Software. Розроблений в 1994 році групою дослідників з норвезької компанії Telenor. Підтримує операційні системи: Windows, macOS, Linux, Android та 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 (правильний приклад)
В системі керування дефектами Mantis інформація про оточення вноситься в поле «Platform, OS, OS Version». На скріншоті вище можна побачити, що у полі «Platform» вказується платформа (браузер і його версія), на якій виконувалося тестування. У полі «OS» вказується операційна система пристрою, на якому виконувалося тестування. В поле «OS Version» вноситься інформація про версію операційної системи пристрою.
Розглянемо приклади неправильного заповнення оточення:
Mantis (неправильний приклад)
Mantis (неправильний приклад)
В системі керування дефектами Jira інформація про оточення пишеться в поле «Environment». У цьому полі вказується інформація про всі дані середовища тестування (платформа, ОС, версія ОС, версія білда, і тощо).
Jira «Environment» (правильний приклад)
Розглянемо також приклад неправильного заповнення полів оточення у системі керування дефектами Jira:
Jira «Environment» (неправильний приклад)
У системі Pivotal опис дефекту, кроки для відтворення, результати та оточення пишуться у полі «Description».
Pivotal
Веб-додаток для керування проектами Trello також можна використовувати як систему керування дефектами – ім'я створеної картки буде коротким описом дефекту, а кроки для відтворення, результати і оточення будуть вказуватися в полі «Description».
Trello
У баг-трекінговій системі Bugzilla вся інформація про оточення пишеться в поля «Version», «Hardware» та «OS».
Bugzilla
Тож, давайте коротко підсумуємо сказане:
Програмне Оточення (Software Environment) – оточення, у якому знайдено дефект: операційна система, браузер, версія браузера, сервер і т.ін.
Операційна система – оточення, у якому користувач запускає програму. Найпопулярніші: Windows OS, Linux, macOS (ОС для ПК і для мобільних платформ – iOS), Android.
Браузер – прикладне програмне забезпечення для перегляду веб-сторінок. Найпопулярніші: Google Chrome, Microsoft Edge, Safari, Mozilla Firefox, Opera.
У разі знаходження помилки (дефекта, бага) необхідно якнайшвидше завести баг-репорт до баг-трекінгової системи (системи обліку дефектів).
Обов’язкові поля до заповнення у баг-репортах:
- Унікальний ідентифікатор.
- Важливість.
- Пріоритет.
- Оточення.
- Короткий опис (тема).
- Детальний опис.
- Кроки для відтворення.
- Фактичний та очікуваний результати.
- Прикріплені файли.
Відмінності в оформленні інформації про тестове оточення (у розглянутих системах):
- У системі Мantis присутні окремі поля для опису оточення «Platform», «OS», «OS Version».
- У Jira вся інформація про дані тестового оточення вказуються у полі «Environment».
- В баг-трекінговій системі Bugzilla інформація про оточення пишеться в поля «Version», «Hardware» і «OS».
- В Trello та Pivotal відсутні окремі поля для опису кроків, результатів та оточення, тому вся ця інформація вказується у полі «Description».