О чем вы подумали, прочитав заголовок этой заметки? Как мы можем включить эмоции в процесс тестирования программного обеспечения? О каких эмоциях я собираюсь говорить? Как эмоции повседневной жизни влияют на тестирование? Давайте разбираться.
Тестирование программного обеспечения является неизбежной частью жизненного цикла разработки ПО. Много раз я слышал аргумент, что тестирование – это не так уж сложно, и тестировщиком может стать каждый.
Это и верно, и неверно одновременно.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Это верно, потому что => для тех, кто считает тестирование ПО простым выполнением документированных тест-кейсов, это действительно легко.
Но это также и неверно, потому что => тестирование ПО не ограничивается и никогда не будет ограничиваться документированными тест-кейсами. Независимо от того, сколько тест-кейсов вы напишете для конкретного приложения и как тщательно вы будете его тестировать, продукты никогда не выходят без багов.
Почему мы, тестировщики ПО, сталкиваемся с унижением в конференц-зале, когда все смотрят на нас так, будто мы несем ответственность за каждый баг, о котором сообщает клиент? Косвенно это действительно так, потому что баг попал к заказчику, так как мы его не нашли/не сообщили о нем.
При тестировании ПО предполагается, что вы работаете как конечный пользователь. Вы совершаете ошибки, играете с продуктом, следуете документации в точности, как он. Хотя поначалу все это соблюдается, большинство из нас забывают о пользователе, как только мы устраиваемся в зоне комфорта тестирования с ограниченным мышлением и видением. Затем в дело вступает настоящий конечный пользователь, который сообщит о баге и сделает нашу жизнь похожей на баг.
Пожалуйста, последовательно ознакомьтесь с приведенной ниже таблицей:
Повседневная ситуация | Ощущение | Аналогия | Как должен поступать тестировщик |
---|---|---|---|
Что вы почувствуете, если пакет с продуктами разорвется по дороге? | О Боже!!! Неужели он не может выдержать такую большую нагрузку? | Именно так чувствует себя клиент, когда протестированный вами сайт падает при одновременном входе 100 пользователей, хотя отлично работает с точки зрения функциональности. | Чаще всего заказчики не уверены в требованиях ИЛИ требования постоянно меняются – это правда. Но в то же время, если тестировщик следит за требованиями и их взаимосвязью, то и тестирует он их соответствующим образом. |
Какие ругательства были бы в вашей голове, если бы нож не разрезал фрукты, когда ваш малыш плакал, требуя их? | Я его выброшу. | Вот так заказчик проклинает FTP-сайт, проверенный вами, но не передающий данные, когда его клиенты этого ждут. | Негативное тестирование и нестандартное мышление могут помочь в определении сценариев, с которыми столкнется конечный пользователь. |
Как бы вы отреагировали, если бы обнаружили, что опоздали в офис, потому что часы не работали должным образом? | Я был бы разочарован. Говорили, что эти часы автоматические и не требуют почти никакого обслуживания, тогда что это такое? | Именно так клиент расстраивается, когда ему приходится звонить в ваш отдел обслуживания клиентов более 3 раз в течение недели. Либо продукт действительно не был протестирован должным образом, либо клиент не был обучен должным образом. | Тестирование программного обеспечения – это целый пакет обязанностей. Вам нужно не просто протестировать продукт. Вам нужно предоставить отзыв о продукте, вам нужно понять клиентов, вам нужно заранее выяснить, что клиент будет чувствовать при использовании этого продукта или наблюдая его определенное поведение. |
Как бы отреагировал администратор, если бы в конце месяца загруженный отчет из системы пропусков оказался пустым из-за незначительных изменений, которые он внес в систему? | Потерянность и незнание, что делать | Это и чувствует клиент, когда антивирус не начал работать вовремя из-за проблем с часовым поясом, а в это время был занесен серьезный вирус. | Глобальное мышление и понимание заинтересованности клиентов в продукте, а также отражение этого в процессе тестирования. |
Как бы вы сдерживали гнев, если при подготовке к важному мероприятию вы бы обнаружили, что портной забыл пришить к платью пуговицы? | Злость и желание дать пощечину этому портному. | Такие же эмоции будут у заказчика, если проект аутсорсингового тестирования отмечен как “успешно завершенный” с вашей стороны, а заказчик замечает, что при тестировании не был учтен GUI (потому что он не был упомянут в документе). | Есть некоторые основные вещи, которые должны проверяться в каждой итерации, о которых должен знать каждый тестировщик и о которых требуется инкрементное обновление знаний. Иногда в артефактах упоминается не все, но об этих недостающих вещах нужно позаботиться во время тестирования. |
Насколько сильно стухнет ваше воодушевление, когда, приехав в парк развлечений, который давно хотели посетить, вы обнаружите его закрытым именно в понедельник? | Почему они не могут опубликовать эту информацию? | Именно так чувствует себя воодушевленный клиент, когда пытается установить программу на версию Windows, которая ее не поддерживает, поскольку в руководстве пользователя не было сказано, какая конкретно версия Windows нужна. | Как тестировщик, вы обязаны тестировать документы, особенно руководство пользователя (независимо от того, было оно включено в ваш список задач или нет). Предложения и отзывы о неправильной информации в руководстве пользователя всегда приветствуются. |
Как бы вы подошли к решению проблемы как владелец продукта, если бы обнаружили, что цвет продукта отличается от заявленного, в то время как продукт уже готов к поставке? | Почему так поздно? Почему мы не узнали об этом раньше? | Вот как реагируют менеджер проекта, руководство компании, клиент (который ждет продукт) и другие, когда баг был выявлен в последний момент. | Тестировщик должен сообщать о проблемах по мере их обнаружения. Если что-то вызывает сомнения, поговорите и получите разъяснения. Следите за тем, чтобы обязательно получать последние документы. Всегда думайте практически и, наконец, вносите свой вклад. |
Заключение
Итак, это и есть тестирование ПО, а именно обнаружение скрытых сценариев (которые чаще всего раскрываются при использовании программного обеспечения конечным пользователем) и постоянное совершенствование в работе.
Перевод статьи «Is Software Testing an Emotional Task?».