Гибкая методология разработки программного обеспечения (Agile software development) — это группа методологий разработки программного обеспечения, основанных на итеративной поэтапной разработке, где требования и решения развиваются посредством сотрудничества между самоорганизующимися межфункциональными командами.
Манифест гибкой методологии разработки программного обеспечения (Agile Manifesto) — это основной документ, содержащий описание ценностей и принципов гибкой разработки программного обеспечения, разработанный в феврале 2001 года на встрече 17 независимых практиков нескольких методик программирования, именующих себя «Agile Alliance».
Инкрементная модель разработки (Incremental development model) — это модель жизненного цикла разработки, в которой проект разделен на серию приращений, каждое из которых добавляет часть функциональности в общих требованиях проекта. Требования приоритизированы и внедряются в порядке приоритетов. В некоторых (но не во всех) версиях этой модели жизненного цикла каждый подпроект следует «мини V-модели» со своими собственными фазами проектирования, кодирования и тестирования.
Итеративная модель разработки (Iterative development model) — это модель жизненного цикла разработки, в которой проект разделен на большое количество итераций. Итерация является полным циклом разработки, завершающимся выпуском рабочего продукта (функциональности). Продукт, получившийся в результате итерации является частью конечного разрабатываемого продукта, разрастающегося от итерации к итерации.
Жизненный цикл программного обеспечения (Software lifecycle) — это процесс, начинающийся с момента появления концепции программного обеспечения и заканчивающийся тогда, когда дальнейшее использование программного обеспечения невозможно. Жизненный цикл программного обеспечения обычно включает в себя следующие этапы: концепт, описание требований, дизайн, реализация, тестирование, инсталляция и наладка, эксплуатация и поддержка и, иногда, этап вывода из эксплуатации. Данные фазы могут накладываться друг на друга или проводиться итерационно.
Автоматизация тестирования (Test Automation) — это использование программного обеспечения для осуществления или помощи в проведении определенных тестовых процессов, например, управление тестированием, проектирование тестов, выполнение тестов и проверка результатов.
Базис тестирования (Test basis) — это документ, на основании которого определяются требования к компоненту или системе. Документация, на которой базируются тестовые сценарии. Если правка данного документа может быть осуществлена только в процессе формальной процедуры внесения изменения, то такой базис тестирования называется замороженным базисом тестирования.
Разработка на основе тестов (Test-driven development) — это прием разработки программного обеспечения, при котором вначале разрабатываются тестовые сценарии, тестирование зачастую автоматизируется, и после этого разрабатывается то программное обеспечение, которое будет использовать эти тестовые сценарии.
Тестовый предсказатель (Test Oracle) — это источник, при помощи которого можно определить ожидаемые результаты для сравнения с реальными результатами, выдаваемыми тестируемой системой. В роли тестового предсказателя могут выступать уже имеющаяся система, руководство пользователя, профессиональные знания специалиста, однако им не может быть программный код.
Пользовательская история (User Story) — это высокоуровневое пользовательское или бизнес-требование, обычно использующееся в гибких методологиях разработки программного обеспечения. Обычно состоит из одного или нескольких предложений на разговорном или формальном языке, описывающих функциональность, необходимую пользователю, любые нефункциональные требования и включающих в себя критерии приемки.