Трудности исследовательского тестирования

Пять тысяч слов о серьезном и наболевшем.

Без картинок, но с линками и отступлениями.

Думал и писал долго.

Дочитал книгу «Secrets of a Buccaneer-Scholar» (How Self-Education and the Pursuit af Passion Can Lead to a Lifetime of Success) by JAMES BACH.

Книга не о тестировании as is, она о корнях и истоках того, что называется «исследовательское тестирование». ИссТест.

Уместный анекдот, в котором заключается вся суть исследовательского тестирования:

— Бэрримор, что это хлюпает у меня в ботинке?

— Овсянка, сэр!

— Но что она там делает?

— Хлюпает, сэр.

Что такое Исследовательское тестирование по SWEBOK

it4business.ru

Это одновременное обучение, проектирование теста и его исполнение.

Данный вид тестирования заранее не определяется в плане тестирования и такие тесты создаются, выполняются и модифицируются динамически, по мере необходимости.

Эффективность исследовательских тестов напрямую зависит от знаний инженера, формируемых на основе поведения тестируемого продукта в процессе проведения тестирования, степени знакомства с приложением, платформой, типами возможных сбоев и дефектов, рисками, ассоциированными с конкретным продуктом и т.п.

wikipedia.org

Cem Kaner, who coined the term in 1983, now defines exploratory testing as «a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project.»

Exploratory testing is often thought of as a black box testing technique. Instead, those who have studied it consider it a test approach that can be applied to any test technique, at any stage in the development process. The key is not the test technique nor the item being tested or reviewed; the key is the cognitive engagement of the tester, and the tester’s responsibility for managing his or her time.

Давно-давным, при первом знакомстве с этим термином, я подумал, что речь идет о разновидности dumb monkey testing (открой сайт и бессистемно кликай, авось, найдешь ошибку), подходом, который я не люблю, но в котором в какое-то время даже преуспел.

Случайно я нашел однозначный способ резко и безапелляционно закрэшить какую-то из версий «Reuters Xtra 3000»*, и достиг этого именно потому, что внимательно, но достаточно бестолково переходил по линкам и заполнял поля каким-то подходящим по смыслу бредом. Нечем гордиться.

* Гигантская софтина для трейдеров международных товарных бирж.

Потом понял, что ошибся, и посчитал ИссТест «тестированием без четкого плана и целей, но логичным». Плюс изучение продукта в ходе взаимодействия с ним. Это было ново и круто. Вместо того, чтобы сперва изучить матчасть и правила дорожного движения, предлагается сразу сесть за руль и поехать, нарабатывая знания на ходу…

Потом понял, что снова ошибся, и назвал это «тестирование по плану, но с возможностью вариаций; плюс изучение продукта в ходе тестирования».

Потом понял, что (настоящих тестировщиков неоднозначность и разное толкование профессиональной терминологии уже не удивляет!) это даже не вид тестирования, а вообще ПОДХОД. А подход подразумевает шиииииирокое поле самостоятельной деятельности. И что этот подход — дитя agile…

Тут стало туманнее — ведь agile у каждого свой 🙂 И в беседах про agile обязательно надо уточнять, что именно визави подразумевает под тем или иным термином.

Я забил и забыл про исследовательское тестирование. В конце концов, я не использую определенные методы и подходы, у меня в работе великий микс всего понемногу, в зависмости от контекста и поставленных задач. Не удивлюсь, если окажется, что я как раз специализируюсь на исследовательском, даже если не знаю этого термина.

Знаю, не знаю — делов-то… Надо — изучу. Не надо — ну и не надо.

Я очень люблю Error guessing. Искать «слабые места» в софте я предпочитаю более логически, нежели интуитивно. Уметь «вычленять» проявление багов в определенных, труднодоступных местах, умение предупреждать места их нахождения, а затем действительно суметь их найти, обосновать, указать на точную причину проблемы — это круто. Очень круто. Это круче и ценнее, нежели «Вот вам скриншот, вот подробные шаги — разберитесь сами». Хоть и дольше и затратнее.

Но и от «классического подхода» «Сперва изучать документацию, затем составлять подробные тест-кейсы, стараясь максимально прояснить, придумать, описать варианты пользования, и надеяться на то, что это поможет «быть уверенным» — меня колбасит.

Поэтому — микс органичен!

Тестирование «строго по тест-кейсам» мало того, что утомляет повторяемостью и безусловно снижает драгоценное внимание, но еще и реально устанавливает ощущение ограниченности, и ощущение «работаю для тим-лида, шоб он сдох». Коробит, если хорошим результатом дня условно считается «успел пройти весь скрипт».

Понимаю в определенных обстоятельствах ценность этого подхода, но ведь сейчас я говорю только о себе, а не о том, как все надо «взять и поделить».

