суббота, 21 июня 2014 г.

Ещё немного о тестировании

http://programmingmindstream.blogspot.com/2014/06/blog-post_10.html

Мне тут резонно заметили, что мол очень много трудозатрат на тестирование такой простой функциональности.

Есть такое дело.

Я сам об этом думал, когда "ввязывался в это дело".

Маленький пример. Не показательный.

И столько уже тестовых классов.

А будет ещё больше.

Но!

На то это и "учебный пример". На основе которого хотелось показать многие аспекты тестирования.

Как то:

1. Настройка инфраструктуры. И её поддержание.
2. Тестирование GUI.
3. Тестирование логики.
4. Регрессионное тестирование.
5. Применение эталонов входа/выхода.
6. "Скриптование" тестов как "экстраполяция применения эталонов".
7. Связь тестов, функционала и ТЗ.
8. Зависимость тестов от клиентской среды.

Мне кажется, что в некотором роде - "у нас получается".

Хотелось бы опять коснуться "темы эталонов".

Хотя пример и "учебный" и "надуманный", но по-моему он УЖЕ проиллюстрировал несколько вещей таких как:

1. Тестирование логики.
2. Регрессионное тестирование.
3. Обработка ошибок и определение детерминированности поведения системы даже на неверных данных.

Если немножко абстрагироваться от "калькулятора" и представить, что мы тестируем какие-то достаточно сложные, но детерминированные алгоритмы, как например "преобразование форматов документов" или "печать документов", то применение эталонов практически ничем не будет отличаться от "примера с калькулятором".

Я постараюсь придумать более сложный "учебный пример" с реальным сложным алгоритмом и большим количеством входных параметров, а также с нетривиальным выходом.

Как говориться - "следите за обновлениями".

Да и ОТДЕЛЬНО я постараюсь разобрать такую вещь как "каталоги абстрактных тестов" для РАЗНЫХ, но однотипных проектов.

Комментариев нет:

Отправить комментарий