Обновить

Компания Норд Клан временно не ведёт блог на Хабре

Сначала показывать

Как выстроить процессы тестирования на проекте

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.5K

В публикации рассмотрим общий флоу, конкретные нюансы и best practices построения ручного процесса тестирования на проекте в agile методологии. Статья может быть полезна как для команд, которые только стартуют, так и для тех, кто уже некоторое время развивается, и где присутствуют проблемы с качеством. 

Запустить тестирование

Мне нужна твоя одежда, сапоги и требования к проекту. Тестирование требований для начинающих

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели3.2K

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

Что такое требования и какими
они бывают?

Требования – это любое условие, которому
должен соответствовать конечный продукт,
все его возможности, ограничения и логика
системы. Они создаются в процессе
проработки задания на разработку/
модернизацию программного обеспечения.
Требования делятся на функциональные и
нефункциональные, а также на явные и
неявные (самые коварные). Причем,
неявные требования необходимо
переводить в явные, так как определения
неявных требований нигде не прописаны, а
значит их наличие чревато разночтениями и
недопониманиями внутри команды, из-за
чего, в будущем разработка может
столкнуться с проблемами.
Функциональные требования описывают, что
должна делать система. Они включают в
себя:
1. Бизнес-требования;
2. Функциональные требования;
3. Пользовательские требования;
4.Системные требования.


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

Что делать QA-специалисту,
если требований нет или почти
нет?

В случае если Вам не повезло и требования
на проекте не отвечают необходимым
критериям, а может быть их и вовсе нет, то
нам необходимо вовремя обнаружить
проблему с требованиями и взяться за ее
решение.
Требования можно искать в различных
источниках:
1. Проектная документация;
2. Заказчик и Заинтересованные лица;
3. Сегмент рынка бизнеса, схожие проекты;
4. Эксперты в отрасли;
5. Интернет и СМИ;
6. Законодательство;
7. Логика и здравый смысл;
8. Жизненный и профессиональный опыт;
9. Коллеги и профессиональное комьюнити.

Перейти к требованиям

Обзор библиотеки FluentValidation. Часть 7.2. Встроенные валидаторы

Уровень сложностиПростой
Время на прочтение22 мин
Охват и читатели4.7K

В этой части рассмотрим следующие валидаторы:

Length — длина строки в указанном диапазоне либо точная.

MaximumLength — максимальная длина строки.

MinimumLength — минимальная длина строки.

LessThan — меньше чем значение, тип которого реализует интерфейс IComparable.

LessThanOrEqualTo — меньше или равно чем значение, тип которого реализует интерфейс IComparable.

Пройти валидацию

Базовые принципы UX для frontend-разработчика

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели18K

Знаете, однажды в какой-то статье я наткнулся на интересное высказывание, которое гласило, что фронтенд-разработчик может стать последним рубежом, который может предотвратить создание «неюзабельного» UI. И это чертовски меткое и выразительное высказывание, которое отчасти и привело меня к созданию этой статьи про базовые принципы UX, которые не помешало бы иметь на вооружении каждому фронтенд-разработчику.

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

Читать далее

Собеседование в руках маньяков

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели67K

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

Что не так с собеседованиями

Как запретить разработчику делать не то что нужно?

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.9K

React основан на компонентом подходе. Когда создается компонент, предполагается, что его будут использовать по назначению. Если в проекте есть таблицы значит надо использовать <Table /> (к примеру), формы - значит <Form />. Естественно названия носят абстрактный характер, в каждом проекте они могут иметь разные названия, но суть их одна.

На практике нередко встречается такое, что разработчики, особенно новые, пытаются обойти некие правила использования, и за этим может уследить только TeamLead (или тот кто проводит ревью). И для того что бы облегчить эту работу, я расскажу о том какой паттерн можно для этого использовать, покажу какие модификации для этого следует внести и естественно все это подкреплю практическими примерами.

Меня зовут Дмитрий Чернов - старший инженер-программист в компании Nord Clan. И мы начинаем.

Читать далее

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

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели17K

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

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

Читать далее

Event propagation

Время на прочтение10 мин
Охват и читатели5.5K

Типичное видение модели распространения события, которое мы привыкли видеть в интернете - это модель всплытия события (bubbling) подобно пузырьку, или погружению (capturing) подобно “камню”.

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

Вдохнуть поглубже

Реактивность в Vue

Время на прочтение13 мин
Охват и читатели15K

Уверен, вы когда-нибудь задавались вопросом «Что за зверь эта реактивность и как она работает?». Думаю, что настало время закрыть этот вопрос и рассмотреть работу реактивности на примере Vue.

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

Читать далее

Flutter, создание Home Widget на платформе iOS

Время на прочтение6 мин
Охват и читатели3.7K

Всем привет! Меня зовут Константин, я Flutter-разработчик в компании Nord Clan.

В данной статье мы с моей коллегой Анной хотели бы поделиться нашим опытом связки Flutter и home widget на платформе iOS.

Читать далее

Процесс рендеринга Vue

Время на прочтение10 мин
Охват и читатели10K

Добрый день! Меня зовут Александр, я работаю frontend-разработчиком в компании Nord Clan. В прошлой статье мы рассмотрели процесс компиляции Vue, а теперь надо как-то «пристроить» результат этой самой компиляции в процесс рендеринга.

Дизайн лого: Марина Четвертакова

Читать далее

Объяснение паттерна Наблюдатель на примере Redux

Время на прочтение6 мин
Охват и читатели16K

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

Казалось бы, что может избавить нас от мучительной рутины связанной с отслеживанием зависимостей? Есть один паттерн, который нам с этим поможет, и имя ему Наблюдатель. Давайте посмотрим как он реализуется в знакомой библиотеке менеджера состояний Redux.

Читать далее

Красная нить MVC-Flux-Redux

Время на прочтение7 мин
Охват и читатели8.2K

Есть MVC-приложение на frontend, которое активно расширяется:  создаются новые модели, представления и контроллеры.
Со временем такое приложение начинает напоминать лабиринт из моделей, а баги, живущие в этом лабиринте превращаются в настоящих минотавров. Но все не так плохо, похоже есть нить, которая ведет из этого лабиринта…

Выбраться из лабиринта

Сквозь тернии к core-у или процесс компиляции Vue

Время на прочтение11 мин
Охват и читатели14K

Нео проснулся от бликов вспыхнувшего экрана компьютера. Экран заполняла зеленая полоска прогресса.

– Матрица – испуганно прошептал Нео.

– Александр, вы уснули на работе – прошептал тимлид.

Я взглянул на экран компьютера еще раз. Компиляция Vue была завершена. Я облегченно вздохнул.

Скомпилировать!

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