ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 13.04.2024

Просмотров: 6

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Тема: Автоматизація тестування

Мета: розглянути особливості автоматизованого тестування. Описати структур уавтоматизованного тестування. Розглянути основні недоліки автоматизованого тестування.

ПЛАН

1 Автоматизація тестування

2 Узагальнена структура системи автоматизації тестування

3 Витрати тестування

1 Автоматизація тестування

Використання різних підходів до тестування визначається їх ефективністю стосовно до умов, що визначаються промисловим проектом. В реальних випадках робота групи тестування планується так, щоб розробка тестів починалася з моменту узгодження вимог до програмного продукту (випуск Requirement Book, що містить високорівневі вимоги до продукту) і тривала паралельно з розробкою дизайну і коду продукту. В результаті, до початку системного тестування створюються тестові набори, що містять тисячі тестів. Великий набір тестів забезпечує всебічну перевірку функціональності продукту і гарантує якість продукту, але пропуск такої кількості тестів на етапі системного тестування представляє проблему. Її рішення лежить в області автоматизації тестування, тобто у автоматизації розробки.

Власне використання ефективної системи автоматизації тестування скорочує до мінімуму (наприклад, до однієї ночі) час пропуску тестів, без якого неможливо підтвердити факт зростання якості (зменшення числа тих, що залишилися помилок) продукту. Можливість обмежити цикл тестування межею в одну добу або кілька годин підтримується виключно за рахунок коштів автоматизації тестування.

2 Узагальнена структура системи автоматизації тестування

Рис. 8.1. Структура інструментальної системи автоматизації тестування

 

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

 

  • Набір тестів, достатній для покриття досліджуваного додатки у відповідності з обраним критерієм тестування - як результат ручної або автоматичної розробки (генерації) тестових наборів і драйвер/монітор пропуску тестового набору.

  • Результати прогону тестового набору, зафіксовані в Log-файлі. Log-файл містить траси ("протоколи"), що представляють собою реалізовані при тестовому прогоні послідовність певних подій (значень окремих змінних або їх сукупностей) і точки реалізації цих подій на графі програми. У складі трас можуть бути присутніми послідовності явно і неявно заданих міток, які задають шляхи реалізації трас на керуючому графі програми, сукупності значень змінних на цих мітках, величини проміжних результатів, досягнутих на деяких мітках і т.п.

  • Статистика тестового циклу, що містить:


1) результати пропуску кожного тесту з тестового набору та їх порівняння з еталонними величинами;

2) факти, що послужили підставою для прийняття рішення про продовження або закінчення тестування;

3) критерій покриття і ступінь його задоволення, досягнута у циклі тестування

Результатом аналізу кожного прогону є список проблем, у вигляді помилок і дефектів, який заноситься в базу розвитку проекту. Далі відбувається робота над помилками, де кожна піднята проблема ідентифікується, відноситься до відповідного модулю і розробнику, призентується і відстежується, що забезпечує гарантію її рішення (виправлення або віднесення до списку відомих проблем, рішення яких з тих чи інших причин відкладається) в наступних build. Виправлений і зібраний для тестування build надходить на наступний цикл тестування, і цикл повторюється, поки потрібну якість програмного комплексу не буде досягнуто. У цьому ітераційному процесі засоби автоматизації тестування забезпечують швидкий контроль результатів виправлення помилок і перевірку рівня якості, досягнутого в продукті. Неякісний продукт зріла організація не виробляє.

3 Витрати тестування

Інтенсивність виявлення помилок на одиницю витрат і надійність тісно пов'язані з часом тестування і, відповідно, з гарантією якості продукту (рис. 8.2A ). Чим більше трудовитрат вкладається в процес тестування, тим менше помилок в продукті залишається непоміченими. Однак досконалість в індустріальному програмуванні має межі, які насамперед пов'язані з витратами на отримання програмного продукту, а також з надлишком якості, яке не затребуване замовником програми. Знаходження оптимуму - дуже відповідальна задача тестувальника і менеджера проекту. Рух до зменшення числа тих, що залишилися помилок або до якості продукту призводить до застосування різних методів налагодження та тестування в процесі створення продукту. На рис.8.2В наведено витратний компонент тестування в залежності від вдосконалення застосовуваного інструментарію та методів тестування.

На практиці популярні такі методи тестування і налагодження, впорядковані, пов'язаних з їх застосуванням витрат:

 • Статичні методи тестування • Модульне тестування • Інтеграційне тестування • Системне тестування • Тестування реального оточення і реального часу.

  Залежність ефективності застосування перерахованих методів або їх здатності до виявлення відповідних класів помилок (С) зіставлена на рис. 8.2 з витратами (B). Графік показує, що з часом, по мірі виявлення більш складних помилок і дефектів, ефективність витратних методів падає разом з кількістю виявляються помилок.


Рис. 8.2. Витрати тестування

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

Контрольні питання:

  1. Що таке автоматизоване тестування?

  2. Яка різниця між автоматизованим тестуванням і системним?

  3. Яка ефективність автоматизованого тестування?

  4. Що містить статистика тестового циклу?

  5. Опишіть основні етапи створення автоматизованого тестування?

4