Home > itblogs > Про то, как мы один тест запускали…

Про то, как мы один тест запускали…

December 21st, 2011

Проект, над которым я сейчас работаю, небольшой. Экспериментальная железка, драйвер, вспомогательный сервис, скрипты всякие. Пишут это все два с половиной человека: я, да полтора землекопа контрактника. Дописали мы все это до состояния, когда уже можно запускать стресс тесты – отлавливать гонки, редкие баги, глюки железа и прочие нехитрые радости разработчика. Само собой, первые несколько ошибок поймали, пока ещё отлаживали скрипты для автоматического запуска тестов.

Далее идет хронология с момента первого официального запуска стресс теста. (К этому моменту ручной прогон тестов в течение нескольких минут ничего не находит).

30 ноября: FAILED. Ну никто и не ожидал, что все заработает с первого раза. Продолжаем отлаживать инфраструктуру: больше логов, настраивается сбор дампов со всех машин и т.д.

4 декабря: FAILED. Тест запустился на 7 часов позднее положенного, так как машина решила поспать. После чего, тест отвалился по одному из таймаутов.

5 декабря: FAILED. Останавливается передача данных в адаптере безо всяких на то причин. Ну что поделаешь, – железо новое, не до конца отлаженное. Добавляем watchdog в драйвер, который дергает reset на адаптере.

6 декабря: FAILED. Драйвер не смог выделить память для DMA буферов. Начинаем выделять память несколькими кусками поменьше, а не одним большим.

12 декабря: FAILED. Тест завалился из-за недавних правок тестового скрипта.

13 декабря: FAILED. Нашли ошибку в одном из конечных автоматов. К этому времени завершалась работа над кардинальной переделкой этого куска кода, так что ошибку решили не исправлять.

15 декабря: FAILED. В основную ветку вливаются изменения, которые, по идее, исправляют предыдущую проблему. Однако тест падает из-за другого, только что добавленного бага.

15 декабря (вечер): SUCCEEDED. Ура!

16 декабря: FAILED. Поломали билд.

19 декабря: SUCCEEDED. Что, опять? Даже как-то странно.

20 декабря: FAILED. Нашлась проблема в shutdown коде.

Вот так и живем…

  1. December 31st, 2011 at 10:32 | #1

    Тесты ганяете под DTM или что-то кастомное?

    Мне часто помогает одно простое правило на стадии отладки и разработки – на виртуальных машинах для отладки всегда стоит Driver Verifier со всеми опциями ON и Application Verifier практически со всеми опциями (для хелпер приложений).

    Это, конечно, не решит проблем с отладкой железа …

    Относительно контрактников – (я так полагаю, удаленная работа?) – у нас пока только негативный опыт, хотя, наверное, в каждом случае по разному :) Как-то так получается, что если чел не в одной с тобой лодке (в команде), его отношение к работе совсем другое :)

  2. December 31st, 2011 at 12:05 | #2

    Volodymyr Shcherbyna :

    Тесты ганяете под DTM или что-то кастомное?

    Что-то кастомное.

    Volodymyr Shcherbyna :

    Мне часто помогает одно простое правило на стадии отладки и разработки – на виртуальных машинах для отладки всегда стоит Driver Verifier со всеми опциями ON и Application Verifier практически со всеми опциями (для хелпер приложений).

    Это само собой.

    Volodymyr Shcherbyna :

    Относительно контрактников – (я так полагаю, удаленная работа?)

    Нет, они сидят в одном с нами офисе – через коридор. Нормальные ребята, умеющие работать самостоятельно.

Comments are closed.