Автор: Pradeep Soundararajan,
Consulting tester of Satisfice.com in India
С удовольствием перевел: Алексей Лупан,
худший друг программиста
Презентация, которую сделал Прадиип, посвящена развенчиванию двух устойчивых мифов о сути тестирования.
Я хотел просто перевести ее «в буквы», но по ходу перевода не удержался, и…
Автор в курсе содеянного, и полностью одобрил мой перевод.
Комментарии автора приведены в оригинале, и помечены зеленым цветом.
Исходное видео: утрачено.
Видел я несколько видеокастах о тестировании на ваших Youtube-ах. Их авторы распространяли довольно грубые толкования в сфере тестирования программного обеспечения.
Посредством моей презентации я хочу развенчать хотя бы два, но реально популярных мифа о тестировании.
Миф 1: Тестирование улучшает качество продукта
Многие тестировщики, которых я встречал на моем на жизненном пути, верят в этот миф.
Вот вам история — у меня заболел живот. Я подумал — о, это рак!
Врач направил меня на обследование: анализ крови, мозга, мочевины и так далее. Принес я ему эти анализы, а он и говорит: «Уупс, мужик, у тебя реально рак».
Я подумал: «Блин». Я так и подумал.
Врач предложил мне химиотерапию — примерно за $5000. Я не мог себе это позволить, поэтому решил, что костоправ прикалывается с меня, чтобы бабки содрать. Ну, и я стуканул на него в полицию.
Ну, и они пришли, и повязали, суки, и ноги, и руки, как падаль по грязи поволокли меня самого в Тихар (это «Владимирский централ» в Индии, крупнейшая тюрьма во всей Азии).
Меня, мальчишечку, обвинили в том, что я пачкаю своими грязными лапами светлое имя ихъ вашскобродия доктора, попрал ихъ репутацию своим лживыми заверениями, и что оне очень уж на мене обижены.
Сидя в некрасивой тюрьме я часто видел сны, и вот что кажется мне: что врут все те, кто искренне верит в миф #1 — «тестирование улучшает качество продукта».
Ведь если тестирование действительно улучшает качество, то после 51-го проведенных врачебных тестов мой рак желудка уже должен был излечиться самостоятельно! Почему же это не произошло? Ведь мы же тестировали всё мое тело…
А тут врач решил навестить меня там, где должен был сидеть он сам — в тюрьме. Я спросил врача: «Wtf?» То есть, как же так? Я тестировщик, я всю жизнь учился тому, что тестирование само по себе уже улучшает качество, мы с вами вовсю протестировали мой желудок, а я — тут, света белого не вижу.
И ответил мне бравый доктор с незапятнанной репутацией: «Чувааааак! Информация, полученная после проведенных исследований, не лечит, она только помогает мне лечить. Анализы, которые ты мне принес, могут помочь мне «починить» тебя».
Гм.
Это был реальный урок.
— Доктор, вы имеете ввиду, что тестирование только снабжает нас информацией о качестве?
— Да, о ты, глупый лягушонок, недостойный сын шакала Табаки, пылинка с хвоста слона Хатхи, о ты, тестировщик программного обеспечения, долбанутый лапой Балу!
— Блин…
То есть, я до сих пор верил множеству идиотов из славной индустрии программного обеспечения в том, что тестирование улучшает качество, а тут белохалатник меня так просто и элегантно вразумил… Баааалин!
Спрошенный о количестве упомянутых «a lot of idiotic people», Прадиип объяснил:
Not having right knowledge for a long time could also mean they are idiotic to have not discovered about it nor taken any action to improve. I don’t know the count but I can definitely say there is one — myself. I can’t be brilliant all times and I interact with myself most of the times.
В чем смысл тестирования?
«Тестирование — это изучение программного продукта с целью его оценки» — James Bach.
Каждый тест, который мы сотворяем с тестируемым софтом, сотворяется только для того, чтобы оценить, как продукт откликается на наши действия. Мы постоянно спрашиваем софт: «А вот я тебя… И что ты мне ответишь? А?»
Кем Кэйнер (для многих — Сэм Канер) сказал: «Тестирование снабжает менеджмент проекта информацией о качестве продукта, для того, чтобы помочь им принимать решения»
Например, я пойду к менеджеру и скажу «Моя нашло 50 некритичного бага-бага, йоу!», и менеджер скажет «Йоу, давай релизать в продакшн!»…
Ну, а если я скажу, что нашел только пять багов, но один из них не позволяет установить продукт… Менеджер скажет: «Oh, yeti russian programmisten, opiati oni ne po spekam kodiat! Мы опять не можем деливерать продакт нашим кастомерам, балин…»
Итак, что мы имеем? Мы имеем менеджеров, которые принимают решение о релизе нашего багософта на основании предоставляемой нами информации. А кто информацию предоставил? А Коробейников, на старости лет не оставил нас в нужде, снабдил ордерами-то…
Вот это и есть работа тестировщиков.
— Прадиип, действительно ли это был рак? И сидел в тюрьме?
— No, it was a made up story. However it definitely hits hard on the fact that testing by itself doesn’t improve quality.
Миф 2: Тест-кейсы находят баги!
Много людей в Индии, и, наверное, в остальных Молдовах, уверены в том, что тест-кейсы находят баги. Вот вам другая реальная история.James Bach, эксперт в тестировании и заумный чувак философ, нанял меня на пару раундов тестирования. Он обещал мне по $10 за каждый баг, который я найду.
И я подумал:
Я написал туеву хучу тест-кейсов, и с их помощью нашел 30 багов.
Я сказал: «Джеймс — гони бабки! Принимаю любой эквивалент — рупии, пиастры, леи, доллары, прекрасные наложницы…»
А он не дал мне ни фига.
Тогда я понаписал еще тест-кейсиков, и нашел еще 32 бага. Короче, я уже намеревался купить свой свечной заводик.
А он снова не дал мне ни фига.
Я сказал: «Yarr! Мужик, ты явно хочешь прогуляться по нок-рее…»
Толстый и добрый Джеймс ответил мне следующее: «Ты не нашел баги. Это твои тест-кейсы нашли баги, поэтому тебе я не заплачу ничего. Налоги и смерть — такова селяви».
Я хотел его убить поблагодарил в лучших традициях «Рамаяны» и «Махабхараты», сказав: «Джеймс, ты преподал мне отличнейший урок о тестировании. Подавись ты моими баксами».
А он добавил: «Но в действительности, баги ищут не тесты, а люди. Тесты лишь помогают людям искать баги». И вернулся в астрал.
Джеймс Бах отличный тестировщик. Он помог мне понять эти простые истины.
Процитируем первоисточник:
…it is not a test that finds a bug but it is a human that finds a bug and a test plays a role in helping the human find it.
Ладно, вам все еще интересно, сколько денег я сколотил с моего тестирования?
Миллион!
Серьезно, шо ли!?
Не, серьезно!
Ну, например, Бах своим миллионы «поднял» именно с тестирования, так что…
Я перестал тратить время на написание тест-кейсов, и стал тратить время на поиск багов.
Если моя миссия в этой жизни — искать баги, и я ограничен во времени (помните, что у нас нет трех или четырех жизней на тестирование продукта?), то я стал экспериментировать и искать баги. И стал находить их намного больше, чем раньше.
— Прадиип, а как же реинкарнация? Ты же можешь вернуться в любой момент…
— I might have a thousand lives but who knows I’d be a tester in all those lives 😉
Буквально только что готовил новый договор на заказное тестирование, цитирую из раздела «Определения»:
Тестирование – комплекс работ, имеющих целью предоставление Заказчику информации (экспертной оценки) о качестве информационных систем Заказчика.
Слава хорошим Заказчикам, которые это понимают!
А то иногда, действительно, замучаешься объяснять…
Еще на тему о мифах — All globalization testing myths