Первоначально опубликовано 12 августа 2010 г. (с личного сайта, с обновлениями)

Автоматическое тестирование систем — моя любимая мозоль: я думаю, что каждая компьютерная система должна иметь серию тестов, которые запускаются другим компьютером и проверяют каждую проблему, о которой когда-либо думали. Мой нынешний клиент попросил меня начать разработку такой же системы для их системы учета и доставки.

В настоящее время заказчик приобрел сторонний инструмент для автоматизации управления программным обеспечением, к сожалению, этот инструмент отстой. Непрограммистам очень сложно понять его обходную логику (используются события, запускаемые очистителем экрана), и у него нет механизма для управления большим количеством скриптов (каждый из них управляется сам по себе). При построении систем тестирования сами тесты, как правило, создавать легко, управление и отслеживание большого количества тестов становится проблемой.

Будучи прилежным консультантом (хорошо, прилежным решателем проблем), я предположил, что можно создать собственный инструмент, который бы обертывал объекты и был бы лучше понятен непрограммистам, что позволило бы нам легче управлять большим количеством тесты.

Новое изобретение колеса

Вот когда я услышал это:

Нет смысла изобретать велосипед.

Я возражаю против этого, меня поощряют решать проблемы в офисе, и изобретательность является ключом к этому. Я признаю, что все проблемы решены; у нас уже есть колеса. Единственная проблема, которая когда-либо существовала, — это необходимость уточнения общего решения для конкретного случая проблемы; нам нужны колеса, подходящие для текущей задачи.

Если бы мы никогда не изобретали велосипед, мы бы до сих пор ездили на Wagon Wheels. И …

Мне самому нравится, когда на моей машине мягкие резиновые шины.

В конце концов, мы регулярно изобретаем велосипед, ведь не каждое колесо идеально подходит для каждого автомобиля. Точно так же при решении проблем на рабочем месте при проектировании систем иногда необходимо создать собственный компонент, который…