В agile я поначалу не понял, что именно следует делать мануальному тестировщику — кругом все носятся с автоматизацией…

Потом понял, что если программа предназначена для использования людьми — без мануального тестирования не обойтись. Проблема только в организации такой работы — привыкшим к последовательным этапам и подробным тест-кейсам бывает сложно переориентироваться. Но именно тут и работает это самое «исследовательское»! Ну, оно же и родилось в agile и для agile.

Тогда я стал искать теорию и практику иследовательского тестирования, чтобы не изобретать горный велосипед с подогревом, и поскучнел, бо НЕ НАШЕЛ теорию исследовательского тестирования. Нашел только блогосферные огрызки толкований отдельных аспектов этого подхода.

Собственно, какая там теория, если это просто подход, а не методология…

Учеба «по-блогам» — это круто (я сам ее продукт), но в принципе у такой учебы есть большие проблемы.

Учеба по-блогам

Например, блогученику свойственно придавать неимоверно важное значение дизайну, юзабилити, логике, производительности интернет-магазина, который находится у него в разработке. Он знает все про важность выбора доменного имени, знает все про плотность ключевых слов в абзаце на странице, знает все о продвижении сайта… Знает, что нужную информацию пользователь должен найти максимум в три клика с главной страницы, и знает, что пользователи не читают ни справку, ни предупреждения, ни тексты на странице (они вообще с закрытыми глазами серфят), и если загрузка страницы длится больше пяти секунд — сразу убегают к конкурентам.

В действительности — люди очень упорно возятся с нафигацией сайта, на который попадают в поиске чего-то, и при возникновении проблем склонны винить в неспособности найти нужное… скорее себя, чем сайтосоздателей.

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

И не думает (ибо еще не знает) о том, как обустроена система доставки товаров, как обустроено их хранение, как устанавливается прохождение товара по статусам, как важно хранить и моментально давать пользователю историю каждой отдельной покупки и всех предыдущих тоже.

Он думает о том, как расположить и структурировать информацию… Он думает о том, что «вот сделаем каталог, и это, вероятно, будет способствовать продажам.

Учеба «по-блогам» легко даст понятия и представление о чем-то, но с трудом расскажет основы, теорию, фундаментальность. Все это, обычно, в книгах. В лекциях. В головах других людей. И носители этих фундаментальных основ в своих блогах пишут про отдельные аспекты, а не про основу. Предполагается, что основу читатель знает, или же изучит.

Куда там…

К чему приводит такая учеба: когда-нибудь ученик все равно захочет увидеть стройную систему в своих знаниях. Захочет «силлабус». Если найти систему сложно — придется строить ее самостоятельно. Придется делать обобщения и выводы, а они могут существенно отличаться от реального положения дел.

Примеры пагубного воздействия учебы «по-блогам»

Девчонки, я мыла лицо мылом с яблочным ароматом. И у меня исчезли прыщи. Мой вам совет — чтобы прыщи сошли, используйте «яблочное» мыло!

Ученик не знал о том, что его личный «переходный возраст» как раз завершился, и что «яблочное» мыло — просто совпадение. Но вывод уже сделан, и возведен в степень системы.

Я сто раз ходил «на дело», и попался только потому, что меня сдали подельники. Мой вам совет — на дело надо ходить только в одиночку.

Ученик не знал о том, что «если воровал, значит — сел» при любом раскладе, и что подельники — просто совпадение. Но вывод уже сделан, и возведен в степень системы.

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

Ученик не знал о том, что одновременно со сменой домена у него на странице «Контакты» кто-то приписал телефоны его офиса, и убрал безликую форму «Обратная связь», которая никак не сообщала, куда пойдет письмо и дойдет ли вообще. Ну, не знал он, что телефон в продажах через интернет — один из серьезнейших стимулов доверия к магазину, и что при покупке через интернет телефон используется чаще, чем написание емайлов. Но вывод уже сделан.

Еще раз: учеба «по-блогам» хороша для прояснения деталей, но с системой профильных знаний надо знакомиться по книгам и людям, которые с этой системой УЖЕ знакомы. Ищи первоисточник, а не его пересказ

«Ваш Карузо ужасно фальшивит! Я его лично не слышал, но Рабинович мне кое-что напел».

Моя проблема с исследовательским тестированием была в том, что я знакомился с ним по-блогам. Впечатление получилось неполное, неточное, неясное. И каждая новая статья приносила путаницу в стиле Алисы в стране чудес («Чтобы стоять на месте — надо быстро бежать!»)

Даже шикарная статья «Исследовательское тестирование: В поисках музыки исследования ПО», по-моему, приносит больше смятения и путаницы, нежели ясного толкования исследовательского тестирования («Конечно, эта статья не претендует на стройное изложение идей исследовательского тестирования, скорее она призвана привлечь интерес профессиональных тестировщиков к этому виду тестирования»). В ней сделан упор на объяснение того, какими качествами должен обладать тестировщик, который использует ИссТест, а не на объяснение сути ИссТест.

