Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекції_СПр.docx
Скачиваний:
37
Добавлен:
21.08.2019
Размер:
947.09 Кб
Скачать
    1. Класифікація видів тестування програмного забезпечення.

    2. Призначення тестування програмного забезпечення.

Навчальна мета: Вивчити види та їх призначення в системі тестування програмного забезпечення.

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

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

Мотивація: Спеціаліст у сфері QA повинен чітко визначати види помилок у програмному забезпеченні, легко їх класифікувати з метою тісної співпраці з програмістами з однієї сторони моделі розробки ПЗ та із замовниками – з іншої.

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

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

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

Існує багато підходів до тестування програмного забезпечення, але ефективне тестування складних продуктів — це по суті дослідницький процес, а не тільки створення і виконання рутинної процедури.

Види тестування

Автоматичне та ручне тестування

Динамічне та статичне тестування

Функціональне тестування

Регресивне тестування

Тестування процесу роботи програми (workflow testing)

Тестування чорної і білої скриньки

У термінології професіоналів тестування (програмного й деякого апаратного забезпечення), фрази «тестування білого ящика» і «тестування чорного ящика» відносяться до того, чи має розробник тестів доступ до вихідного коду ПЗ, що тестується, або ж тестування виконується через інтерфейс користувача або прикладний програмний інтерфейс, наданий модулем, що тестується. При тестуванні білого ящика (англ. white-box testing, також говорять — прозорого ящика), розробник тесту має доступ до вихідного коду й може писати код, що пов'язаний з бібліотеками ПЗ, що тестується. Це типово для юніт-тестування (англ. unit testing), при якому тестуються тільки окремі частини системи. Воно забезпечує те, що компоненти конструкції — працездатні й стійкі до певного ступеня.

При тестуванні чорного ящика (англ. black-box testing), тестер має доступ до ПЗ тільки через ті ж інтерфейси, що й замовник або користувач, або через зовнішні інтерфейси, що дозволяють іншому комп'ютеру або іншому процесу підключитися до системи для тестування. Наприклад, модуль, що тестується, може віртуально натискати клавіші або кнопки миші в програмі, що тестується, за допомогою механізму взаємодії процесів, із упевненістю в тім, що ці події викликають той же відгук, що й реальні натискання клавіш і кнопок миші.

Якщо «альфа-» і «бета-тестування» відносяться до стадій до випуску продукту (а також, неявно, до обсягу співтовариства, що тестує, й обмеженням на методи тестування), тестування «білого ящика» і «чорного ящика» має відношення до способів, якими тестер досягає мети.

Бета-тестування в цілому обмежено технікою чорного ящика (хоча постійна частина тестерів звичайно продовжує тестування білого ящика паралельно бета-тестуванню). Таким чином, термін «бета-тестування» може вказувати на стан програми (ближче до випуску чим «альфа»), або може вказувати на деяку групу тестерів і процес, що виконується цією групою. Отже, тестер може продовжувати роботу з тестування білого ящика, хоча ПЗ вже «у беті» (стадія), але в цьому випадку він не є частиною «бета-тестування» (групи/процесу).