Чему тестировщики могут научиться в "Голодных играх" |
19.06.2017 09:55 |
Автор: Барт Ванхерк (Bart Vanherck). Оригинал статьи: http://www.bartvanherck.be/2017/01/12/testers-can-learn-from-the-hunger-games/ Перевод: Ольга Алифанова Недавно я прочитал первую часть трилогии "Голодных игр" Сьюзан Коллинз. Книга, если задуматься, крайне интересная. Что можем мы, как тестировщики, вынести из Голодных игр?
1. Исследуй свое окружение Когда Китнисс, главная героиня книги, входит в виртуальный мир, она понятия не имеет, что он из себя представляет. Каждый год игры проводятся в новом виртуальном пространстве. Что это значит для нее? Ей нужно познакомиться с этим пространством. Где находится вода, где можно найти еду, и так далее. Как она это делает? Исследуя мир вокруг себя. В мире тестировщиков все аналогично. Каждый новый продукт или даже новый билд содержит какие-то нововведения. Тестировщику нужно исследовать этот новый билд. Как это работает? Какие ошибки тут можно допустить? Если я сделаю вот так, что случится дальше? Как и Китнисс, тестировщик должен помнить, как система себя вела в определенных ситуациях. Иногда кнопки могут появляться и исчезать в зависимости от состояния приложения. Ищите эти состояния, ищите мелкие изменения, которые могут и не произойти. 2. Жизнь (тестирование) продолжается Чтобы выиграть, Китнисс должна прислушаться к одному-единственному совету. Просто продолжай жить. Выживай. Не дай другим убить себя. Для нас, тестировщиков, это тоже актуально. Мы должны победить. Но что для нас значит победа? Когда наш пользователь удовлетворен качеством продукта, который мы предоставляем. Это значит, что нам нужно тестировать продукт, пока качество не станет достаточно хорошим, чтобы завоевать доверие пользователей нашего приложение. Несчастные пользователи больше к нам не придут.
3. Оспаривай правила. Правила Голодных Игр очень просты. Убивай всех, и последний выживший выиграет игру. В самом конце в живых осталось двое из одного района. У Китнисс были ядовитые ягоды, и часть из них она дала Пите. Они хотели съесть их вместе. Если бы они это сделали, то победителя не было бы вовсе. В самый последний момент распорядитель игр объявил, что в этом году победителей будет двое. Они изменили правила игры. Разве не так мы постоянно поступаем? Мы меняем состояния системы, чтобы убедиться, выполняются ли правила – правилами в нашем случае служат требования. Мы пытаемся обойти требования и посмотреть, нет ли ошибок в них самих. Система может, возможно, достичь состояния, при котором она нарушает какие-либо требования.
4. Правила могут измениться. Внезапно раздался голос распорядителя, и правила игры изменились. Теперь двое могут выиграть, если они из одного района. Китнисс это очень обрадовало – теперь ей не придется убивать Питу. Это значит, что стратегия Китнисс стала совершенно иной – она может найти Питу, и вместе они попытаются выжить. Однако в самом конце правила меняются снова, и стратегия игроков вновь подстраивается под перемены. Это очень похоже на то, как мы работаем в нашей agile-команде. Требования меняются очень быстро, и стратегия тестирования меняется вслед за ними, как и само тестирование. То, что вчера выглядело багом, сегодня больше не баг. А может, появились новые баги. Мы, как тестировщики, должны адаптироваться к переменам. Сделайте это, и тогда вы выживете. |