Види тестування програмного забезпечення


Вирішили освоїти професію тестувальника? Чудово! Але зачекайте, ви ж не думаєте, що тестувальник просто тикає на кнопки в напівготовому продукті і відписується розробникам: "Хлопці, ну начебто все працює"? Якщо це так – Lemon School йде до вас.
Насправді тестування продукту – багатогранний процес. Не всі види тестування можна освоїти одразу. Деякі типи тестування – прерогатива Senior QA. До речі, й зарплата там відповідна. Бажаєте розібратися у тонкощах роботи тестувальника – читайте цю статтю.
Автоматичне та ручне тестування
Тестування проходять усі продукти: від простеньких сайтів-односторінників до комп'ютерних ігор. У невеликих проектах ПЗ перевіряють вручну, у масштабних – задіяні автоматичні способи тестування програмного забезпечення.
Мануальні (ручні) перевірки довіряють QA-початківцям. Закінчивши онлайн курси тестувальника ви можете почати шлях у професії саме з цієї ніші. Це не означає, що робота монотонна і не вимагає додаткових зусиль. Навпаки, тільки при ручному тестуванні розробники отримують якісний зворотний зв'язок про досвід користувача, зручність інтерфейсу і привабливість дизайну.
Автоматичне тестування ґрунтується на написанні коду (тестового скрипті). Якість такого тесту залежить від якості скрипту, а це знов-таки людський чинник. Автоматизація – високий рівень QA, де задіяні навички кодингу.
Методи тестування QA: зіграємо у скриньку?


Ще один критерій тестування – глибина знання тестувальником системи. За цим критерієм виділяють три методи:
- чорний ящик;
- білий ящик;
- сірий ящик.
Black-Box тестування полягає в перевірці ПЗ без будь-яких знань про внутрішній код або архітектуру продукту. Тестувальник дивиться на ПЗ очима звичайного користувача.
Тестування білої скриньки відбувається із зануренням у код. Тестер повинен не просто знайти помилки, а й зрозуміти, яка частина коду працює некоректно.
Сірий ящик – передбачає, що QA частково знайомий із внутрішньою роботою продукту.
Тестування за методом болої та сірої скриньки складніше, тому що передбачає навички кодингу. Отже, і оплачується вище. Якщо ви хочете прокачати свої скіли в програмуванні – запрошуємо на найкращі IT курси онлайн в Лемон Скул.
4 рівні тестування програмного забезпечення
Шерлок Холмс для розслідування злочинів користувався дедукцією та індукцією. Перше має на увазі логічний ланцюжок від загального до приватного. Друге, навпаки, від частки до загального.
Тими самими методами користуються і Quality Assurance. Вони перевіряють роботу продукту на чотирьох рівнях:
- Модульне тестування – чи коректно працює кожен окремий модель ПЗ.
- Інтеграційне тестування – як модулі взаємодіють між собою. Наприклад, чи коректно працюють переходи між сторінками сайту.
- Системне тестування – правильність роботи товару загалом.
- Приймальний тест – чи відповідає продукт первісному технічному завданню.
Кожен етап однаково важливий: модулі можуть добре працювати власними силами, але за інтеграції видавати помилку. І тут уже не вийде сказати: просто, Ватсон.
Види тестування програмного забезпечення


У самурая не має мети, тільки шлях. А у розробників є і те, й інше. Одне із завдань тестувальника – перевірити, а чи досягли розробники мети (або їм доведеться робити харакірі, бо дедлайн горить). І з цього погляду виділяють ще два види тестів:
- Функціональні;
- Нефункціональні.
Функціональне тестування перевіряє, які функції продукту реалізовані та чи коректно вони працюють. Наприклад, від інтернет-магазину ми очікуємо щонайменше таких речей: зручний пошук, фільтри для товарів, додавання товару в кошик і т.д. А при тестуванні виявилося, що ви не можете видалити з кошика помилково доданий товар. Непорядок, треба доопрацьовувати.
Нефункціональні випробування оцінюють, як продукт працює. За цією назвою ховаються такі типи тестування програмного забезпечення:
- продуктивності – яке навантаження витримує ПЗ та у яких ситуаціях все “падає”;
- інтерфейсу користувача – тут оцінюють, чи не йде кров з очей при використанні ПЗ. Жарт, але близько до того;
- UX – чи може людина із середнім IQ скористатися тим, що навернули розробники;
- захищеності – чи здатний продукт витримати атаки і чи є ризик зливу даних користувачів;
- інсталяційне – тут QA-інженер повинен перевірити, чи не виникнуть проблеми при встановленні та оновленні продукту;
- сумісності – як продукт працює з іншими продуктами;
- локалізації – коректність мовного та культурного аспекту, якщо програмне забезпечення буде використовуватися на різних ринках.
Залежно від особливостей продукту, робота QA та види тестування відрізнятимуться.
Свобода дій тестувальника
Методи тестування програмного забезпечення передбачають різний рівень свободи дій тестувальника:
- за тестами – QA використовує заздалегідь прописані тест-кейси;
- дослідницьке – фахівець одночасно розробляє тести та реалізовує їх;
- вільне – коли тестувальник використовує лише досвід та інтуїцію, не обмежуючи себе рамками.
Звісно, останні два варіанти – прерогатива досвідчених QA-фахівців. Тестувальники-початківці рідко можуть працювати на такому рівні.
Які ще є види тестування QA?


На початку ми сказали, що є десяток видів тестування. Це дійсно так. Вище ми розповіли про тестування ПЗ, види якого впливають на роботу тестувальника (зарплату та вимоги до кваліфікації). Решта відноситься скоріше до теорії. Але якщо вам і це цікаво – продовжимо.
Залежно від сценарію використання ПЗ, перевірка може бути:
- позитивна – тестувальник спирається на очікувану поведінку користувача;
- негативна – QA намагається передбачити нестандартні сценарії взаємодії користувача із продуктом.
Залежно від того, хто тестує:
- альфа-тестування – проводиться спеціально навченими людьми;
- бета-тестування проводиться командою добровольців. Наприклад, нещодавно “Укрзалізниця” оголосила набір у фокус-групу для тестування їхньої нової програми.
Професія тестувальника набагато різноманітніша, ніж здається на перший погляд. І це один із реальних шляхів, як “увійти в айті” практично з нуля.