Мне все кажется, что надо знакомиться с этим подходом по статьям «о сути», когда можно самостоятельно прикинуть и определить собственную подходимость к ИссТест.

Я рад, что смог полностью прочитать «Secrets of a Buccaneer-Scholar». Оказывается, этот подход ИссТест — серьезная, фундаментальная система жизнеобразования. Exploratory — это не столько стиль тестирования, сколько стиль жизни отдельно взятого Джеймса Баха. И подход «исследовательское тестирование» — следствие его рутинной жизнедеятельности.

После знакомства с его подходом к жизни и к обучению вообще, термин «исследовательское тестирование» становится весьма простым, понятным, недвусмысленным, доходчивым. Он органичен для его автора. Это, грубо говоря, сам Джеймс Бах. Ни добавить, ни отнять — бери, как есть.

(Не) бросай на фиг школу!

Способ учебы, который использует Бах, для «среднего» человека немыслим. Если судить о нем по первому впечатлению, и попытаться следовать его жизненному примеру, то картинка такая:

«Бросай нафиг школу!

Не ходи в университеты!

Учись самостоятельно!

Это может сделать каждый!»

Ничего подобного.

Среднему индивиду прямая дорога в школу, затем в вуз, затем на работу, затем на кладбище — удобрением был, удобрением и остался.

Самообучение сродни мастерам в agile – для того, чтобы быть «Гибким», надо сперва стать крайне собранным, огранизованным, самостоятельным, сильным духом. Иначе тебе будет нужен постоянный менеджер, который будет давать тебе работу, зарплату, пинок под зад, затем ты начнешь искать себе следующего менеджера… А дракона нужно убивать в себе.

Типам вроде Баха можно завидовать. Я, например, в свое время очень хотел бросить школу. Не посмел, отчисление из школы считалось очень серьезным наказанием. Хотя по-молодости несколько раз был на грани 🙂

Многое, очень многое мог бы сделать и до этого момента, если бы на пути оказался бы кто-то, кто помог избавиться от страхов вроде «Надо учиться только в вузе, ведь без диплома меня никто не возьмет на работу…» Ну, наверстаю. Сам.

Институт я хотел бросить уже на втором курсе, кроме шуток. Не посмел. Но, таки бросил, на самом последнем курсе, потому что обстоятельства сложились непробиваемые для авторитета моей мамы — «ввиду неоплаты учебы не допускать к выпускным экзаменам следующих студентов…» Я сказал «Наконец-то!» и убежал работать, убежал туда, где мне было интересно. Начал просто учиться профессии.

Может быть, мне просто повезло?

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

И скатиться очень легко. Начнем хотя бы с «Надо бросить школу».

Да, если у тебя есть собственная система обучения, и та, что представлена в школе, тебе только мешает учиться.

Нет, если тебе просто лениво и собственной системы нет. Или если ты считаешь, что и так достаточно разумен, чтобы жить «без образования».

Бах считает, что пойти «его путем» может каждый. Точнее, он призывает попробовать. В самом начале книги есть знаковый диалог между ним и типичной учительницей:

«Mr, Bach, I want you to know that I will recommend against you speaking at our school again,» she said. «Your message is dangerous for children to hear.»

She was almost right. It was dangerous, what I said — dangerous for her. To maintain a docile herd of students, her school needs them to accept certain truths:

* You must study what we tell you. What we say is the only thing that matters.

* You must pass our tests. Our tests measure the only important things about you,

* You must attend school. Only through schooling can you hope to enjoy a good life.

This is what I call schoolism — the belief that schooling is the necessary and exclusive way to get a good education. Musf and only!

«I told them about myself,» I said, «and how I came to be here, I told them the truth.»

«It may be true for you,» she replied. But these kids aren’t super smart like you. They don’t come from well-off families. They’re barely staying in school, and you just told them that they don’t need to be here. They do need to be here!»

«Yes they could be successful if they put in the work,» she conceded. «But I don’t think they heard that part of your message. I’m barely holding on to some of these kids as it is. I’m afraid you’ve made my job much harder, Mr. Bach. Some of them are going to take a ‘what the hell’ attitude instead of applying themselves.»

«So what if they do?» I replied. «This is America. They probably won’t starve. They probably won’t be eaten by wolves. If they don’t care about education, they may be forced to 14 work at low-skilied jobs they won’t enjoy, such as fast food or house cleaning. However bad those fates may sound, they are neither fatal nor permanent. Or perhaps they will accidentally educate themselves by starting a new business, building things, or doing theatre, music, or sports. Are you worried they’ll turn to crime? Then show them more options, not fewer. They will learn and grow from anything that happens, unless they believe there is no hope. Your job is not to make them huddle quietly in a corral, but to help them get out there and seek their fortunes. Show them a way!»

