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

QA дед

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

Скорлупа треснула

Время на прочтение10 мин
Просмотры26K
Некоторые мои публикации вызвают у читателей массу вопросов. И не мои тоже. Особенно те, где человек пишет об опыте, выходящем, или выводящем за рамки текущей профессии.

Если эти вопросы сгруппировать и отсортировать, то ключевой звучал так: нафига? Нафига заморачиваться всей этой ерундой, что-то или кого-то измерять, сравнивать, организовывать команду или себя, какие-то методы дурацкие использовать, чушь всякую изучать дополнительную, можно же #простоработать (а чего, пусть хештег будет).

На эту тему – нафига? – очень много сказано во всяких книжках, статьях, видео и т.д. Вас эта информация, я думаю, не вдохновляет. Лично меня эта мотивационная масса тоже не впечатляла, когда я сам, несколько лет назад, задавался тем же вопросом. Ко мне тогда не книги, а люди, вполне конкретные приходили и говорили: ты – руководитель, у тебя коллектив, ты должен использовать передовые методы, чтобы превратить коллектив в команду.

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

А я вот, за каким-то хреном, в один прекрасный момент стал использовать. Почему? И почему вы не используете?

Чтобы это объяснить, придется рассказать небольшую часть своей биографии.
Читать дальше →

Как писать юнит-тесты, если совсем не хочется

Время на прочтение5 мин
Просмотры74K

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


Тем не менее злые начальники требуют больше тестов, говоря о так называемом «контроле качества». Особо хитрые менеджеры даже считают покрытие и не отпускают вас с работы, пока оно не будет достигнуто. Ваш код заворачивают на ревью, если в нём нет тестов или они чем-то не понравились. Сплошное расстройство!


Что же делать?

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

Курс MIT «Безопасность компьютерных систем». Лекция 22: «Информационная безопасность MIT», часть 3

Время на прочтение17 мин
Просмотры13K

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год


Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3
Лекция 12: «Сетевая безопасность» Часть 1 / Часть 2 / Часть 3
Лекция 13: «Сетевые протоколы» Часть 1 / Часть 2 / Часть 3
Лекция 14: «SSL и HTTPS» Часть 1 / Часть 2 / Часть 3
Лекция 15: «Медицинское программное обеспечение» Часть 1 / Часть 2 / Часть 3
Лекция 16: «Атаки через побочный канал» Часть 1 / Часть 2 / Часть 3
Лекция 17: «Аутентификация пользователя» Часть 1 / Часть 2 / Часть 3
Лекция 18: «Частный просмотр интернета» Часть 1 / Часть 2 / Часть 3
Лекция 19: «Анонимные сети» Часть 1 / Часть 2 / Часть 3
Лекция 20: «Безопасность мобильных телефонов» Часть 1 / Часть 2 / Часть 3
Лекция 21: «Отслеживание данных» Часть 1 / Часть 2 / Часть 3

Soft-skills успешного тестировщика

Время на прочтение5 мин
Просмотры35K
При собеседовании перед приемом на работу достаточно легко определить так называемые hard-skills кандидата. Однако мне не доводилось видеть исследований на тему, какие же именно soft-skills необходимы успешному тестировщику. В то время как перечислить некоторые из них достаточно просто, равно как и проверить уровень владения ими на интервью.

Вот, например:
Читать дальше →

Пишем собственную виртуальную машину

Время на прочтение24 мин
Просмотры58K
В этом руководстве я расскажу, как написать собственную виртуальную машину (VM), способную запускать программы на ассемблере, такие как 2048 (моего друга) или Roguelike (моя). Если вы умеете программировать, но хотите лучше понять, что происходит внутри компьютера и как работают языки программирования, то этот проект для вас. Написание собственной виртуальной машины может показаться немного страшным, но я обещаю, что тема удивительно простая и поучительная.

