Как стать автором
Обновить
7
0
Ramil Aminov @ard

CTO

Отправить сообщение

Качество на каждом уровне: мой подход к роли QA

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

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

окэээй летс гоу
Всего голосов 12: ↑11 и ↓1+14
Комментарии9

Эффективное автотестирование с Qase: Интеграция Playwright и GitLab CI

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

Подход к ведению тестовой документации и выбранные для этого инструменты — важная часть процесса разработки, которая напрямую влияет на качество продукта. Особенно важно поддерживать тестовую документацию в актуальном виде. Qase может быть одним из подходящих для этого инструментов. Кроме того, он помогает объединить мир ручного тестирования с автоматизированным, а описанные тест-кейсы — с их исполнением.

В статье мы рассмотрим реализацию связки Qase с Playwright и GitLab CI, которую мы используем в SmartHead: от создания проекта до получения отчетов об автоматизированном тестировании.

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

Как организовать работу начинающему тестировщику?

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

В SmartHead мы активно обмениваемся опытом и я хочу поделиться некоторыми подходами к организации рабочих процессов для начинающих тестировщиков.

Представь, что к тебе подошел руководитель проекта и сказал, что нужно протестировать автомобиль. Что будешь проверять в первую очередь?

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

UX-текст на языке Шекспира: заповеди, грехи и табу

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

Изменив одно местоимение, можно на 90% увеличить показатель кликабельности (CTR) кнопки, которая приведет новых пользователей. Дописав одно предложение, можно увеличить количество оплаченных покупок и снизить нагрузку на саппорт. Поставив одну запятую, можно было бы сохранить 5 миллионов долларов. ОК, третий пример про договоры, но все равно показателен.


Текстам в интерфейсе уделяется незаслуженно мало внимания. Их игнорируют, про них забывают, про них вспоминают, когда уже поздно: дизайн сделан, код написан, огребаем на проде. Печально. А ведь хороший текст — один из самых дешевых способов сделать продукт лучше, и заработать больше денег.


Исследование Nielsen Norman Group показало, что лаконичный, объективный (без маркетологического хвастовства) текст, который легко читается пользователем, увеличивает юзабилити сайта на 124%. Только текст. UX и навигацию не трогали.


В вашем продукте (сайте, программе, приложении и т.д.) есть английский текст, и вы хотите, чтобы он приносил вам выгоду, а не просто занимал место? Читайте статью дальше. Я расскажу, как писать по-английски нужно, и как не нужно.

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

Книги, которые повлияли на меня как на разработчика и управленца

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

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

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

Читать далее
Всего голосов 22: ↑19 и ↓3+24
Комментарии3

Сила композиции

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


Функциональное программирование может отпугивать сложностью и непрактичностью: «Я далек от всех этих монад, пишу на обычном C#, в докладе про функциональщину ничего не пойму. А если даже напрягусь и пойму, где мне потом это применять?»


Но когда объясняет Скотт Влашин, все совершенно не так: его доклад о композиции с конференции DotNext 2019 Moscow — пример того, как можно доносить функциональные идеи простыми словами. Он за час перешел от бананов к монадам так, что второе кажется немногим сложнее первого. А в конце объяснил, почему осмыслить композицию полезно даже тем, кто не собирается покидать мир ООП. Примеры кода в докладе как на F#, так и на C#.


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

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

Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)

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


В программировании очень много вещей, в которых я разбираюсь очень плохо. Настолько много, что меня иногда спрашивают — а в чем ты вообще разбираешься?

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

Большую часть жизни я просто махал на них рукой и проходил мимо. Эти глупцы не понимают очевидных вещей, и я не нанимался разъяснять каждому js-нику, почему его код — это не разработка, а игрушечное прототипирование. Но время идёт, а количество идиотов вокруг и не думает уменьшаться, вместо того, чтобы всей своей фронтенд индустрией переехать наконец на статический тайпскрипт, эти ослы начинают использовать всякие кложуры, писать тонны тестов, и идти на все мыслимые ухищрения — лишь бы не разбираться в типах.
Читать дальше →
Всего голосов 398: ↑273 и ↓125+212
Комментарии1975

Качество вместо контроля качества

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

Говоря о качестве, обычно имеют ввиду некое соответствие требованиям. Часто под требованиями подразумевают те, что явно выдвинул заказчик, аналитик или кто-то другой, кто ставит задачи. Хуже, если они трактуются как неоспариваемые, и это неявно ведёт к самоцели — удовлетворить требования заказчика. Это часто происходит в аутсорсе, и такой фокус внимания негативно влияет на конечный результат — то, что видят и с чем работают пользователи.

Мы в SmartHead тоже занимаемся заказной разработкой, и я предлагаю рассматривать качество шире. Это не только про соответствие явно озвученным требованиям, но и про сами требования. Про дополнение явных требований своими, ориентированными не на потребности заказчика, а на удобство конечного пользователя. Пользовательский опыт, юзабилити, тексты в интерфейсе, отзывчивость, скорость релизов, их соответствие ожиданиям — всё это тоже относится к качеству.

