
- •Що таке тестування?
- •Техніки, що базуються на специфікаціях.
- •Альфа та бета тестуваня.
- •Техніки на основі скінченного автомату.
- •Стратегія тестування.
- •Дефекти, типи дефектів.
- •Тестування на основі формальних специфікацій.
- •Випадкове тестування.
- •Тестування, орієнтоване на дефекти.
- •Тестування мутацій.
- •Оракул. Проблема оракула.
- •Збої та відмови.
- •Тестування продуктивності.
- •Стрес-тести
- •Системне тестування.
- •Методології покращення якості.
- •Вимірювання, пов’язані з тестуванням.
- •Випадкове тестування.
- •Техніки, орієнтовані на код.
- •Відстеження та видалення дефектів.
- •Типи дефектів та їх класифікація.
- •Дослідне тестування.
- •Тестування конфігурації.
- •Модульне тестування.
- •Тестування зручності використання (usability).
- •Звіти по помилках.
- •Метрики дефектів.
- •Тестування графічного інтерфейсу користувача.
- •Метрики динаміки знаходження дефектів.
- •Розробка, керована тестуванням (Test-driven development).
- •Виконання тестів.
- •Модель процесу тестування.
- •Управління тестуванням.
- •Інструменти тестування.
- •Метрики покриття.
- •Статистичне тестування.
- •Класифікація інструментів тестування.
- •Спеціалізоване тестування.
- •Критерії завершення тестування.
- •Планування тестування.
- •Кто будет тестировать?
- •Какие компоненты надо тестировать?
- •Створення тестів (test-cаse).
- •Засоби (середовища) тестування.
- •Критерії вибору тестів.
- •Проведення тестування.
- •Порівняльне тестування.
- •Ефективність проведення тестування.
- •Функціональне тестування.
- •Тестування Web-застосувань.
- •Тестування та визначення дефектів.
- •Метрики підрахунку дефектів.
- •Проблеми оракула.
- •Обмеження при проведенні тестування.
- •Тести, що базуються на блок-схемі.
- •Тестування інсталяцій.
- •Зв’язок тестування з іншими видами діяльності по розробці.
- •Метод білої скриньки.
- •Рівні тестування (послідовність).
- •2. Уровни тестирования (Test Levels)
- •2.1.1 Модульное тестирование (Unit testing)
- •2.1.2 Интеграционное тестирование (Integration testing)
- •2.1.3 Системное тестирование (System testing)
- •Вимірювання, що базуються на концепції функціонального розміру.
- •Метод чорної скриньки.
- •Цілі тестування.
- •Метод сірої скриньки.
- •Регресійне тестування.
- •Інтеграційне тестування.
- •Тестування, що базується на досвіді та інтуїції.
- •Порівняння методів чорної та білої скриньки.
- •Аналіз граничних значень.
- •Основи тестування.
- •Техніки, що базуються на аналізі коду.
- •Порівняння збоїв та відмов.
Тестування та визначення дефектів.
Відслідковування стану тестування та усунення дефектів;
Організація взаємодії між співробітниками та рішення спірних питань відносно класифікації і пріоритетів усунення дефектів;
Визначення причин дефектів та виявлення “ вузьких місць ” у процесах розробки тестування.
В тестуванні для визначення дефекту вдалий тест той, котрий спричиняє збій у системі. Це сильно відрізняється від тестування, аби продемонструвати, що програми відповідають своїм специфікаціям або іншим бажаним властивостям, в цьому випадку тестування вдале якщо спостерігаються незначні збої або їх повна відсутність.
Інспекція вихідного коду проектних документів, специфікацій і т.д. з метою виявлення та усунення дефектів
Тестування виявляє дефекти шляхом спостереження пов'язаних з ними відмов
***
Тестування - діяльність, що здійснюється для оцінки якості продукції, так і для його покращення, шляхом виявлення дефектів і проблем.
Тестування складається з динамічної верифікації поведінки програм за обмеженим набором тест-кейсів, відповідним чином вибраних із нескінченної предметної області (галузі) для очікуваної поведінки.
Динамічний: Цей термін означає, що тестування завжди передбачає виконання програми на вході. Щоб бути точним, самого вхідного значення не завжди достатньо, щоб визначити тестування, в той час як комплекс не детермінованих систем може відреагувати на ті ж вхідні дані з різною поведінкою, залежно від стану системи. Термін "вхідні дані" буде підтримуватися за звичаями, мається на увазі що його значення також включає в себе певний стан входу, в тих випадках, коли це необхідно.
Кінцевий: Навіть в простих програм, так багато тест-кейсів теоретично можливих, що виснажливе тестування може займати декілька місяців або років для виконання. Ось чому на практиці цілий набір тестів в цілому можна вважати нескінченним. Тестування завжди передбачає компроміс між обмеженими ресурсами та розкладом, і по суті необмеженими вимогами до тестування.
Вибір: багато запропоновані методи тестування істотно відрізняються в тому, як вони обирають набір тестів, а також програмні інженери повинні знати, що різні критерії відбору можуть дати зовсім різні ступені ефективності. Як визначити найбільш відповідний критерій відбору. За даних умов це дуже складна проблема; але на практиці застосовуються методи аналізу ризиків і досвід інженерного тестування.
Очікування: Це повинно бути можливим, хоча і не завжди легко, щоб вирішити, чи є спостережені результати виконання програми бажаними чи ні, в іншому випадку зусилля витрачені на тестування будуть марними. Спостережена поведінка може бути перевірена на очікування користувачів (часто називають тестування для перевірки (валідації)), на специфікацію (тестування для перевірки), або, нарешті, на очікувану поведінки при внесенні неявних вимог або розумних очікувань.
Ключові моменти:
Вид тестування програмного забезпечення розвивається в більш конструктивному напрямку.
Тестування більше не розглядається як діяльність, яка починається тільки після завершення фази кодування для виявлення збоїв.
Тестування програмного забезпечення в даний час розглядається як діяльність, яка повинна охоплювати весь розвиток і підтримку процесу, і сама по собі є важливою частиною фактичного конструювання продукту.
Справді, планування тестування має починатися з ранніх стадій вимог процесу, і плани тестування та процедури повинні бути систематично і безперервно розвиватися та можливо, удосконалюватися щоб продовжувати розвиток.
Вважається, що правильна позиція щодо якості є однією з профілактик, це безсумнівно покращує уникнення проблем, ніж їх виправляння.
Тестування повинно розглядатися насамперед як засіб для перевірки не тільки чи була ефективною профілактика, а й для виявлення несправностей в тих випадках, коли, з деяких причин, вона не була ефективною.
Можливо, це очевидно, але слід визнати, що навіть після успішного завершення тестування великої програми, програмне забезпечення все ще може містити помилки.
Засіб від збоїв програмного забезпечення постає як досвід після надання виправлених робіт з технічного обслуговування.
Тестування програмного забезпечення також пов'язане з конструюванням програмного забезпечення. Модульне та інтеграційне тестування тісно пов'язані з конструюванням програмного забезпечення, якщо не його частини.
Тестування для визначення дефекту
В тестуванні для визначення дефекту вдалий тест той, котрий спричиняє збій у системі. Це сильно відрізняється від тестування, аби продемонструвати, що програми відповідають своїм специфікаціям або іншим бажаним властивостям, в цьому випадку тестування вдале якщо спостерігаються незначні збої або їх повна відсутність.