Міністерство освіти і науки Російської Федерації
Федеральне державне бюджетне освітня
установа вищої професійної освіти
«ТВЕРСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ»
Математичний факультет
Кафедра комп'ютерної безпеки і математичних методів управління
Курсова робота
з дисципліни Методи програмування
на тему
Тестування програмного забезпечення
Виконала:
студентка 35 групи математичного факультету
спеціальність
Комп'ютерна безпека
Кушнер Кристина Александровна
Перевірила:
доцент кафедри КБіММУ
Цірулева Валентина Михайлівна
Твер, 2013
Тестування ПЗ. Нерозв'язність проблеми тестування. Види і рівні тестування. Стратегії висхідного і низхідного тестування. Методи білого і чорного ящика. Автоматизоване і ручне тестування. Розробка через тестування (TDD). Безперервна інтеграція. Покриття коду тестами.
Зміст
1. Вступ.
.1 Загальні поняття.
.2 Основні визначення.
. Тестування ПЗ.
.1 Класифікація видів тестування.
.2 Функціональне тестування та тестування якості.
. Види і рівні тестування.
.1 Види тестування.
.2 Рівні тестування.
. Стратегії висхідного і низхідного тестування.
.1 Восходящее тестування.
.2 Спадний тестування.
.3 Технологія висхідного і низхідного тестування.
. Методи білого і чорного ящика.
.1 Метод «білого ящика».
.2 Метод «чорного ящика».
.3 Метод «сірого ящика».
. Автоматизоване і ручне тестування.
.1 Автоматизоване тестування.
.2 Ручне тестування.
. Розробка через тестування (TDD).
.1 Основні поняття TDD.
.2 Вимоги.
7.3 Цикл розробки через тестування.
.4 Запуск всіх тестів: переконатися, що нові тести не проходять.
.5 Запуск всіх тестів: переконатися, що всі тести проходять.
.6 Рефакторинг
7.7 Стиль розробки.
.8 Переваги.
.9 Слабкі місця.
. Безперервна інтеграція.
.1 Поняття безперервної інтеграції.
8.2 Вимоги до проекту.
8.3 Організація. 6
8.4 Збірка за розкладом.
8.5 Переваги.
.6 Недоліки.
8.7 Засоби безперервної інтеграції.
9. Покриття коду тестами.
.1 Покриття коду.
.2 Практичне застосування.
Література.
Додаток 1.
Додаток 2.
1. Введення
. 1 Загальні поняття
Історія тестування програмного забезпечення відображає еволюцію розробки самого програмного забезпечення. Протягом тривалого часу розробка програмного забезпечення приділяла основну увагу великомасштабним науковим програмам, а також програмам міністерства оборони, пов'язаним з системами корпоративних баз даних, які проектувалися на базі універсальної ЕОМ або мінікомп'ютера. Тестові сценарії записувалися на папір. З їх допомогою перевірялися цільові потоки управління, обчислення складних алгоритмів та маніпулювання даними. Остаточний набір тестових процедур міг ефективно протестувати всю систему повністю. Тестування зазвичай починалося лише після завершення плану-графіка проекту і виконувалося тим же персоналом.
«Тестування - процес, що підтверджує правильність програми і демонструє, що помилок у програмі немає.» Основний недолік подібного визначення полягає в тому, що воно абсолютно неправильно; фактично це майже визначення антоніма слова «тестування». Люди з деяким досвідом програмування вже, ймовірно, розуміє, що неможливо продемонструвати відсутність помилок у програмі. Тому визначення описує нездійсненне завдання, а так як тестування найчастіше все ж виконується з успіхом, принаймні з деяким успіхом, то таке визначення логічно некоректно. Правильне визначення тестування таке: Тестування - процес виконання програми з наміром знайти помилки.
Неможливо гарантувати відсутність помилок в нетривіальною програмі; в кращому випадку можна спробувати показати наявність помилок. Якщо програма правильно поводиться для солідного набору тестів, немає підставі стверджувати, що в ній немає помилок; з усією визначеністю можна лише стверджувати, що не відомо, коли ця програма не працює. Звич...