Качество — это про «сделать классно» с точки зрения многих сторон: разработки, заказчика и конечного пользователя.

Как это сделать? Сложно. Начать стоит с формирования mindset на «встроенное» качество. Расскажу о принципах, которые могут помочь в этом.

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

Видеозаписи со встречи CocoaHeads 1 марта 2017

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

1 марта в офисе Avito состоялась очередная встреча сообщества iOS разработчиков CocoaHeads. Под катом вас ждут небольшой рассказ о том, как прошёл митап, и, самое главное, видеозаписи докладов. Приятного просмотра!
Всего голосов 16: ↑16 и ↓0+16
Комментарии0

Лучшие доклады Mobius 2016: Рейтинг и видеозаписи

Время на прочтение5 мин
Количество просмотров7K
Написание статьи-рейтинга докладов с наших конференций – всегда приятный процесс. Все-таки здорово иногда отвлечься от суеты и спокойно посмотреть пяток-другой отборных видео, вспомнить, что было интересного в прошлый раз и попытаться представить, что будет.



Сегодня мы обратимся к Mobius, конференции по мобильной разработке (Android и iOS, в основном), и это прекрасно: в ТОП вошло 5 докладов по Android-разработке и 3 – по iOS. Под катом вы найдете доклады о возможностях языков (Swift, Kotlin), о тестировании, актуальных фреймворках и подходах, и даже о разработке под Cardboard.

Говоря «топ», мы имеем в виду не наши любимые доклады или выбор каких-то «экспертов» — лучшие отобраны на основе взвешенной оценки от 80% участников конференции. Поэтому
даже если вы смотрели ранее выложенные видеозаписи, посмотрите рейтинг. Вдруг вы пропустили доклады, наиболее высоко оцененные нашими участниками?
Всего голосов 33: ↑32 и ↓1+31
Комментарии0

Конкурентность: Асинхронность

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

Мы всё-таки смогли дойти до третьей части и добрались до самого интересного — организации асинхронных вычислений.


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


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


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

IT-meetup Superjob «iOS — архитектура дизайна, кода, деплоя» (отчет, презентации, видео)

Время на прочтение2 мин
Количество просмотров6.6K
Видео, доклады и краткий отчет для тех, кто не доехал.

В новом офисе Superjob на Малой Дмитровке состоялся первый в 2017 году митап по мобильной iOS-разработке. Приложение Superjob для поиска работы стабильно «проживает» в топе AppStore, а счет установок давно идет на миллионы. Мы первыми запустили приложение для корпоративных пользователей, и сегодня тысячи работодателей уже даже и не обращаются к веб-версии. Так что опыт у нашей команды действительно уникальный. Таким обычно службы безопасности делиться не разрешают. Но у нас СБ нет — запретить вечеринку было некому.

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

Многопоточность (concurrency) в Swift 3. GCD и Dispatch Queues

Время на прочтение28 мин
Количество просмотров331K
Надо сказать, что многопоточность (сoncurrency) в iOS всегда входит в вопросы, задаваемые на интервью разработчикам iOS приложений, а также в число топ ошибок, которые делают программисты при разработке iOS приложений. Поэтому так важно владеть этим инструментом в совершенстве.
Итак, у вас есть приложение, оно работает на main thread (главном потоке), который отвечает за выполнение кода, отображающего ваш пользовательский интерфейс (UI). Как только вы начинаете добавлять к вашему приложению такие «затратные по времени» куски кода, как загрузка данных из сети или обработка изображений на main thread (главном потоке), то работа вашего UI начинает сильно замедляться и даже может привести к полному его «замораживанию».



Как можно изменить архитектуру приложения, чтобы таких проблем не возникало? В этом случае на помощь приходит многопоточность (сoncurrency), которая позволяет одновременно выполнять две или более независимые задачи (tasks): вычисления, загрузку данных из сети или с диска, обработку изображений и т.д.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии14

Видеозаписи докладов конференции мобильных разработчиков MBLTdev 16

Время на прочтение3 мин
Количество просмотров9.1K
Привет, Хабр! Мы открыли для всех-всех-всех доступ к видеозаписям докладов Международной конференции мобильных разработчиков MBLTdev 16:

  • доклады по iOS- и Android-разработке,
  • воркшоп по Firebase от Google,
  • трек по UX/UI от преподавателей Британской высшей школы дизайна.


Всего голосов 14: ↑13 и ↓1+12
Комментарии1

Отчет с Moscow CocoaHeads Meetup 29 апреля

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


29 апреля в нашем офисе прошёл очередной митап Moscow CocoaHeads, посвящённый актуальным вопросам iOS- и OS X-разработки. Предлагаем всем желающим ознакомиться с видеозаписями и презентациями прозвучавших на митапе докладов.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии0

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Зарегистрирован
Активность