Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Практична робота №3





Тема: Реалізація модульних тестів для класів предметної області.

Мета заняття: Поглибити знання і закріпити практичні навички з реалізації модульних тестів. Навчитись реалізовувати модульні тести для перевірки правильності створення об’єктів у випадку використання коректних даних та перевірки роботи граничних операторів. Навчитись використовувати методи ініціалізації модульних тестів.

 

Теоретичні відомості

Модульне тестування[4] (англ. Unit testing) — це метод тестування програмного забезпечення, який полягає в окремому тестуванні кожного модуля коду програми. Модулем називають найменшу частину програми, яка може бути протестованою. У процедурному програмуванні модулем вважають окрему функцію або процедуру. В об'єктно-орієнтованому програмуванні — інтерфейс, клас. Модульні тести, або unit-тести, розробляються в процесі розробки програмістами та, іноді, тестувальниками білої скриньки (white-box testers).

Зазвичай unit-тести застосовують для того, щоб упевнитися, що код відповідає вимогам архітектури та має очікувану поведінку.

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

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

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

Unit-тест перевіряє критичні характеристики модулю. Відповідність чи невідповідність цим характеристикам демонструє коректність модуля. Модульний тест «документує» ці критичні характеристики, але не треба покладатися лише на код в документуванні ПЗ під час розробки.

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

Модульне тестування зазвичай автоматизують, але його можна проводити й вручну. IEEE не надає перевагу якомусь з цих методів.

Мета модульного тестування — ізолювати модуль та визначити його коректність. Автоматизоване тестування дозволяє зробити це ефективно та має багато переваг. Якщо тестування було погано заплановано, то необережне ручне тестування може стати ще й інтеграційним тестуванням, що погано.

 

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

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

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

 

Модель "організація.дія.твердження".

 

Тестові методи слідують моделі "організація/дія/твердження" (arrange/act/assert), створюючи, тестуючи і перевіряючи один з аспектів поведінки.

Організація відноситься до визначення умов тесту, дія – до виконання тесту, а твердження –до перевірки, що результат був тим, який був потрібний.

Дотримання однаковості структури методів модульних тестів сприяє їх читабельності – характеристика, яка є надзвичайно важливою, якщо проект містить сотні модульних тестів.

Date: 2015-09-02; view: 558; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию