Обновить
22
0.4
alexei lupan@astenix

QA дед

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

Анатомия юнит-теста

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

Эта статья является конспектом книги «Принципы юнит-тестирования». Материал статьи посвящен структуре юнит-теста.

В этой статье рассмотрим структуру типичного юнит-теста, которая обычно описывается паттерном AAA (arrange, act, assert — подготовка, действие и проверка). Затронем именование юнит-тестов. Автор книги описал распространенные советы по именованию и показал, почему он несогласен с ними и привел альтернативы.

Читать далее

Как объяснять двоичную систему счисления

Время на прочтение2 мин
Охват и читатели27K
Кто-то только входит в IT-мир, кто-то объясняет информатику своему чаду.

Довольно быстро вы обнаружите, что не так-то просто объяснить, как работает двоичный счёт.

Это вам очевидно, что после 11 идёт 100, а новичку это ещё долго может быть непонятно.

Так вот, чтобы увеличить скорость понимания, мы решили сделать дидактический материал.
Читать дальше →

Как я на коленке делал бесплатный курс программирования, о котором мечтал 3 года (и что пошло не так)

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

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

Читать далее

KODI: собираем удобный и функциональный медиацентр для дома. Часть 1

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

Поговорим о том, как при наличии небольшого количества времени и навыков построить мультимедийный комбайн с дополнительными возможностями домашнего сервера на базе Kubuntu 20.04 и KODI, способного работать 24/7/365.

Читать дальше →

Несеребряные пули или кратко про методы софтостроения

Время на прочтение9 мин
Охват и читатели12K
Давайте пробежимся по способам софтостроения, придуманным примерно за 70 лет его существования. Их не так много, как может показаться. Но достаточно много, чтобы завести в тупик.
Читать дальше →

Разворачиваем школьный учебный портал на Moodle и BigBlueButton

Время на прочтение14 мин
Охват и читатели42K
В конце марта 2020 маленькая камчатская школа столкнулась с той же проблемой, что и все школы нашей страны: как учить детей если они не могут ходить в школу?

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

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

Флейты, программист и производство

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

Я запустил производство флейт Пана "Arra Lazur" и продолжаю его развивать по настоящее время.

Удалось достигнуть определенных успехов и я хочу поделиться ими, а также результатами проделанных экспериментов. И ответить на ряд вопросов:

Чем плохи существующие подходы к изготовлению?

При чем тут программирование?

Как удалось автоматизировать процесс производства?

С какими трудностями столкнулся?

Читать далее

Как писать читаемый код

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

Бывает, что посмотрев на старый код, мы говорим: «Его проще переписать, чем поменять». Печально, если речь идет о нашем собственном коде, с такой любовь написанном несколько лет назад. Head of Developer Relations в Evrone Григорий Петров в своем докладе на TechLead Conf 2020 разобрал проблемы, которые приводят к такой ситуации, и рассказал, как бороться с Software complexity problem.

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

Читать далее

Как мы «разогнали» команду QA, и что из этого получилось

Время на прочтение9 мин
Охват и читатели30K
Или как получить неочевидные последствия, если отказаться от команды тестирования. Полтора года назад мы разрушили команду тестирования: отказались от регресса, передали E2E автотесты на Selenium в поддержку разработчикам и разошлись по командам, которые пилят фичи, чтобы предотвращать ошибки «в зародыше». В розовых мечтах нам казалось, что так будет больше пользы: QA работают над качеством, тестирование начинается рано, а разработчики пишут автотесты сами и никто им не мешает.



Но не фартануло получилось не совсем так. Розовые мечты окрасились дополнительными оттенками: никто не думает о качестве, автотесты всё хуже, а у разработчиков без команды QA (внезапно) стало больше работы. Так проявились последствия второго порядка, к которым мы не были готовы. Сейчас мы их исправляем и можем рассказать, что это за последствия, как они возникают, какой урон наносят и как попробовать их предугадать, чтобы не было так больно.

Читать дальше →

Как провести крутую лекцию/вебинар: 16 советов от трех серийных лекторов. Leader-IT events #2

Время на прочтение14 мин
Охват и читатели48K
В феврале мы выясняли секреты крутого митапа. В этот раз попросили поделиться советами трех хорошо знакомых Хабру лекторов (Кирилла Анастасина, Вячеслава Уточкина и Евгения Жданова). За их плечами сотни публичных выступлений, и им есть чем поделиться.



Говорили про выбор времени, длительность, контент, подстраховку и прочие важные вещи. В итоге у нас опять набралось 16 пунктов.
Читать дальше →

Почему тестировщиков «джун», «мидл» и «сеньор» не существует. Или как мы уже 10 лет работаем без грейдов

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


Привет, Хабр! Меня зовут Женя. Десять лет назад я стартанул агентство аутсорс-тестирования «Кавычки». У нас в компании нет и никогда не было деления тестировщиков на джунов, мидлов и сеньоров. Хотя были попытки. Расскажу, почему так получилось и как можно жить без грейдов.
Читать дальше →

Если вы используете моки, то вы хоть что-то тестируете?

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

Было ли у вас ощущение, что ради тестирования вы делаете код труднее для чтения? Допустим, у вас есть код, который ещё не тестировался. У него есть ряд побочных эффектов, и вас просят сначала прогнать тесты. Вы начинаете следовать советам вроде передачи глобальных переменных в виде параметров или извлечения проблемных побочных эффектов, чтобы сделать вместо них заглушки в тестах.

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