Ближе к концу книги он вообще говорит:

A typical public school in the United States is all about honoring the herd. The students are supposed to be sheep, but too many of the teachers are just older and fatter sheep. Schoolism is a herd mentality.

Прошу учесть, что фраза высказана в определенном контексте. Вырывать ее не следует.

Итак, Бах считает, что пойти «его путем» может каждый. Логично предсказать, что заниматься исследовательским тестированием может каждый?

Не может.

Нужно быть реально предрасположенным к такой деятельности.

Нужно уметь учиться «на ходу» НЕ ТОЛЬКО в процессе тестирования. Это должно быть нормой жизни. И умение это заключается не только в постоянном чтении блогов, it4business форума или статей с Software-Testing.ru.

Нужно уметь самостоятельно решать, что нужно изучить для дела, а что нет. Сам Бах руководствуется собственным интересом — где ему становится интересно, там он и «копает» углубленно. И ищет он, конечно, системность.

Вот как Джеймс учит историю:

Roman Empire fell on some date. What was it? 476? That is not interesting history to me. I care about why Rome fell, not whether it fell on a Tuesday.

What authentic problem motivated my questions? My need to make sense of the world. I wanted to understand human events on a millennial global scale, as well as a household daily scale. At the time, I thought that having the ability to analyze society and history in terms of the questions on my syllabus would help me be more comfortable even within the confines of my own life experience.

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

По плану у нас записано «Причины падения Римской империи».

Знаете причины?

Ну, рабов у них было слишком много, и вот, ослабли…

Ну, политическая система обрушилась от собственной тяжести — солдаты в провинциях начали избирать собственных императоров, и таскать их в Рим (практика была не новой, но когда она приобрела пропорции вселенского флэш-моба, столичные власти не смогли ею управлять).

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

Однако умение учиться самостоятельно доступно многим.

Вот как Джеймс учится «для работы»:

One day a lawyer called me with a proposal: «We’d like to hire you to find if a software product infringes our patent. Is that the kind of testing you do?»

I said, «Yeah!» (I had never tested a product for patent infringement before. But I could test for anything.)

She asked, «Do you know the technology behind network switching in Windows?» I said, «Yeah!» (I didn’t know what she was talking about. But I could learn it.)

Then she asked me to read the patent and examine the product. Look at the first claim in that patent:

«1. A method for dynamically routing data over multiple dissimilar parallel wireless networks that are each monitored for status information, the method comprising: maintaining a priority of each wireless network, the priorities indicating a most preferred path; determining availability of each wireless network based upon status information associated with each wireless network; indicating a current most preferred network from the wireless networks determined to be available, the indication being based upon the network priorities; switching from a current network, which is dissimilar from the current most preferred network, to the current most preferred network during a transmission, at least one of the current network and current most preferred network being time continuous; and remaining connected to the current network for a period of time after switching to the current most preferred network.«

Did you read it through? If not, you’re in good company: me. According to the Flesch-Kincaid Index, which measures reading difficulty, that text is written at a sixtieth grade level. I found it terribly confusing, at first.

This was a high-pressure learning challenge.

How do you think I felt when I finally forced myself to read all those words? I was being paid three hundred dollars per hour. My client expected me to read the patent and understand it. I didn’t understand it. Was I intimidated?

No. By the time you finish this book, you won’t feel intimidated by complex and obscure text, either.

Complexity and obscurity are illusions. They are figments of mind-shock. For a buccaneer mind-shock is no cause for alarm. It is a temporary condition, a big wave coming over the bow. There’s a splash. I get wet. But steady on the helm, there. She’ll pull through.

On first reading, I wasn’t sure I was qualified to do the project. The expert on the other side of the case, a professor at a well-respected university, was taken aback to discover his intellectual opponent was a high school dropout.

Guess who won the case.

By the time we went to trial, I had become a wizard of the patent. I wrote a program to separate and index each sentence, clause, and word. I memorized most of the three patents involved, analyzing them over hundreds of hours. I absorbed a dozen books on networking technology. I constructed a dedicated test lab. I studied the underlying instructions that comprised the product, and used a variety of hacking tools to analyze its operation. I was better prepared than the professor. He spent two or three days testing it. I devoted nearly four hundred hours to testing it. I brought in a video crew to film me testing it. I tested it inside out and sideways.

The jury noticed.

The facts were on our side, of course. That helps when you need to win a lawsuit. But here’s my point: the reason I plunged into this project, even though I didn’t know whether I was smart enough to complete it, was because I knew I was smart enough to start. Starting is what matters. I’ll be smarter by the finish.

