Допустим, Вы работаете QA-специалистом и написали тест для проверки ПО. Как узнать, действительно ли это хороший тест? Ответ на этот вопрос – в критериях FIRST.
Допустим, Вы работаете QA-специалистом и написали тест для проверки ПО. Как узнать, действительно ли это хороший тест? Ответ на этот вопрос – в критериях FIRST.
Оглавление
ToggleF.I.R.S.T.— это аббревиатура по первым буквам требований, которые выдвигаются к тестам. Имеются в виду модульные тесты, но в принципе их можно адаптировать и на другие виды проверок. Автор FIRST Principles – Роберт Мартин, всемирно известный инженер по разработке программного обеспечения.
Каждый (модульный) тест может считаться годным, если проходит по следующими критериям:
Тест должен выполняться за относительно короткое время. Не стоит писать проверки, которые будут иметь слишком большую длительность и потребуют значительных трудозатрат в пересчете на один тест.
Рабочее время тестировщиков – это ценный ресурс, его следует тратить бережно. Если тесты будут слишком длительные по выполнению – это значит, что дефицитный ресурс был потрачен неэффективно.
Выполнение одного теста не должно зависеть от выполнения предыдущих. Проще говоря, результаты выполнения одного не должны быть входными условиями для другого.
Этот критерий устраняет риск такой ситуации, что если один из тестов не сработает, то «подвиснет» выполнение других. Независимость проверок дает свободу в применении проверок и обеспечивает эффективное управление тестированием.
Воспроизводимость означает, что один и тот же тест должен выполняться одинаково вне зависимости от тестового окружения. Поведение теста должно быть предсказуемо.
Этот критерий нужен для того, чтобы результаты тестирования (особенно регрессионного) можно было сопоставить между собой и проанализировать. Воспроизводимость обеспечивает базу для сравнения. Исходя из нее, тестировщик или разработчик могут изучить поведение ПО в аналогичных ситуациях и сделать выводы о том, где может содержаться ошибка.
Иногда в русскоязычных источниках этот критерий переводят дословно как «Самодостоверность». На самом деле имеется в виду, что результат теста должен быть настолько прост для трактовки, насколько это возможно. В идеальном случае – 0/1 (значение из булевой алгебры, «прошел/не прошел»). Поэтому для Self-Validating по смыслу больше подходит перевод «Очевидность» или «Простота интерпретации».
Этот критерий нужен, чтобы QA-специалисты и разработчики не теряли времени, пытаясь «расшифровать» результат проверки. Члену команды проекта должно быть достаточно одного взгляда на результаты батареи тестов, чтобы понять, где выявлены дефекты, и далее тратить ресурсы только на них.
Этот критерий можно иронически называть «Дорога ложка к обеду». Действительно, тесты должны быть готовы к моменту проверки. Иначе возможны 2 варианта:
Поэтому, по-хорошему, тесты должны создаваться либо до кодинга, либо параллельно с кодингом, либо непосредственно после. Чем раньше – тем меньше риска потери ценного ресурса – рабочего времени айтишников.
Помимо F.I.R.S.T. имеются и другие критерии годности тестов. За долгие годы QA-практики их было разработано достаточно много. Однако, FIRST считается самым популярным, поэтому начинающему тестировщику следует его понимать.
В тестировании есть специальный подход, который позволяет судить, насколько хорошо написаны модульные (и другие) тесты. Он называется F.I.R.S.T., по первым буквам признаков-критериев Fast (Быстрота), Independent (Независимость), Repeatable (Повторяемость), Self-Validating (Очевидность) и Timely (Своевременность). Грамотный тестировщик должен знать и понимать данные критерии, чтобы создавать эффективные тесты.
Автор Михаил Кулешов
Михаил, профессиональный партнерский маркетолог, является основателем компании South Media OÜ, которая была создана в 2018 году и базируется в Таллинне. С 2016 года Михаил уехал из Финляндии и жил как настоящий «цифровой кочевник» в IT-индустрии, путешествуя по миру только с ноутбуком. Михаил работает и пишет статьи, связанные с IT-индустрией.
© Copyright 2023 Testirovshik.com