null

Тестирование ПО - важный этап подготовки качественного программного продукта

Тестирование ПО — это проверка соответствия между реальным и ожидаемым поведением программы.

Тестирование можно разделить на 2 типа: функциональное и нефункциональное.

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

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

  • Тестирование безопопасности (Security Testing). При данном тестировании проверяются уязвимости ПО к различным атакам, а также выявляются дефекты, связанные с сохранностью конфиденциальных данных. Например, если система сообщает пользователю об ошибках, то в таких сообщениях не должно содержаться конфиденциальной информации.

  • Кроссбраузерное тестирование (Cross-browser Testing). Вид тестирования продукта в разных браузерах, мобильных устройствах и экранах различного размера. К примеру, если в одном браузере сайт отображается как надо, а в другом картинка не влезает в экран, то это - кроссбраузерный баг.

  • Конфигурационное тестирование (Configuration Testing). Проверяется как ПО работает на разных операционных системах, а также в условиях различных аппаратных и программных конфигураций.

  • Тестирование локализации (Localization Testing). Этот вид тестирования позволяет проверить должным ли образом программный продукт переведен и адаптирован к языку и культуре клиента. Данное тестирование применяется, если программа имеет версии на двух и более языках. Проверяется правильность перевода интерфейса, корректно ли адаптированы дата, время, денежные единицы и т.д. Ни для кого не секрет, что в разных языках слова и предложения разной длины. Если это не учесть, то при переключении продукта на другой язык, может произойти наложение одних слов на другие. Тестирование локализации выявляет эти и другие дефекты.

  • Тестирование удобства использования (Usability Testing). Важный вид тестирования, который позволяет понять насколько приложение удобно в использовании и интуитивно понятно. Для иллюстрации: если пользователь заполняет на сайте форму и где-то сделал ошибку или что-то не заполнил, то легко ли ему сразу увидеть эту ошибку? Есть ли хорошо заметные и понятные подсказки?

  • Тестирование пользовательского интерфейса (UI Testing). Если сказать просто, то это тестирование дизайна. Обращается внимание на размер, цвет, расположение элементов. Читабелен ли шрифт? Нет ли орфографических и пунктуационных ошибок? Какого качества изображения? Всё это должно соответствовать заданным требованиям.

  • Тестирование производительности (Performance Testing). Это комплекс нескольких типов тестирования, предназначенный для того, чтобы оценить работоспособность и стабильность приложения. Тестирование производительности включает в себя:

  1. Нагрузочное тестирование (Load Testing) - проверяется производительность приложения при нормальных условиях.

  2. Стрессовое тестирование (Stress Testing) - позволяет увидеть как приложение может работать в условиях, превышающих нормальные.

  3. Объемное тестирование (Volume Testing) - проверка производительности и стабильности при увеличении количества используемых данных.

  4. Тестирование стабильности (Stability Testing) - тестирование с целью проверить работоспособность приложения в течении длительного времени.

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