http://programmingmindstream.blogspot.com/2014/06/blog-post_10.html
Мне тут резонно заметили, что мол очень много трудозатрат на тестирование такой простой функциональности.
Есть такое дело.
Я сам об этом думал, когда "ввязывался в это дело".
Маленький пример. Не показательный.
И столько уже тестовых классов.
А будет ещё больше.
Но!
На то это и "учебный пример". На основе которого хотелось показать многие аспекты тестирования.
Как то:
1. Настройка инфраструктуры. И её поддержание.
2. Тестирование GUI.
3. Тестирование логики.
4. Регрессионное тестирование.
5. Применение эталонов входа/выхода.
6. "Скриптование" тестов как "экстраполяция применения эталонов".
7. Связь тестов, функционала и ТЗ.
8. Зависимость тестов от клиентской среды.
Мне кажется, что в некотором роде - "у нас получается".
Хотелось бы опять коснуться "темы эталонов".
Хотя пример и "учебный" и "надуманный", но по-моему он УЖЕ проиллюстрировал несколько вещей таких как:
1. Тестирование логики.
2. Регрессионное тестирование.
3. Обработка ошибок и определение детерминированности поведения системы даже на неверных данных.
Если немножко абстрагироваться от "калькулятора" и представить, что мы тестируем какие-то достаточно сложные, но детерминированные алгоритмы, как например "преобразование форматов документов" или "печать документов", то применение эталонов практически ничем не будет отличаться от "примера с калькулятором".
Я постараюсь придумать более сложный "учебный пример" с реальным сложным алгоритмом и большим количеством входных параметров, а также с нетривиальным выходом.
Как говориться - "следите за обновлениями".
Да и ОТДЕЛЬНО я постараюсь разобрать такую вещь как "каталоги абстрактных тестов" для РАЗНЫХ, но однотипных проектов.
Мне тут резонно заметили, что мол очень много трудозатрат на тестирование такой простой функциональности.
Есть такое дело.
Я сам об этом думал, когда "ввязывался в это дело".
Маленький пример. Не показательный.
И столько уже тестовых классов.
А будет ещё больше.
Но!
На то это и "учебный пример". На основе которого хотелось показать многие аспекты тестирования.
Как то:
1. Настройка инфраструктуры. И её поддержание.
2. Тестирование GUI.
3. Тестирование логики.
4. Регрессионное тестирование.
5. Применение эталонов входа/выхода.
6. "Скриптование" тестов как "экстраполяция применения эталонов".
7. Связь тестов, функционала и ТЗ.
8. Зависимость тестов от клиентской среды.
Мне кажется, что в некотором роде - "у нас получается".
Хотелось бы опять коснуться "темы эталонов".
Хотя пример и "учебный" и "надуманный", но по-моему он УЖЕ проиллюстрировал несколько вещей таких как:
1. Тестирование логики.
2. Регрессионное тестирование.
3. Обработка ошибок и определение детерминированности поведения системы даже на неверных данных.
Если немножко абстрагироваться от "калькулятора" и представить, что мы тестируем какие-то достаточно сложные, но детерминированные алгоритмы, как например "преобразование форматов документов" или "печать документов", то применение эталонов практически ничем не будет отличаться от "примера с калькулятором".
Я постараюсь придумать более сложный "учебный пример" с реальным сложным алгоритмом и большим количеством входных параметров, а также с нетривиальным выходом.
Как говориться - "следите за обновлениями".
Да и ОТДЕЛЬНО я постараюсь разобрать такую вещь как "каталоги абстрактных тестов" для РАЗНЫХ, но однотипных проектов.
Комментариев нет:
Отправить комментарий