Test IT Easy
Главная
Контакты
Карта Сайта
Изменить масштаб
Английская версия

Тестирование Интернет-приложенийТестирование системных приложенийРазработка автоматических тестов

Описание типов тестирования

Функциональное и регрессионное тестирование (functional and regression testing)

Функциональное тестирование – это тестирование функций приложения на соответствие требованиям. Оценка производится в соответствии с ожидаемыми и полученными результатами (на основании функциональной спецификации), при условии, что функции отрабатывали на различных значениях.

Регрессионное тестирование проводится с целью проверить, не влияют ли новые функции, улучшения и исправленные дефекты на существующую функциональность продукта.

Функциональное и регрессионное тестирование проводится на протяжении всего жизненного цикла приложения и может иметь различную степень покрытия.

Вверх

Тестирование прототипа (prototype testing)

Тестирование прототипа – метод выявления структурных, логических ошибок и ошибок проектирования на ранней стадии развития продукта до начала фактической разработки.

Основная цель тестирования прототипа – выявить потенциальные проблемы в приложении, проверить, насколько приложение соответствует потребностям и ожиданиям пользователя и обнаружить расхождения с требованиями к графическому интерфейсу пользователя.

Тестирование прототипа охватывает следующие аспекты:

  • Структура приложения;
  • Формы;
  • Прототип бизнес-логики;
  • Логические связи между модулями;
  • Навигация;
  • Графический интерфейс пользователя.
Вверх

Тестирование графического интерфейса пользователя (GUI testing)

Тестирование графического интерфейса пользователя предполагает проверку соответствия приложения требованиям к графическому интерфейсу, профессионально ли оно выглядит, выполнено ли оно в едином стиле.

В большинстве случаев, функциональное тестирование приложения осуществляется вместе со следующими видами тестирования графического интерфейса пользователя:

  • Тестирование на соответствие стандартам графических интерфейсов;
  • Тестирование с различными разрешениями экрана;
  • Тестирование в ограниченных условиях, например, в условиях нехватки памяти;
  • Совместимость с различными Интернет-браузерами;
  • Тестирование локализованных версий: точность перевода, проверка длины названий элементов интерфейса и т.д.;
  • Тестирование графического интерфейса пользователя на целевых устройствах (для КПК-совместимых приложений).
Вверх

Тестирование безопасности (security testing)

Тестирование безопасности представляет собой ряд услуг, от разработки политики безопасности до тестирования безопасности на уровне приложения, операционной системы и сетевой безопасности.

Тестирование безопасности может иметь различную степень покрытия:

  • Первичное тестирование безопасности;
  • Полное тестирование приложения;
  • Полное тестирование приложения и сервера.

В зависимости от степени покрытия тестирование безопасности может включать в себя следующие аспекты:

  • Тестирование контроля доступа — помогает обнаружить дефекты, в результате которых пользователи могут получать несанкционированный доступ к объектам и функциям приложения.
  • Тестирование авторизации пользователей — выявляет дефекты, связанные с авторизацией отдельных пользователей и групп пользователей и с проверкой их подлинности.
  • Тестирование валидации ввода — используется для проверки валидации данных сервером до того, как они попадают в приложение.
  • Тестирование надежности шифрования данных — используется для выявления дефектов, связанных с шифрованием и расшифровкой данных, использованием цифровых подписей и проверкой их подлинности.
  • Тестирование правильности обработки ошибок — включает в себя проверку таких аспектов, как вывод на экран фрагментов кода при ошибке, влияние ошибок на работу всего приложения и раскрытие излишней информации о сбое в работе.
  • Тестирование на переполнение буфера — выявляет ненадлежащее раскрытие данных.
  • Тестирование конфигурации сервера — помогает обнаружить ошибки в многопоточных средах, в результате которых данные могут быть повреждены или использованы совместно (например, переменные, совместно используемые разными потоками и приводящие к дефектам типа «time-of-check-time-of-use», некорректные шаблоны проектирования «Одиночка» (Singleton) и плохое построение кэша).

Для интернет-приложений  при тестировании безопасности используются такие инструменты, как SQL-, html-, script-injection, перехват POST и редактирование GET данных.

Вверх

Тестирование доступности (accessibility testing)

Практически все современные приложения, рассчитанные на широкую целевую аудиторию, должны быть доступны для использования людьми с ограниченными возможностями.

Тестирование доступности позволяет определить уровень соответствия приложения accessibility-стандартам. Компания проводит тестирование на соответствие следующим стандартам:

  • раздел 508 Закона США о реабилитации
  • UK & EU Accessibility Standard
Вверх

Тестирование удобства пользования (usability testing)

Тестирование удобства пользования приложением определяет, соответствует ли приложение потребностям целевой аудитории и отвечает ли оно требованиям пользователя.

