Программное обеспечение для тестирования можно разделить на две категории; Mручное тестирование и автоматизированное тестирование. Ручное тестирование — это самый простой подход к тестированию, при котором человек нажимает кнопки, заполняет формы и т. д. Затем дает одобрение, если путешествие пользователя произошло, как ожидалось.

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

Модульный тест

Наиболее детальный подход к тестированию — модульное тестирование. Мое личное мнение таково, что все разработчики должны писать модульные тесты, что в основном означает написание тестов для каждого создаваемого вами метода. Смысл действительно в названии. Для каждой единицы кода, которую мы выпускаем в мир, мы должны проверять ее существование и функциональность. Каждый раз, когда вы пишете строку кода, эта строка кода должна быть протестирована, чтобы убедиться, что она работает так, как нам хотелось бы. Модульное тестирование — это навык, который можно тренировать со временем. Чем лучше мы справимся с модульным тестированием, тем лучше мы понимаем код, который пишем.

Интеграционный тест

Интеграционные тесты — это идея тестирования нескольких компонентов и проверки того, что происходит, когда эти два компонента работают вместе. Это более широкая тема, но, по сути, она основывается на модульном тестировании в том смысле, что мы по-прежнему пишем тесты для кода, который пишем, но также интегрируем эти тесты с другими компонентами и даже системами. Примером интеграционного теста будет тестирование всей функции, состоящей из нескольких компонентов, и проверка того, что эти компоненты могут хорошо работать вместе. При создании современных приложений JavaScript в таких средах, как React, Vue или даже веб-компоненты, мы существуем в мире, в котором наше приложение состоит из множества более мелких компонентов, которые работают друг с другом. Эту интеграцию необходимо протестировать, чтобы убедиться, что наше приложение способно делать то, что должно.

Сквозной тест

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

Заключение

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