Тестирование программного обеспечения и контроль качества (Software Testing & QA) - проверка соответствия между реальным и ожидаемым поведением программы, включающая в себя планирование работ (Test Management), проектированию тестов (Test Design), выполнение тестирования (Test Execution) и анализ результатов тестирование (Test Analysis).
- Аудит систем и архитектуры
- QA-консалтинг и организация процессов тестирования
- Функциональное тестирование
- Интеграционное тестирование
- Нагрузочное тестирование
- Мобильное тестирование
- Тестирование UI
- Тестирование безопасности
- Тестирование локализации
- Тестирование Cloud, SOA и др.
- Agile- и Lean-трансформация
- Тестирование через DevOps
- Разработка через тестирование (TDD)
- Разработка, основанная на функционировании (BDD)
- Непрерывная интеграция
- Оптимизация производительности
- Автоматизация тестирования
- Создание выделенных центров тестирования
Тестирование ПО — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранных определенным образом.
Основные преимущества тестирования программного обеспечения:
- Функциональное тестирование программного обеспечения полностью имитирует фактическое использование системы.
- Позволяет своевременно выявить системные ошибки ПО и, тем самым, избежать множества проблем при работе с ним в дальнейшем.
- Экономия за счет исправления ошибок на более раннем этапе жизненного цикла ПО.
Тестирование ПО виды:
По-большому счету тестирование можно разделить на 3 вида: ручное, автоматизированное и частично автоматизированное. Теперь подробнее.
Ручное тестирование. Данный вид означает, что все тестирование проводится руками, без использования скриптов и написание автотестов. Т.е. все тестовые данные составляются и забиваются руками; прогон тестов также осуществляется руками; ну и конечно происходит ручной анализ прогона тестов и ручная фиксация багов в BugTracker-е.
Автоматизированное тестирование. Здесь уже идет максимальная автоматизация процесса тестирования. Т.е. тестовые данные генерируются автоматически; прогон тестов выполняется автоматически; ну и происходит автоматический анализ прогона тестов и автоматическая фиксация багов в BugTracker-е.
Частично автоматизированное тестирование. В основном используется в тех случаях, когда-либо нет необходимости все автоматизировать, либо нет возможности\денег\времени на автоматизацию. В данном виде тестирования используется полуавтоматическая генерация тестовых данных; тесты выполняются в автоматическом или полуавтоматическом режиме; происходит ручной анализ прогона тестов и ручная фиксация багов в BugTracker-е.
Тестирование ПО цели:
Повысить вероятность того, что приложение, предназначенное для тестирования, будет работать правильно при любых обстоятельствах.
Повысить вероятность того, что приложение, предназначенное для тестирования, будет соответствовать всем описанным требованиям.
Предоставление актуальной информации о состоянии продукта на данный момент.
Тестирование веб-сайтов
Тестирование веб-сайтов - один из важнейших процессов, так как сайт создает компании имидж и общее впечатление. Именно по этому заказчику важно, чтобы его сайт был максимально удобным, функциональным и надежным.
Каждый выпускаемый нами веб-сайт проходит тестирование на функционал, пользовательский интерфейс, тестирование производительности сайта.
Тестирование мобильных приложений
Тестирование мобильных приложений предусматривает наличие специальных инструментов и методик для тестирования. Разнообразие мобильных технологий, платформ и устройств вызывает дополнительные трудности при разработке и тестировании мобильных приложений.
Тестирование мобильных приложений существенно отличается от тестирования приложений, предназначенных для использования на персональных компьютерах. Причина тому - постоянно увеличивающееся количество функций мобильных устройств, а также большое разнообразие мобильных платформ.