That’s one of the benefits of being a buccaneer-scholar. With a nonstop education you are in a position to attack opportunities that sail your way, instead of steering clear with «Sorry, I’m not qualified.»

When the lawyer first called me, I was in the midst of writing the key elements of my buccaneering method for this book. That case became a fifteen-month interruption.

Круто.

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

Во взрослом мире эта байда сохраняется в полную силу. Люди, проводящие интервью, придумывают множество технических вопросов, по которым, как предполагается, можно оценить уровень кандидата (пример).

Computer science

  1. Опишите различия между нитью и процессом.
  2. Опишите основные принципы работы Virtual Memory. Какой максимальный объем виртуальной памяти доступен процессу на 32х битных системах?
  3. Что такое функции высшего порядка? Опишите алгоритм работы функций высшего порядка — map и fold (также встречается под названием reduce).
  4. Какая сложность у процедуры вставки в простое бинарное дерево поиска в среднем случае? Какой сложностью обладает алгоритм, проходящий по одному простому бинарному дереву из n элементов, и вставляющий эти элементы в другое простое бинарное дерево из m элементов?
  5. P=NP? Перечислите самые известные NP задачи.
  6. Опишите различия static и dynamic typing. А что такое слабая типизация?

Чтобы это пережить и не ударить интервьюера лицом в грязь, надо заранее заучить, запомнить, зазубрить. Ну-ка, сынку, перечисли мне самые известные NP задачи…

Это Джеймс, понимаете, Бах лениво встанет, спросит «What a feeglee-meeglee?», и убежит обратно в США. А большинство пойдут неспешно домой, утрут слезки, и будут зубрить, чтобы на следующем интервью не «опозориться». Зубрить, а не учить алгоритмы…

Тема скользкая, но…

Я тоже когда-то изрядно зубрил силлабус тестирования (теперь просто читаю при необходимости), хотя почти не понимал, что именно учу. На одном из первых интервью очень бойко говорил, но когда меня спросили, как я буду тестировать поле ввода — я обломался. Я ж не к этому готовился. В книгах про это не рассказывают…

А уж каким ужасающим было мое первое интервью в тестировании… 🙁

В GlobalLogic, поскольку компания большая, есть особые, ежегодные митинги оценки знаний каждого работника в отдельности. На одном таком митинге-оценке меня спросили «Какие виды тестирования ты знаешь? Давай, перечисли как из пушки…» Но вместо «пушки» я сделал паузу, затем меня пробило на странное «хи-хи», и ответ не получился. Скомкался.

Ну, я знаю много видов тестирования. Я могу много всякого о каждом из них рассказать. Но запоминать их в виде списка, почему-то, никогда не было нужды…

Я получил оценку «as expected» и пошел продолжать тестировать нашу сложную, многомиллионно стоящую софтину. И выпил изрядно квасу, бо вспотел. Ведь если бы оценка в итоге получилась бы ниже «as expected», и я не потдвердил бы свой высокий статус software engineer…

Если кто не знает, квас в GlobalLogic — БЕСПЛАТНЫЙ и вкусный.

Забивай себе «чердак» лично

Если смотреть на учение Баха поверхностно (первое впечатление), то получится, что чему-то специально учиться не стоит. Учиться надо только тогда, когда есть необходимость. И только тому, чем нужно оперировать прямо сегодня и сейчас.

Неверный вывод.

Я уверен, что и сам Бах не хотел бы подразумевать именно такую интерпретацию. Хоть он постоянно прикидывается ленивым обжорой, он намного умнее этого «изображения себя».

На эту тему вспомнилась сцена знакомства Холмса с Ватсоном в «том самом» сериале. В самом начале есть такой диалог:

Сыщик берет в руки увесистый фолиант.

— Мистер Ватсон!

— Да!

— Это роман?

— Да!

Холмс обескуражен.

— Вы что, читаете романы?!

— А вы хотите сказать, что не читаете?.. Это Диккенс.

— Не читал, не читаю и не собираюсь читать… Я вообще не читаю беллетристику.

— А история, философия?

— История, философия – в руки не беру!

— Ну, а как же Аристотель, Жанна д’Арк… Коперник?!

— «Коперник»? Знакомая фамилия… Что он сделал?

Ватсон фалломорфирует.

— Боже мой!.. Так ведь это же он открыл, что Земля вращается вокруг Солнца! Или этот факт вам тоже не известен?

— Нну-у… мои глаза говорят мне, что, скорее… солнце вращается вокруг земли… Впрочем, может, он и прав ваш этот… как его? Коперник!

— Простите меня, Холмс. Вы человек острого ума, это сразу видно. Вы превосходно знаете химию… Как же вы не знаете вещей, которые известны каждому школьнику?!

