Критическое изменение или Breaking change
Довольно интересный термин, часто понимаемый неправильно. Дело в том, что с технической точки зрения критическими считаются изменения, способные полностью нарушить систему автотестов, а вот для конечного пользователя они могут выглядеть совсем незначительными. К примеру, в одних проектах критическим изменением станет существенная перестройка архитектуры кода, а в других – изменение цвета кнопки «Купить» с желтого на зеленый.
Здесь нужно понимать, что автоматические тесты – это обычные программы, и чтобы они правильно выполняли свою работу, в их коде должны быть учтены все последние бизнес-требования. Поэтому, чтобы добиться качественного результата, QA-инженер должен быть обеспечен информацию обо всех критических изменениях.
Регрессивное тестирование или Regression testing
Это один из типов тестирования, выполняемый после дебага предыдущей версии программного обеспечения. Дело в том, что внесение изменений для исправления одной ошибки может непредсказуемым образом повлиять на работу других частей продукта, поэтому QA-инженеру нужно убедиться, что этого не произошло, и именно на этом этапе возникает необходимость в регрессивном тестировании.
Також варто зазначити, що під цим терміном нерідко розуміють підготовку реліз-кандидату, про який ми писали вище. В такому разі Regression testing включає роботи з планування, збору інформації про проведений обсяг і типи тестування, вхідних даних стосовно виконаних тестів, формування баг-репорту, якщо помилки були виявлені, та створення звіту щодо дебагу та повторно тестування.