Тестування програмного забезпечення
Матеріал з Вікіпедії — вільної енциклопедії.
| Цикл розробки програмного забезпечення |
|
| Діяльність та кроки | |
|---|---|
| Вимоги · Специфікація Архітектура · Дизайн Реалізація · Тестування Впровадження · Підтримка |
|
| Методології | |
| Гнучка · Cleanroom · DSDM Iterative · RAD · RUP · Spiral Waterfall · XP · Scrum · Lean V-Model · FDD |
|
| Допоміжні дисципліни | |
| Configuration management Документування Quality assurance (SQA) Управління проектами User experience design |
|
| Інструменти | |
| Компілятор · Зневаджувач Профільовник GUI designer · IDE |
|
Тестування програмного забезпечення — це процес, що використовується для виміру якості розроблюваного програмного забезпечення. Зазвичай, поняття якості обмежується такими поняттями, як коректність, повнота, безпечність, але може містити більше технічних вимог, які описані в стандарті ISO 9126. Тестування - це процес технічного дослідження, який виконується на вимогу замовників, і призначений для вияву інформації про якість продукту відносно контексту, в якому він має використовуватись. До цього процесу входить виконання програми з метою знайдення помилок.
Якість не є абсолютною, це суб'єктивне поняття. Тому тестування не може повністю забезпечити коректність програмного забезпечення. Воно тільки порівнює стан і поведінку продукта зі специфікацією. При цьому треба розрізняти тестування програмного забезпечення і забезпечення якості програмного забезпечення, до якого належать усі складові ділового процесу, а не тільки тестування.
Існує багато підходів до тестування програмного забезпечення, але ефективне тестування складних продуктів - це по суті дослідницький процес, а не тільки створення і виконання рутинної процедури.
Зміст |
[ред.] Вступ
[ред.] Рівні тестування
- Модульне тестування тестує мінімальний компонент програми, або модуля. Кожний модуль тестується для перевірки правильності його реалізації.
- Інтеграційне тестування виявляє дефекти в інтерфейсах та у взаємодії між компонентами (модулями).
- Системне тестування тестує інтегровану систему для перевірки відповідності всім вимогам.
- Системне інтеграційне тестування перевіряє, чи система інтегрується в будь-яку зовнішню систему (або системи) відповідно до системних вимог.
- Приймальне тестування може проводитись кінцевим користувачем, замовником, або клієнтом для перевірки, чи може продукт бути прийнятий до використання.
- альфа-тестування — це симульоване або реальне операційне тестування потенційними користувачами/замовником або командою тестувальників на боці розробника.
- бета-тестування йде після альфа-тестування. Версії програмного забезпечення, відомі як бета-версії, надаються у користування обмеженій кількості людей поза компанією для того, щоб упевнитись, що програма не містить великої кількості помилок.
[ред.] Види тестування
- Автоматичне та ручне тестування
- Динамічне та статичне тестування
- Функціональне тестування
- Регресивне тестування
- Тестування процесу роботи програми (workflow testing)
[ред.] Тестування чорної і білої скриньки
У термінології професіоналів тестування (програмного й деякого апаратного забезпечення), фрази "тестування білого ящика" і "тестування чорного ящика" відносяться до того, чи має розробник тестів доступ до вихідного коду ПЗ, що тестується, або ж тестування виконується через інтерфейс користувача або прикладний програмний інтерфейс, наданий модулем, що тестується. При тестуванні білого ящика (англ. white-box testing, також говорять - прозорого ящика), розробник тесту має доступ до вихідного коду й може писати код, що пов'язаний з бібліотеками ПЗ, що тестується. Це типово для юніт-тестування (англ. unit testing), при якому тестуються тільки окремі частини системи. Воно забезпечує те, що компоненти конструкції - працездатні й стійкі до певного ступеня.
При тестуванні чорного ящика (англ. black-box testing), тестер має доступ до ПЗ тільки через ті ж інтерфейси, що й замовник або користувач, або через зовнішні інтерфейси, що дозволяють іншому комп'ютеру або іншому процесу підключитися до системи для тестування. Наприклад, модуль, що тестується, може віртуально натискати клавіші або кнопки миші в програмі, що тестується, за допомогою механізму взаємодії процесів, із упевненістю в тім, що ці події викликають той же відгук, що й реальні натискання клавіш і кнопок миші.
Якщо "альфа-" і "бета-тестування" відносяться до стадій до випуску продукту (а також, неявно, до обсягу співтовариства, що тестує, й обмеженням на методи тестування), тестування "білого ящика" і "чорного ящика" має відношення до способів, якими тестер досягає мети.
Бета-тестування в цілому обмежено технікою чорного ящика (хоча постійна частина тестерів звичайно продовжує тестування білого ящика паралельно бета-тестуванню). Таким чином, термін "бета-тестування" може вказувати на стан програми (ближче до випуску чим "альфа"), або може вказувати на деяку групу тестерів і процес, що виконується цією групою. Отже, тестер може продовжувати роботу з тестування білого ящика, хоча ПЗ вже "у беті" (стадія), але в цьому випадку він не є частиною "бета-тестування" (групи/процесу).
[ред.] Матриця відповідностей
[ред.] Дивіться також
| Це незавершена стаття про комп'ютери. Ви можете допомогти проекту, виправивши або дописавши її. |

