Belsoft Borlas Group
Русский | English Поиск:
Новости и события Решения и услуги Отзывы клиентов
МЕТОДОЛОГИЯ:
 
Практики независимого тестирования, применяемые в компании «Белсофт-Борлас групп», базируются на решениях «подвижной» (agile) системы управления жизненным циклом продукта. Такой подход помогает нашим клиентам уменьшить затраты, увеличить качество продукта и собственную прибыль, а также дает возможность внедрять инновационные подходы на протяжении всего жизненного цикла разработки.
 
«Белсофт-Борлас групп» обладает уникальным опытом и технологиями в области тестирования программных и аппаратных комплексов и предлагает более 40 видов тестовых исследований, среди них:
  • анализ функциональности
  • анализ производительности
  • тестирование надёжности
  • анализ безопасности
  • тестирование web-сайтов и интернет-приложений
  • тестирование серверов и компонентов промежуточного слоя
  • анализ коммуникаций и интеграции
  • проверка удобства использования
  • анализ технических требований
  • тестирование "белого ящика" и анализ исходных текстов  
 АНАЛИЗ ФУНКЦИОНАЛЬНОСТИ
  • Функциональное тестирование ("тестирование чёрного ящика") - проверка соответствия функциональности продукта заявленным спецификациям. Тест может быть как достаточно простым для проверки базовой функциональности, так и детальным для проверки выполнимости различных сценариев использования. Проверяется соответствие ожидаемых и реально полученных результатов работы программы;
  • Поиск дефектов - тест, направленный на выявление компонент системы, которые потенциально могут снижать ее качество. Анализ дефектов проводится различными методами: от "вытаптывания" до разработки тестовых сценариев, целенаправленно эмулирующих внештатные ситуации, ошибки и сбои, а также нестандартные условия эксплуатации программного обеспечения. Специальная техника, применяемая в процессе тестирования, позволяет выявить и проанализировать скрытые дефекты системы, не проявляющиеся при тестировании штатной функциональности, но снижающие надежность, отказоустойчивость и качество ПО в целом;
  • Тестирование визуального пользовательского интерфейса - автоматизированное тестирование функциональности визуальных форм и проверка (по требованию) соответствия дизайна корпоративным стандартам;
  • Тестирование системных компонент - функциональное тестирование работы отдельных компонент ПО, включая проверку DCOM, CORBA и Java RMI, а также любых других компонент при наличии исходных текстов последних;
  • Тестирование совместимости и переносимости - тестирование корректности работы программного продукта на ряде платформ, операционных систем, аппаратных и программных конфигураций, для которых ПО было разработано;
  • Тестирование интероперабельности - исследование, направленное на оценку процессов взаимодействия системы с внешними по отношению к ней компонентами. А именно: специфическое аппаратное обеспечение, драйверы устройств, ПО третьих фирм и т.п. Как правило, речь идет о тестировании характеристик надежности и производительности межсистемных шлюзов, а также об оценке эффективности использованных архитектурных и технических решений;
  • Тест "на дымность" - выполняется, когда необходимо "беглое" тестирование приложения с целью убедиться в том, что все основные функции выполняются приложением нормально, без детального изучения работы каждой. 
АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ 
  • Оценочное тестирование - тесты, использующие стандартную (образцовую) нагрузку на систему для измерения производительности системы и сравнения её с производительностью образцовой системы (измерения);
  • Тестирование производительности - тест, использующий постоянную нагрузку на систему. В процессе тестирования меняются внутренние настройки и конфигурация тестируемой системы для подтверждения приемлемости операционных характеристик и проведения оптимизации работы. Типичными результатами измерений являются: число транзакций в минуту, число пользователей системы, размер обрабатываемой базы данных;
  • Нагрузочное тестирование - мониторинг и анализ характеристик производительности и устойчивости компонент системы при различных уровнях нагрузки на них в многопоточной среде. Во время тестирования настройка системы не изменяется. Типичными результатами измерений являются нагрузочные характеристики и времена отклика;
  • Анализ распределения нагрузки - в случае, если система использует распределённую архитектуру или балансирование нагрузки, проводятся специальные тесты для проверки корректности работы механизмов распределения и балансирования нагрузки;
  • Тестирование коллективного доступа к ресурсам - проверка способности системы корректно обрабатывать конкурирующие запросы на использование разделяемых ресурсов (записи БД, оперативная память и пр.); Тестирование объёмов - тест на выявление способности системы работать с большими объёмами входящей, исходящей и хранимой в БД информации;
  • Стрессовое тестирование - проверка корректности работы системы в режиме перегрузки и сбоев. Система может подвергаться стрессу посредством чрезмерно высокой нагрузки, недостатка оперативной памяти или ресурсов аппаратуры, минимизации разделяемых ресурсов и пр.;
  • Тест масштабируемости - тестирование и анализ производительности продукта на различных аппаратно-программных платформах и СУБД;
  • Пиковое тестирование - проверка реакции системы на внезапное кратковременное повышение нагрузки. Проверяется, насколько хорошо система справляется с кратковременной перегрузкой, а также выделяет и освобождает ресурсы;
  • Профилирование - точное измерение времени, затрачиваемого различными компонентами системы на выполнение той или иной функциональности; Данное исследование является важной частью Нагрузочного тестирования, а также Анализа коммуникационной подсистемы и Интероперабельности; В ряде случаев профилирование может быть произведено в отсутствие исходных текстов.  