— Ну, когда я был школьником, я это знал, а потом основательно забыл!

— Так вы что – хвастаетесь своим невежеством?!

— А вы, Ватсон!? Вы можете отличить грязь на Риджин-стрит от грязи на Пикадилли?.. Или пепел гаванской сигары от пепла манильской? Или можете мне сказать – что написано в третьем параграфе уложения о наказаниях Британской Империи? Можете?!

— Но ведь… я говорю… об элементарных вещах, которые знает каждый!..

— Но я ведь – не каждый!! Ватсон, поймите… Человеческий мозг – это пустой чердак, куда можно набить всё, что угодно. Дурак так и делает – тащит туда нужное и ненужное. И, наконец, наступает момент, когда самую необходимую вещь туда уже не запихнёшь. Или она запрятана так далеко, что её не достанешь… Я делаю по-другому. В моём чердаке только необходимые мне инструменты! Их много. Но они в идеальном порядке и – всегда под рукой! А лишнего хлама мне не нужно.

— Учение Коперника… по-вашему, хлам?

— Хорошо. Допустим, земля вращается вокруг солнца.

— То… то есть как, допустим?!

— Земля! Вращается вокруг солнца… Но мне! В моём деле! Это не пригодится.

Ватсон окончательно фалломорфирует.

— Как ужасно было бы жить в мире, где не с кем было бы поговорить о поэзии… о живописи… о политике… Где каждый знает только то, что ему нужно для дела…

— Мистер Ватсон, я могу вас утешить. Дело в том, что таких людей, как я, в мире очень немного… Может быть, даже я такой один.

Обе стороны в этом диалоге неправы. Но обе представляют определенные подходы к учебе, и этим интересны.

Ватсон знает и ценит ВСЕОБЩЕСТЬ образования. Знать, кто такой Коперник, знать философские разности — это круто.

Холмс знает про всеобщесть, но не ценит ее. Он ценит точные знания, полученные в определенное время для решения определенных задач.

Неправильность заключается в следующем — оба представляют и, как бы, отстаивают правильность своей позиции, не делая скидок и попыток смиксовать оба подхода. В действительности ведь Холмс может не знать, кто такой Коперник, но НЕ может не знать о том, как и почему сменяются день и ночь. Иначе он не смог бы делать выводы. Дедукция не сработала бы. Это не дедукция — принять смену дня и ночи как данность.

А без умения самообучаться его дедуктивный метод так и не развился бы. Если кто помнит, Холмс развивал свой метод целенаправленно, и не видел в своих способностях ничего необычного.

За необычность следует благодарить Ватсона, который ВИДИТ то же, что и Холмс, но не НАБЛЮДАЕТ (пример с количеством ступенек к его двери — Ватсон видит их ежедневно, но ни разу не утрудился их сосчитать).

Поэтому Ватсон в упор не видит логической цепочки, которая начинается только от наблюдения. И чтобы интрига сохранялась, Конан Дойл заставлял Холмса всегда объяснять суть происходящего только в конце текста.

Кстати, подсчет количества ступенек — лишняя информация в чердаке Холмса 🙂

Подход Ватсона тоже слишком всеобщий — он ценит ВСЕОБЩЕСТЬ знаний выше, чем их специализацию. Но, например, лично меня кормит именно специализация, которая построена на большой пласте знаний, не связанных с тестированием. В детстве под одеялом с фонариком я читал отнюдь не Майерса и Бейзера… 🙂

Подход Баха такой же — знать всё невозможно, но и не нужно. У него есть и бумажная, и электронная версия Британской энциклопедии, но это не сделало его умным (сам так пишет). У нас сейчас есть еще и википедия — ну, и что?

Умным делает нас не возможность цитирования, а способность обобщать и делать выводы.

Догадайся по капле воды о существовании океана…

Способность решать возникающие проблемы (неважно — в тестировании или в приготовлении суши).

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

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

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

Но как вы догадались, что я не «Холмс», мистер Холмс?

Стать таким, как Холмс, сможет не каждый. Им не стать — им надо быть. К Баху это относится в той же мере.

Холмс или ЛСЭ (логико-сенсорный экстраверт)

Люди этого типа ценят деловые качества людей, их компетентность, любят оперировать конкретными фактами, комбинировать их, проявлять изобретательность.

Один из наиболее выдающихся изобретателей (Томас Эдисон).

ЛСЭ собирает множество фактов, относящихся к его роду деятельности. Не случайно, его можно назвать прирожденным разведчиком — сбор информации проходит вполне естественно. Здесь можно вспомнить легендарного Рихарда Зорге.

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

Выполняя работу, ЛСЭ иногда опасается, что делает её несвоевременно, поэтому старается опередить события.

