вторник, 3 ноября 2009 г.

7 напастей тестирования

На днях, благодаря Юлии Нечаевой, перечитала серию постов
Для себя и для тех, кому лень читать - основной смысл:

" 7 напастей тестирования "
1. Бесцельность (тестируем, потому что должны, автоматизируем, потому что умеем, - так принято, а не потому что это говорит нам разум)
2. Повторяемость (прогоняя старые тесты, не замечаем, что они больше не выявляют дефекты)
3. Амнезия (командная - повторяем старые ошибки, не делимся опытом; амнезия индустрии - изобретаем велосипеды)
4. Бездомность (система - как дом, в котором нужно жить, чтобы обнаружить его особенности и проблемы, т.е. проводить тестирование в реальных условиях экстплуатации, чем раньше - тем лучше)
5. Слепота (ПО - невидимо, нам не известно, где ошибка, каково покрытие тестами, какие части были затронуты изменениями)
6. Занудство (со временем нас поглощает монотонность в ежедневном решении тактических проблем, но можно перейти к стратегическим, например заняться тест-дизайном, также автоматизация может добавить живости)
7. и даже больше...
- метрики (искажают цели)
- семантика (часто и неправильно используем термины)
- бесконечность (набор тестов не перестает расти)
- недопонимание (с разработчиками)
- негибкость (привязанность к плану и устоявшимся процессам)
- Энтропия (хаос постоянно растет с нахождением новых ошибок и их исправлением)

С этим всем мы сталкиваемся каждый день, но редко осознаем, еще реже принимаем меры. Давайте объединять усилия в борьбе с заразой ;)

2 комментария:

  1. Давайте объединять.

    Какие из этих напастей бытуют у вас на работе?

    Впрочем, сперва уточним, какой именно у вас профиль. На чем вы специализируетесь? В гуглопрофиле у вас об этом не написано.

    В отношении процитированного текста: очень напрягает пункт "2. Повторяемость".

    Мне видится следующее: тесты, которые пишутся "для регрешна", призваны дарить нам надежду на то, что тестируемый ими функционал работает as expected после каждой итерации. И если такой тест не нашел дефект - это благо.

    Поэтому - странно ожидать от автотестов способность искать новые баги. Автотест - глупый робот, ищет только то, чему его научили, и игнорирует всё, что для него заранее не было учтено. Что нового он может найти?

    Шестой пункт (занудство) Виттакер предлагает решать, например, автоматизацией, которая может страдать пунктами 1 и 2 - бесцельность и повторяемость усиленной пунктом 3 - амнезия :)

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

    ОтветитьУдалить