Без нового подхода к тестированию такие инциденты, как недавний сбой торгового оборудования NASDAQ и неразбериха с Knight Capital, случившаяся прошлым летом, неизбежно будут повторяться и ослаблять прочность и репутацию американских рынков. Биржи должны внедрить подход, который тесно интегрирует тестирование в разработку. Многократный процесс, в котором тестирование и разработка происходят параллельно, является единственным способом гарантировать то, что системы тщательно протестированы, и что ошибки найдены и исправлены до запуска.
Как правило, на биржах используется подход «разрабатывай сейчас, тестируй в конце». За несколько месяцев устанавливаются конкретные даты на разработку специфических функциональных возможностей у новых систем. Команды посвящают определенное число месяцев разработке, а остальное время остается на тестирование. Например, если команда планирует выпустить систему через шесть месяцев, то она, возможно, планирует потратить четыре месяца на разработку и два на тестирование. Фактически по разным причинам разработка займет больше времени, чем предполагалось, а время, выделенное на тестирование, сократится. По этому сценарию, вероятно, пять месяцев уйдет на разработку и останется лишь один месяц – каких-то четыре недели – на тестирование.
Так что же конкретно происходит, когда биржа готова к тестированию? Во-первых, для тестирования системы должны быть написаны тесты, найдены и зафиксированы проблемы. Затем этот процесс повторяется, пока не всплывет ни одной проблемы. Звучит довольно просто, но при использовании этого подхода вряд ли за один короткий месяц можно выявить все проблемы, которые созданы за пять месяцев разработки. Поскольку система должна быть выпущена через определенный срок, то просто не хватает времени для тщательного тестирования всей системы, из чего возникает большинство проблем. А если выпустить систему, которая не была тщательно протестирована, то при работе в самый неподходящий момент возникнут сбои.
Еще плохо то, что ошибки, которые возникли на ранней стадии разработки – скажем, во время первой или второй недели – обнаруживаются только в самом конце проекта, когда проводится тестирование – неделе на 16-ой или даже на 20-й. Код, который стал причиной возникшей проблемы, уже давно подзабыт в умах разработчиков, и повторное ознакомление с ним может занять много времени. Кроме того, проблемы, которые появляются на ранних стадиях разработки, могут привести к совершенно новой последовательности ошибок, которую можно было предотвратить, если бы первоначальная проблема была выявлена сразу.
Если ошибки мешают торговле, то это препятствует релизу. Обеспечивают ли биржи необходимый уровень тестирования, чтобы найти ошибки? На этот вопрос нет ответа.
Для улучшения качества рынков необходимо использовать параллельный подход к тестированию, а технологи должны рассматривать процесс тестирования как важную часть процесса разработки. В настоящее время существуют хорошие инструменты для тестирования и обратной связи, но эти инструменты должны быть внедрены биржами. Использование этих инструментов зависит от технологов на биржах, чтобы команды не разгребали все в конце, а вместо этого проводили тестирование с самого начала. Биржи должны внедрить процесс, который будет проводить тестирование каждый раз, когда при разработке в системе произойдут изменения, и если что-то пойдет не так, то об этом сразу же станет известно.
Чтобы быть всеохватывающим, автоматизированное тестирование должно происходить на ранней стадии. Оно должно стартовать с самого начала процесса – еще до разработки – таким образом, качество системы может быть отчетливо просматриваться на всем протяжении времени. Ценность появится, как только тестирование будет автоматизировано, так что это должно быть сделано как можно скорее.
Мы должны посмотреть на текущие и прошлые проблемы, и понять, что что-то должно быть сделано. Необходим свежий взгляд на процесс разработки. Без надлежащих действий эти сбои будут постоянно происходить, и наши рынки будут становиться все слабее.
Автор: Jacob Northey
Источник: Technology Testing Culture at Exchanges Threatens Markets
Комментарии:
Pavel Sergeyev: Мир ускоряется. Ни у кого не хватает времени на то чтобы сделать все качественно.