Как стать автором
Обновить
0.4

TDD *

Разработка через тестирование

Сначала показывать
Порог рейтинга
Уровень сложности

Зачем писать юнит-тесты на фронтенд?

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 7.9K
Туториал

Сегодня речь пойдет про тесты… Про юнит-тесты. Думаю, что почти все слышали про юнит-тесты, пробовали их писать, и, возможно бросали это «гиблое дело»  как только сталкивались с непониманием того, что тестировать на фронтенде.

Дизайн превью: Марина Четвертакова

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 23

Новости

TDD и unit тесты: не сотвори себе монолит

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 4.4K

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

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

Посмотреть код
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 24

Как я сделал Telegram-бота для студентов РТСУ

Время на прочтение 28 мин
Количество просмотров 7K

Привет, Хабр! Я учусь в Российско-Таджикском Славянском университете, собственно у нас в университете действует так называемая кредитно-бальная система.

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

Оно доступно для Android.

Читать далее
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 11

Как сократить time2market с помощью coding kata?

Уровень сложности Средний
Время на прочтение 31 мин
Количество просмотров 2.5K
Туториал

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

За время проекта два раза поменяли команду и заказчика.

Аудит процесса производства с точки зрения time2market показал, что: долго вносятся изменения в код, долго выполняется ручное тестирование и часто после тестирования код возвращается на доработку

Первопричиной низкого time2market являлось то, что команда не владела практикой coding kata, о которой я подробно расскажу в данной статье на примере задачи "Позолоченная роза".

После применения приемов, описанных в этой статье, оставшиеся 95% проекта команда реализовала и сдала за 6 месяцев вместо прогнозируемых 48 лет, что эквивалентно сокращению time2market в 96 раз.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 13

Истории

CI, кодстайл и TDD: обзор практик для повышения качества кода

Время на прочтение 8 мин
Количество просмотров 11K

Blade Runner 2049, Warner Bros. Pictures

Я видел не во сне, а наяву атакующие корабли, пылающие под четырьмя вложенными if-else, и лучи CI с кучей сканирований у ворот Тангейзера, вызывающие лютую боль разработчиков. Меня зовут Максим Морев, и я техлид в Газпромбанке.

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

Читать далее
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 8

Тестирование миграции данных на python с pytest-bdd и testcontainers

Время на прочтение 6 мин
Количество просмотров 2.2K
Туториал

В рамках проекта цифровой модернизации для одного из наших клиентов возникла задача миграции данных из одной модели хранения в другую. Для тестирования такого решения мы обратились к BDD практикам и виртуализации зависимостей с помощью контейнеров. В данном посте мы рассмотрим как можно организовать тестирование подобного решения с помощью pytest-bdd и testcontainers на python.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Опыт использования AutoFixture для генерации gRPC сообщений

Время на прочтение 4 мин
Количество просмотров 2.5K

Думаю, большинство читателей согласится, что автоматизированное тестирование - полезный, а во многих областях даже необходимый, этап создания программ. А так как программисты - народ ленивый, то и инструментов, облегчающих этот этап существует немало. Одним из таких инструментов является AutoFixture - средство для генерации тестовых экземпляров. Этот инструмент уже не раз упомянался на Хабре, например тут. Далее я расскажу о том, с какой проблемой столкнулся в попытке применить AutoFixture в своей работе и как решил эту проблему.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 2

16 Способов Отладки и Диагностики FirmWare

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 5.6K
Туториал

В этом тексте перечислены основные способы отлаживать и диагностировать проекты на микроконтроллерах.

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

Читать далее
Всего голосов 20: ↑17 и ↓3 +14
Комментарии 23

Стоит ли тебе прочесть книгу «Идеальный программист»?

Время на прочтение 2 мин
Количество просмотров 12K

Сегодня я расскажу тебе, достойна ли книга Роберта Мартина “Идеальный программист” внимания. Стоит ли её читать, если ты уже опытный программист, прошедший большой путь и многое познавший? А если ты только начинаешь свою нелегкую дорогу в мир разработки? Быть может ты находишься где-то по середине и не знаешь, как дальше развиваться? Может ты вообще до этого не читал никакой технической литературы и боишься к ней подступиться? На все эти вопросы ты найдешь ответ в этой краткой статье.

Читать далее
Всего голосов 15: ↑10 и ↓5 +5
Комментарии 28

