Тестирование: что, как и зачем

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

В зависимости от направленности тестирования, проверяется та или иная особенность приложения или веб-сайта. Как правило, процесс тестирования документируется в виде тестового плана и тест-кейсов. Тестовый планописывает стратегию тестирования, методы и средства тестирования, порядок тестирования и другие его особенности. Тест-кейсы описывают последовательные пошаговые операции проверки функционала программы или веб-сайта. Это минимальные элементарные операции сверки для каждой функции или элемента приложения.

Зачем нужно тестирование? Тестирование решает несколько основных задач:

  • Дает уверенность в качестве конечного продукта, подтверждает что все заявленные функциональные требования реализованы, приложение им соответствует и не имеет ошибок в программном коде;
  • Подтверждает, что приложение способно выполняться во всех заявленных режимах и на всех поддерживаемых ОС или Web-браузерах корректно;
  • Гарантирует, что хранимые и обрабатываемые данные надежно защищены от постороннего доступа и "взлома";
  • Определяет, какая максимальная нагрузка на сервер, локальную сеть, БД может быть корректно обработана приложением;
  • Позволяет убедиться в том, что пользователь может "интуитивно" использовать ваш продукт или услугу не путаясь в сложных переплетениях интерфейсов.

Различают следующие виды тестирования:

Функциональное тестирование. Этот вид тестирования проверяет соответствие реализованных функций требованиям, ТЗ, спецификациям, различным другим проектным документам и просто ожиданиям пользователя. Проверяется каждая из функций приложения и все они в комплексе. Исследуются все сценарии использования. Проверяется адекватность хранимых и выходных данных, методы их обработки, обработка вводимых данных, методы хранения данных, методы импорта и экспорта данных и т.д. в зависимости от специфики приложения.

Вы уверены, что поиск с использованием всех параметров на вашем сайте работает правильно? Вы проверяли все комбинации параметров? Подумайте, что если пользователь не найдет нужный товар, то вы потеряете часть своей прибыли!

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

Вы знаете, что 10% пользователей используют нестандартные браузеры? Вы знаете, как ваш сайт выглядит в этих браузерах? Да и вообще, работает ли он? Врядли хорошая идея потерять 10% потенциальных покупателей.

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

Вы не боитесь, что в один прекрасный день злоумышленник может испортить вашу БД или остановить работу сайта? Что Вы сделали для того, чтобы предотвратить это? Не успокаивайте свою совесть, проверьте безопасность!

Нагрузочное тестирование. Этот вид тестирования позволяет выявить уровень критических нагрузок при работе с БД, интернет серверами, сетями и другими ресурсами. При помощи автоматизированных тестов можно воспроизвести типичные сценарии действий пользователя и многократно умножить их количество, смоделировав, таким образом, как поведет себя система при 100 или 10000 активных пользователях.

Вы готовы к росту популярности вашего ресурса? Вы знаете, что будет, если реклама "выстрелит" и количество ваших посетителей возрастет в 10 раз? Было бы очень обидно, если бы сервер не справился с работой как раз в этот момент.

Тестирование usability. Проверяется удобство пользования продуктом. Исследуется на примере группы испытуемых как пользователь воспринимает продукт, как он представляет себе пути его использования, сколько времени затрачивает на то или иное действие, какие проблемы у него возникают и в состоянии ли он их решить.

Достаточно ли прост и понятен ваш сайт? Каждый ли пользователь сможет разобраться, как заказать товар? А как его найти? Не уйдет ли он к вашим конкурентам, потому что их сайт простой и понятный?

 

Если Вы решили разработать оптимизировать работу Вашего сайта, напишите нам.