Конкретнее о том, зачем нужно тестирование сайтов

Во главе терминов тестировщика стоит понятие «ошибка». Но ошибка ошибке рознь. За какую ошибку нужно браться, а с какой можно повременить? Сколько ошибок является «нормой» для тестировщика. Другими словами, за что же он получает свой хлеб?

Чтобы услышать хотя бы приблизительный ответ на вопрос о количестве ошибок, пришлось минут пять давить на скрупулезную и сугубо рациональную натуру Юрия. В итоге сошлись на том, что на небольшом сайте-визитке можно найти пару критических ошибок. А на высоконагруженных ресурсах, особенно с Big data и транзакциями, количество критических ошибок может достигать вплоть до нескольких десятков. Но все же…

Ломатель

BDhUfV_ObgM

«Сказать о том, сколько ошибок я могу найти на том или ином сайте невозможно. Слишком много факторов, влияющих на это, и слишком абстрактная вещь – ошибка. Тестировщик – это ломатель. И насколько у него хватит смекалки и креативности, так много и разных ошибок и окажется».

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

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

Следующая категория критериев ошибок – Minor. Это ошибки, которые, по сути, не влияют на работоспособность элемента, но все же работают неверно. Например, чекбокс авторизации (прим. «запомнить меня?»), при нажатии которого ничего не происходит, ни на что не влияет. Авторизация все равно будет успешной. Такая ошибка далеко не критична, и даже вряд ли повлияет на настроение пользователя, за что она и получила название Minor.

Average ошибки относятся к более серьезным недочетам. В какой-то ситуации их можно отнести к Minor. Например, если в поле «телефон» можно вводить буквы. Но в какой-то ситуации пользователь может «напакостить» введя туда не слишком приятное слово или, хуже того, скрипт. Тогда ошибку можно считать Average, и приступать к ней необходимо сразу после критических.

Критические ошибки – неотложные. Их исправление необходимо для работоспособности сайта. Любой неординарный сценарий после завершения какого-либо действия является критической ошибкой. Например, ошибка «404».

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

Качество превыше всего

DPv5JmgxWEg

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

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

«Можно придумывать бесконечные названия ошибок, критериев, расставлять акценты и искать новые методы тестирования. Но цель всего этого одна – сделать как можно более качественный продукт».

Тестирование позволяет улучшить продукт сразу в нескольких отношениях:

  • Экономия. Баги, найденные сразу, будут стоить дешевле, чем ошибки, отысканные после реализации проекта. Более того, если над этими ошибками будет работать штатный или другой программист, не тот, который создавал проект, то это обойдется в еще большую копеечку. Или, скорее, рубль.
  • Качество. Превыше всего всегда должно стоять качество продукта. Нет смысла экономить или демпинговать, если качество продукта ставится под сомнение. Хороший продукт пусть и не всегда, но найдет своего покупателя. В противном случае вы хотя бы будете спокойны за то, что все сделано на совесть.
  • Безопасность. Непротестированный сайт, особенно если вопрос касается масштабного проекта, имеет высокий шанс быть атакованным злоумышленниками. При этом в качестве последних необязательно будет хакер или конкурент. Тем, кто «сломает» ваш сайт, может быть и обычный пользователь, вводящий не те данные не в те поля, или просто ставший жертвой вируса или других злоумышленников.

И именно поэтому необходимо тестирование.