Тестирование


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

    Наши специалисты проводят тестирование готового приложения в несколько этапов:

    test1_1
    • Тестирование сборки. Представляет собой проверку, направленную на определение соответствия выпущенной версии приложения критериям качества для начала тестирования, приёмку новой версии в дальнейшее тестирование или эксплуатацию.
    • Системное тестирование. При системном тестировании происходит проверка как функциональных, так и не функциональных требований в системе в целом. При этом выявляются дефекты, такие как неверное использование ресурсов системы, непредусмотренные комбинации данных пользовательского уровня, несовместимость с окружением, неудобное использование и т.д.
    • Функциональное тестирование. Функциональные тесты основываются на функциях, выполняемых системой, и могут проводиться на всех уровнях тестирования. Тестирование проводится в двух аспектах: требования и бизнес-процессы.
    • Регрессионное тестирование. На этом этапе тестирования проводится проверка изменений, сделанных в приложении или системо-технических условиях ее эксплуации, для подтверждения того факта, что существующая ранее функциональность работает как и прежде. Регрессивными могут быть как функциональные, так и не функциональные тесты.
    • Нагрузочное тестирование. Это автоматизированное тестирование, имитирующее работу определённого количества бизнес-пользователей на общем ресурсе. Включает в себя следующие виды: тестирование производительности, стрессовое тестирование и тестирование стабильности или надёжности.
    • Конфигурационное тестирование. Направлено на проверку работы программного обеспечения при различных конфигурациях системы и пользовательских настройках.
    • Тестирование взаимодействия. На данном этапе проверяется способность приложения взаимодействовать с одним и более компонентами или системами и включает в себя тестирование совместимости и интеграционное тестирование.
    • Тестирование на отказ и восстановление. Проверяет систему с точки зрения способности противостоять и успешно восстанавливаться после возможных сбоев, возникших в связи с ошибками программного обеспечения, отказами оборудования или проблемами связи.
test3_1
  1. Разработка отчётов и технической документации по тестированию.

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

Автоматизация процессов тестирования.

Специалисты нашей компании считают, что автоматизированное тестирование это неотъемлемая часть тестирования на этапе контроля качества продукта. Существует два основных подхода к автоматизации тестирования:
Тестирование на уровне кода:
  • Нагрузочные тесты;
  • Модульные тесты.
test2_1
Тестирование пользовательского интерфейса:
  • GUI тесты.
Существует большое количество приложений для автоматизации тестирования. Наши специалисты используют:
Atlassian Atlassian (Единое информационное пространство)
jenkins Jenkins (Continuous Integration)
puppet Puppet (Configuration Managment)
Selenium Selenium (Automate Testing)
jenkins Mercurial (Source Control)