Окончательный код составляет около 250 строк на C. Достаточно знать лишь основы C или C++, такие как двоичная арифметика. Для сборки и запуска подходит любая Unix-система (включая macOS). Несколько API Unix используются для настройки ввода и отображения консоли, но они не являются существенными для основного кода. (Реализация поддержки Windows приветствуется).

Примечание: эта VM — грамотная программа. То есть вы прямо сейчас уже читаете её исходный код! Каждый фрагмент кода будет показан и подробно объяснён, так что можете быть уверены: ничего не упущено. Окончательный код создан сплетением блоков кода. Репозиторий проекта тут.
Читать дальше →

«Календарь тестировщика» за декабрь. Попробуй другой подход

Время на прочтение9 мин
Просмотры12K

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



Зачем мне это надо?


У меня всё хорошо, я отлично работаю, меня хвалят, зачем мне что-то менять? Вполне логичный вопрос. В ответ цитата из книги «Алиса в Зазеркалье»:


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

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


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


Мне очень грустно, когда я очередной раз слышу мнение, что тестировщик может достичь своего предела за 1,5 года, а дальше либо в автоматизацию, либо смена роли на менеджера, аналитика, разработчика и т. п. Когда твой каждый день — это просто повторение алгоритма: почитал аналитику, посмотрел прототипы, потестировал, запостил баги, перепроверил баги — то легко понять, почему ты устаёшь и разочаровываешься в профессии. Это же просто скучно!

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

Сверхинтеллект: идея, не дающая покоя умным людям

Время на прочтение28 мин
Просмотры45K


Расшифровка выступления на конференции Web Camp Zagreb Мачея Цегловского, американского веб-разработчика, предпринимателя, докладчика и социального критика польского происхождения.

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

Опасение было оправданным. Азот, из которого состоит большая часть атмосферы, энергетически нестабилен. Если столкнуть два атома достаточно сильно, они превратятся в атом магния, альфа-частицу и выпустят огромную энергию:

N14 + N14 ⇒ Mg24 + α + 17,7 МэВ

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

Ноам Хомский: где искусственный интеллект пошел не туда?

Время на прочтение36 мин
Просмотры57K
Комментарий переводчика: Подробное интервью с легендарным лингвистом, вышедшее 6 лет назад, но ничуть не утратившее своей актуальности. Ноам Хомский —  «современный Эйнштейн», как его называют, делится своими соображениями об устройстве человеческого мышления и языка, искусственном интеллекте, состоянии современных наук. На днях ему исполнилось 90 лет, и это кажется достаточным поводом для публикации статьи. Интервью ведет молодой учёный-когнитивист Ярден Кац, он сам прекрасно разбирается в предмете, поэтому беседа очень содержательна, а вопросы столь же интересны, как и ответы.

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

Иди-ка ты на !@# со своей «токсичностью»

Время на прочтение5 мин
Просмотры216K
IT — не детский садик. Это место для взрослых, руководствующихся логикой и здравым смыслом. Их не надо опекать, не надо следить за словами, не надо переживать, что у них сформируются комплексы. Если человек некомпетентен, надо дать ему об этом явно понять, а не беречь его нежные чувства в ущерб всем остальным.

Так какого же чёрта моё прекрасное IT превращается в детский сад «Весёлый Програм-Мишка»?
Читать дальше →

Миграция данных в кровавом энтерпрайзе: что анализировать, чтобы не завалить проект

Время на прочтение14 мин
Просмотры14K


Типичный проект системной интеграции для нас выглядит так: у заказчика вагон систем для учета клиентов, задача — собрать клиентские карточки в единую базу. И не только собрать, а еще очистить от дублей и мусора. Чтобы на выходе получились чистые, структурированные, полные карточки клиентов.

Для начинающих поясню, что миграция идет по такой схеме: источники → преобразование данных (отвечает ETL или шина) → приемник.