Лично я интроверт, да еще и инуитивно-логический. Я не Холмс. Я не Бах. Мне не стать настоящим буканиром?

Стать.

Просто мне не стать лично Джеймсом Бахом.

Кем Канер, по определеннию Баха, тот еще буканир. Но одновременно — еще и один из самых «систематически образованных» людей:

Cem has a doctorate in psychology and a law degree, as well. He’s one of the most systematically educated people I know, and yet one of the most humble about what he knows. His studies are deep and his papers are heavily footnoted. Cem inspired me to study the philosophy and ethics of science.

Я могу сделать микс… И если мне суждено не подавиться собственным изобретением, то дела идут отлично.

Хотя, есть определенная прелесть в том, что ему мною тоже никогда не стать, и я могу подумать о самостоятельном методе самообучения 🙂

Я нашел в книге Джеймса много того, что сам хотел бы сформулировать, но еще не дорос до этого. Мне такие книги ценны.

Избранные цитаты из книги «Secrets of a Buccaneer-Scholar»

1

If I can find the one person in a hundred who value what I am and pay for it, the other ninety-nine won’t matter.

2

I don’t know how to talk about things that don’t matter.

3

My public status comes from

— my reputation,

— Reputation is the story other people tell about me.

— my portfolio,

— My portfolio is the part of my work available for review.

— and how I do on life’s tests.

— A test is any opportunity to demonstrate my knowledge and skill.

For instance, I’m attracted to software testing as a job because testing problems have no fixed solution. Every testing problem is a learning challenge. Testing always seems fresh to me, and it rewards ingenuity. It’s a game where the rules are sometimes murky and mysterious, and for me, that’s part of its charm. Perhaps the secret to happiness is finding the games we love to play, instead of learning how to win at games we hate.

4

Of course I read every testing book I could find. I discovered software testing standards and studied those, too. I studied most evenings and weekends.

At first I thought I would learn a lot from the other testers. There were more than four hundred of them in my building. But talking to them revealed a startling truth: nobody cared.

Almost nobody. In the first six months I worked at Apple, out of all the testers in the software testing division, I met maybe ten who were also reading testing books. The rest muddled through without much ambition to master their craft. It was clear that catching the college kids would not be difficult, after all.

GREAT SECRET

Most people, most of the time, don’t try very hard.

5

The pattern I experienced at Apple would be confirmed almost everywhere I travelled in the computer industry: most people have put themselves on intellectual autopilot. Most don’t study on their own initiative, but only when they are forced to do so. Even when they study, they choose to study the obvious and conventional subjects. This has the effect of making them more alike instead of more unique. It’s an educational herd mentality.

6

What this means for success is simple. Knowledge workers succeed, not based on what they know, but rather how they learn. It’s the difference between a pantry and a supermarket. I don’t stock my pantry with a year’s supply of every kind of food. Even if I did, the food wouldn’t be fresh. Instead, I go to the supermarket when I need something. The market has an amazing variety of anything I could want, whenever I want it. I keep myself from starving by living near a system that provides me with food, and by knowing how to use that system.

The supermarket of learning is online, a Google away. Or it’s embodied in the minds of my colleagues, whom I email when I need emergency tutoring. It’s in my personal pantry of books}1& two thousand of them, most of which I haven’t read—they are standing by in case I need them.

Узнаем подход Холмса с его «чердаком»? Еще бы…

7

At first he (его брат Джон Бах, впоследствии работал тестировщиком в Microsoft) didn’t believe he could be a tester, because he had no training in computers. Like most people, lack of self-confidence is the first barrier to get over.

«You don’t need computer training, Jonny, but you do need to start learning,» I told him. «That’s under your control. You can learn anything you want about computers, starting now.»

I lectured him and I drilled him in the ways of examining technology to uncover its deficiencies. I stood him in front of a whiteboard and made him practice explaining his methods and results. Slowly he lost his fear.

[vodpod id=Groupvideo.3369521&w=425&h=350&fv=id%3DgFupCdM3pqaO%26linktarget%3D_self]

