types software testing
Які існують різні типи тестування програмного забезпечення?
Ми, як тестери, знаємо про різні типи тестування програмного забезпечення, такі як функціональне тестування, нефункціональне тестування, тестування автоматизації, гнучке тестування та їх підтипи тощо.
Кожен з нас мав би зіткнутися з декількома видами тестування під час свого тестування. Ми могли б чути деякі, і, можливо, працювали над деякими, але не всі мають знання про всі типи тестування.
Кожен тип тестування також має свої особливості, переваги та недоліки. Однак у цій статті я висвітлив переважно кожен тип тестування програмного забезпечення, який ми зазвичай використовуємо у своєму повсякденному житті.
Давайте подивимось на них.
Що ви дізнаєтесь:
- Різні типи тестування програмного забезпечення
- # 1) Альфа-тестування
- # 2) Прийомне тестування
- # 3) Спеціальне тестування
- # 4) Тестування доступності
- # 5) Бета-тестування
- # 6) Бек-енд тестування
- # 7) Тестування сумісності браузера
- # 8) Тестування зворотної сумісності
- # 9) Тестування чорної скриньки
- # 10) Тестування граничних значень
- # 11) Тестування філій
- # 12) Порівняльне тестування
- # 13) Тестування сумісності
- # 14) Тестування компонентів
- # 15) Наскрізне тестування
- # 16) Розбиття на еквівалентність
- # 17) Приклад тестування
- # 18) Дослідницьке тестування
- # 20) Функціональне тестування
- # 21) Тестування графічного інтерфейсу користувача (GUI)
- # 22) Тестування горил
- # 23) Щасливе тестування шляху
- # 24) Додаткове тестування інтеграції
- # 25) Тестування встановлення / видалення
- # 26) Тестування інтеграції
- # 27) Тестування навантаження
- # 28) Тестування мавп
- # 29) Тестування мутації
- # 30) Негативне тестування
- # 31) Нефункціональне тестування
- # 32) Тестування продуктивності
- # 33) Тестування на відновлення
- # 34) Регресійне тестування
- # 35) Тестування на основі ризику (RBT)
- # 36) Перевірка розумності
- # 37) Тестування безпеки
- # 38) Тестування диму
- # 39) Статичне тестування
- # 40) Стрес-тестування
- # 41) Тестування системи
- # 42) Одиничне тестування
- # 43) Тестування юзабіліті
- # 44) Тестування вразливості
- # 45) Об'ємне тестування
- # 46) Тестування білої скриньки
- Висновок
- Рекомендована література
Різні типи тестування програмного забезпечення
Нижче наведено перелік деяких найпоширеніших видів тестування програмного забезпечення:
Типи функціонального тестування включають:
- Одиничне тестування
- Інтеграційне тестування
- Тестування системи
- Перевірка розумності
- Тестування диму
- Тестування інтерфейсу
- Регресійне тестування
- Тестування бета / приймання
Нефункціональні типи тестування включають:
- Тестування продуктивності
- Тестування навантаження
- Стрес-тестування
- Об'ємне тестування
- Тестування безпеки
- Тестування сумісності
- Встановіть тестування
- Тестування на відновлення
- Перевірка надійності
- Тестування юзабіліті
- Перевірка відповідності
- Тестування локалізації
Давайте подивимось докладніше про ці типи тестування.
# 1) Альфа-тестування
Це найпоширеніший тип тестування, що використовується в галузі програмного забезпечення. Мета цього тестування - виявити всі можливі проблеми або дефекти перед тим, як випустити їх на ринок або для користувача.
Альфа-тестування проводиться в кінці фази розробки програмного забезпечення, але перед бета-тестуванням. Проте в результаті таких випробувань можуть бути внесені незначні зміни конструкції.
Альфа-тестування проводиться на сайті розробника. Для цього типу тестування можна створити власне віртуальне середовище користувача.
# 2) Прийомне тестування
Ан Приймальний тест виконується клієнтом і перевіряє, чи відповідає кінцевий потік системи вимогам бізнесу чи ні, і чи відповідає він потребам кінцевого користувача. Клієнт приймає програмне забезпечення лише тоді, коли всі функції та функціональні можливості працюють належним чином.
Це остання фаза тестування, після якої програмне забезпечення переходить у виробництво. Це також називається Перевірка прийняття користувачем (UAT).
# 3) Спеціальне тестування
Сама назва передбачає, що це тестування проводиться на спеціальна тобто без посилання на тестовий випадок, а також без будь-якого плану чи документації для такого типу тестування.
Мета цього тестування - знайти дефекти та зламати додаток, виконуючи будь-який потік програми або будь-яку випадкову функціональність.
Спеціальне тестування - це неформальний спосіб виявлення дефектів, який може виконувати кожен, хто бере участь у проекті. Важко виявити дефекти без тестування, але іноді можливо, що дефекти, виявлені під час спеціального тестування, можливо, не були виявлені за допомогою існуючих тестів.
# 4) Тестування доступності
Мета Тестування доступності полягає у визначенні, доступне програмне забезпечення чи програма для людей з обмеженими можливостями чи ні.
Тут інвалідність означає глухих, дальтоніків, розумово інвалідів, сліпих, людей похилого віку та інших груп інвалідів. Виконуються різні перевірки, такі як розмір шрифту для людей з вадами зору, колір і контраст для дальтонізму тощо.
графік реалізації c ++ список суміжності
# 5) Бета-тестування
Бета-тестування - це формальний тип тестування програмного забезпечення, який проводить замовник. Він виконується в реальне середовище перед випуском продукту на ринок для фактичних кінцевих споживачів.
Бета-тестування проводиться для того, щоб гарантувати відсутність серйозних збоїв у програмному забезпеченні чи продукті, і воно відповідає бізнес-вимогам з точки зору кінцевого користувача. Бета-тестування є успішним, коли клієнт приймає програмне забезпечення.
Зазвичай це тестування зазвичай проводять кінцеві користувачі чи інші. Це остаточне тестування, проведене перед випуском заявки з комерційною метою. Зазвичай бета-версія випущеного програмного забезпечення чи продукту обмежена певною кількістю користувачів у певній області.
Отже, кінцевий користувач фактично використовує програмне забезпечення та ділиться відгуками з компанією. Потім компанія вживає необхідних заходів, перш ніж випустити програмне забезпечення у всьому світі.
# 6) Бек-енд тестування
Кожного разу, коли вхідні дані або дані вводяться в інтерфейсну програму, вони зберігаються в базі даних, і тестування такої бази даних відоме як Тестування бази даних або Тестування вихідних даних.
Існують різні бази даних, такі як SQL Server, MySQL та Oracle тощо. Тестування баз даних передбачає тестування структури таблиці, схеми, збереженої процедури, структури даних тощо.
У програмі Back-end Testing графічний інтерфейс не бере участі, тестери безпосередньо підключаються до бази даних з належним доступом, і тестери можуть легко перевірити дані, виконавши кілька запитів до бази даних.
Під час цього внутрішнього тестування можуть бути виявлені такі проблеми, як втрата даних, блокування, пошкодження даних тощо, і ці проблеми є критично важливими для виправлення, перш ніж система почне працювати у виробничому середовищі
# 7) Тестування сумісності браузера
Це підвид тестування на сумісність (що пояснюється нижче) і проводиться командою тестування.
Тестування сумісності браузера виконується для веб-додатків, і це гарантує, що програмне забезпечення може працювати з комбінацією різних браузера та операційної системи. Цей тип тестування також перевіряє, працює веб-програма в усіх версіях усіх браузерів чи ні.
# 8) Тестування зворотної сумісності
Це тип тестування, який перевіряє, чи працює нове розроблене програмне забезпечення чи оновлене програмне забезпечення добре зі старою версією середовища чи ні.
Тестування зворотної сумісності перевіряє, чи працює нова версія програмного забезпечення належним чином з форматом файлу, створеним старішою версією програмного забезпечення; він також добре працює з таблицями даних, файлами даних, структурою даних, створеною старішою версією цього програмного забезпечення.
Якщо будь-яке програмне забезпечення оновлено, воно повинно добре працювати поверх попередньої версії цього програмного забезпечення.
# 9) Тестування чорної скриньки
Внутрішня конструкція системи не враховується при цьому виді тестування. Тести базуються на вимогах та функціональних можливостях.
Детальна інформація про переваги, недоліки та типи тестування чорної скриньки можна побачити тут .
# 10) Тестування граничних значень
Цей тип тестування перевіряє поведінку програми на граничному рівні.
Тестування граничного значення виконується для перевірки наявності дефектів при граничних значеннях. Тестування граничних значень використовується для тестування іншого діапазону чисел. Для кожного діапазону існує верхня та нижня межі, і тестування проводиться на цих граничних значеннях.
Якщо для тестування потрібен тестовий діапазон чисел від 1 до 500, тоді граничне тестування проводиться для значень 0, 1, 2, 499, 500 та 501.
# 11) Тестування філій
Це різновид тестування Білої скриньки, яке проводиться під час модульного тестування. Тестування гілок, сама назва передбачає, що код ретельно перевіряється шляхом обходу на кожній гілці.
# 12) Порівняльне тестування
Порівняння сильних і слабких сторін товару з попередніми версіями чи іншими подібними продуктами називається Тестуванням порівняння.
# 13) Тестування сумісності
Це тип тестування, при якому він перевіряє, як програмне забезпечення поводиться та працює в іншому середовищі, веб-серверах, апаратному забезпеченні та мережевому середовищі.
Тестування сумісності гарантує, що програмне забезпечення може працювати в різних конфігураціях, різних базах даних, різних браузерах та їх версіях. Тестування на сумісність проводить команда тестування.
# 14) Тестування компонентів
В основному це виконується розробниками після завершення модульного тестування. Тестування компонентів включає тестування декількох функціональних можливостей як єдиного коду, і його мета полягає в тому, щоб визначити, чи існує якийсь дефект після з'єднання цих численних функціональних можливостей між собою.
# 15) Наскрізне тестування
Подібно до тестування системи, Наскрізне тестування включає тестування повного середовища програми в ситуації, що імітує реальне використання, наприклад, взаємодія з базою даних, використання мережевих комунікацій або взаємодія з іншим обладнанням, програмами чи системами, якщо це доречно.
# 16) Розбиття на еквівалентність
Це техніка тестування та різновид тестування на чорну скриньку. Під час цього Розбиття на еквівалентність , вибрано набір групи та вибрано кілька значень чи цифр для тестування. Зрозуміло, що всі значення з цієї групи генерують однакові результати.
Метою цього тестування є видалення зайвих тестових випадків у межах певної групи, яка генерує однакові результати, але не має жодних дефектів.
Припустимо, програма приймає значення від -10 до +10, отже, використовуючи розділення еквівалентності, значення, підібрані для тестування, дорівнюють нулю, одному позитивному значенню, одному негативному значенню. Тож розподіл еквівалентності для цього тестування становить від -10 до -1, 0 та від 1 до 10.
# 17) Приклад тестування
Це означає тестування в режимі реального часу. Приклад тестування включає сценарій реального часу, а також сценарії, засновані на досвіді тестувальників.
# 18) Дослідницьке тестування
Дослідницьке тестування - це неофіційне тестування, яке проводить команда тестування. Метою цього тестування є вивчення програми та пошук дефектів, які існують у програмі.
Іноді може трапитися так, що під час цього тестування виявлений значний дефект може навіть спричинити збій системи.
Під час дослідницьких випробувань бажано відстежувати, який потік ви тестували та яку діяльність ви робили до початку конкретного потоку.
Методика дослідницького тестування виконується без документації та тестових кейсів.
# 20) Функціональне тестування
Цей тип тестування ігнорує внутрішні частини та фокусується лише на результатах, щоб перевірити, чи відповідає він вимогам чи ні. Це тестування типу «чорна скринька», пристосоване до функціональних вимог програми. Для отримання детальної інформації про функціональне тестування натисніть тут .
# 21) Тестування графічного інтерфейсу користувача (GUI)
Мета цього тестування графічного інтерфейсу - перевірити графічний інтерфейс відповідно до вимог бізнесу. Очікуваний графічний інтерфейс програми згадується на Детальному проектному документі та екранах макетів графічного інтерфейсу.
Тестування графічного інтерфейсу включає розмір кнопок і поля введення, присутніх на екрані, вирівнювання всього тексту, таблиць та вмісту в таблицях.
як відкрити файл .key у Windows 10
Він також перевіряє меню програми, після вибору різних меню та пунктів меню, перевіряє, що сторінка не коливається, а вирівнювання залишається незмінним після наведення миші на меню або підменю.
# 22) Тестування горил
Тестування на горилах - це тип тестування, який проводиться тестувальником, а іноді і розробником. Під час тестування на горилах один модуль або функціональність модуля перевіряється ретельно та ретельно. Мета цього тестування - перевірити надійність програми.
# 23) Щасливе тестування шляху
Метою щасливого тестування шляху є успішне тестування програми на позитивній течії. Він не шукає негативних або помилкових умов. Основна увага приділяється лише дійсним і позитивним вхідним даних, завдяки яким додаток генерує очікуваний результат.
# 24) Додаткове тестування інтеграції
Додаткове тестування інтеграції - це підхід знизу вгору для тестування, тобто постійне тестування програми, коли додається нова функціональність. Функціональність програми та модулі повинні бути достатньо незалежними для тестування окремо. Це роблять програмісти або тестувальники.
# 25) Тестування встановлення / видалення
Тестування встановлення та видалення виконується під час повного, часткового або оновлення процесів встановлення / видалення в різних операційних системах під різним апаратним або програмним середовищем.
# 26) Тестування інтеграції
Тестування всіх інтегрованих модулів для перевірки комбінованої функціональності після інтеграції називається як Інтеграційне тестування .
Модулі, як правило, модулі коду, окремі програми, клієнтські та серверні програми в мережі тощо. Цей тип тестування особливо актуальний для клієнтських / серверних та розподілених систем.
# 27) Тестування навантаження
Це тип нефункціонального тестування, і мета тестування навантаження полягає в тому, щоб перевірити, наскільки велике навантаження чи максимальне робоче навантаження може витримати система без будь-яких погіршень продуктивності.
Тестування навантаження допомагає щоб знайти максимальну пропускну здатність системи при певному навантаженні та будь-які проблеми, що спричиняють погіршення продуктивності програмного забезпечення. Тестування навантаження проводиться за допомогою таких інструментів, як JMeter , LoadRunner, WebLoad, Silk performer тощо.
# 28) Тестування мавп
Тестування мавп виконується тестером, припускаючи, що якщо мавпа використовує додаток, то як випадковий ввід, значення буде вводити Мавпа без будь-яких знань або розуміння програми.
Мета тестування на мавпах - перевірити, чи не збивається програма чи система, надаючи випадкові введені значення / дані. Тестування на мавпах виконується випадковим чином, сценарії тестів не написані, і це не обов'язково
Тестування на мавпах проводиться випадковим чином, сценарії тестів не сценарії, і не обов'язково знати про повну функціональність системи.
# 29) Тестування мутації
Тестування мутацій - це тип тестування білих скриньок, при якому вихідний код однієї програми змінюється та перевіряє, чи можуть існуючі тестові випадки виявити ці дефекти в системі.
Зміни у вихідному коді програми дуже мінімальні, тому вони не впливають на весь додаток, лише конкретна область, що впливає, і відповідні тестові випадки повинні мати можливість виявити ці помилки в системі.
# 30) Негативне тестування
Тестери, які мають мислення 'ставлення до злому' та використовують негативне тестування, вони підтверджують це, якщо система або додаток ламаються. Техніка негативного тестування виконується з використанням неправильних даних, невірних даних або введення. Він перевіряє, що якщо система видає помилку з недійсним введенням і поводиться належним чином.
# 31) Нефункціональне тестування
Це тип тестування, для якого кожна організація має окрему команду, яку зазвичай називають командою нефункціонального тестування (NFT) або командою підвищення ефективності.
Нефункціональне тестування включає тестування нефункціональних вимог, таких як тестування навантаження, стрес-тестування, безпека, обсяг, тестування відновлення тощо. Метою тестування NFT є забезпечення того, чи достатньо швидкий час відгуку програмного забезпечення чи програми відповідно до вимог бізнесу.
Це не повинно зайняти багато часу для завантаження будь-якої сторінки чи системи і повинно підтримуватися під час пікового завантаження.
# 32) Тестування продуктивності
Цей термін часто використовують як взаємозамінний термін із 'випробуванням на навантаження' та 'навантаженням'. Тестування продуктивності робиться, щоб перевірити, чи відповідає система вимогам до продуктивності. Для цього тестування використовуються різні інструменти продуктивності та навантаження.
# 33) Тестування на відновлення
Це тип тестування, що перевіряє наскільки добре програма або система відновлюється після аварій або катастроф.
Тестування відновлення визначає, чи здатна система продовжувати роботу після катастрофи. Припустимо, що програма отримує дані через мережевий кабель, і раптом цей мережевий кабель був відключений.
Десь пізніше підключіть мережевий кабель; тоді система повинна почати отримувати дані з місця, де вона втратила зв’язок через від’єднаний мережевий кабель.
# 34) Регресійне тестування
Тестування програми в цілому для модифікації будь-якого модуля чи функціональності називається тестуванням регресії. Важко охопити всю систему в Регресійне тестування , так типово Засоби автоматизації тестування використовуються для цих видів тестування.
# 35) Тестування на основі ризику (RBT)
В Тестування на основі ризику , функціональні можливості або вимоги перевіряються на основі їх пріоритету. Тестування, засноване на оцінці ризику, включає тестування критично важливих функціональних можливостей, які мають найбільший вплив на бізнес і в яких ймовірність збоїв дуже велика.
Приоритетне рішення базується на бізнес-потребі, тому, як тільки пріоритет встановлений для всіх функціональних можливостей, спочатку виконуються високопріоритетні функціональні можливості або тестові кейси, а потім середні, а потім низькопріоритетні.
Функціонал низького пріоритету може бути протестований або не перевірений на основі доступного часу.
Тестування на основі ризику проводиться, якщо для тестування всього програмного забезпечення недостатньо часу, і програмне забезпечення має бути впроваджено вчасно без будь-яких затримок. За цим підходом слід лише обговорення та схвалення клієнта та вищого керівництва організації.
# 36) Перевірка розумності
Перевірка розумності робиться для того, щоб визначити, чи є нова версія програмного забезпечення достатньо ефективною, щоб прийняти її для серйозного тестування чи ні. Якщо додаток аварійно завершує роботу для початкового використання, система недостатньо стабільна для подальшого тестування. Отже, для його виправлення призначається збірка або додаток.
# 37) Тестування безпеки
Це тип тестування, проведеного спеціальною групою тестувальників. У систему можна проникнути будь-яким способом злому.
Тестування безпеки робиться для того, щоб перевірити, наскільки програмне забезпечення, програма чи веб-сайт захищені від внутрішніх та зовнішніх загроз. Це тестування включає те, наскільки програмне забезпечення захищене від шкідливої програми, вірусів, і наскільки надійними та надійними є процеси авторизації та автентифікації.
Він також перевіряє поведінку програмного забезпечення для будь-яких атак хакерів та шкідливих програм та як програмне забезпечення підтримується для захисту даних після такої хакерської атаки.
# 38) Тестування диму
Щоразу, коли команда з розробки надає нову збірку, команда з тестування програмного забезпечення перевіряє збірку та гарантує відсутність серйозних проблем.
Команда тестування гарантує стабільність збірки та подальший детальний рівень тестування. Тестування диму перевіряє відсутність дефекту стоп-файлу у збірці, що завадить тестовій групі детально перевірити програму.
Якщо тестувальники виявлять, що основна критична функціональність розбита на самому початковому етапі, тоді команда тестування може відхилити збірку та повідомити про це відповідно команду розробників. Тестування диму проводиться до детального рівня будь-якого функціонального тестування або тестування на регресію.
# 39) Статичне тестування
Статичне тестування - це тип тестування, який виконується без будь-якого коду. Виконання виконується з документацією на етапі тестування.
Він включає огляди, покрокові інструкції та перевірку результатів проекту. Статичне тестування не виконує код замість синтаксису коду, перевіряються правила іменування.
Статичне тестування також застосовується для тестових кейсів, плану випробувань, проектного документа. Необхідно проводити статичне тестування командою випробувачів, оскільки дефекти, виявлені під час цього виду випробувань, є економічно вигідними з точки зору проекту.
# 40) Стрес-тестування
Це тестування проводиться, коли система перебуває під напругою, що перевищує її специфікації, щоб перевірити, як і коли вона виходить з ладу. Це виконується під великим навантаженням, наприклад, виведення великої кількості за межі обсягу пам’яті, складні запити до бази даних, постійне введення в систему чи навантаження бази даних.
# 41) Тестування системи
Під Техніка тестування системи , вся система перевірена відповідно до вимог. Це тестування типу «чорна скринька», яке базується на загальних специфікаціях вимог і охоплює всі комбіновані частини системи.
# 42) Одиничне тестування
Тестування окремого програмного компонента або модуля називається Одиничне тестування . Зазвичай це робиться програмістом, а не тестерами, оскільки вимагає детальних знань про внутрішній дизайн програми та коді. Також може знадобитися розробка модулів тестових драйверів або тестових джгутів.
# 43) Тестування юзабіліті
Під Тестування юзабіліті , Перевірка зручності для користувача виконана. Потік програми перевіряється, щоб дізнатись, чи може новий користувач легко зрозуміти програму чи ні. Правильна допомога задокументована, якщо користувач застряє в будь-який момент. В основному при цьому тестуванні перевіряється системна навігація.
# 44) Тестування вразливості
Тестування, яке передбачає виявлення слабких сторін програмного, апаратного забезпечення та мережі, відоме як Тестування на вразливість. Шкідливі програми, хакер може взяти під контроль систему, якщо вона вразлива до такого роду атак, вірусів та хробаків.
Тому необхідно перевірити, чи проходять ці системи тестування на вразливість перед виробництвом. Це може виявити критичні дефекти, недоліки безпеки.
# 45) Об'ємне тестування
Об'ємне тестування - це тип Нефункціонального тестування, який проводить команда з тестування продуктивності.
Програмне забезпечення або програма отримує величезний обсяг даних, а Volume Testing перевіряє поведінку системи та час реакції програми, коли система натрапила на такий великий обсяг даних. Цей великий обсяг даних може вплинути на продуктивність системи та швидкість часу обробки.
# 46) Тестування білої скриньки
Тестування White Box базується на знаннях про внутрішню логіку коду програми.
Він також відомий як Тестування скляних коробок. Внутрішня робота програмного забезпечення та коду повинна бути відомою для проведення цього типу тестування. У рамках цих тестів базуються на охопленні операторів коду, гілок, шляхів, умов тощо.
Висновок
Вищезазначені типи тестування програмного забезпечення - це лише частина тестування. Однак існує список понад 100 типів тестування, але всі типи тестування використовуються не у всіх типах проектів. Отже, я розглянув деякі загальні типи тестування програмного забезпечення, які в основному використовуються у життєвому циклі тестування.
хороші аніме-сайти для перегляду аніме безкоштовно
Крім того, існують альтернативні визначення чи процеси, що використовуються в різних організаціях, але основне поняття скрізь однакове. Ці типи тестування, процеси та методи їх впровадження постійно змінюються залежно від того, коли змінюються проект, вимоги та обсяг.
Рекомендована література
- Найкращі засоби тестування програмного забезпечення 2021 р. (Інструменти автоматизації тестування якості)
- Альфа-тестування та бета-тестування (повний посібник)
- Тестування програмного забезпечення QA Assistant Job
- Курс тестування програмного забезпечення: до якого інституту тестування програмного забезпечення слід приєднатися?
- Вибір тестування програмного забезпечення як вашу кар’єру
- Тестування програмного забезпечення Технічний вміст Writer Фрілансер Робота
- Види ризиків у програмних проектах
- Найкращі послуги з контролю якості програмного забезпечення від SoftwareTestingHelp