На одном проекте мы потеряли три месяца просто потому, что сторонняя команда интеграторов не изучала данные в системах-источниках. Самое обидное, что этого можно было избежать.
Читать дальше →

Обучаемся самостоятельно: подборка видеокурсов по Computer Science

Время на прочтение11 мин
Просмотры131K

Тест производительности: удивительно и просто

Время на прочтение15 мин
Просмотры38K
Так сложилось, что последние полгода я активно занимался тестами производительности и мне кажется, что в этой области IT царит абсолютное непонимание происходящего. В наше время, когда рост вычислительных мощностей снизился (vertical scalability), а объем задач растет с прежней скоростью, проблема производительности становится всё острее. Но прежде, чем броситься на борьбу с производительностью, необходимо получить количественную характеристику.

Краткое содержание статьи:

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

Тестовое задание QA

Время на прочтение9 мин
Просмотры425K
Некоторое время назад я проходил собеседование на позицию QA инженера в одной известной российской IT-компании. Мне была предложена задача, свое решение которой с позволения компании я опубликовал в своем блоге. Пост оказался очень популярным, за короткое время набрав несколько тысяч просмотров, и мне показалась светлой мысль продублировать его на Хабре. По правилам Хабра текст публикуется без смайликов.

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

Решение — под катом.

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

Итак, имеем карандаш:

image

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

Особенности удалённых коммуникаций

Время на прочтение7 мин
Просмотры12K
Некоторое время назад я уже писала статью про особенности управления распределёнными командами. В ней я разобрала вопросы организации с точки зрения руководителя таких команд. Но, естественно, самое главное в команде — не руководитель, а сама команда. Не «навешанные сверху» правила и порядки, а сумма талантов команды, её коллективная осознанность и синергетические способности. Никакой руководитель не заставит работать команду мартышек, и никакой руководитель не сможет испортить работу профессионалов (хотя...). Поэтому, сегодня я хочу обсудить особенности удалённых коммуникаций глазами любого участника процесса: аутсорс-разработчика, фрилансера, верстальщицы в декрете или сотрудника распределённой команды

При этом, учитывая мою профессиональную деформацию (я более 10 лет занимаюсь тестированием), рассматривать эти вопросы я буду на примере вполне конкретных ошибок, которые я наблюдала со стороны или допускала сама.
Читать дальше →

Баллада о незнании

Время на прочтение10 мин
Просмотры30K
В годы далекой юности я, как и все вы, обожал все вот эти вот шуточки про глупого заказчика из серии: "…поиграйте шрифтами, сделайте цвет покрасивее…". Ну знаете, весь этот стандартный набор анекдотов под смузи для развлечения в любой успешной вебстудии. Каюсь, грешен, я над этим тоже похихикивал.

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

Я знал, как валидировать email-адрес. Пока не прочитал RFC

Время на прочтение5 мин
Просмотры141K
От переводчика: прочитав статью, начал было отвечать в комментариях, но решил, что текст, на которую я собирался ссылаться, достоин отдельной публикации. Встречайте!
Если вы знаете, как валидировать email-адрес, поднимите руку. Те из вас, кто поднял руку — опустите её немедленно, пока вас кто-нибудь не увидел: это достаточно глупо — сидеть в одиночестве за клавиатурой с поднятой рукой; я говорил в переносном смысле.

До вчерашнего дня я бы тоже поднял руку (в переносном смысле). Мне нужно было проверить валидность email-адреса на сервере. Я это уже делал несколько сот тысяч раз (не шучу — я считал) при помощи классного регулярного выражения из моей личной библиотеки.

В этот раз меня почему-то потянуло ещё раз осмыслить мои предположения. Я никогда не читал (и даже не пролистывал) RFC по email-адресам. Я попросту основывал мою реализацию на основе того, что я подразумевал под корректным email-адресом. Ну, вы в курсе, что обычно говорят о том, кто подразумевает. [прим. перев. Автор имеет в виду игру слов: «when you assume, you make an ass out of you and me» — «когда вы (что-то) подразумеваете, вы делаете /./удака из себя и из меня»]

