четверг, 25 июня 2009 г.

Лекция часть третья

Внимание! Автор текста - не я. Это пересказ своими словами\пародия на то, что я слышал и читал. Надеюсь, никого не обидел.

По мотивам лекции, прочитанной ведущим программистом отделу SD в четверг, 4 июня 2009 года. А также по мотивам обзорной лекции, прочитанной Бригом в неизвестном здании Новосибирска(Хроники тестировщика). Я практически ничего не добавил от себя, а лишь смержил две отличнейших лекции.
Слушайте и не говорите, что вы не слышали.

Часть первая
Часть вторая

Часть третья и последняя.

Но все это, собственно, лирика. А мы — о тестировании. Собственно, а что это такое — тестирование?

Уже очень давно пионеры тестирования на загнивающем капиталистическом западе дали красивое в своей простоте определение: тестирование это проверка соответствия “as is” и “to be”.
Что значит аs is? Это то, что мы держим в руках и имеем полную возможность без промедления выпить.. то есть запустить, настроить и работать.
Гораздо интересней понять, что такое to be? Не будем подниматься в облака размышлений аналитиков и тем более не станем сочувствовать горечи клиентов.
Что такое to be продукта для тестировщика? Измерить расстояние от продукта до мечты сложно но именно такой путь был выбран, поэтому нужно to be облечь во вполне земные формы, в которые потом можно будет ткнуть носом программистов. Такой земной формой обычно бывает техпроект, техзадание, требование клиента и прочие бумаги с подписью и печатью.
Но стопроцентное документирование есть только на бедном духом Западе, где регламентирован каждый чих и нет места полету фантазии.
Итак мы наблюдаем острый недостаток информации о мечте. В таком случае тестировщику на помощь приходит здравый смысл и смекалка. Конечно, эта здравый смысл подскажет тестировщику, что на странице приветствия должно быть написано это самое приветствие, а не «хуй». Но в более сложных случаях, где мы имеем непростой бизнес-процесс, это чутье может сослужить плохую службу, к примеру — автоматическая отправка писем контрагентам с пожеланием отправиться в пешую эротическую прогулку может быть абсолютно уместна, ведь заказчики бывают весьма своеобразны и для разруливания подобных вопросов тестировщику непременно необходим продуктовый аналитик.

Передайте мне салату и продолжим. Физику и философию никто не отменял и, как любое действие тут же получит в рыло адекватное противодействие, как твой взгляд в бездну породит ответный взор бездны на тебя, так и не только тестировщик тестирует продукт, но и продукт тестирует тестировщика. Проще говоря, процесс тестирования зависит от того, что, собственно, тестируется.
Итак, о наших баранах.
Господа и особенно дамы! Положа руку на грудь, вы смогли бы ответить мне на такой вопрос: Что такое продукт SD? Не надо цитировать рекламу.
А такой вопрос: какие функции в порядке убывания важности вы относите к продукту? Какие он выполняет и должен выполнять? А ведь это важнейшие вещи, которые и дают нам частицу понимания того, зачем мы все здесь, собственно, собрались. Я не буду отвечать на этот вопрос, вы завтра на полчаса отвлекитесь от интернета и сами составьте списочек.
Да, Ольга? Список уже составлялся? И есть непересекающееся дерево функционала?
И ты можешь сказать, что из этого тестируется? А в процентах? А сколько времени занимает тестированиие? Ты молчишь и улыбаешься, а это надо знать. В такой таблице не должно быть пустых полей.

Закуска скоро закончится и мы плавно переходим от слов к делу. Точнее к словам о том, что надо делать.
Наша лекция называется «мифы и реальность». Так ударим реальностью по мифам.
Если быть точным, то наше все — понимание каждым не только своей задачи... нет, Максим, я сейчас не о твоей задаче — заработать на вино и женщин — а о нашей — приближение реальности к мечте... и спорить о мечтах тоже не буду, мы говорим о продукте... итак, не только своей задачи, но и задач коллег. Чтоб человек понимал смысл просиживания своей задницы, но и вникал в суть просиживания задницы соседа.
Отсюда задание как всегда тебе, Оля: создан документ “Покрытие тестами” - поддерживать и дополнять его. Чем дополнять?
Первое. Весь продукт поделить на тестируемые функции, с глубиной дерева функционала не более не более 3 уровней.
Второе. Добиться того, чтоб функции в списке не пересекались.
Третье. Указать объем тестирования – нет, частичное, полное.
Четвертое. Указать способ тестирования – ручное, автоматизированное через интерфейс, автоматизированное на стороне сервера.
Пятое. В этом же документе — и в голове - ответить на вопросы:
Шестое. Какие функции не включены в список?
И, наконец, седьмое. Сколько времени занимает тестирование каждой функции.

Ольга, ты можешь ответить на вопрос: сколько времени займет полное тестирование всего функционала клиентского стенда? Не помнишь, давно это было? Слышите, менеджеры? И хорошо, что не слышат клиенты.
Ты говоришь, что тестируется две трети функционала? А присутствующие могут сказать, что именно не тестируется? Вот-вот.
Что еще нам надо сделать?
Нам нужно пройти босиком по тонкому лезвию баланса между объемом тестирования и трудозатратами. А точнее вот что.
Вспомнить, что машина была создана для того, чтоб заменить труд человека, а не для просмотра порно. Быстрее, лучше и сильнее заняться автоматизацией тестирования.
Господам менеджерам проекта нужно уяснить для себя, простую мысль: мы живем в условиях нехватки ресурсов, и если вы скажете, что тестировать надо все, то протестируется что попало. Указывайте конкретные вещи.
Программистам необходимо сбросить с себя пафос творцов и всерьез подойти к тестированию, вы имеете возможность сэкономить больше всего времени, сил и денег.
Всем и каждому: не плодить версии и конфигурации, важно помнить, что их количество — коэффициент перед трудозатратами на тестирование.
Приоритетно автоматизировать наиболее проблемные, важные и редкотестируемые участки кода.
Не забывать школьный курс экономики и помнить, что специализация придумана не зря.


А теперь мы плавно переходим к собственно, финалу. Что надо, чтобы сберечь нервы при разработке продукта?

1. Иметь, собственно, продукт.
2. Иметь команду, которая имела свои разные продукты, и с удовольствием будет иметь ваш, какой бы смысл они ни вкладывали в эти слова;
3. Иметь элементарную аккуратность;
4. Понимать, что машинная логика не есть логика человеческая;
5. Понимать, что практика не имеет ничего общего с теорией;
6. Понимать, что практика без теории нихуя не значит;
7. Понимать, что продукт написан людьми и, соответственно, в нем нет ничего сверхъестественного;
8. Понимать, что продукт написан людьми и, соответственно, в нем искра божья;
9. Считать его другом.


На этом позвольте торжественную часть закончить и перейти, наконец, к неофициальной. Леночка, хотите кофе в постель? Это очень просто…

Конец третьей части.
Здесь были рассмотрены вопросы

Комментариев нет:

Отправить комментарий