ТЕСТИРОВАНИЕ НАДЕЖНОСТИ 
  • Тестирование надёжности - тест работы программного обеспечения в течение длительного периода времени с большими объёмами данных и высокой нагрузкой;
  • Тестирование целостности - анализ соответствия компонент программной системы специфицированной архитектуре, интерфейсам сопряжения и рабочим характеристикам. Примером тестирования целостности является мониторинг ресурсов, потребляемых компонентами системы.  
АНАЛИЗ БЕЗОПАСНОСТИ 
  • Тестирование безопасности - оценка уровня безопасности базы данных и коммуникационной подсистемы, а также проведение всестороннего анализа архитектуры и качества исполнения подсистемы обеспечения безопасности;
  • Тест уязвимости - целевой тест для поиска брешей, потенциально ведущих к несанкционированному доступу к информации или сбоям в работе.  
ТЕСТИРОВАНИЕ WEB-САЙТОВ И ИНТЕРНЕТ ПРИЛОЖЕНИЙ 
  • Тестирование функциональности и пользовательского интерфейса - Проверка сайта или веб-приложения с целью выявления неверного контента или функциональности, а также ошибок в приложении. Проверка (по требованию) соответствия визуального дизайна корпоративным стандартам. Тестирование может проводиться от релиза к релизу (регрессионное тестирование);
  • Тестирование целостности сайта - выявление "повисших" ссылок и неиспользуемых страниц, проверка возможности осуществления доступа к динамически формируемой информации;
  • Проверка динамического контента - выявление и проверка HTML-форм, Java-апплетов, скриптов, plug-ins, Active-X компонентов и других активных элементов веб-сайта;
  • Тестирование производительности, нагрузочный и стрессовый тесты - предназначены для выявления характеристик производительности приложения путём эмуляции большого числа пользователей, выполняющих реальные запросы к интернет-приложению или осуществляющих доступ к страницам сайта;
  • Тестирование надёжности и доступности - длительное всестороннее тестирование и мониторинг веб-сайта во время реальной работы двадцать четыре часа в сутки семь дней в неделю;
  • Тестирование совместимости - проверка корректности функционирования ПО на различных аппаратно программных платформах (операционные системы, браузеры), для которых оно было разработано. Существует порядка 150 возможных комбинаций широко используемых клиентских операционных систем и различных версий Netscape, Internet Explorer и др. Важно провести проверку приложения на совместимость с большим спектром конфигураций, убедившись в том, что пользователи не будут испытывать трудностей, просматривая сайт или используя интернет-приложение;
  • Анализ операций с базой данных - мониторинг операций с базой данных, проверка всех запросов и транзакций между веб-приложением и SQL-сервером, выявление возможных причин некорректного или неэффективного выполнения транзакций;
  • Тестирование серверных компонент - мониторинг, анализ производительности и функциональных характеристик компонентов ПО, функционирующих на WWW-сервере, сервере приложений, мониторе транзакций, СУБД. В качестве примера тестирования серверных компонент можно привести тестирование целостности БД, проверку корректности выполнения ASP-скриптов и выявление проблем при размещении веб-сайта на разных типах веб-серверов;
  • Анализ интеграции - исследование структуры и наполнения межкомпонентных информационных потоков многоуровневых приложений для Internet с целью выявления узких мест и неоптимальных решений с точки зрения функциональности, надежности и производительности. В качестве примера анализа интеграции можно привести тестирование взаимодействия между веб-сервером и сервером приложений, выявление эффективности выбранного метода доступа к базе данных и интерфейсов компонентов бизнес-логики;
  • Анализ сетевого трафика - захват и мониторинг сетевого трафика, оценка эффективности коммуникаций;
  • Тестирование безопасности и выявление уязвимых мест - активное воздействие на сетевые или серверные компоненты с целью выявления брешей в защите, позволяющих разрушить базу данных или систему в целом. Проверяется настройка сетевых экранов, активного сетевого оборудования, серверов и баз данных.  