И обнаружил кое-что занимательное: почти все регулярные выражения, представлены в интернете как «проверяющие корректность email-адреса», излишне строги.
Читать дальше →

Несколько лайфхаков, которые могут быть полезны при верстке диссертации или больших документов в MS Word

Время на прочтение4 мин
Просмотры54K
image

Каждый из нас знает, насколько MS Word удобный инструмент для подготовки небольших документов. И каждый из тех, кто сталкивался с подготовкой документа, количество страниц в котором превышает сотню (плюс необходимо придерживаться строгих требований к форматированию), знает об основных недостатках этого инструмента. Мне пришлось в своей жизни столкнуться с версткой 500 страничного документа, причем количество и расположение рисунков таблиц и формул в нем постоянно менялось от версии к версии. Я бы хотел поделиться своими «лайфхаками», которые мне пришлось применить при верстке этого документа. Некоторые из них мне подсказали друзья; на некоторые наткнулся на форумах; некоторые придумал сам.

Эти простые хитрости помогут вам при верстке диссертации дипломной работы или отчета.

В данной статье рассмотрены решения проблем:

  • создание списка литературы
  • Склонения перекрёстных ссылок на рисунки таблицы и формулы
  • Перенос таблиц на новую страницу
  • Вставка формул

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

Руководство по Google Hangouts для Debian/Ubuntu Linux (а также Mac OS X и Windows)

Время на прочтение6 мин
Просмотры44K
В свете последних событий, связанных со Skype (блокировка «старых» версий клиента, насильное обновление клиентов на всех платформах, откровенно сырая новая версия клиента для Linux), решил поделиться с сообществом успешным опытом использования Google Hangouts для коллаборации (командной разработки ПО, парного программирования) и написать универсальное руководство (tutorial, how-to) для Debian/Ubuntu Linux, а также Mac OS X и Windows, собрав всю необходимую и полезную информацию воедино.

Эта статья для тех, кто в поиске полноценной альтернативы Skype для большинства современных платформ и в первую очередь для Linux.
Читать дальше →

Моя бабушка — программист

Время на прочтение5 мин
Просмотры14K
Я — программист в третьем поколении: первым программистом в семье была моя бабушка, потом моя мама, а теперь традицию продолжила я. Я попросила бабушку рассказать, как выглядела ее карьера, начавшаяся более полувека назад.

1954-1959. Высшее образование


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

Факультет кибернетики открылся только десять лет спустя, а пока что мехмат готовил специалистов по математике и теоретической механике. При поступлении не было разделения по будущим специализациям — первые два курса учились все вместе, а на третьем делились по специальностям. Бабушкин выпуск 1959 года был первым, в котором появилась специализация «вычислительная математика». В рамках этой специализации читались теоретические курсы, совершенно новые для того времени: программирование, устройство аналоговых машин, устройство цифровых машин, вычислительные методы (в основном методы решения дифференциальных уравнений и задач линейной алгебры)… На лекции ходили не только студенты, но и сотрудники Вычислительного центра Академии наук — других источников нового знания часто не было.

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

Девушки идут в компьютерщики… Снова!

Время на прочтение3 мин
Просмотры6.2K
Marissa MayerКомпьютерами всегда занимались в основном мужчины, так?

А вот и нет.

В 1987 году 42% американских разработчиков ПО были женщинами. И 34% системных аналитиков тоже. Компьютерные науки начали привлекать женщин в середине 60-х, на заре компьютерной эпохи. В то время мужчины уже доминировали в других технических специальностях, но не в компьютерной среде. На протяжении почти двух десятилетий процентное соотношение женщин с дипломом в области компьютерных наук стабильно росло и достигло пика в 37% в 1984 году.

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

Информация

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

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

Quality Assurance Analyst, Тренер
Intern
Linux