Мы тестируем приложение на соответствие основным принципам удобства пользования (например, время, затраченное на достижение цели, полученный результат, легкость доступа к нужной информации и т.д.).

При тестировании удобства пользования приложением во внимание принимаются следующие его аспекты:

  • Однородность;
  • Логика и структура;
  • Навигация.

Чтобы охватить все аспекты удобства пользования приложением, наряду со специалистами по обеспечению качества в этом виде тестирования принимают участие специалисты по маркетингу и психологи.

Вверх

Тестирование совместимости с различными Интернет-браузерами (cross browser testing)

Основной целью тестирования совместимости с различными браузерами является обеспечение качественной работы конечного продукта не только с Internet Explorer, но и с другими Интернет-браузерами, доля которых растет год от года.

Список поддерживаемых браузеров можно найти на странице Инструментарий тестирования. Для разных версий перечисленных браузеров предоставляются следующие виды поддержки:

  • Без поддержки;
  • Поддержка работы основных гиперссылок;
  • Максимально возможная поддержка;
  • Полная поддержка.
Вверх

Тестирование баз данных (database testing)

Тестирование базы данных помогает обнаружить узкие места в производительности разрабатываемого приложения и проверить все механизмы, обеспечивающие целостность и конфиденциальность данных.

Тестирование базы данных разделяется на следующие типы:

  • Тестирование логической модели:
    - Проверка модели на логическую согласованность и отсутствие повторяющейся информации;
    - Поиск возможностей для упрощения логической модели.
  • Тестирование логической схемы базы данных:
    - Тестирование на соответствие нормальным формам (обычно третьей);
    - Тестирование на согласованность базы данных (внешние ключи, ограничивающие условия, триггеры);
    - Тестирование на избыточность данных.
  • Тестирование физической структуры базы данных (для различных РСУБД):
    - Анализ и настройка покрытия индекса;
    - Анализ системы хранения данных (табличные области (Oracle, DB2), массивы данных и группы файлов (MS SQL)), настройка для увеличения производительности и надежности;
    - Анализ политики безопасности и разработка предложений по ее улучшению (пользователи, роли, роли приложения, логины, интегрированные с операционной системой, хранимые процедуры);
    - Анализ денормализации (при необходимости может быть проведена проверка потенциального прироста производительности и модификаций схемы базы данных);
    - Анализ и реализация распределения базы данных;
    - Анализ и реализация стратегии репликации;
    - Анализ и реализация стратегии резервного копирования.
  • Тестирование программируемости базы данных:
    - Анализ эффективности хранимых процедур и триггеров;
    - Оптимизация запросов, настройка индекса для охвата определенных запросов;
    - Анализ эффективности клиентского приложения.
Вверх

Техническое тестирование (technical testing)

Техническое тестирование показывает способность приложения работать безопасно, эффективно и надежно в нормальных и пиковых условиях использования. Это тестирование больше затрагивает внутреннюю работу решения и требования, которые предъявляет к нему пользователь, чем соответствие функциональным требованиям.

Самыми распространенными типами таких тестов являются:

  • Тесты производительности (performance tests), которые заключаются в измерении характеристик различных бизнес-процессов и транзакций, критичных по времени, в условиях низкой нагрузки, но с реальным размером базы данных;
  • Нагрузочные тесты (load tests), которые представляют собой полные тесты производительности в условиях ожидаемой реальной нагрузки и служат для измерения характеристик различных бизнес-процессов и транзакций, критичных по времени;
  • Стресс-тесты (stress tests), которые помогают определить нагрузку, при которой происходит сбой в системе, и отследить, как это происходит;
  • Ресурсные тесты, которые подвергают систему повышенным нагрузкам в течение длительного времени.

Для разработки и проведения технических тестов используются различные инструменты. Их выбор зависит от архитектуры и среды разработки приложения, покрытия и содержания тестов.

Вверх

Тестирование процедур установки и механизмов лицензирования (installation and licensing testing)

Тестирование процедуры установки продукта разделяется на несколько частей:

  • Формальное тестирование программы установки (графический интерфейс пользователя, общее удобство пользования, соответствие стандартам);
  • Функциональное тестирование программы установки;
  • Тестирование механизма лицензирования и способности противостоять взлому;
  • Проверка стабильности работы приложения после установки.

Формальное тестирование программы установки

  • Формальное тестирование графического интерфейса пользователя;
  • Тестирование навигации;
  • Тестирование удобства пользования приложением;
  • Тестирование региональных и языковых настроек;
  • Выявление любых ошибочных ситуаций;
  • Проверка доступности контактной информации.