АНАЛИЗ КОММУНИКАЦИЙ И ИНТЕГРАЦИИ 
  • Анализ сетевого трафика - исследование, направленное на оценку эффективности сетевого обмена между распределенными компонентами гетерогенных систем; Анализу подвергается архитектура и технические решения, использованные при реализации коммуникационной подсистемы;
  • Анализ интеграции - исследование структуры и наполнения межкомпонентных информационных потоков многоуровневых объектно-ориентированных систем с целью выявления узких мест и неоптимальных решений. Анализу подвергаются интерфейсы компонент системы, а также количество и содержание передаваемых сообщений/вызовов.  
ПРОВЕРКА УДОБСТВА ИСПОЛЬЗОВАНИЯ 
  • Проверка удобства использования - проверка способности системы корректно функционировать в точном соответствии с процессами и действиями, осуществляемыми конечными пользователями. Тестирование осуществляется в среде, полностью идентичной среде конечных пользователей. В процессе исследования проводится анализ удобства пользовательского интерфейса и функциональности системы;
  • Тестирование возможностей по Инсталляции, Обновлению и Настройке - определяет насколько хорошо и легко продукт инсталлируется, обновляется и конфигурируется на всём спектре платформ, конфигураций программной среды, а также при определённых условиях (таких как недостаток дискового пространства или выключение питания);  
АНАЛИЗ ТЕХНИЧЕСКИХ ТРЕБОВАНИЙ 
  • Проверка корректности требований - анализ точности и полноты технических требований, установленных разработчиками системы для среды эксплуатации ПО;
  • Анализ соответствия требованиям - общий анализ работы системы на всём спектре платформ и программных конфигураций, допущенных для использования техническими требованиями. Включает проведение тестов функциональности, надёжности и производительности.  
ТЕСТИРОВАИЕ "БЕЛОГО ЯЩИКА" И АНАЛИЗ ИСХОДНЫХ ТЕКСТОВ 
  • Оценка архитектурных возможностей системы - исследование, направленное на поиск неоптимальных архитектурных, технических и программных решений, использованных при проектировании и разработке системы;
  • Анализ предполагает проведение ряда тестов, а также изучение спецификаций и исходного текста системы вручную;
  • Разработка и подсчёт набора метрик качества, основанных на исходном коде ПО, соотнесение различных показателей качества системы и полноты проведенного тестирования с объемом программного кода, а также с отдельными компонентами, процедурами и функциями;
  • Профилирование - точное измерение времени, затрачиваемого различными компонентами системы на выполнение той или иной функциональности. Данное исследование является важной частью нагрузочного тестирования, а также анализа коммуникационной подсистемы и интероперабельности. В ряде случаев профилирование может быть произведено в отсутствие исходных текстов;
  • Детальный анализ надёжности и стабильности - тестирование работоспособности различных компонент программной системы в процессе длительной эксплуатации. Исследование предполагает полномасштабное функциональное тестирование продукта с фиксацией компонент-источников сбоев и дефектов;
  • Тестирование избранных компонент - анализ качества отдельных компонент или структурных частей системы путем комплексного тестирования их функциональности и интерфейсов в искусственно формируемой программной среде. Чаще всего данное исследование включает в себя функциональное тестирование и тестирование производительности. В ряде случаев компонентное тестирование может быть произведено в отсутствие исходных текстов;
  • Корреляционный анализ - исследование, направленное на анализ взаимного влияния различных компонент или слоев программной системы друг на друга. В процессе анализа ряд компонентов системы может быть заменен компонентами-заглушками (stub) либо подвергнут независимому тестированию. В ряде случаев для систем, построенных в компонентной архитектуре, корреляционное тестирование может быть проведено в отсутствие исходных текстов;
  • Эталонное тестирование - сравнительный анализ характеристик качества отдельных компонент или структурных частей системы (наиболее часто - характеристик производительности) с аналогичными характеристиками авторитетных эталонов. Эталоном, как правило, является простой компонент или программа, осуществляющая принципиально аналогичные функциональности реального компонента действия, однако, построенная в простой архитектуре и лишенная вторичной бизнес-логики, вычислений и функций ввода-вывода, неизбежно присутствующих в системе. Характеристики эталона могут быть получены экспериментальным либо аналитическим путем;
  • Анализ причин обнаруженных дефектов - исследование, направленное на поиск компонент-источников проблем, обнаруженных в процессе тестирования программного обеспечения. Как правило, речь идет о функциональном тестировании и тестировании производительности. Однако, данное исследование в равной степени полезно и для анализа причин дефектов, выявленных в результате других исследований. В процессе исследования проводится анализ соответствия функциональности отдельных компонент системы техническим спецификациям, а также отладка отдельных компонент системы;
  • Статический анализ исходного текста - проверка семантического и синтаксического соответствия исходного текста программного обеспечения определенным правилам. В основном данный вид исследований проводится для контроля соответствия исходных текстов системы корпоративным стандартам либо для выявления случаев использования "запрещенных" конструкций или функций ОС. Последнее необходимо для проведения отраслевых сертификаций программных систем либо реинжиниринга крупных программных комплексов.
ActiveUnit