Transcript for:
Типи тестування програмного забезпечення

Привіт! Сьогодні ми розглянемо ці типи тестування, які не ввійшли в попередні уроки. Їх є декілька, їх важко групувати до якихось окремих груп, тому ми розберемо їх по одному. І почнемо з Install-Uninstall Testing.

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

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

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

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

Відповідно, Security Testing це дуже важливий тип тестування. Його проводять Security тестувальники, тобто є спеціальна відвідлення у тестуванні, люди, які професійно займаються тільки Security тестуванням. Рухаємося далі.

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

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

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

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

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

Тестувальник намагається зламати програму під час її використання. У нього є синоніми, дуже схожі типи тестування, це Fast Testing, Random Testing і Monkey Testing. Це також типи тестування, які виконуються без документації, де ми вводимо якісь рандомні, тобто випадкові дані.

Наприклад, замість імені Наталя ми вводимо A178O.044. Якось так. І останній підтип тестування, який ми сьогодні вивчимо, це End-to-End тестування.

Я не буду читати весь цей текст, я розповім простими словами. Простими словами, це... Повністю імітація дії кінцевого користувача. Наприклад, я, Наташа, хочу замовити товар на розетці. Що я роблю?

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

і оформлює доставку. Оце здоровений end-to-end тест. End-to-end тестування це такі… Дуже великі тести, які показують повний сценарій роботи користувача. І внизу у нас намальована пірамідка тестування.

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

Потім трошки менше має бути інтеграційних тестів. І вже мінімум після того має бути end-to-end тестів. Ми пам'ятаємо, що юніт-і інтегрейшн-тести пишуть девелопери.

А ми можемо навіть не мати доступу до цих тестів. Але якщо ми на хорошому проєкті, ми повинні переконатися в тому, що цих тестів є достатньо багато і що вони покривають різні тестові випадки. Чому end-to-end тестів має бути менше? Зараз мова йде, в принципі, про автоматизацію, а не про мануальне тестування. Тому що вони займають багато часу.

І це фронт-енд перевірки. Тобто перевірки того, що ми бачимо перед собою, що ми можемо натиснути на кнопочку і перейти на іншу сторінку. І відповідно, на таких UI-них перевірках нема сенсу засовувати якісь техніки, типу перевірити, що я можу зареєструватися, коли мені 10 років, 11 років, 17, 18, 60, 61, 100 і так далі. Всі ці перевірки можна зробити на рівні юніт-тестів з допомогою програмістів. А ми вже...

End-to-end з юзер-інтерфейсу перевіряємо один раз, що ми змогли зареєструватися і що нас перекинуло на сторінку «Welcome, ви зареєстровані, ви молодець». Тобто багато детальних тестів робляться на рівні юніт. Інтеграція між багатьма юнітами робиться на рівні інтегрейшн.

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

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