Рубрики
Без рубрики

Основы Автоматизированного Тестирования

Что, если план строительства программное обеспечение,что делает использование передовых технологий на рынке,… Помеченный tdd, java, бразильскими разработчиками.

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

Что такое автоматизированное тестирование?

В ходе разработки и обслуживания системы, сложность будет расти, дизайнера и разработчиков, испытывают трудности в оценке ресурсов являются функциональные или нет, потому что программы, которые до него несколько сценариев, теперь ответить гораздо большее число случаев, оставляя ее сложность “N” раз больше.. Для того, чтобы помочь times высокая производительность при оценке программного обеспечения, которые мы используем автоматизированное тестирование, что больше ничего не в том, что программы, написанные на кого-то, что имеет, чтобы оценить вашу систему.

3 виды испытаний автоматизированных

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

1.Модульное тестирование-Это тестирование производится разработчиком имеет целью проверить поведение функциональный код, другими словами мы тестируем методы класса, основанного на какой-либо вход которого ответов, которые, мы надеемся, что это произойдет. Нессе типо-де-эсте нао подемос аксессуар для внешних компонентов (исто нао подемос criar предметы для внешних классов), или повторные внешние (como bd, rede, веб-сервисы и т. Д.). В случае возникновения необходимости создавать объекты из других классов или simularmos возвращение каких-либо веб-службы для выполнения испытаний за единицу например, мы используем трюк, что это mocar объекта или услуги(это создать объект fake ), чтобы мы могли имитировать ожидаемый результат. Мы используем очень популярный инструмент, используемый для выполнения макет-это mockito. Модульное тестирование, также мы используем инструмент очень известной называется Junit.

2.Интеграция Также известный как тестирование web service/API тестирования стороной для проверки связи между компонентами, модулями и внешних ресурсов приложения. Целью этого тестирования является проверка взаимодействия между компонентами и Api происходит правильно. Как правило, в этом типе тестирования мы используем средства уже известна разработчикам, как SoapUI и Почтальон.

3.Функциональный тест с точки зрения конечного пользователя, который имеет целью проверить, если конкретная функция реально работает способа esperadacomo была запланирована, другими словами, мы проводим тестирование наших случаев использования.

Преимущества Использование Автоматизированного Тестирования

  • Как уже сказано выше, одним из преимуществ в использовании автоматизированного тестирования на проекте, – это обнаружить более быстро, если некоторые изменения нарушают правила бизнеса.
  • Кроме того, использование автоматизированного тестирования-это способ документирования приложения, так что когда мы включили все тесты в нашем приложении логики, как правило, самый простой, четкой и объективной возможности,поведение, какие методы ввода/вывода и ожидаемые результаты.
  • Снижение затрат на техническое обслуживание, так как в разработке программного обеспечения на этапе проверки,одобрения и даже техническое обслуживание является очень дорогостоящим, поэтому, если ваше приложение работает с хорошим охватом тестирования, конечно, вы пройдете этот шаг, не слишком много боли в кармане.

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

TDD – Разработка, основанная на тестировании

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

Основные Преимущества Использования TDD

  • Фокус на требованиях это в TDD вы получаете, во-первых, проводящие тестирование, прежде чем покинуть парень, внедряя что-то. В данный момент вы не беспокоитесь, как метод будет реализован, и да, какое поведение и ожидать от него после поместить какой-либо конкретной информации.

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

  • Дает больше безопасности для разработчиков во время внедрения новых функций, получив, таким образом, даже шанс разорвать приложений из-за некоторых feature новый.

Основной Процесс

Уже хорошо, что мы говорим, что TDD-это методология для разработки тестов, ниже мы перечислим некоторые основные элементы учтены в TDD.

  • Как уже было сказано выше TDD проповедует культуру написать первое тестирование, прежде чем выйти, развивая метод, на этом этапе беспокоиться описания поведения метод, основанный на входе(естественно, что на этом этапе их испытания еще не удается, потому что компонент еще не был реализован).
  • Да теперь, на этом этапе вы должны реализовать код, случаи и компоненты, необходимые для испытания пройти.
  • Этот шаг является обязательным, и оценивает необходимость рефакторинга кода по необходимости.

Хорошие упражнения для закрепления и по Умолчанию, Когда Мы Разворачиваем Автоматизированного Тестирования

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

Номенклатура Испытаний (ДЕЙСТВИЕ should ЭФФЕКТ when СЦЕНАРИЙ)

Учитывая, действие которой будет эффект(should) эффект ее за тот сценарий(when случае), примеры:

Действие: Метод Delete Эффект: Учитывая ID необходимо удалить определенную запись из бд. Сценарий: Когда ИДЕНТИФИКАТОР существовать

Действие: Метод Delete Эффект: Исключение, когда приложение не может найти ID Этом: Когда ИДЕНТИФИКАТОР не существует

По умолчанию AAA

  • Arrange: Сначала создает экземпляр этого необходимые объекты(new объектов, которые вы будете использовать)
  • Act: выполните необходимые действия, это за то, что должно быть сделано в методе это в случае необходимости вставить/обновить данные в Базе Данных, например
  • Assert, declare, что должно произойти (ожидаемый результат).

Принцип Инверсии Управления(SOLID)

Класс не может зависеть от экземпляра класса B(если это делается этот тест не может быть вызван модульное тестирование). Если вам нужно получить экземпляров других классов, мы должны создавать мокс(объекты подделок, как уже было сказано выше). Это в конечном итоге помогает в тестируемости метод, обеспечивая, таким образом, изолируя диск для тестирования.

Независимость

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

Сценарий

Каждый тест должен иметь сценарии указываю, и его логика должна быть как можно более простым, без использования циклы, условные операторы. Если вы заметили, в приведенном выше примере был создан сценарий, где ID существовал и другой сценарий, где не было ID.

Предсказуемость

Результат испытания должен быть всегда же одни и те же данные,не тест, сделайте зависеть от вещей, которые меняются, как: current timeStamp(new Date instant.now) и случайные значения (например, random).

Оригинал: “https://dev.to/rs_marinheiro/fundamentos-de-teste-automatizados-43a7”