Выразительные Unit тесты в Dart/Flutter

Время на прочтение 7 мин
Количество просмотров 4.4K
Туториал

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

📺 Доступна также видео версия данной статьи.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 2

Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете

Время на прочтение 7 мин
Количество просмотров 3.2K

Привет! Меня зовут Владислав Сединкин, я работаю iOS-разработчиком в СберМаркете. Сегодня я расскажу, как мы проводим юнит-тестирование, с какими сложностями сталкивались при написании тестов и как их решали.  

Я выступал с этим докладом на iOS Meetup | СберМаркет Tech, здесь его сжатая версия.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

Введение в Test-Driven Development на React для чайников

Время на прочтение 4 мин
Количество просмотров 6.4K
Перевод

Привет, в данном посте вы найдете перевод статьи Mangabo Kolawole, в которой пойдет речь о Test-Driven Development. Мы создадим крайне простое приложение на React по всем правилам TDD.

Первое правило Test-Driven Development (TDD) – это написание тестов перед написанием кода. Это звучит более интуитивно, когда мы говорим о разработке для бэкенда, если честно, но работает ли данная схема для фронтенда, в частности для React, что же, посмотрим.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 4

Laravel: разработка пакетов

Время на прочтение 15 мин
Количество просмотров 8.3K
Туториал

Каждый разработчик рано или поздно сталкивается с необходимостью повторного использования собственного кода. В проектах PHP для этих целей создаются пакеты, устанавливаемые с помощью Composer. При этом пакеты могут быть абстрагированы от каких-либо фреймворков, либо могут быть предназначены для использования в конкретном PHP-фреймворке. В данной статье рассказывается о том, как создать PHP-пакеты для фреймворка Laravel, но материал будет полезен и тем, кто собирается разрабатывать любые другие PHP-пакеты (как публичные, так и приватные).

Для лучшего понимания данного материала рекомендуется ознакомиться с разделом о разработке пакетов в официальной документации Laravel. А для более детального изучения темы будет полезен данный ресурс.

Данная статья в большей мере ориентирована на начинающих разработчиков.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

Ближайшие события

Yandex Scale
Дата 25 – 26 сентября
Время 17:00 – 18:00
Место Москва Онлайн
Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Business&IT Day: Retail CPG
Дата 28 сентября
Время 09:50 – 14:00
Место Онлайн
XIX конференция разработчиков свободных программ «Базальт СПО»
Дата 29 сентября – 1 октября
Время 10:00 – 19:00
Место Переславль-Залесский Онлайн
Kokoc Hackathon
Дата 29 сентября – 1 октября
Время 19:00 – 21:00
Место Онлайн
Ruby Russia 2023 Online
Дата 30 сентября
Время 11:00 – 21:00
Место Онлайн
PG Boot Camp Russia 2023
Дата 5 октября
Время 10:00 – 17:00
Место Москва Онлайн
Joker
Дата 9 – 14 октября
Время 16:00 – 19:30
Место Санкт-Петербург Онлайн
Russia Risk Conference 2023 — 19-я конференция по риск-менеджменту
Дата 25 – 26 октября
Время 10:00 – 19:00
Место Москва Онлайн

Практика обучения в QA отделе. Профиль тестировщика

Время на прочтение 8 мин
Количество просмотров 13K

Добрый день! Я – Елена Поплоухина, руководитель группы тестирования в компании Usetech. В предыдущей статье я рассказывала про опыт построения обучения в группе тестирования на основе практики квартальных целей. 3,5 года мы пользовались этим подходом, но в итоге решили всё переделать. Почему так получилось? Для этого было несколько причин, и о них я расскажу в этой статье.

Это следующие причины:

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

● Не всегда было очевидно, какие пробелы в знаниях и опыте есть у сотрудника.

● Периодически не устраивал период выполнения цели в 3 месяца. На квартал могли выпадать и новогодние праздники, и отпуск сотрудника. В таком случае времени на выполнение цели не хватало. Требовалось варьировать период выполнения целей с учётом как их сложности, так и других факторов.

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

Базовая версия профиля тестировщика была получена нами на одном из курсов по тест-менеджменту и переработана на 50% под нашу компанию. Давайте рассмотрим, как выглядит профиль.

Читать далее
Рейтинг 0
Комментарии 9

TEGRUS подтверждает, что корпоративная почта Mailion выдерживает нагрузку в 600 тысяч пользователей

