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

Важность

Когда разработчик программного обеспечения разрабатывает новую функцию или вносит изменения в старую, обязательно написать тест для этого изменения или функции, чтобы рецензент PR (Pull Request) или инженер QA (обеспечение качества) знали, что такое ваш код. делать, изучая ваш тест.

Тестирование программного обеспечения также может помочь в процессе CI/CD и перехватчиков предварительной фиксации, если вы поддерживаете свой код с помощью платформ контроля версий, например GitHub, GitLab и т. д. Если вы решили писать тесты с самого начала в начале вашего проекта. Это также поможет вам покрыть крайний случай, когда ваша кодовая база проекта увеличится, а тесты помогут вам узнать, какой случай дал сбой из-за новой функции или изменения.

Предпосылка

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

В этой статье мы рассмотрим 3 типа тестирования программного обеспечения, а именно:
1) модульное тестирование
2) интеграционное тестирование
3) тестирование API

Вот список инструментов и программного обеспечения, которые я использую для тестирования программного обеспечения, а именно:
1) Node.js
2) npm
4) Jest
5) Супертест
6) Expess.js

Давайте начнем

Сначала установите Node.js и NPM для вашей операционной системы, чтобы вы могли запускать код JavaScript, загружать и устанавливать пакеты из Диспетчера пакетов Node.
Я использую IDE Visual Studio Code (интегрированная среда разработки), но вы можете использовать любую IDE для себя.

1) Модульное тестирование

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

Добавьте этот файл в каталог вашего проекта, а затем запустите node add.js. Вы можете видеть, что он выводит 3 на консоль.

Я знаю, что теперь вам может быть интересно, как проверить это устройство, верно? Расслабляться! Я покажу тебе.

Вы успешно разработали функцию, отвечающую за сложение двух чисел, и теперь можете просто протестировать ее, установив jest cli из npm.

Установите jest-cli глобально с помощью этой команды:

npm install -g jest-cli

Эта команда установит jest глобально в системе, после установки jest-cli вы можете использовать команду jest прямо из терминала.

Но все же нужно настроить jest, чтобы можно было протестировать файл add.js; создайте новый файл jest.config.json и добавьте его в каталог проекта.

После создания файла jest.config.json в каталоге проекта вы сможете протестировать файл add.js; Итак, чтобы протестировать этот код, создайте новый файл как add.test.js.
Все тестовые файлы должны иметь расширение .test перед .js, чтобы jest знал об этом.

Как вы можете видеть ниже, это мой add.test.js, который тестирует sum() в файле add.js.

В этом файле я сначала импортирую sum() из файла add.js, затем создаю описать(), который отвечает за описание моего теста, и внутри его обратного вызова я создал it(), который отвечает за тестирование моего sum(). Помните, что ваши it() и description() должны иметь описание, чтобы все знали, что делает этот модуль.

Теперь давайте запустим этот тест с помощью этой команды:

jest

Как вы можете видеть выше, мы успешно тестируем наш add.js с помощью jest, и наш тест пройден.

2) Интеграционное тестирование

Это процесс тестирования комбинированных блоков. Например, теперь ваша команда решила выполнить арифметические операции таким образом, чтобы иметь возможность складывать и вычитать эти два числа. Итак, мы идем с новым файлом arithmetic.js в соответствии с требованиями.

Но прежде чем перейти непосредственно к arithmetic.js, нам нужно создать новый модуль sub.js, который будет отвечать за вычитание двух чисел.

Теперь мы создадим новый файл arithmetic.js, который будет отвечать за сложение и вычитание двух чисел путем объединения add.js и sub.js в arithmetic.js.

Добавьте этот файл в каталог вашего проекта, а затем запустите node arithmetic.js. Вы можете видеть, что он выводит на консоль «3:1», добавляя и вычитая 2 из 1.

Хорошей практикой является написание модуля sub.js, который мы ранее создали, так что вот он;

Теперь просто запустите sub.test.js с помощью этой команды;

jest -- sub.test.js

Эта команда запустит только один тест, а именно sub.test.js.

После тестирования обоих модулей add.js и sub.js пришло время протестировать arithmetic.js, так что вот его интеграционный тест.

Вы можете запустить это тестирование с помощью этой команды;

jest -- arithmetic.test.js

3) Тестирование API

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

Итак, теперь мы создадим API, используя структуру De-Facto Node.js, известную как Express.js.

Сначала инициализируйте npm в каталоге проекта, чтобы мы могли установить модули: Express.js и супертест для нашего варианта использования.

Инициализируйте npm в каталоге проекта этой командой;

npm init

Вот package.json из npm init и после установки модулей.

Эта команда устанавливает Express.js, Body Parser и Supertest;

npm install express supertest --save

После установки этих библиотек и фреймворков вы увидите папки node_modules, созданные npm и добавленные как зависимости package.json.

Теперь создайте новый файл server.js, который будет отвечать за запуск сервера Express.js и использование arithmetic.js в качестве API.

Вот кодовая база запуска сервера и использования арифметики в качестве API.

Запустите server.js с помощью этой команды:

node server.js

После успешного запуска сервера вы можете увидеть вывод файла arthematic.js на localhost:3000.

Теперь мы настраиваем сервер с помощью Express.js и проверяем, что он работает и отправляет ответы на localhost:3000.

Теперь мы находимся на правильном пути к написанию теста API, который мы создали, так что вот он;

Теперь наш тест готов, мы добавили два утверждения: одно для статуса из API, а второе для текстового ответа;

Запустите тест API с помощью этой команды;

jest -- server.test.js

Вывод

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

Спасибо, что прочитали эту статью.

Надеюсь, вам понравилось читать эту статью, тогда не забудьте подписаться на автора в LinkedIn.