суббота, 11 июня 2011 г.

Рутина

Я не знаю, какой я тестировщик. Я считаю, что хороший, но это мнение мало кто разделяет.

Я косячу.
Ну в смысле - допускаю ошибки. Забываю настройки. Не проверяю конфиги. Не учитываю условия.

Когда программисты учат программистов - они рассказывают - как сделать лучше. Быстрее, выше и сильнее. Они вообще полубоги, ага.

А я косячу. Когда я учу, я говорю, что есть прекрасный способ сделать правильно. И тридцать пять вариантов - как ошибиться. Сегодня мы рассмотрим первые шесть... да. И наша задача на эту неделю - найти еще три концептуально неверных способа.

Потому как - если все идет хорошо, то тестировщик не нужен. Тестировщик - это обработка исключений, нештатных ситуаций. С техникой.

А хороший тестировщик умеет обрабатывать нештатные ситуации еще и с людьми. Но это должен быть действительно хороший тестировщик.

К чему это все? Демиурги учат, как тестировать правильно. Давайте спросим, как тестировать неправильно. А? У меня есть варианты.

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

  1. Как тестировать не правильно?

    Ну на пример. Программист пишет функцию, меняющую два полу-байта в байте местами. Тестировщик тестирует следующими кейсами: 0х00, 0хFF, 0xAA

    ОтветитьУдалить
  2. Скорее всего я не понял юмора, хотя у меня есть курсач по ассемблеру.

    Классы эквивалентности все учили перед собеседованием.

    А ассемблер учили не все. Так что готовимся, что будут пытаться передать функции вообще невпихуемое (штатные значения в нее впихнет юнит тест).

    А у функции свои бизнес цели. И на первом уровне абстракции она нам отдаст штатный эксепшн.

    А дельше? Она точно удалит данные которые успела внести в процессе выполнения(некоторые коммитят поэтапно)? И даже занесла это в логи? Да ну нахрен?

    На этапе переноса в аккумулятор(и прочем ассемблере) косячат редко, и это выявляется статическим анализом кода.
    А вот на бизнес логике то даа...

    ОтветитьУдалить
  3. Все проще ;)

    Если у меня есть функция, меняющая два полу-байта местами. Что она выдаст для входного байта 0хАА?
    А если функция работает не правильно и тупо возвращает то, что ей дали на вход, что она вернет для 0хАА?

    Ну? :)

    ОтветитьУдалить
  4. Да не знаю я сейчас, что она вернет. И думать не хочу об этом. Что-то типа FF она вернет, наверное.

    Я не программист. Как мне рассказывал один инженер - четверть процессорного времени уходит на обработку ошибок печатной платы. Пусть уходит, это не наши печали, или я не прав?

    На 87% уверен, что это заметит любой анализатор кода.
    Но он не заметит, что кое что из ненужного уже записано в какой-нибудь адрес. Которы

    ОтветитьУдалить
  5. Который уже будут юзать всерьез.

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