Регресійне тестування програмного забезпечення. Що таке регресійне тестування

Відео: Курси тестувальників онлайн. Урок 8. Регресійне тестування що це

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

Типи, види, напрямки

Регресійне тестування (regression testing) - це механізм перевірки, який спрямований на виявлення різних проблем в уже перевірених ділянках програм. Робиться це не для остаточного переконання у відсутності непрацюючих ділянок коду, а щоб знайти і виправити регресивні помилки. Під ними розуміють баги, які з`являються не під час написання програми, а при додаванні нових ділянок коду або виправлення допущених раніше промахів в синтаксисі коду.

регресійні тестування

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

  1. Функціональні.
  2. Нефункціональні.

Вони можуть бути виражені у вигляді:

  1. Скриптів.
  2. Наборів.
  3. Комплектів для запуску.

Що ж, власне, включає в себе регресійне тестування програмного забезпечення? Проводиться робота в 3 основних напрямках. А саме регресія:

  1. Багів.
  2. Старих проблем.
  3. Побічних ефектів.

функціональні тести

Вони грунтуються на функціях, які виконує система. Можуть проводитися на компонентному, інтеграційному, системному і приймальному рівнях. Два основних аспекти, за якими проводиться тестування:

Відео: Регресійне тестування

  • Вимоги.
  • Бізнес процеси.

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



регресійні тестування regression testing

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

нефункціональні тести

Дані види тестів спрямовані на перевірку всіх властивостей, які не відносять до функцій системи. З них можна привести такі параметри:

  1. Надійність. Проводиться перевірка реакції на різні непередбачені ситуації.
  2. Продуктивність. Як працює система, яка піддається різним навантаженням.
  3. Зручність. Наскільки зручно працювати з додатком, на думку користувача.
  4. Масштаб. Вимоги до зміни висоти і ширини додатка при роботі з різними моніторами.
  5. Безпека. Наскільки захищені призначені для користувача дані, а також інформація при передачі різними каналами.
  6. Портативність. Перевіряється, чи працює додаток на різних платформах, і якщо так - на скількох.

регресійні тестування програмного забезпечення

Які властивості системи можуть бути досліджені в даних випадках? Всього їх 4.

  1. Тестування установки. Перевіряється, наскільки успішно вдається поставити програму на комп`ютер, налаштувати її, а при потребі і видалити. Якісна настройка дозволяє зменшити ризик втрати даних користувача або зменшення (погіршення) працездатності програми.
  2. Тестування комфортності використання. Перевірка розробленого програмного забезпечення на зручність використання і зрозумілість кінцевому користувачеві.
  3. Конфігураційне тестування. Має на увазі перевірку працездатності програми при установці різних системних налаштувань, а також експериментування з внутрішніми налаштуваннями програми.
  4. Тестування на відмову і відновлення. Перевірка працездатності після виникнення помилок. Оцінюється реакція захисних властивостей, а також те, які дані і в якому обсязі зберігаються після раптового припинення роботи програми.

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

Тест-кейси

Тест-кейсами називають заготовки для перевірки програмного забезпечення. Вони називаються інструментами для автоматизованого тестування. Це спеціальне програмне забезпечення, за допомогою якого фахівець створює, налагоджує, виконує і аналізує результати прогону програми через такі розробки:

  1. Тест-скрипти. Сюди відносять комплекти інструкцій, розроблені для проведення автоматичних перевірок окремих частин програмного забезпечення.
  2. Тестові набори. Це комбінації скриптів, які перевіряють певні частини програмного забезпечення, які об`єднані загальним функціоналом або цілями.
  3. Тести для запуску. Це комбінації різних скриптів або наборів для одночасного запуску при перевірці програми.

що таке регресійне тестування

Відео: Малейки Олексій, HTML Academy, Радості і гидоти регресійного тестування верстки

Автоматизація регресійних тестів



Автоматизація праці - одна з основ розвитку людства в 21-му столітті. Торкнулася вона і даної теми. Так, під автоматизованим тестуванням програмного забезпечення розуміють процес верифікації ПЗ, під час якого основні функції та завдання, такі як запуск, ініціалізація і виконання, а також аналіз і видача результатів, проводяться автоматично, із застосуванням відповідного інструментарію. Ця дія виконується технічним фахівцем, що відповідає за створення, налагодження та підтримку в робочому стані тест-скриптів, тестових наборів і інструментарію. Робота може проводитися з різним програмним забезпеченням, в тому числі і регресійні тестування автоматизованих систем.

регресійні тестування верстки

регресія багів

Під цим тестуванням розуміють пошук проблем, які офіційно "були усунені", Але є підстави вважати, що вони до цих пір існують. Особливість даного виду перевірок полягає в тому, що необхідно перевіряти всі дії з певним об`єктом в різних комбінаціях. В першу чергу тестують відповідність реальності повідомлення про усунення проблеми по тому механізму, завдяки якому вона була виявлена. Регресійне тестування верстки в даному випадку допомагає впевнитись у відсутності небажаних ефектів.

регресійні тестування що це

Регресія старих помилок

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

Відео: Інформатика. Практика програмування: Юніт-тестування. Центр онлайн-навчання "Фоксфорд"

Регресія побічного ефекту

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

регресійні тестування автоматизованих систем

Підсумувавши все написане, що можна сказати про регресійне тестування? Що це тепер та тема, яка більше не повинна викликати питань. Залишилося тільки освоїти все на практиці.




Увага, тільки СЬОГОДНІ!
Статті за темою "Регресійне тестування програмного забезпечення. Що таке регресійне тестування"
Оцініть, будь ласка статтю
Всього голосів: 174