вторник, 11 февраля 2014 г.

Николай Зверев тут написал

Николай Зверев (http://www.delphinotes.ru/) тут написал:

"Я вот почитываю про тестирование в гугл. Мне нравится идея переплетения задач тестирования и задач написания кода. Т.е. "классическое" тестирование, когда код пишут одни, а тесты выполняют другие - это (для меня) на интуитивном уровне понятно, что это не правильно."

Что сказать? Я "вот это" и ПЫТАЮСЬ ДОНЕСТИ.

"Переплетение задач тестирования и задач написания кода".

Тесты влияют на код, код влияет на тесты. А они вместе влияют на архитектуру и ТЗ. И наоборот - архитектура и ТЗ - влияют на тесты и код. И далее - "по индукции"...

Не то чтобы "ОДИН человек это должен делать". Но! Если "людей несколько", то они должны "согласовывать свои усилия" именно в этом ключе.

И ещё Николай Зверев написал в комментарии то, что "гармонирует с моим представлением":

"Лично для меня оно как бы само собой разумеющееся, что тестировать код должен тот, кто его и пишет. Хотя бы прогнать код под отладчиком и самостоятельно "прокликать" приложение. И меня удивляло, почему этого не понимают другие. И вот в той книге и пишут, что мол оно так в жизни и есть, что это нормально, и что культуру у программистов надо воспитывать"

И Николай - ОПЯТЬ ПРАВ!

Одну только РЕМАРКУ сделаю - надо различать "внутренние" и "внешние" тесты.

P.S. книга вот какая - http://programmingmindstream.blogspot.ru/2014/02/google.html

8 комментариев:

  1. Лично для меня оно как бы само собой разумеющееся, что тестировать код должен тот, кто его и пишет. Хотя бы прогнать код под отладчиком и самостоятельно "прокликать" приложение. И меня удивляло, почему этого не понимают другие. И вот в той книге и пишут, что мол оно так в жизни и есть, что это нормально, и что культуру у программистов надо воспитывать

    ОтветитьУдалить
  2. И людей, способных совмещать способности тестирования и кодирования - их мало. И это нормально. Потому что у этих разных задач совершенно противоположный взгляд на задачу, и образ мышления должен быть разный

    ОтветитьУдалить
    Ответы
    1. Я "о чём и пытаюсь сказать", что РАЗРАБОТЧИК должен НЕ ТОЛЬКО писать код, но и ДУМАТЬ о "способах его применения". В частности - О ТЕСТИРОВАНИИ.. Это одна из его ОБЯЗАННОСТЕЙ.

      Удалить
    2. И это - ДЕЙСТВИТЕЛЬНО - "НАДО ВОСПИТЫВАТЬ".

      Удалить
  3. Видимо это одна из основных причин, мешающих наладить тестирование в компаниях...

    ОтветитьУдалить
    Ответы
    1. Да! Одна из причин.
      И тут надо "объяснять разработчику" не то, что "он должен", а то "как это поможет ему в работе".
      Что тесты это НЕ ТОЛЬКО тесты, но и "ИНФРАСТРУКТУРА" разработки.

      Удалить
  4. Кстати, почему нас этому не учат? Меня учили языкам программирования. Составлению алгоритмов и реализации их в коде. Процедурному пргограммированию. Основам ООП. Основам БД. А когда надо и алгоритм хитрый, и пользовательский интерфейс радушный, и чтобы в базе всё сохранилось.. И чтобы потом с этим могли работать другие люди..

    ОтветитьУдалить
    Ответы
    1. "Кстати, почему нас этому не учат?"
      Потому что - "ВРЕМЯ ЕЩЁ НЕ ПРИШЛО".

      Ни ВЫ, ни Я - не идём в ПРЕПОДАВАТЕЛИ.

      Это раз.

      Вы кстати наверное учились лет на 10 позже чем я.

      Тут ещё один момент - "МЫ НЕ ВСЕГДА ПОНИМАЕМ ПРЕПОДАВАТЕЛЕЙ".

      У меня был ПРЕПОДАВАТЕЛЬ - Нечаев Алексей Михайлович.

      Он когда-то ВСЕ ОБСУЖДАЕМЫЕ вещи ПЫТАЛСЯ до нас (студентов) донести. Но "мы" - не поняли.

      Потому, что "НАДО УМЕТЬ СЛУШАТЬ".

      Удалить