Что такое тестирование, и зачем оно нам?

О великий и ужасный контроль качества…

Все в своей жизни так или иначе сталкиваются с тестированием. Будь то включение телевизора в розетку в магазине и проверка его на битые пиксели, или же выбор помидоров из ящиков в Ашане. Все эти действия имеют одну строго определенную цель — определить, что продукт, который вы хотите как-либо использовать — качественный.
В зависимости от сферы вашей деятельности вы в большей или меньшей степени пренебрегаете этим самым качеством. Строители могут залить фундамент с неправильным соотношением цемента и песка, а повар в столовой положит меньше капусты в суп, чтобы сэкономить. Все эти отступления от норм имеют свои последствия.
Для того, чтобы эти нормы соблюдались в IT сфере — в ней имеется так называемый контроль качества, или Quality Control (QC). Он является одной из составляющих процесса обеспечения качества (Quality Assurance, QA). QA представляет собой ряд взаимосвязанных между собой процессов, обеспечивающих поддержание качества изготавливаемого продукта на различных этапах разработки. Контроль качества же обеспечивает соответствие системы заявленным для нее требованиям. А тестирование это один из инструментов контроля качества. Тестирование включает в себя:

  • работу с тестовой документацией;
  • осуществление различных видов тестирования;
  • нахождение и локализацию дефектов, найденных в ходе тестирования;
  • повторение первых 3-х пунктов раз за разом.

Зачем же он нам?

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

  1. Что делает продукт успешным? — Идея и её реализация. Мало кто будет пользоваться вашей гениальной программой, которая решает домашнее задание в два клика, если при этом она «вылетает» каждые 10 секунд, или половина кнопок в ней не нажимается.
  2. За счет чего можно улучшить реализацию продукта? — Нанять дизайнера — он нарисует красивый интерфейс и скажет как лучше расположить ту или иную кнопку. Аналитика — он предложит новые интересные функции, которые увеличат спрос на продукт. Но при этом, проблема «вылета» приложения через 10 секунд никем не была решена, потому что про нее не знали.
  3. Почему не знали о проблеме? — Не было человека, который бы мог оценить итоговый функционал, проверить работает ли он, передать найденные ошибки разработчику. Так же бы этот человек оценил визуальную составляющую и высказал свои замечания касательно удобства использования.

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