Необходимость проведения тестирования
Цена ошибки в ИС очень высока: 1 час отказа систем может привести к потерям до 300 000$
Тестирование систем – это один из наиболее важных этапов производства программного обеспечения, который направлен на детальный аудит программного кода и выявление ошибок при работе систем.
Объектом тестирования могут быть системы любой сложности: серверные, мобильные, десктопные и web-приложения, встроенные системы, ERP-системы, интеграцию систем и др.
Одна из главных целей тестирования – проверка соответствия работоспособности модулей и ПО в целом бизнес-задачам Заказчика.
Функциональное тестирование
Проводится на этапе разработки.
Проверка функциональности и корректности выполнения генерируемых задач информационной системой и ее отдельными компонентами.
- Инсталляционное тестирование;
- Функциональное тестирование;
- Регрессивное тестирование;
- Системное тестирование;
- Создание тест-планов и тест-кейсов (при необходимости).
Нагрузочное тестирование
Оценивается производительность ИС.
На данном этапе аудита систем моделируются различные уровни нагрузки и формируются объемы данных для определения границ производительности.
Проверка соответствия требования к производительности включает в себя:
- Тестирование надежности;
- Тестирование производительности;
- Стрессовое тестирование;
- Тестирование объемов.
Тестирование при вводе в эксплуатацию
Приёмо-сдаточные испытания.
Данный этап предполагает комплексную проверку работоспособности системы – тестируемое ПО разворачивается и проходит предварительную согласованную программу испытаний.
Комплексное тестирование может в себя включать функциональное, интеграционное, нагрузочное и другие виды тестирования.
Цель анализа – проверка соответствия ИС поставленным требованиям.
Автоматизация тестирования
Экономия времени и средств на выполнении тестирования
Процедура позволяет автоматизировать процессы тестирования, которые содержать большую долю рутинного ручного труда и устоявшегося функционала.
Услуги по автоматизации тестирования включают в себя:
- Сравнительный анализ существующих средств тестирования;
- Разработку стратегии внедрения автоматизированного тестирования;
- Разработку и сопровождение скриптов;
- Оценка ROI (возврат инвестиций);
Стоит заметить, что средства автоматизированного тестирования позволяют не только разрабатывать и запускать тесты, но и контролировать их результаты в любое время.
Разработка Unit-тестов
Проактивное обнаружение дефектов в коде.
Юнит-тестирование позволяет провести анализ исходного кода в отдельных модулях. Таким образом, после сборки приложения программист может узнать о существующих ошибках еще до передачи сервиса тестировщикам и, что очень важно, о причинах возникновения ошибки.
Кроме этого, юнит-тестирование позволяет программистам вносить изменения в код без нарушения работоспособности остальных модулей.
Для тестирования интерфейсов и конкретных компонентов применяются инструменты класса JUnit/NUnit. Возможна работа с большим количеством высокоуровневых языков: C#, C++, Java, Ruby, Scala и др.
Инструментарий
Управление тестированием:
- HP Application Lifecycle Management;
- IBM Jazz;
- TFS;
- Jira.
Функциональное тестирование:
- HP Quick Test Professional;
- IBM Functional Tester.
Нагрузочное тестирование:
- HP Load Runner;
- IBM Performance testing;
- Borland.
Наши услуги
- Анализ программно-аппаратного комплекса и требований к нему;
- Выбор методов и подходов тестирования программно-аппаратных комплексов и приложений;
- Разработка плана тестирования вида архитектуры тестовой среды, перечня тестовых требований и параметров, являющихся критериями успешного тестирования (для нагрузочного тестирования – тестовая среда и План тестирования создаются отдельно);
- Формирование профилей нагрузки и автоматических скриптов, проведение испытаний и составление протоколов;
- Анализ и обобщение результатов тестирования;
- Формирование Итогового отчета.
Тестирование информационных систем телеком-провайдеров:
- Тестирование качества голосовой, GSM, WAP, SMS, MMS и других видов связи;
- Проверка качества предоставляемых сервисов;
- Проверка доступности услуг;
- Тестирование надежности и производительности систем при разных нагрузках;
- Тестирование услуг в роуминге;
- Тестирование методами Feedback;
- Тестирование новых сервисов перед их коммерческим запуском.