Вы останавливаетесь и задумываетесь: «Допустимо ли менять сигнатуры кода ради тестирования? Тестирую ли я реальный код или совершенно другой класс, в котором не происходит то, что нужно?» Перед вами может возникнуть дилемма. Вы уверены, что стоит и дальше придерживаться этого подхода? Или это потеря времени?

Вопрос на миллион: для устаревшего кода нужно писать модульные тесты или интеграционные?
Читать дальше →

Единственно верный способ загружать и скачивать файлы в Selenium тестах

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

image


Selenium WebDriver создавался как кросс-платформенный инструмент для управления веб браузерами. И вот уже почти 14 лет он делает эту работу очень и очень хорошо. Впрочем, автотесты из реального мира создают ситуации, в которых Selenium бессилен. Например, по сценарию нужно загрузить или скачать какой-либо файл. После нажатия кнопки "Загрузить" или "Скачать", поверх окна браузера появляется окно файлового менеджера операционной системы к которому Selenium уже не имеет доступа. Тест останавливается.


Я слышал рекомендации использовать утилиты типа AutoIt или Sikuli для работы с такими системными окнами. Мой совет — никогда так не делайте, это порочная практика, которая приводит к нестабильным тестам:


  • Такое решение не кросс-платформенное. Приходится изобретать свой велосипед для каждой новой операционной системы.
  • Хрупкое. Нет гарантии, что скрипт будет работать корректно если на машине открыто несколько браузеров.
  • Это делает невозможным использование headless режима браузера

Меня зовут Ярослав Пернеровский. Я уже 15 лет в тестировании и около 8 лет в автоматизации. Сейчас я расскажу как нужно правильно обрабатывать такие ситуации.

Читать дальше →

Законы программирования

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

Законы, теории, принципы и закономерности, полезные для разработчиков


Введение


Перевод репозитория github.com/dwmkerr/hacker-laws

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

Здесь содержатся объяснения некоторых законов, принципов и закономерностей, но нет никакой агитации в их пользу. Применять их или нет – это всегда вопрос спорный, и всё зависит от того, над чем вы работаете.

Законы


Закон Амдала


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

Не ходи в Fediverse, там тебя ждут неприятности. — Ну как же туда не ходить? Они же ждут

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

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


На днях в комментариях к одному хабропосту я увидела фразу: "Думаю, будущее всё-таки за федерацией". Это, наконец, сподвигло меня на написание статьи, зреющей в течение года. Хотелось бы, чтобы все, кому интересны децентрализованные социальные сети, вынесли из неё что-то новое.


Читать дальше →

Думают ли автотесты об электробагах

Время на прочтение12 мин
Охват и читатели8.3K
В последнее время автоматизацию тестирования называют «серебряной пулей» от всех проблем проекта. Многие приступают к автоматизации очень спонтанно и лайтово, не просчитав все «за» и «против», плюсы и минусы, сопровождение и окупаемость. 

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

В этой статье я постарался:

  • осветить «детские болячки» тест-менеджмента, стремящегося автоматизировать все, что не приколочено,
  • пояснить, какую пользу может нанести бюджету проекта автоматизация тестирования без детального анализа ее скоупа и должной подготовки,
  • составить Roadmap для подготовки к автоматизации проекта.

Источник 
Читать дальше →

Английский с Джорджем Карлином: разбираем гениальный стендап про фразеологизмы

Время на прочтение7 мин
Охват и читатели20K
Сразу скажем — мы в EnglishDom просто обожаем Джорджа Карлина и считаем его одним из величайших комиков всех времен и народов. Он чертовски харизматичный, остроумный и по-настоящему смешной.

У Карлина отличный американский английский с очень разнообразной лексикой.
По его стендапам можно с огромнейшим удовольствием изучать язык. И мы хотим продемонстрировать это на примере его культового выступления про привычные фразы и выражения, которые на самом деле звучат довольно странно. Готовы? Тогда поехали!


Трудно быть Колей, или практики обмена знаниями в Lamoda

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

Всем привет! Меня зовут Александр Афенов, я тимлид команды Order Processing в компании Lamoda. Сегодня я хочу вам рассказать о практиках обмена знаниями: какие проблемы эти практики решают, как мы к ним пришли, и как они влияют на жизнь разработчика.


image

Читать дальше →

«Правила роста: от джуниора до CTO», конспект вебинара Фёдора Борщёва

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

Фёдор Борщёв — CTO в маркетплейсе стройматериалов «ГдеМатериал», сооснователь rumetr.com и популяризатор чистоты кода. Пишет в блог, телеграм-канал @pmdaily и в советы о разработке в Бюро Гобрунова.


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


За три часа Фёдор прошёлся по темам:


  • управление проектами;
  • общение с людьми;
  • продукт и бизнес;
  • личные цели.

Читать дальше →

Письмо начинающему изучать Data Science

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

Я бы хотел получить такое письмо три года назад, когда только начинал изучать Data Science (DS). Чтобы там были необходимые ссылки на полезные материалы. Статья не претендует на полноту охвата необъятной области DS. Однако для начинающего специалиста будет полезна.


Нейронные сети – это...

Читать дальше →

Информация

В рейтинге
2 202-й
Откуда
Кишинев, Молдова, Молдова
Дата рождения
Зарегистрирован
Активность

Специализация

Аналитик по обеспечению качества, Тренер
Стажёр
Linux