Что такое тестирование? Что такое тестирование для разработчиков? Почему важно тестирование?

Написание тест-кейсов разработчиками - утомительное занятие. Разработчик не может увидеть более серьезную проблему, которую он пытается решить, написав тестовые примеры в своем проекте. Это не 100% их вина. Проблема в том, как мы, разработчики, учимся: мы всегда отдаем приоритет написанию кода в первую очередь.

В этой серии статей я познакомлю вас с руководством по тестированию - Почему, как и когда?

Почему тест-кейсы?

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

Однако, на мой взгляд, есть 4 основные причины, по которым мы должны подумать о написании тестовых примеров:

  1. Тестовые примеры служат документацией по функциям и требованиям вашего приложения.
  2. Тестовые примеры помогают охватить все крайние случаи и неписаные требования задолго до того, как вы начнете писать код. Тест-кейсы стали вашей базой для требований, по которым вы можете пройти проверку.
  3. Тест-кейсы - это самый простой способ привлечь нового разработчика. Тест-кейсы - это документация вашего проекта, и новый разработчик легко ее поймет.
  4. Покрытие кода контрольным набором отражает качество вашего кода и проекта.

Не думай о коде

Если вы работаете в сфере услуг, вы знаете проблему своевременности. Как разработчик, вас сначала учат писать код, и вы даете оценку на основе того, сколько времени вы потратите на код.

Однако первое правило - думать прежде, чем код.

Перед написанием кода напишите тест-кейсы (подсказка, TDD). Второе правило: при оценке добавляйте час * для ручного тестирования и тестирования тестовых примеров.

Что тестировать?

Самая большая проблема для новичков в тестировании - это что тестировать?

Как разработчик вы принимаете решение о том, что вы хотите тестировать и как вы хотите тестировать. Процесс будет следующим:

  1. Понять требования.
  2. Начните писать тестовый пример, а не код.
  3. Например. Требование: Нажмите на кнопку, чтобы что-то сделать. Давайте нарушим это требование
  • Каким был бы текст кнопки?
  • Будет ли какое-нибудь событие зависания?
  • Что там еще какой-нибудь текст по умолчанию?
  • Как кнопка будет на разных размерах экрана?
  • Будет ли значок или нет?

4. Напишите тестовый пример.

  • Кнопка отображается на экране.
  • Разметка или тег является допустимым тегом Button.
  • Есть ли текст - если нет, есть ли текст по умолчанию?
  • Тип данных текста всегда должен быть String.
  • Событие на кнопке onHover () работает?
  • Событие на кнопке onClick () работает?
  • Событие на кнопке onChange () работает?
  • Может ли пользователь добавить собственное событие?
  • и так далее…

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

Для тестирования доступно множество фреймворков, таких как Mocha, chai, и самой популярной из них является Jest. В этом уроке мы узнаем о Jest.

Что такое шутка?

Jest - это самый простой фреймворк для тестирования. Он может работать с проектами, использующими - Reactjs, angular, javascript, веб-пакет, vuejs, typescript и т. Д.

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

Почему это популярно?

Jest - это очень простой фреймворк, и вы поймете, как только вы увидите, как он работает. Jest предоставляет разработчику самый простой способ выполнения самой сложной работы. Если вы следуете TDD by Jest, у вас может быть максимальное покрытие кода. (скоро мы поговорим о покрытии кода)

Возможности:

  • Быстро и безопасно
  • Покрытие кода
  • Легкое издевательство
  • Легкая отладка
  • Работа практически со всеми популярными UI-фреймворками и библиотеками.
  • Легкая кривая обучения

Следующие уроки:

  • Часть 2: Установка Jest в ваш проект Reactjs
  • Часть 3: Написание вашего первого тестового примера Jest
  • Часть 4: Напишите свой первый тестовый пример Snapshot
  • Часть 5: Глубокое погружение в Jest с помощью тестирования Reactjs
  • Часть 6: E2E-тестирование