Время на прочтение 6 мин
Количество просмотров 5.3K


В ноябре прошлого года МойОфис представила корпоративную почту нового поколения Mailion, разработанную при грантовой поддержке РФРИТ. Это тиражируемое решение для крупных организаций, которое разворачивается на собственных серверах клиента или на базе инфраструктуры доверенного партнера. Благодаря Cloud Native микросервисной архитектуре Mailion гарантирует высокую отказоустойчивость, быстрое самовосстановление и масштабируемость в период колебания нагрузок.

Инженеры компании TEGRUS, российского системного интегратора полного цикла, провели нагрузочное тестирование почты Mailion и подтвердили её применимость в структурах с 600 тысячами пользователей. В ходе тестирования проверялась корректность исполнения сценариев нагрузки, которые эмулируют рабочий день организации и описывают типовое поведение сотрудников крупного предприятия при работе с электронной почтой.

О том, как проходило тестирование и какие результаты мы получили — читайте под катом.
Читать дальше →
Всего голосов 19: ↑16 и ↓3 +13
Комментарии 11

8 стереотипов, с которыми сталкиваются тестировщики

Время на прочтение 3 мин
Количество просмотров 13K

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

Я всегда говорю: “Тестировщиком может стать любой”. Всё зависит от мотивации, исходной базы знаний и скорости восприятия информации. Если вы решите выбрать тестирование как профессию, то сможете повысить свои компетенции в разных сферах, выбрав подходящее направление для роста.

В IT-сфере существуют стереотипы насчет профессии тестировщика. Многие стереотипы сильно обобщены и не имеют под собой основы. Я – Илюся Усманова, старший инженер по тестированию. На 4 курсе университета я ещё не знала, чем именно в IT буду заниматься. Но мои глаза загорелись, как только начался курс по тестированию. Я поняла, что делать качественное ПО для меня интереснее, чем писать код и общаться с заказчиками. В роли QA я уже 7 лет, и за это время сталкивалась с разными мнениями как внутри команды, так и в сообществах тестировщиков. Давайте рассмотрим самые популярные из них.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 17

Организация PHP-тестов с большими массивами данных

Время на прочтение 4 мин
Количество просмотров 3.1K

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

Так, при разработке API нашей команде довелось сверять в тестах многомерные массивы, которые занимают несколько экранов. Наличие этих массивов в коде теста сделало бы разработку и чтение тестов крайне неудобными, поэтому появилась необходимость вынести тестовые данные из кода теста. При этом вынести их надо недалеко от самого теста, чтобы разработчику было удобно просматривать и редактировать эти данные.

В результате был написан скрипт, который позволяет извлекать массивы данных из php-файлов, а также из обычных текстовых файлов, и подставлять эти данные в код теста. Позже этот скрипт был оформлен в php-пакет test-data-provider.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 2

Практика обучения в QA отделе. Квартальные цели

Время на прочтение 7 мин
Количество просмотров 4.7K

О личном опыте в обучении тестировщиков и использовании SMART

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 6

Какие тесты выбрать для облака? Сравниваем варианты

Время на прочтение 7 мин
Количество просмотров 5.3K
Привет, Хабр! Меня зовут Илья Казначеев, я техлид в MTS Cloud, это облачный провайдер МТС. Моя команда занимается сервисом Kubernetes Managed, а еще мы проводим тесты облачных платформ. В этой статье я расскажу о нашем опыте: какие виды тестов мы пробовали, как боролись с проблемами и к чему в итоге пришли.

Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 0

Q&A по QA: разбираем вопросы митапа по автоматизации тестирования

Время на прочтение 4 мин
Количество просмотров 4K

Привет, Хабр!

В октябре мы провели онлайн-митап по тестированию, в котором спикеры из Badoo, Skillbox, Почтатех и SuperJob поговорили о своем опыте перехода от ручного тестирования к автоматизации, рассказали о подходах к стабилизации тестов для мобильных приложений и многом другом. Встречу посетили более 600 участников, а QA Lead SuperJob Антон Шкредов получил столько интересных вопросов, что мы решили сделать отдельный пост в блоге. Итогами разбора делимся под катом.

Запись митапа доступна по ссылке, а если смотреть неудобно, то главные тезисы доклада Антона можно почитать на Хабре.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 2

Вклад авторов