JavaScript для QA. Фронтендер учит дебажить код через Devtools

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Всем привет, меня зовут Иван, я инженер по тестированию (Manual and Automation). В ремесле более 2-х лет. В этой статье мы рассмотрим методы черного, серого и белого ящиков, а так же как JavaScript может быть использован для перехода от метода черного ящика к серому и белому.

Со мной сегодня senior фронтенд-разработчик, Алексей - специалист с большим опытом, он научит вас дебажить код в Devtools и ставить точку останова. Даст советы для QA как стать самостоятельнее и определять ошибки в коде с базовыми знаниями JavaScript. Ссылка на канал Алексея "Рассказ фронтендера"

Для чего нам нужна точка останова и как это связано с методами тестирования?

Что такое метод тестирования? Это метод подхода к тестированию: можно подойти к тестированию закрытыми глазами с тест-дизайном "Исследовательское тестирование", а можно изучить, что происходит под капотом и уже как механик капаться в грязи в чужом коде. Точка останова это один из гаечных ключей, которые помогут проверить код и его реализацию в проекте.

ТЕОРИЯ (1 мин)

QA подходит к тестированию по трём методам:

Метод черного ящика - тестирование ПО без знания его внутренней структуры и реализации.

  • Независимость от внутренней реализации: QA-специалисты могут тестировать ПО, не зная деталей его реализации. Это позволяет им сосредоточиться на проверке функциональности и пользовательского опыта.

Метод серого ящика - тестирование с некоторым представлением о внутренней структуре ПО.

  • Более глубокое тестирование: QA-специалисты могут использовать знания о внутренней структуре ПО для проведения более глубокого тестирования, включая проверку базы данных, взаимодействие с API и проверку состояния приложения.

Метод белого ящика - тестирование внутренней структуры и реализации ПО.

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

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

Elements - вкладка, позволяющая просматривать и редактировать HTML-структуру страницы, а также изменять стили элементов.

Console - предоставляет возможность взаимодействия с JavaScript интерпретатором, отображение ошибок и вывод отладочных сообщений.

Network - отображает все сетевые запросы, отправляемые и получаемые страницей, а также информацию о времени загрузки ресурсов.

Sources - позволяет просматривать и отлаживать JavaScript-файлы (картинки, css- файлы и др.), а также устанавливать точки останова в исходном коде для отладки js скрипта.

ПРАКТИКА (20 мин)

На веб-странице добавлен новый функционал по случаю большого праздника. Тематическое обновление принесло на сайт падающие ❄️ снежинки при загрузке страницы. В требованиях есть параметры скорости и кружения снежинок для более реалистичной картинки. Методом черного ящика, то есть на глаз с секундомером тестировать не получится, даже если сильно хочется.

В новом функционале заложены переменные speed и rotate, у которых есть значения. Необходимо сравнить ожидаемый результат (требования) с фактическим.

https://ivaniksanov.github.io - тестируемый сайт на котором вы можете сами следовать инструкции ниже. Рекомендую использовать Chrome Browser.

Переходим на сайт и открываем инструмент разработчика (devtools) - вкладка Sources.

Sources - Page - ivanIksanov.github.io - main.js
Sources - Page - ivanIksanov.github.io - main.js

main.js - это файл JavaScript, который обычно содержит основной код и логику для работы веб-сайта. Он может включать в себя функции, обработчики событий, взаимодействие с элементами страницы и другие операции, необходимые для функционирования сайта.

Веб-сайт обычно состоит из трех основных компонентов:

HTML (HyperText Markup Language) - это язык разметки, используемый для создания структуры и содержимого веб-страницы.

CSS (Cascading Style Sheets) - это язык стилей, который определяет внешний вид и оформление веб-страницы.

JavaScript - это язык программирования, который позволяет добавлять интерактивность и динамическое поведение на веб-странице. 

Легенда скриншота указана ниже соответствующим цветом
Легенда скриншота указана ниже соответствующим цветом

Источник: https://habr.com/ru/articles/782682/


Интересные статьи

Интересные статьи

Всем привет! Меня зовут Сергей, и сегодня я расскажу о том, как я искал носки мы выстраивали процессы тестирования в команде.Исторически сложилось, что мы делаем бэкенд для мобильного приложения, из-з...
Привет! Это снова Света, я всё еще живу в Валенсии и работаю в Beeline Казахстан. Это продолжение истории о том, как я переехала в Испанию в январе 2022 года. Как получить испанский ВНЖ рассказыв...
В 2021 году уже известно, что Zabbix предлагает в качестве средства комплексного мониторинга инфраструктуры VMware набор шаблонов, использующих функционал Low Level Discovery (LLD) и элем...
Всем привет, меня зовут Иван, я разработчик, пишу на Java. Хочу поделиться с вам мыслями и совместно порассуждать, когда не стоит идти учиться на программиста.Что я имею ввиду? Если совсе...
В информационной безопасности мы выработали ряд аксиом, с которыми не принято спорить: Никогда не внедряйте собственную криптографию. Всегда используйте TLS. Безопасность ч...