Читайте также:
|
|
6. Домашнє завдання: вивчити матеріал лекції.
7. Самостійне вивчення: опрацювати тему „Автоматизація тестування за допомогою скриптів” з Методичного посібника для самостійної роботи або з будь-якого іншого джерела (наприклад, мережі Інтернет).
Зміст лекції
Ручна розробка тестів. Найбільш розповсюджений спосіб розробки тестів. Він є найбільш гнучким, проте характерна для нього працездатність інженерів – тестувальників в створенні тестового коду не перевищує швидкість створення коду продукту, а обсяги тестового коду на практиці частіше за все перевищують код продукту в 10 разів. Враховуючи цей факт, в сучасній індустрії все більше схиляються до більш інтелектуальних способів отримання тестового коду, таким як використання спеціальних тестових мов (скриптів) та генерації тестів.
Генерація тестів. В сучасному світі деякі мови специфікацій, що використовуються для описання алгоритмів тестування, можуть бути використані для генерації тестового тесту.
Розглянемо два основних підходи до виконання тестів: підхід до ручного тестування та підхід автоматичного виконання (прогін) тестів. Підходи розглянемо на прикладі тестування продукту, що підтримує інтерфейс командного рядка. Тести описують виклик продукту з параметрами та перевірку значення, що повертається, в вигляді фіксованих при прогоні - тексту з STDOUT та стану деяких файлів, що залежить від вхідних параметрів.
Ручне тестування. Воно складається в виконанні задокументованої процедури, де описана методика виконання тестів, що задає порядок тестів та для кожного тесту – список значень параметрів, який подається на вхід, та список результатів, які очікуються на виході. Оскільки процедура призначена для виконання людиною, в її описанні для скорочення можуть використовуватися деякі значення за замовчуванням, що орієнтовані на здоровий глузд або посилання на інформацію, що зберігається в іншому документі. Приклад фрагменту процедури:
- подати на вхід три різні цілі числа;
- запустити тестове виконання;
- перевірити, чи відповідає отриманий результат таблиці (посилання на документ 1) з врахуванням поправок (посилання на документ 2);
- впевнитись в зрозумілості та коректності супроводжувальної інформації, що видається.
В наведеному прикладі тестувальник використовує два додаткові документи, а також власне розуміння того, яку супроводжуючу інформацію необхідно вважати „зрозумілою та коректною”. Успіх від використання процедурного підходу досягається в випадку однозначного розуміння тестувальником всіх пунктів процедури. Наприклад, в п. 1 приведеної процедури не уточнюється, з якого діапазону чисел повинні бути задані три цілих числа, та не описується додатково, які числа вважаються „різними”.
Автоматизоване тестування. Спроба автоматизувати приведений вище тест приводить до створення скрипта, що задає продукту, що тестується, три конкретних числа та перенаправляє вивід продукту в файл з метою його аналізу; також скрипт має містити конкретне значення бажаного результату, з яким звіряється значення, що отримується при прогоні тесту. Таким чином, вся необхідна інформація має бути явно поміщена в текст (скрипт) тесту, що потребує додаткових зусиль порівняно з ручним підходом. Також додаткових зусиль та часу потребує створення розпізнавальника виводу (програми затвердження форматів уявлення еталонних значень з тесту та результатів, що обчислюються при прогоні) та, можливо, створення бази збереження станів еталонних скриптів.
Приклад скрипту. Приведемо приклад послідовності дій, що закладаються до скрипту:
- видати на консоль ім’я та номер тесту а також час його початку;
- викликати продукт з фіксованими параметрами;
- пере направити вивід продукту в файл;
- перевірити значення, яке повернене продуктом. Воно має дорівнювати очікуваному (еталонному) результату, що зафіксований в тесті;
- перевірити вивід продукту, що збережений в файлі (п.3) на рівність раніше підготованому еталону;
- видати на консоль результати тесту у вигляді вердикту PASS/FAIL, та у випадку FAIL – коротко пояснити, яка сама перевірка не пройшла;
- видати на консоль час закінчення тесту.
Тестові процедури. Це формальний документ, який містить описання необхідних кроків для виконання тестового набору. В випадку ручних тестів тестові процедури містять повне описання всіх кроків та перевірок, що дозволяють протестувати продукт та винести вердикт PASS/FAIL. Процедури мають бути складені таким чином, щоб будь-який інженер, не поязаний з даним проектом, був здатний адекватно провести цикл тестування, володіючи тільки самими базовими знаннями про інструментарій, що застосовується. В випадку описання автоматизованих тестів тестові процедури повинні містити достатню інформацію для запуску тестів та аналізу результатів.
Описання тестів. Описання тестів розробляється для полегшення аналізу та підтримки тестового набору. Описання може бути реалізоване в довільній формі, але при цьому повинно виконувати наступні задачі:
- аналізувати ступінь покриття продукту тестами на основі описання тестового набору;
- для будь-якої функції продукту, що тестується, необхідно знайти тести, в яких ця функція використовується;
- для будь-якого тесту необхідно визначити всі функції та їх поєднання, які даний тест використовує (чіпає);
- зрозуміти структуру та взаємозв’язок тестових файлів;
- зрозуміти принцип побудови системи автоматизації тестування.
Лекція 5 (2 години)
Дата добавления: 2015-07-15; просмотров: 76 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Підведення підсумків заняття. | | | Підведення підсумків заняття. |