Testing throughout the SDLC
Test levels
-
Component
Component
Component - наименьший элемент программного обеспечения, который может быть протестирован отдельно.
-
Component testing (module/unit)
Component testing (module/unit)
Component testing (module/unit) - тестирование отдельных компонентов программного обеспечения.
-
Stubs
Stubs
Stubs - минимальная или специализированная реализация программного компонента. Использующаяся для подмены компонента, от которого зависит разработка или тестирование другого компонента системы.
-
Drivers
Drivers
Drivers - компонент программного обеспечения или средство тестирования, которое заменяет компонент, обеспечивающий управление и/или вызов компонента или системы.
-
TDD (Test Driven Development)
TDD (Test Driven Development)
TDD (Test Driven Development) - способ разработки программного обеспечения, при котором тестовые примеры разрабатываются и часто автоматизированы, прежде чем программное обеспечение будет разработано для выполнения этих тестовых примеров.
-
BDD (Behavior Driven Development)
BDD (Behavior Driven Development)
BDD (Behavior Driven Development) - является ветвью разработки через тестирование (TDD). BDD использует удобочитаемые описания требований пользователей программного обеспечения в качестве основы для тестирования программного обеспечения.
-
DDT (data-driven testing)
DDT (data-driven testing)
DDT (data-driven testing) - методика написания автоматизированных тестовых сценариев, при которой входные тестовые данные и ожидаемые результаты хранятся в таблицах, таким образом, что отдельный сценарий может выполнить все тесты в таблице.
-
Integration
Integration
Integration - процесс интегрирования компонентов или систем в бОльшую структуру.
-
Integration testing
Integration testing
Integration testing - тестирование, выполняемое для обнаружения дефектов в интерфейсах и во взаимодействии между интегрированными компонентами или системами.
-
Component integration testing
Component integration testing
Component integration testing - тестирование, выполняемое для выявления дефектов в интерфейсах и взаимодействии между интегрированными компонентами.
-
System integration testing
System integration testing
System integration testing - тестирование интеграции систем и пакетов программ, тестирование интерфейсов связи с внешними системами (интернет и т.д.).
-
Bottom-up testing
Bottom-up testing
Bottom-up testing - последовательный подход к интеграционному тестированию, при котором компоненты нижнего уровня тестируются первыми и потом используются для облегчения тестирования компонентов более высокого уровня.
-
top-down testing
top-down testing
top-down testing - Инкрементальный подход к интеграционному тестированию, при котором компоненты из верхнего уровня иерархии объектов тестируются в первую очередь, с использованием заглушек вместо компонентов более низкого уровня.
-
big-bang testing
big-bang testing
big-bang testing - Вид подхода к интеграционному тестированию, при котором элементы программного или аппаратного обеспечения, или и то и другое, собираются в компонент или в целую систему сразу, а не по этапам.
-
System testing
System testing
System testing - процесс тестирования системы в целом с целью проверки того, что она соответствует установленным требованиям.
-
Acceptance testing
Acceptance testing
Acceptance testing - формальное тестирование по отношению к потребностям, требованиям и бизнес процессам пользователя, проводимое с целью определения соответствия системы критериям приёмки и дать возможность пользователям, заказчикам или иным авторизованным лицам определить, принимать систему или нет.
-
User acceptance testing
User acceptance testing
User acceptance testing - приемочные испытания, проводимые в реальной или смоделированной среде предполагаемыми пользователями, ориентируясь на их потребности, требования и бизнес-процессы.
-
Contractual acceptance testing
Contractual acceptance testing
Contractual acceptance testing - приемочные испытания, проводимые для проверки того, удовлетворяет ли система контрактным требованиям.
-
Operational acceptance testing
Operational acceptance testing
Operational acceptance testing - эксплуатационное тестирование в фазе приемочного тестирования, обычно выполняемое пользователем и/или сотрудниками с администраторским доступом, в рабочей среде (возможно, симулированой), фокусируясь на функциональных аспектах. Например, восстанавливаемость, поведение ресурсов, устанавливаемость и техническое соответствие.
-
Regulatory acceptance testing
Regulatory acceptance testing
Regulatory acceptance testing - приемочное тестирование, проводимое для проверки соответствия системы применимым законам, политикам и постановлениям.
-
Alpha testing
Alpha testing
Alpha testing - моделируемое или действительное эксплуатационное тестирование потенциальными пользователями/заказчиками или независимой командой тестирования на стороне разработчиков, но вне разрабатывающей организации.
-
Beta testing
Beta testing
Beta testing - эксплуатационное тестирование потенциальными и/или существующими клиентами/заказчиками на внешней стороне никак не связанными с разработчиками, с целью определения действительно ли компонент или система удовлетворяет требованиям клиента/заказчика и вписывается в бизнес-процессы. Бета-тестирование часто проводится как форма внешнего приемочного тестирования готового программного обеспечения для того чтобы получить отзывы рынка.
Test types
-
Functional testing
Functional testing
Functional testing - тестирование, основанное на анализе спецификации функциональности компонента или системы.
-
Non-functional Testing
Non-functional Testing
Non-functional Testing - тестирование атрибутов компонента или системы, не относящихся к функциональности, то есть надежность, эффективность, практичность, сопровождаемость и переносимость.
-
Performance testing
Performance testing
Performance testing - процесс тестирования с целью определить производительность программного продукта.
-
Impact analysis
Impact analysis
Impact analysis - оценка изменений в документации разработки и тестирования, а также компонентов с целью внесения данных изменений в определенные требования.
-
Load testing
Load testing
Load testing - тестирование времени отклика приложения на запросы различных типов, с целью удостовериться, что приложение работает в соответствии с требованиями при обычной пользовательской нагрузке.
-
Stress testing
Stress testing
Stress testing - тестирование работоспособности приложения при нагрузках, превышающих пользовательские в несколько раз. При стресс-тестировании мы можем получить реальные данные границ производительности и поведение приложения за этими границами.
-
Spike testing
Spike testing
Spike testing - фокусируется на способности системы восстанавливаться после внезапных всплесков нагрузки и возвращается в устойчивое состояние.
-
Endurance testing
Endurance testing
Endurance testing - задачей этого типа тестирования является проверка работоспособность ПО при длительной средней нагрузке.
-
Usability testing
Usability testing
Usability testing - тестирование удобства программного обеспечения.
-
Installation testing
Installation testing
Installation testing - направлено на проверку успешной инсталляции, а также обновления или удаления программного обеспечения.
-
Configuration testing
Configuration testing
Configuration testing - специальный вид тестирования, направленный на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и т.д.).
-
Internationalization testing
Internationalization testing
Internationalization testing - это процесс разработки программного приложения, чтобы он мог быть адаптирован к различным языкам и регионам без каких-либо изменений.
-
Localization testing
Localization testing
Localization testing - это процесс адаптации интернационализированного программного обеспечения для определенного региона или языка путем добавления местных конкретных компонентов и перевода текста.
-
White box testing (glass-box)
White box testing (glass-box)
White box testing (glass-box) - тестирование, основанное на анализе внутренней структуры компонента или системы.
-
Code coverage
Code coverage
Code coverage - метод анализа, определяющий, какие части программного обеспечения были проверены (покрыты) набором тестов, а какие нет, например, покрытие операторов, покрытие альтернатив или покрытие условий.
-
Black box testing
Black box testing
Black box testing - тестирование, функциональное или нефункциональное, без знания внутренней структуры компонента или системы.
-
Grey box testing
Grey box testing
Grey box testing - это метод тестирования программного продукта или приложения с частичным знанием его внутреннего устройства.
-
Confirmation testing (re-testing)
Confirmation testing (re-testing)
Confirmation testing (re-testing) - Тестирование, при котором выполняются тестовые сценарии, которые были не пройдены при последнем запуске, с целью подтвердить успешность исправлений.
-
Regression testing
Regression testing
Regression testing - тестирование уже протестированной программы, проводящееся после модификации для уверенности в том, что процесс модификации не внес или не активизировал ошибки в областях, не подвергавшихся изменениям. Проводится после изменений в коде программного продукта или его окружении.
-
Smoke testing
Smoke testing
Smoke testing - дымовое тестирование рассматривается как короткий цикл тестов, выполняемый для подтверждения того, что после сборки кода (нового или исправленного) устанавливаемое приложение, стартует и выполняет основные функции.
-
Sanity testing
Sanity testing
Sanity testing - это узконаправленное тестирование достаточное для доказательства того, что конкретная функция работает согласно заявленным в спецификации требованиям.
-
Maintenance Testing
Maintenance Testing
Maintenance Testing - тестирование изменений в действующей системе или влияния изменений в окружении на действующую систему.
-
Exploratory testing
Exploratory testing
Exploratory testing - подход к тестированию, при котором тестировщики динамически проектируют и выполняют тесты на основе своих знаний, изучения элемента тестирования и результатов предыдущих тестов.
-
Pair testing
Pair testing
Pair testing - два человека (двое тестировщиков, разработчик и тестировщик, или конечный пользователь и тестировщик), работающих вместе над поиском дефектов. Обычно они работают за одним компьютером, в течение работы, передавая управление друг другу.
-
Ad-hoc testing
Ad-hoc testing
Ad-hoc testing - тестирование, выполняемое неформально; без формальной подготовки тестов, формальных методов проектирования тестов, определения ожидаемых результатов и руководства по выполнению тестирования.
-
Compatibility testing
Compatibility testing
Compatibility testing (interoperability testing) - процесс тестирования для определения возможности взаимодействия программного продукта.
-
Static testing
Static testing
Static testing - тестирование артефактов разработки программного обеспечения, таких как требования, дизайн или программный код, проводимое без исполнения этих артефактов. Например, с помощью рецензирования или статического анализа.
-
Dynamic testing
Dynamic testing
Dynamic testing - тестирование, проводимое во время выполнения программного обеспечения, компонента или системы.
-
Test execution
Test execution
Test execution - процесс запуска теста на исследуемом компоненте или системе, приводящий к реальным результатам.
-
Accessibility testing
Accessibility testing
Accessibility testing - тестирование, которое определяет степень легкости, с которой пользователи с ограниченными способностями могут использовать систему или ее компоненты.
-
Scalability testing
Scalability testing
Scalability testing - фокусируется на способности системы удовлетворять будущую эффективность требования, которые могут быть выше тех, которые требуются в настоящее время.
-
Volume testing
Volume testing
Volume testing - задачей объемного тестирования является получение оценки производительности при увеличении объемов данных в базе данных приложения, при этом происходят: — измерение времени выполнения выбранных операций при определенных интенсивностях выполнения этих операций — может производиться определение количества пользователей, одновременно работающих с приложением