Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович

Новые технологии / Модульное тестирование

  • На этом уроке мы познакомимся с модульным тестированием.
    Мы напишем небольшой калькулятор, в который добавим
    проект для модульного тестирования, и покажем,
    как это всё работает, как это нужно использовать.
  • Дата отправки отчёта: 18 августа 2016 г.
  • Задание выполнено: за 1 час. 25 мин.
  • Чему научился: Научился применять Модульное тестирование на практике.
  • Что было сложным: Нужно больше практики,  а так ничего сложного.
  • Комментарии: Интересно бы знать, сколько получают тестировщики, и бывает ли это отдельной профессией или чтобы просто заниматься только одним тестированием в какой нибудь компании программистов и получать за это деньги.Мне раньше казалось, что тестирование очень сложно и лезть туда очень опасно, так как сложно разобраться в этом тестировании, в общем сам себя запугивал и загонял.Оказалось, что ничего сложного нет.Евгений всё доступно и понятно объяснил, как всегда интересно!!!
  • Оценка видео-уроку:
Отчёт от 10008 за Новые технологии / Модульное тестирование




Оцени работу

 
Сохранить страницу:

791. Валерий Жданов
Валерий Жданов
ответить
→  Сергей Зулкарнаев  # Новые технологии / Модульное тестирование / 2016-08-19 12:29

Получают везде по-разному. А практика, да нужна, без нее нигде


8959. Максим Саратов
Максим Саратов
ответить
→  Сергей Зулкарнаев  # Новые технологии / Модульное тестирование / 2016-08-19 10:45

не разу не писал модульные тесты, тоже надо пройти, Молодца!


7119. Новопашин Владимир
Новопашин Владимир
ответить
→  Сергей Зулкарнаев  # Новые технологии / Модульное тестирование / 2016-08-19 08:40

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


11017. Владимир Петреченко
Владимир Петреченко
ответить
→  Сергей Зулкарнаев  # Новые технологии / Модульное тестирование / 2016-08-18 23:11

Тестировщик есть такая профессия. QA engineer. Статистика зарплат в Украине https://jobs.dou.ua/salaries/#period=may2016&city=all&title=Junior+QA+engineer&language=&spec=&exp1=0&exp2=10


  • Отчёт оценивали:
    5649Максим Лапшинов+1   6452Кирилл Шмойлов+1   9441gazetter+1   10673Алексей Хонин+1   10494Алексей В.+1   24Олюшка+1   11017Владимир Петреченко0   3506Алексей|BrisK|Кривицкий+1   10558Иван Воронин+1   10670Сергей Соколов+1   9156DimkaKMS+1   4004Елена+1   4395Денис+1   7119Новопашин Владимир+1   689Igorenzia+1   8959Максим Саратов+1   791Валерий Жданов+1   10162Дмитрий+1   9263Андрей Н.+1   9971Юрий+1   1Евгений Волосатов+1   8886Михаил Ермишин+1  

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Узнал о модульном тестировании и применил его на практике.
Трудности: Сложно было инициализировать модуль
Спасибо, очень полезный урок, пригодится мне в дальнейшем :)
Научился: Использование модульного тестирования в C#.
Трудности: Реализация своего класса знаковых чисел MyInteger с управляемым диапазоном значений.
Сначала сделал все как на уроке, опробовал работу всех тестов, включая последний, с исключением деления на ноль. Понравилось. Решил добавить что-то от себя. Так как в данном уроке мы пишем калькулятор и в чате упомянули о случае, если мы выйдем за границы диапазона long, то решил создать свой велосипед. Разработал класс MyInteger, который представляет знаковое целое число с управляемым ограниченным диапазоном значений. Ограничение указывается во втором параметре конструктора - это количество битов в разрядной сетке числа. Первый параметр - само число. Например, new MyInteger(5, 4) означает, что мы имеем дело с числом, значение которого 15 и число битов 4, поэтому максимальное положительное число - 2^3 - 1 = 7, соответственно отрицательное -2^3 = -8. Оба параметра имеют значения по умолчанию, то есть MyInteger(value = 0, bits = 64) и можно написать new MyInteger(5), и получим обычное число в типе long. Данное решение мне не очень нравится, в C++ я бы для этого применил шаблоны, где выход за границы проверяется на этапе компиляции и код получается безопаснее. Здесь же в C# я пока что слабо владею языком, поэтому выбрал такое решение, где ограничение на диапазон не привязано к типу на этапе компиляции и поэтому проверяется во время выполнения. Создал свои три типа исключений InvalidBitCount (bits < 1 || bits > 64), BitCountMismatch (в операциях сложения и т.д. могут участвовать только числа с количеством бит в разрядной сетке. Если не одинаково - ловим эксепшн), ValueOverflow (если вышли за пределы значений числа, например, при операции умножения получили слишком большое число). Кроме того, для удобства и на примере C++ добавил перегрузку операторов +, *. /, чтобы писать конструкции c = a + b. Удобно. Добавил 16 тестов, где рассматриваются разные варианты возникновения исключений. Названия старался выбирать говорящие, так что думаю понятно, что делает тот или иной тест. Например это тесты на проверку валидности создаваемого числа, переполнения в положительном/отрицательном диапазонах, несовместимостях двух чисел по разрядным сеткам(например пытаться сложить тип int с типом short). В общем, на этом все, опять получилась большая стена текста, спасибо что дочитали) Спасибо, Евгений Витольдович, хороший урок)