29 сентября «Универсариум» запустил курс «Основы тестирования ПО». Надо отдать должное Алексею Петрову – автору курса, директору по качеству Почта@Mail.ru. Он в течение 17 лекций планомерно приводит слушателя к мысли о том, что тестирование – это не просто (а, если честно, то вообще не) сверка реализованного кода со спецификацией. Это процесс, сопровождающий продукт от самой идеи его создания почти до полного исчезновения и прекращения использования. Скажем больше – это целая философия, конечной целью которой является создание Продукта Вашей Мечты.

image

Сегодня мы раскроем основные пункты тестирования, без которых невозможно создание качественного продукта:

1. Тестирование спецификации.
Это весьма непростой способ тестирования. Но именно он позволит сэкономить больше всего средств на производстве товара. От специалистов он требует незаурядного мышления, которое позволяет решать задачи, стоящие перед тестировщиком задолго до того, как будет реализовано программное обеспечение. В некотором роде потребуется навыки, который помогали вам решать задачи по стереометрии или хотя бы по геометрии. Именно тогда нужно было пространственное мышление и на основе сухого документа вроде «дан равнобедренный треугольник с высотой NNсм., который вписан в окружность с заданным радиусом» появлялось изображение, на основании которой решалась поставленная задача.

2. Ручное и или автоматизированное тестирование.
В этом симбиозе человека и машины рождается зерно истины и настоящего качества. То, что в работе тестировщика масса рутинных моментов – ни для кого не тайна. Предположим, в ТЗ имеется некое требование, которое необходимо проверить: в течение всего жизненного цикла программного обеспечения необходимо 200 раз зарегистрироваться аккаунтом, логин которого начинается на латинскую букву. После еще 200 раз проверить, что можно зарегистрироваться с аккаунта, начинающегося на цифру. Подобного рода операции рано или поздно угнетают человека, делают его непродуктивным. Именно поэтому такие операции лучше передать машинам, а людям предоставлять более креативную работу, связанную с тестированием спецификации, проектированием тестов, программирование тех самых машин, которые будут проводить тестирование. Остается только надеяться, что таким образом мы не вносим вклад в развитие SkyNet’а и захвата человеческой цивилизации терминаторами. Но об этом мы узнаем чуть позже. По новым данным — в 2017 году.

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

4. Фокус-тесты.
Проводите фокус-тесты. Общайтесь со своей аудиторией в неформальном ключе. Это стимулирует пользователей приходить к вам и помогать делать программное обеспечение для них же. Очень часто случается так, что после того, как идея возникла, перешла к реализации, а далее в фазу тестирования и затем была передана конечному пользователю, она уже потеряла свою значимость или какую-то из составляющих, которая должна была «озарить этот мир светом». Для того, чтобы понимать – в правильном ли направлении идут работы с продуктом, используйте общение с пользователями через фокус-тесты. Именно они дают возможность узнать – продукт действительно помогает пользователю или нет. На этом этапе можно сделать для себя разного рода открытия. Пример из практики Почта@Mail.ru: «Мы много трудились, чтобы упросить пользователям поиск прикрепленных файлов в почте. Сделали специальный интерфейс, внедрили ранжирование по формату прикрепленного файла, дате его отправке и еще множеству параметров. Проводя десятки, сотни тестов, мы с удивлением для себя обнаруживаем, что пользователь, в отличие от нас, ищет файлы иначе. Он по-прежнему, по старинке забивает в строку поиска отправителя файла и среди выданных писем ищет то письмо, где в аттаче имеется нужный документ. Поняли, что если так удобнее, то не стоит препятствовать. Именно подобного рода информация позволяет нам перекраивать наши тесты, делать их более репрезентативными и проверять именно то, что актуально и востребовано пользователем» – говорит Алексей.

Описанные процедуры позволять внедрить ядро качественного продукта. После можно добавлять другие не менее полезные инструменты. Например, unit-тесты, которые дают возможность разработчику отслеживать результаты внедрения нового кода и получить информацию о его качестве, не общаясь с третьими лицами. Или code-review, который позволяет значительно облегчать код, тем самым ускорив выгрузку контента для пользователя.

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

Комментарии (0)