Архив статей журнала
Современные среды исполнения, такие как браузеры, Node. js и пр. предоставляют разработчикам инструменты, позволяющие выходить за рамки традиционного JavaScript. Объектом данного исследования выступает современный подход к созданию веб-приложений, в которых возможно выполнение и совместное использование компонентов, написанных на разных языках программирования, в результате применения WebAssembly. Предметом исследования является тестирование и анализ результатов тестов, направленных на измерение производительности JavaScript и WebAssembly-модулей в среде выполнения Node. js, с акцентом на сравнение эффективности выполнения вычислительных задач, взаимодействия с памятью, обработки данных и межъязыкового взаимодействия. Автор подробно рассматривает такие аспекты темы, как интеграция WebAssembly в приложения, оценка его преимуществ при решении ресурсоёмких задач, таких как обработка изображений, объективность, репрезентативность и воспроизводимость тестирования В работе используется прикладной, экспериментальный подход. Было произведено сравнение скорости выполнения операций при использовании чистого JavaScript и WebAssembly-модулей. Для оценки эффективности были использованы данные о времени ответа на запрос, о потреблении ресурсов системы приложением. Научная новизна данной работы заключается в разработке и теоретическом обосновании подходов к тестированию веб-приложений с использованием технологии WebAssembly. В отличие от большинства существующих исследований, сосредоточенных на производительности и безопасности WebAssembly в браузерной среде, в данной работе внимание акцентировано на автоматизированном тестировании WebAssembly-модулей вне браузера, что до настоящего времени оставалось слабо проработанным направлением. Предложен методологический подход к организации тестирования WebAssembly-модулей в среде выполнения Node. js, включая принципы структурирования тестов, интеграции с JavaScript-компонентами и анализ результатов выполнения. Такой подход позволяет учитывать специфику серверного окружения, где WebAssembly всё активнее применяется - в частности, при разработке высоконагруженных вычислительных модулей, кросс-языковой логики и безопасного изолированного исполнения. Научная новизна также заключается в выведении критериев, позволяющих оценивать пригодность тех или иных компонентов приложения для переноса в WebAssembly с точки зрения тестируемости, что даёт разработчикам дополнительный инструмент принятия архитектурных решений. Предложенные идеи подтверждены экспериментальной частью, включающей примеры реализации тестирования сценариев взаимодействия между WebAssembly и JavaScript.