Функциональное тестирование программы установки

  • Тестирование различных опций установки:
    - Типы установки (типичная, компактная, пользовательская, пр.);
    - Установка с CD-ROM;
    - Установка патчей и специальных функций;
    - Тестирование разных режимов (исправить, изменить, удалить).
  • Проверка правильности возврата к началу программы при отмене установки или деинсталляции:
    - Объекты файловой системы;
    - Ключи регистрации и значения ключей;
    - Регистрация компонентов COM и .NET;
    - Файлы инициализации, ODBC DSN, общие папки и т.д.
  • Общая функциональность:
    - Проверка прав локального администратора;
    - Правильная обработка исключительных ситуаций (недостаток места на диске, памяти, прав пользователей);
    - Приемлемый уровень производительности и использования ресурсов.

Тестирование механизма лицензирования и функций защиты от пиратства

  • Тестирование на уровне пользователя:
    - Функциональное тестирование механизма лицензирования;
    - Атаки на уровне пользователя.
  • Тестирование на повышенном уровне:
    - Разбор форматов файлов лицензии и мест в реестре или файлах, где хранится важная информация о лицензировании;
    - Разборка, исправление или повторная сборка бинарных модулей;
    - Запуск приложения в режиме отладки;
    - Создание генераторов ключей, эмуляторов устройств и т.д.;
    - Подсчет объема работы на предыдущих этапах и принятие решения о надежности системы защиты;
    - Разработка рекомендаций по улучшению механизма лицензирования и системы защиты.

Проверка стабильности работы приложения после установки

После установки приложения проверяются:

  • правильность структуры папок, 
  • корректность работы с различными вариантами окружения,
  • стабильность работы самого приложения.
Вверх

Тестирование VoIP-приложений (VoIP testing)

VoIP тестирование может быть представлено на различных уровнях, начиная с функционального и заканчивая контролем трафика:

  • Проверка функций офисной АТС (PBX);
  • Контроль пропускной способности потока вызовов;
  • Ручное и автоматизированное нагрузочное тестирование;
  • Тестирование доступа и качества вызовов;
  • Тестирование удалённых VoIP-систем

Оборудование, необходимое для тестирования, зависит от требований проекта. Тестирование может осуществляться в реальных условиях с использованием следующего оборудования:

  • Телефоны стандартов ISDN, PSTN и GSM;
  • Телефоны для сетей Wi-Fi и Ethernet;
  • Программные телефоны H.323/SIP;
  • Различные кодеки и протоколы.
Вверх

Тестирование приложений для мобильных устройств (mobile applications testing)

Тестирование приложения для мобильных телефонов, смартфонов и КПК включает в себя автоматизированное и ручное тестирование на ряде эмуляторов и ручное тестирование на реальных устройствах.

Автоматизированное тестирование включает в себя следующие типы:

  • Стресс-тестирование;
  • Тестирование производительности (для эмуляции вызовов, входящих сообщений, разрядки батареи, сбоев сети и т.д.);
  • Функциональное тестирование.

Ручное тестирование включает в себя следующие типы:

  • Функциональное тестирование;
  • Тестирование удобства пользования;
  • Тестирование графического интерфейса пользователя.

ТехнологияЭмуляторы Реальные устройства 
Мобильные телефоны 
J2MESun Java Wireless Toolkit с эмуляторами отдельных моделей, поставляемых производителямиПопулярные модели мобильных телефонов с поддержкой Java (технология J2ME) — Nokia, Sony Ericsson, Siemens и др.
BrewBREW Emulator (BREW SDK 2.0.1) 
Смартфоны
 Symbian OS EmulatorSymbian OS 6,7,8
 Symbian OS EmulatorSymbian OS 6,7,8
PDA

Вверх

Тестирование документации (documentation testing)

Тестирование документации осуществляется на этапе разработки требований к программному продукту после создания функциональных спецификаций. Этот тип тестирования помогает избежать логических дефектов и ненужных изменений в продукте до начала его фактической разработки. Он также позволяет сократить число обращений в службу поддержки благодаря улучшению пользовательской документации.

Тестирование документации охватывает следующие виды документов:

  • Функциональные спецификации;
  • Спецификации по графическому интерфейсу пользователя;
  • Руководства пользователя и онлайновые справочные системы.

В ходе тестирования документации мы проверяем следующие аспекты:

  • Логику и согласованность (последовательность изложения и  однородность формы подачи информации);
  • Полноту и ясность изложения (соответствие уровня детализации целевой аудитории, достаточность изложенной информации для понимания);
  • Точность (актуальность информации, правильность ссылок и графических элементов);
  • Структуру документа (соответствие порядка следования элементов документа его цели);
  • Орфографию, грамматику, правильность употребления слов и пунктуацию;
  • Форматирование (отсутствие отклонений от стиля оформления, соответствие элементов документа корпоративному стилю).
Вверх

  
   
© 2005 - 2010 Тестирование программного обеспечения.
A1QA. Все права защищены.
E-mail: info@a1qa.com
Телефон/Факс:
В Москве:+7 (495) 229 1311
В Минске:+375 (172) 008 740