Написать пост

Какие существуют сервисы для нефункционального ручного тестирования для новичков

Аватарка пользователя sudo >: )

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

Какие существуют сервисы для нефункционального ручного тестирования для новичков?

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

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

Я бы выделил все виды тестирования производительности:

  • нагрузочное тестирование (Performance and Load Testing),
  • стрессовое тестирование (Stress Testing),
  • тестирование стабильности или надежности (Stability / Reliability Testing),
  • объемное тестирование (Volume Testing).

А также по возможности проверить следующий список нефункционального тестирования:

  • тестирование установки (Installation testing),
  • тестирование удобства пользования (Usability Testing),
  • тестирование на отказ и восстановление (Failover and Recovery Testing),
  • конфигурационное тестирование (Configuration Testing),
  • тестирование безопасности (Security and Access Control Testing).

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

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

Чтобы выбрать программу для тестирования, сначала нужно понять, что вам нужно проверить. Например, для тестирования установки или совместимости можно взять Browsera или Browserling. Первая программа предоставляет подробный отчет о проблемах макета, также может тестировать сайты целиком. Второй вариант предназначен только для веб-тестирования, он создает интерактивные сеансы в режиме реального времени для кросс-браузерного тестирования.

Тестирование удобства пользования можно осуществлять в UserTesting — этот инструмент создает видео людей, использующих тестируемый сайт или приложение. По итогам предоставляется отчет, в котором выявляются основные проблемы. Есть еще Validately — это приложение позволяет тестировать живые сайты и анализировать результаты с помощью отчетов и видео, здесь можно общаться с тестировщиками вживую.

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

  • OWASP ZAP (Zed Attack Proxy) — это наиболее широко используемый в     мире веб-сканер уязвимостей, он полностью     бесплатный и имеет открытый исходный код, поэтому вы можете адаптировать его под свои нужды. Эта программа активно     поддерживается международным сообществом добровольцев, которые работают над постепенным улучшением инструмента, а также включают новые функции.
  • Burp Suite — во многом аналогичен OWASP ZAP.

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

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

Что касается нашей компании, то для тестирования безопасности мы используем OWASP ZAP. При нагрузочном тестировании наши разработчики работают в Яндекс.Танк в частично автоматизированном режиме, а тестировщики иногда используют Siege. С помощью этой программы проверяется ресурсоемкость кода в условиях, максимально приближенных к реальным. Остальные нефункциональные тесты мы проводим в ручном режиме.

Если говорить кратко и ёмко, то функциональное тестирование – это то, что программа должна выполнять по требованиям и нуждам заказчика. А вот нефункциональное – то, с помощью чего приложение должно выполнять поставленные требования к функционалу.

Здесь даже можно отметить, что заказчик и/или конечный пользователь задает свои «хотелки» и то, как он видит продукт с ними к функциональной части программного продукта. Команда разработчиков в свою очередь помогает подобрать различные инструменты, чтобы этот функционал мог работать, но и конечно же команда разрабатывает функциональную часть тоже.

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

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

Для ручного нефункционального тестирования важно проверить документацию. Документация – это не только различный набор файлов, но и сам графический интерфейс программного продукта, который может иметь неверный шрифт, неправильные размеры изображений, какие-то орфографические ошибки. Соответственно, здесь применяются тесты для проверки верстки веб-страницы.

Здесь можно говорить об инструментах сравнения документации (один из популярных инструментов – это «CompareTools»). Открываем через этот инструмент два схожих файла или изображения, которые имеют небольшие отличия, и «CompareTools» отобразит, где есть расхождения. Также существует и онлайн-версия инструмента сравнения – «DiffNow».

Для тестирования верстки веб-страницы устанавливается плагин для браузера «Perfect Pixel», который помогает также делать сравнение между утвержденным шаблоном и реальной «картинкой» на той же веб-странице.

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

Приведенные мной программы и плагин достаточно просты в понимании – и, кроме того, очень четко подсвечивают несоответствия. В «CompareTools» и «DiffNow» отображаются окна с двумя (или более) схожими файлами, а различия подсвечиваются красным цветом – это достаточно удобно для тестировщика. А вот сам плагин «Perfect Pixel» даже может показать размер и стили шрифта, размер изображения на веб-странице, и в утвержденном макете.

Проблема, что может возникнуть еще на начальных этапах – это, конечно же, «замыливание» глаз, если не применять наших «помощников» и искать несоответствия вручную.

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

Более сложное нефункциональное тестирование для повышения навыков

  • Проверка производительности (мощности) системы – Apache JMeter, NeoLoad, HP LoadRunner, Dynatrace, JHM (Java Microbenchmark Harness), BenchmarkDotNet, Google Lighthouse;
  • Инструменты для нагрузочного тестирования – снова Apache JMeter, Gatling, HP LoadRunner, Яндекс.Танк, Taurus;
  • Тестирование безопасности – Netsparker, Metasploit, Acunetix, Core Impact, w3af, Wireshark, Kali Linux, Nessus, Burpsuite, Cain & Abel;
  • Тестирование масштабируемости – BlazeMeter, WonderNetwork, Loader, Load Impact, Blitz;

И последнее нефункциональное тестирование, которое можно предложить для начинающего тестировщика – это анализ сетевого трафика в Fiddler.

Следите за новыми постами
Следите за новыми постами по любимым темам
11К открытий11К показов