В публикации рассмотрим общий флоу, конкретные нюансы и best practices построения ручного процесса тестирования на проекте в agile методологии. Статья может быть полезна как для команд, которые только стартуют, так и для тех, кто уже некоторое время развивается, и где присутствуют проблемы с качеством.
Компания Норд Клан временно не ведёт блог на Хабре
Мне нужна твоя одежда, сапоги и требования к проекту. Тестирование требований для начинающих
Первое, что должен сделать любой
грамотный QA-специалист, при заходе на
новый проект, это попросить к
ознакомлению требования проекта. И чем
раньше, тем лучше. Однако, не все умеют с
этими требованиями работать, тестировать
их эффективно и быстро, и эта статья как раз
об этом.
Что такое требования и какими
они бывают?
Требования – это любое условие, которому
должен соответствовать конечный продукт,
все его возможности, ограничения и логика
системы. Они создаются в процессе
проработки задания на разработку/
модернизацию программного обеспечения.
Требования делятся на функциональные и
нефункциональные, а также на явные и
неявные (самые коварные). Причем,
неявные требования необходимо
переводить в явные, так как определения
неявных требований нигде не прописаны, а
значит их наличие чревато разночтениями и
недопониманиями внутри команды, из-за
чего, в будущем разработка может
столкнуться с проблемами.
Функциональные требования описывают, что
должна делать система. Они включают в
себя:
1. Бизнес-требования;
2. Функциональные требования;
3. Пользовательские требования;
4.Системные требования.
Нефункциональные требования описывают,
как именно должна работать система и
почему. Они включают в себя:
1. Бизнес-правила;
2. Правила взаимодействия с внешними
интерфейсами;
3. Метрики качества;
4. Ограничения.
Что делать QA-специалисту,
если требований нет или почти
нет?
В случае если Вам не повезло и требования
на проекте не отвечают необходимым
критериям, а может быть их и вовсе нет, то
нам необходимо вовремя обнаружить
проблему с требованиями и взяться за ее
решение.
Требования можно искать в различных
источниках:
1. Проектная документация;
2. Заказчик и Заинтересованные лица;
3. Сегмент рынка бизнеса, схожие проекты;
4. Эксперты в отрасли;
5. Интернет и СМИ;
6. Законодательство;
7. Логика и здравый смысл;
8. Жизненный и профессиональный опыт;
9. Коллеги и профессиональное комьюнити.
Обзор библиотеки FluentValidation. Часть 7.2. Встроенные валидаторы
В этой части рассмотрим следующие валидаторы:
Length
— длина строки в указанном диапазоне либо точная.
MaximumLength
— максимальная длина строки.
MinimumLength
— минимальная длина строки.
LessThan
— меньше чем значение, тип которого реализует интерфейс IComparable
.
LessThanOrEqualTo
— меньше или равно чем значение, тип которого реализует интерфейс IComparable
.
Базовые принципы UX для frontend-разработчика
Знаете, однажды в какой-то статье я наткнулся на интересное высказывание, которое гласило, что фронтенд-разработчик может стать последним рубежом, который может предотвратить создание «неюзабельного» UI. И это чертовски меткое и выразительное высказывание, которое отчасти и привело меня к созданию этой статьи про базовые принципы UX, которые не помешало бы иметь на вооружении каждому фронтенд-разработчику.
Дизайн превью: Марина Четвертакова
Собеседование в руках маньяков
Добрый день меня зовут Александр и я токсичный душнила с двадцатилетним стажем в айти, готовый откусить вам кадык, как только вы расслабьтесь. Мои характеристики делают меня хорошим техническим собеседующим, поэтому добро пожаловать на моё провальное собеседование. Запомните, вы его никогда не пройдете. А знаете почему?
Истории
Как запретить разработчику делать не то что нужно?
React основан на компонентом подходе. Когда создается компонент, предполагается, что его будут использовать по назначению. Если в проекте есть таблицы значит надо использовать <Table /> (к примеру), формы - значит <Form />. Естественно названия носят абстрактный характер, в каждом проекте они могут иметь разные названия, но суть их одна.
На практике нередко встречается такое, что разработчики, особенно новые, пытаются обойти некие правила использования, и за этим может уследить только TeamLead (или тот кто проводит ревью). И для того что бы облегчить эту работу, я расскажу о том какой паттерн можно для этого использовать, покажу какие модификации для этого следует внести и естественно все это подкреплю практическими примерами.
Меня зовут Дмитрий Чернов - старший инженер-программист в компании Nord Clan. И мы начинаем.
Зачем писать юнит-тесты на фронтенд?
Сегодня речь пойдет про тесты… Про юнит-тесты. Думаю, что почти все слышали про юнит-тесты, пробовали их писать, и, возможно бросали это «гиблое дело» как только сталкивались с непониманием того, что тестировать на фронтенде.
Дизайн превью: Марина Четвертакова
Event propagation
Типичное видение модели распространения события, которое мы привыкли видеть в интернете - это модель всплытия события (bubbling) подобно пузырьку, или погружению (capturing) подобно “камню”.
Я представил весь процесс, не опираясь на модель поведения пузырька, а как дыхательный процесс - заменил погружение на вдох, всплытие на выдох, наличие подписки на событие обозначил звуком.
Реактивность в Vue
Уверен, вы когда-нибудь задавались вопросом «Что за зверь эта реактивность и как она работает?». Думаю, что настало время закрыть этот вопрос и рассмотреть работу реактивности на примере Vue.
Дизайн превью: Марина Четвертакова
Flutter, создание Home Widget на платформе iOS
Всем привет! Меня зовут Константин, я Flutter-разработчик в компании Nord Clan.
В данной статье мы с моей коллегой Анной хотели бы поделиться нашим опытом связки Flutter и home widget на платформе iOS.
Процесс рендеринга Vue
Добрый день! Меня зовут Александр, я работаю frontend-разработчиком в компании Nord Clan. В прошлой статье мы рассмотрели процесс компиляции Vue, а теперь надо как-то «пристроить» результат этой самой компиляции в процесс рендеринга.
Дизайн лого: Марина Четвертакова
Объяснение паттерна Наблюдатель на примере Redux
Как часто приходится сталкиваться с тем, что начиная проект и развивая его до какого то момента, приходит понимание что код стал запутанным, а чтобы поправить зависимость в одном модуле, приходится править десятки похожих?
Казалось бы, что может избавить нас от мучительной рутины связанной с отслеживанием зависимостей? Есть один паттерн, который нам с этим поможет, и имя ему Наблюдатель. Давайте посмотрим как он реализуется в знакомой библиотеке менеджера состояний Redux.
Красная нить MVC-Flux-Redux
Есть MVC-приложение на frontend, которое активно расширяется: создаются новые модели, представления и контроллеры.
Со временем такое приложение начинает напоминать лабиринт из моделей, а баги, живущие в этом лабиринте превращаются в настоящих минотавров. Но все не так плохо, похоже есть нить, которая ведет из этого лабиринта…
Сквозь тернии к core-у или процесс компиляции Vue
Нео проснулся от бликов вспыхнувшего экрана компьютера. Экран заполняла зеленая полоска прогресса.
– Матрица – испуганно прошептал Нео.
– Александр, вы уснули на работе – прошептал тимлид.
Я взглянул на экран компьютера еще раз. Компиляция Vue была завершена. Я облегченно вздохнул.