
- •Що таке тестування?
- •Техніки, що базуються на специфікаціях.
- •Альфа та бета тестуваня.
- •Техніки на основі скінченного автомату.
- •Стратегія тестування.
- •Дефекти, типи дефектів.
- •Тестування на основі формальних специфікацій.
- •Випадкове тестування.
- •Тестування, орієнтоване на дефекти.
- •Тестування мутацій.
- •Оракул. Проблема оракула.
- •Збої та відмови.
- •Тестування продуктивності.
- •Стрес-тести
- •Системне тестування.
- •Методології покращення якості.
- •Вимірювання, пов’язані з тестуванням.
- •Випадкове тестування.
- •Техніки, орієнтовані на код.
- •Відстеження та видалення дефектів.
- •Типи дефектів та їх класифікація.
- •Дослідне тестування.
- •Тестування конфігурації.
- •Модульне тестування.
- •Тестування зручності використання (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)
- •Вимірювання, що базуються на концепції функціонального розміру.
- •Метод чорної скриньки.
- •Цілі тестування.
- •Метод сірої скриньки.
- •Регресійне тестування.
- •Інтеграційне тестування.
- •Тестування, що базується на досвіді та інтуїції.
- •Порівняння методів чорної та білої скриньки.
- •Аналіз граничних значень.
- •Основи тестування.
- •Техніки, що базуються на аналізі коду.
- •Порівняння збоїв та відмов.
Що таке тестування?
Техніки, що базуються на специфікаціях.
Альфа та бета тестуваня.
Таблиці прийняття рішень.
Техніки на основі скінченного автомату.
Стратегія тестування.
Дефекти, типи дефектів.
Тестування на основі формальних специфікацій.
Випадкове тестування.
Тестування, орієнтоване на дефекти.
Тестування мутацій.
Оракул. Проблема оракула.
Збої та відмови.
Тестування продуктивності.
Стрес-тести.
Системне тестування.
Методології покращення якості.
Вимірювання, пов’язані з тестуванням.
Випадкове тестування.
Техніки, орієнтовані на код.
Відстеження та видалення дефектів.
Типи дефектів та їх класифікація.
Дослідне тестування.
Тестування конфігурації.
Модульне тестування.
Тестування зручності використання (usability).
Звіти по помилках.
Метрики дефектів.
Тестування графічного інтерфейсу користувача.
Метрики динаміки знаходження дефектів.
Розробка, керована тестуванням (Test-driven development).
Виконання тестів.
Модель процесу тестування.
Управління тестуванням.
Інструменти тестування.
Метрики покриття.
Статистичне тестування.
Класифікація інструментів тестування.
Спеціалізоване тестування.
Критерії завершення тестування.
Планування тестування.
Створення тестів (test-cаse).
Засоби (середовища) тестування.
Критерії вибору тестів.
Проведення тестування.
Порівняльне тестування.
Ефективність проведення тестування.
Функціональне тестування.
Тестування Web-застосувань.
Тестування та визначення дефектів.
Метрики підрахунку дефектів.
Проблеми оракула.
Обмеження при проведенні тестування.
Тести, що базуються на блок-схемі.
Тестування інсталяцій.
Зв’язок тестування з іншими видами діяльності по розробці.
Метод білої скриньки.
Рівні тестування (послідовність).
Вимірювання, що базуються на концепції функціонального розміру.
Метод чорної скриньки.
Цілі тестування.
Метод сірої скриньки.
Регресійне тестування.
Інтеграційне тестування.
Тестування, що базується на досвіді та інтуїції.
Порівняння методів чорної та білої скриньки.
Аналіз граничних значень.
Основи тестування.
Техніки, що базуються на аналізі коду.
Порівняння збоїв та відмов.
Що таке тестування?
Тестирование (software testing) – деятельность, выполняемая для оценки и улучшения качества программного обеспечения. Эта деятельность, в общем случае, базируется на обнаружении дефектов и проблем в программных системах.
Тестирование программных систем состоит из динамической верификации поведения программ на конечном (ограниченном) наборе тестов (set of test cases), выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия ожидаемому поведению системы.
В данном определении тестирования выделены слова, определяющие основные вопросы, которым адресуется данная область знаний:
• Динамичность (dynamic): этот термин подразумевает тестирование всегда предполагает выполнение тестируемой программы с заданными входными данными. При этом, величины, задаваемые на вход тестируемому программному обеспечению, не всегда достаточны для определения теста. Сложность и недетерминированность систем приводит к тому, что система может по разному реагировать на одни и те же входные параметры, в зависимости от состояния системы. В данной области знаний термин “вход” (input) будет использоваться в рамках соглашения о том, что вход может также специфицировать состояние системы, в тех случаях, когда это необходимо. Кроме динамических техник проверки качества, то есть тестирования, существуют также и статические техники, рассматриваемые в области знаний Software Quality”.
• Конечность (ограниченность, finite): даже для простых программ теоретически возможно столь большое количество тестовых сценариев, что исчерпывающее тестирование может занять многие месяцы и даже годы. Именно поэтому, с практической точки зрения, всестороннее тестирование считается бесконечным. Тестирование всегда предполагает компромисс между ограниченными ресурсами и заданными сроками, с одной стороны, и практически неограниченными требованиями по тестированию, с другой. То есть мы снова говорим обопределении характеристик “приемлемого” качества, на основе которых планируем необходимы объем тестирования.
Выбор (selection): многие предлагаемые техники тестирования отличаются друг от друга в том, как выбираются сценарии тестирования. Инженеры по программному обеспечению должны обладать представлением о том, что различные критерии выбора тестов могут давать разные результаты, с точки зрения эффективности тестирования. Определение подходящего набора тестов для заданных условий является очень сложной проблемой.
Обычно, для выбора соответствующих тестов совместно применяют техники анализа рисков, анализ требований и соответствующую экспертизу в области тестирования и заданной прикладной области.
Ожидаемое поведение (expected behaviour): Хотя это не всегда легко, все же необходимо решить, какое наблюдаемое поведение программы будет приемлемо, а какое – нет. В противном случае, усилия по тестированию – бесполезны. Наблюдаемое поведение может рассматриваться в контексте пользовательских ожиданий (подразумевая “тестирования для проверки” - testing for validation), спецификации (“тестирование для аттестации” - testing for verification) .