5.0
4.9
4.7
4.3

Тестирование программного обеспечения: Всё, что вы должны о нем знать, и даже больше

January 29, 2021

На страницах нашего блога мы много говорим о тестировании программного обеспечения: какое оно должно быть? Как оно проходит? Какой подход выбирают те или иные компании и почему? Сегодня мы представим вас, нашего читателя и будущего тестировщика в роли специалиста агентства по тестированию и расскажем, что вы делаете, чтобы новое программное обеспечение вышло после вас почти идеальным и какие ошибки при этом допускаете.

Ошибки тестировщика

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

Самостоятельное обучение

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

Слабый английский

Никто не возразит, что для получения работы тестировщика в США нужен английский язык. Сейчас есть невероятно много источников изучения иностранных языков: от учебников и курсов до каналов на YouTube и блогов в Instagram. При таком широком выборе очень важно найти подходящую систему обучения. В сфере QA есть, конечно же, специфика языка, который сейчас называют IT-English. Как «прокачать» свой английский читайте в нашей статье.

Неподготовленность к собеседованию

«Расскажите о своих ошибках — чему они вас научили?», «Как бы вы протестировали тостер?»,  – спросят вас рекрутеры Apple.  «Если мы вас наймём, над чем бы вы хотели работать?», «Чем вы хотите заниматься через 5 лет?» – зададут вам вопрос в Microsoft. Не надейтесь на импровизацию – готовьте ответы сейчас, чтобы, когда их зададут, вы были уверены в своем ответе.

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

Ошибки QA в разработке программного обеспечения

Представим, что вы прошли все эти шаги, «вылечились” от перечисленных «болезней” и вступили в команду тестировщиков, таких же как и вы. Будьте уверены: в первые месяцы вы будете допускать типичные ошибки, которые делают начинающие команды. Какие?

Отсутствие проверки возникновения дефекта

Дефект обнаружен и устранен. На этом работа заканчивается? Как бы не так. Если не проверить корневую причину возникновения дефекта, а просто «снять симптомы», это многократно увеличивает шансы его повторного появления.

Ошибка выбора подхода

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

  1. Ручное тестирование – это процесс взаимодействия тестировщика с тестируемым программным продуктом для поиска багов. Он взаимодействует с ПО напрямую, и сравнивает ожидаемый результат с реальным, оставляя свои рекомендации по улучшению. Среди плюсов – возможность получить реальный UX и UI фидбек от реального человека, который использует ПО. Ручное тестирование лучше подходит для небольших проектов. Но у него есть и существенные недостатки: это и человеческий фактор, (ошибку могут и не заметить), низкое быстродействие и резко растущие расходы при росте проекта. Со всем этим поможет справится автоматизированное тестирование.
  2. Автоматизированное тестирование — это написание специального кода, который имитирует действия с программой и многократный прогон тестируемой программы. Автоматизированное тестирование позволяет выиграть в скорости и сэкономить деньги – автоматический тест намного быстрее проведет 1000 однотипных действий и не пропустит ошибку, если она есть. Правда и этот подход не идеален: автоматический тест не выявит ошибки, если она выходит за рамки его сценария, и никак не учитывает реальный пользовательский опыт.

Игнорирование пользовательского опыта (UX)

UX (англ. user experience) – «опыт пользователя». В широком понятии под таким опытом можно принять весь опыт, который получает пользователь при работе с этим ПО. Игнорирование UX может принести много неприятностей, ведь он отвечает не только за эмоции пользователя, но и за конечное действие: переход по ссылке, просмотру, покупке.

Неконтролируемый «полет»

Тестировщики часто говорят «Мы ничего не можем сделать для живого приложения». Это ошибочно: то, что программное обеспечение было запущено, не означает, что процесс контроля качества завершен. В действительности, QA-профессионалы должны внимательно следить за деятельностью службы поддержки, как только клиенты начнут использовать приложение. Будьте бдительны и анализируйте каждый запрос, а затем рассмотрите связанные с ним сценарии и используйте инструменты, которые доставляют отчеты об ошибках в реальном времени.

Что происходит с проектом?

Вы набрались опыта, избавились от ошибок и готовы работать с крупными проектами. «Освободившись» от цепких рук разработчиков, проекты переходят в ваши любящие руки. Что происходит с ними дальше? Как профессиональные команды по QA определяют качество программного обеспечения? Что в первую очередь проверяют QA-команды?

  1. Функциональность.  Соответствуют ли функции программного обеспечения и правильно ли они реализованы? Как программа взаимодействует с другими компонентами системы? Может ли она безопасно обрабатывать данные? Соответствует ли она требуемым законам и правилам?
  1. Надежность. Работает ли программное обеспечение в определенных условиях (например, при отказе компонентов)? Как часто ПО выходит из строя? Как скоро система сможет выйти на полную мощность после сбоя?
  1. Удобство использования. Могут ли пользователи легко понять функции программного обеспечения? Сколько усилий требуется для понимания функций программного обеспечения?
  1. Эффективность. Придерживалась ли команда разработчиков передовой практики кодирования при разработке программного обеспечения? Разработана ли архитектура с учетом эффективности?
  1. Ремонтопригодность. Насколько легко выявить и исправить ошибку в программном обеспечении? Можно ли определить основную причину поломки? Сколько усилий потребуется для модификации кода в случае неисправности? Насколько стабильна производительность системы при внесении изменений?
  1. Переносимость. Может ли система адаптироваться к изменениям в ее среде? Насколько легко заменить компонент системы в конкретной среде?

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

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


Запись на курс Manual QA