пятница, 5 марта 2010 г.

Первая аксиома тестирования

Думаю, периодически полезно оглядываться назад и задумываться о том, что ты вынес из прошлого опыта. Вот и я решила вспомнить, что дали мне те проекты, на которых я работала.

Мой первый проект был для меня своего рода испытанием. Я тогда была совсем зелёной девочкой, с самым поверхностным представлением о тестировании, и при этом оказалась единственным тестером на проекте.

Конечно, этот проект мне многое дал - первые попытки написания отчётов о найденных ошибках, первые попытки построения нормального взаимодействия с разработчиками, первые рабочие конфликты… Большинство из этого помнится уже достаточно плохо. Но что я помню до сих пор и что я считаю своим самым главным приобретением на этом проекте - это те слова, которые сказал мне руководитель этого проекта:


тестировщик лучше всех должен знать, как должно работать приложение

Возможно, цитата уже не точная, и вероятно, можно поспорить, что кто-то что-то в проекте может это знать так же хорошо, или даже лучше - суть не в этом.

Суть в том, что если ты что-то тестируешь, ты должен знать, как что-то работать должно. Без этого тестирования просто быть не может, ведь как проверять что-то на правильность, когда ты не знаешь, что значит правильно.

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

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

  1. Буду поспорить.
    >ты должен знать, как что-то работать должно
    Это таки верно, но с фразой
    >тестировщик лучше всех должен знать, как должно работать приложение
    позволю не согласиться. Лучше всех знает аналитик, особенно готовящий внедрение. Тестировщик желания клиентов знает совсем не все.
    Предложу, на мой взгляд, более точную, но более бесполезную фразу:

    Тестировщик лучше всех должен знать, как не должно работать приложение

    ОтветитьУдалить
  2. Ну, насчёт "лучше всех" - я сама же сразу после цитаты про это писала.
    Но при этом - кто мешает тестировщику в общении с аналитиком выяснить всё, что знает тот? И разве не полезно тестировщику стремиться узнать, что именно хотят заказчики? (Уж ежели мы допускаем, что желания заказчиков, знание аналитика и информация, доступная тестировщику - это разные вещи.)

    А насчёт «более точной фразы» не соглашусь категорически: «как не должно работать» - это бесконечное множество, «как должно работать» - единственно верный вариант, именно от которого и следует отталкиваться при тестировании.

    Разумеется, это моё субъективное мнение. А истина, вероятно, где-то рядом :)

    ОтветитьУдалить
  3. У аналитика не такая простая работа, чтоб тестер покрывал ее всю.

    «как не должно работать» - это бесконечное множество Но - более очевидных вещей.
    «как должно работать» - единственно верный вариант - не соглашусь, скорее конечное множество неочевидных.

    ОтветитьУдалить
  4. Боюсь, что мы слегка увлеклись дискуссией ради дискуссии (или мне так только кажется) :)

    По п.1: я не говорю, что у аналитика простая работа. И я ни в коем случае не заставляю тестера проделывать её. Но я говорю о том, что тестер-то может у аналитика выяснить, как оно должно работать? Почему это должно быть тайным знанием аналитика, которое недоступно другим?
    И снова повторю: я и не утверждаю, что тестировщик должен знать "лучше всех" (см. полный исходный текст)

    По п.2: попробую зайти с другой стороны: как тестировщик может знать, как НЕ должно работать, если он не будет знать, как ДОЛЖНО работать?

    И всё-таки вот та главная мысль, ради которой я эту заметку писала (выделю-ка я её в тексте жирным шрифтом):

    "Суть в том, что если ты что-то тестируешь, ты должен знать, как что-то работать должно. Без этого тестирования просто быть не может, ведь как проверять что-то на правильность, когда ты не знаешь, что значит правильно."

    Дискутируем дальше, или как? :)

    ОтветитьУдалить
  5. Ну так аналитик же оформляет свои видения продукта в доки. Иначе в работе аналитика и нет смысла - писать только для себя) И эти доки потом изучает тестировщик чтобы узнать как оно должно работать =)

    ОтветитьУдалить
  6. "если ты что-то тестируешь, ты должен знать, как что-то работать должно."
    Да, капитан Очевидность подтверждает, что без формулировки ожидаемого результата невозможно провести тест.
    А вот еще интересно в быту это реализовать, при покупке или эксплуатации пылесоса, лыж, кофе-машины и т.д. и т.д. и т.д.
    Вся наша жизнь это тестирование. Мы тестируем свою жизнь, не осознавая (или осознавая) этого.

    ОтветитьУдалить
  7. Ну, кто-то тестирует, а кто-то принимает всё, как оно есть.

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

    Кстати, перенос тестирования в жизнь - часто ещё занудством обзывают %)

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