12 ответов на “Трудности исследовательского тестирования”

  1. Сложный пост, честно говоря ожидал здесь увидеть подходы к исследовательскому тестированию в качестве примеров. А увидел жизненую философию. На мой взгляд не хватает критериев оценки роста. Может, конечно, проф. болезнь тестировщика, но уж очень сладко. Ломай рамки и думай миксуй и все будет Х.
    Мне ближе взвешенный подход. Вот метод специализации такие преимущества, и надо смотреть чтоб не наступить на грабли.

    • Вся книга, о которой речь, написана в таком ключе. Там нет исследований, сравнений, толкований и объяснений методов.
      Мы же к Исследовательскому тестированию подбегаем именно с такой стороны: дайте мне примеры, покажите преимущества, уточните технику. А оно, как я попытался подчеркнуть — прямое следствие жизненной философии отдельно взятого Джеймса Баха. И прямо это перенять или взвешенно описать, по-моему, сложнее, чем изложить все в виде философского подхода.
      И да, ее сила именно в миксе. Поэтому в конце присутствует ролик про Холмса и Ватсона, которые «показаны» с неожиданной стороны — для наглядности подхода.
      Впрочем, 8 октября Алексей Баранцев проводит вебинар №12. Тестирование методом свободного поиска (exploratory testing)
      Описание

      Помните, как г-н Журден в комедии Мольера «Мещанин во дворянстве» удивился, когда учитель философии сказал ему, что он, оказывается, говорит прозой? Тестировщики, осознают они это или нет, много занимаются исследованием тестируемых продуктов. Иногда это приходится делать потому, что требования недостаточно подробны или утратили актуальность. Иногда это происходит неявно в процессе разработки и отладки автоматизированных тестов. И как показывает опыт, это наиболее продуктивная деятельность, в процессе этого исследования обнаруживается большинство дефектов и добывается большая часть интересной информации о тестируемом продукте. Однако проблема в том, что этот вид тестирования неудобен с точки зрения планирования и оценивания, то есть им сложно управлять. Но сложно не значит невозможно. Поиск может быть организован регулярным и систематическим образом. На этом семинаре мы будем говорить о том, как сделать этот процесс управляемым, не пожертвовав эффективностью.

      Может, у него есть ответ на вопрос «Какие ваши примеры?»

    • Вот она проблема — разжуйте и дайте готовую конкретику. А как же понять концепцию и отталкиваться от нее, а не от готовых примеров или классификации? Эта проблема часто видна на конференциях и семинарах, когда докладчик рассказывает о фундаментальных вещах, а с него требуют конкретные примеры и метрики, чтобы убедиться, что у них процесс пошел правильно.
      И, честно говоря, не увидел в статье ничего сладкого: учись, думай своей головой, рискуй и пожинай плоды трудов своих. Что здесь легкого? Легко — это когда действуешь по чужим инструкциям и не задумываешься, а почему так, а как можно сделать лучше?
      Алексей, за статью спасибо, чувствую, надо книгу читать)

  2. Slowly he lost his fear. И мне этот пост немного придал больше уверенности в себе. Понял суть Eploratory testing — knowledge and then you can do whatever you want to verify your product.
    Спасибо за пост, заставил задуматься.
    Интересный стиль, мне понравился.

  3. Кстати, анекдот про классическое тестирование «по тест-кейсам»:
    В Англии провели телефон. Новшество!
    Молодой лорд звонит из клуба домой. Там отвечает дворецкий:
    — Алло.
    — Джеймс, это хозяин.
    — Да, сэр.
    — Как там моя молодая жена?
    — Она с вами в постели, сэр.
    — Что? Джеймс, немедленно возьмите ружье и застрелите меня и мою жену.
    — Да, сэр.
    Слышны шум, выстрелы…
    — Алло, сэр?!
    — Да, Джеймс…
    — Сэр, вашу жену я застрелил прямо в спальне, а вас я смог застрелить только возле оранжереи.
    — Погодите, Джеймс, ведь у нас дома нет оранжереи…
    — Сэр, куда именно вы звоните?

  4. много знакомо.
    меня недавно завербовали в GlobalLogic через пару недель выхожу к ним на работу.

  5. Обычно, когда встречаешь таких людей, с ними тянет пообщаться… Хочется что-то делать в контакте с ними, чтобы хоть немного научиться…
    А проблема того, что нигде толком нет основ сводится к тому, что нет длительной истории науки о тестировании. Вот лет так через 100, может 50 будут унифицированные термины/теоремы и закны… Мы же живем в момент становления, а Бах, Канер начинали с основополагаюих открытий…

    • — Десять против одного, сэр, что вы двумя руками держитесь за Библию.
      — О, для меня это, скорее, священное писание.
      — Готовитесь к лучшей жизни?
      — И вам того же желаю.
      — Я не тороплюсь. И вас не тороплю.
      — Аккуратнее… Это всемирная история синематографа.
      — Признаться, грамматика не моя стихия. Но даже я могу разобрать, что многие страницы здесь пусты…
      — Так это место для истории, сэр. Дерзните, и быть может, ваше имя впишут в эти страницы. Они ждут своих героев.
      — Забавные вещи вы говорите, сэр. Послушать бы вас в другой раз…
      — Джек, распишись, что ты взял у нас пятьдесят тысяч.
      — Сорок, Энди, сорок. Считать-то я умею…
      [youtube=http://www.youtube.com/watch?v=T7_mo2W5Nng&hl=ru&fs=1&rel=0]
      Будут основы, сравнительно скоро 🙂

Добавить комментарий