Экстрема́льное программи́рование — одна из гибких методологий разработки программного обеспечения. Авторы методологии — Кент Бек, Уорд Каннингем, Мартин Фаулер и другие.
Фре́ймворк; иногда фреймво́рк — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.
Тести́рование програ́ммного обеспе́че́ния — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом.
Модульное тестирование, иногда блочное тестирование или юнит-тестирование — процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы, наборы из одного или более программных модулей вместе с соответствующими управляющими данными, процедурами использования и обработки.
Регрессио́нное тести́рование — собирательное название для всех видов тестирования программного обеспечения, направленных на обнаружение ошибок в уже протестированных участках исходного кода. Такие ошибки — когда после внесения изменений в программу, перестаёт работать то, что должно было продолжать работать, — называют регрессионными ошибками.
Разработка через тестирование — техника разработки программного обеспечения, которая основывается на повторении очень коротких циклов разработки: сначала пишется тест, покрывающий желаемое изменение, затем пишется код, который позволит пройти тест, и под конец проводится рефакторинг нового кода к соответствующим стандартам. Кент Бек, считающийся изобретателем этой техники, утверждал в 2003 году, что разработка через тестирование поощряет простой дизайн и внушает уверенность.
Открытая архитектура — тип архитектуры компьютера или архитектуры программного обеспечения, предназначенной для простого добавления, обновления или замены компонентов. Примерами такой архитектуры являются компьютеры IBM PC, Amiga 500 и Apple II, позволяющие устанавливать платы расширения. Для этого системы с открытой архитектурой могут использовать системную шину, являющуюся либо открытым стандартом, например S-100, PCI или ISA, либо же проприетарным стандартом, таким как шина Apple II. Системная шина может содержать более десяти слотов расширения, позволяющих сторонним производителям оборудования создавать устройства расширения, а пользователям свободно устанавливать их. Системы с закрытыми архитектурами, если они в принципе допускают расширение, имеют один или два «порта расширения» с проприетарным разъёмом, за использование которого с производителя могут взиматься лицензионные отчисления, а установка расширений может требовать специальных инструментов и производиться специально обученными специалистами.

В разработке программного обеспечения, стадии разработки используются для описания степени готовности программного продукта. Также стадия разработки может отражать количество реализованных функций, запланированных для определённой версии программы. Стадии либо могут быть официально объявлены и регламентируются разработчиками, либо иногда этот термин используется неофициально для описания состояния продукта.
Автоматизированное тестирование программного обеспечения — часть процесса тестирования на этапе контроля качества в процессе разработки программного обеспечения. Оно использует программные средства для выполнения тестов и проверки результатов выполнения, что помогает сократить время тестирования и упростить его процесс.
Apache Maven — фреймворк для автоматизации сборки проектов на основе описания их структуры в файлах POM, на языке XML. Проект Maven издаётся сообществом Apache Software Foundation, где формально является частью Jakarta Project.
UniTESK — технология тестирования программного и аппаратного обеспечения на основе формальных спецификаций, разработанная в Институте системного программирования РАН. Технология представляет собой сочетание хорошо зарекомендовавших себя техник, которые могут применяться в различных комбинациях, взаимно сочетаясь и усиливая друг друга. Это делает технологию гибкой и настраиваемой под существующие процессы разработки на всех этапах жизненного цикла разработки программного обеспечения от сбора и анализа требований до сопровождения.
HP Quality Center представляет собой законченную интегрированную систему для обеспечения управления процессами контроля качества на всех этапах разработки ПО.
Visual Studio Team System (VSTS) — набор инструментов от Microsoft для разработки программных приложений, упрощения совместной работы над проектами, инструментов для тестирования и отладки разрабатываемых программ, а также построения отчетов.
AngularJS — JavaScript-фреймворк с открытым исходным кодом. Предназначен для разработки одностраничных приложений. Его цель — расширение браузерных приложений на основе MVC-шаблона, а также упрощение тестирования и разработки.
FitNesse это веб-сервер, вики, и инструмент автоматизированного тестирования для программного обеспечения. Он основан на проекте Уорда Каннингема Framework for Integrated Test. FitNesse спроектирован для поддержки приёмочного тестирования более, чем модульного тестирования в том, что облегчает детальное читаемое описание требований к системе.
xUnit — собирательное название семейства фреймворков для модульного тестирования, структура и функциональность которых основана на SUnit, предназначавшегося для языка программирования Smalltalk. SUnit, разработанный Кентом Беком в 1998 году, был написан в высоко структурном объектно-ориентированном стиле, получил широкую популярность и был адаптирован для множества других языков. Названия фреймворков этого семейства образованы аналогично "SUnit", обычно заменяется буква "S" на первую букву в названии предполагаемого языка. Семейство таких фреймворков с общей архитектурой обычно и известно как "xUnit".
Unified Process — методология для построения процессов разработки программного обеспечения, позволяющий команде разработки преобразовывать требования заказчика в работоспособный продукт. В зависимости от требований и доступных ресурсов, процесс разработки может быть адаптирован путём включения или исключения определённых проектных активностей. Примером методологии разработки, основанной на Unified Process, является Rational Unified Process (RUP), который содержит ряд активностей, не описанных в более общем фреймворке, но представляющих ценность для определённого типа проектов.
Spotify Model — набор организационных методик, используемый для разработки программного обеспечения, позволяющий масштабировать команду разработки в соответствии с принципами Agile. Впервые использован при разработке музыкального сервиса Спотифай.
QF-Test - это кроссплатформенное программное обеспечение от компании Quality First Software для автоматизированного тестирования графического интерфейса. QF-Test предоставляет возможность для тестирования пользовательского интерфейса Java, кроссбраузерного тестирования статических и динамических Веб-приложений, Windows приложений и приложений Android и IOS.

Pytest - это фреймворк для тестирования программного обеспечения на языке Python, который позволяет разработчикам создавать и запускать тесты для проверки корректности работы своих программ.