leko7

leko7

На Пикабу
115 рейтинг 2 подписчика 0 подписок 5 постов 0 в горячем
Награды:
Пикабу 17 лет!10 лет на Пикабу
7

Южные фрукты и ягоды в средней полосе России

Добрый день!
Несколько лет занимаюсь садоводством. Можно сказать - совсем начинающий. Покажу - что можно вырастить в своём саду в средней полосе России.
Обычно выращиваем яблони, груши, вишни, сливы. Но, почему-то, культуры, которые считались традиционно южными, принято недооценивать. Хотя, за последние лет 20 появилось не мало хороших районированных культур.

Конечно, самый первый - это абрикос. Самый канонично южный фрукт. И, на мой взгляд. самый недооценённый в наших садах, несмотря на очень вкусные плоды и хорошее плодоношение. Недалеко от меня плантации яблонь и производят Белёвскую пастилу. Пожалуй, для контраста с ними решил пойти в сторону южных культур. Отлично растёт. В первый год плодоношения дал 4 плода. Сейчас, на второй год плодоношения, уже порядка 40-50 плодов. Плоды крупные, 50-60гр.

Следующая культура - шелковица, или тутовник. Нужно признать, что данная культура растёт у нас не так быстро, привыкла к другому климату. Плодоносить начинает скромно. Но, по мере того, как деревце набирает силу - урожай постепенно увеличивается. Ягоды сладкие, с лёгкой кислинкой (при полном созревании - кислоты совсем нет), весьма вкусные.

И, для эстетической части (для глаз, а не для желудка) - розовая акация. В отличие от белой, цветёт до самых холодов. Если тёплая осень и без заморозков, то и в начале октября, когда вокруг всё уже пожухло, она будет цвести. Очень выносливая, не плохо себя чувствует и на севере подмосковья. Правда, там цветение скромнее будет. Данная культура, по моему мнению, районирования не требует: покупал из Ростовской области (недалеко от Ростова-на-Дону), и в моих условиях хорошо себя чувствует.

Показать полностью 3
4

Субъективный взгляд текущие тенденции и ближайшие перспективы тестирования в it-отрасли в контексте человека

Доброго дня!

Сегодня затрону весьма неоднозначную тему. Сразу уточню, что всё написанное ниже- исключительное ИМХО автора, и на сколько окажется близким (или далёким) к реальности - покажет лишь время.

Начнём с того, что it-индустрия за последние лет 15 из относительно тихой сферы деятельности во многом стала схожа с золотой лихорадкой. То есть - появились массовость и ажиотаж. Правда, не лишним было бы вспомнить, что основной доход на золотой лихорадке сделали не золотодобытчики, а продавцы джинсов и лопат. Отсюда невольно вспоминаются возникшие как грибы после дождя компании, предлагающие курсы по обучению тестировщиков за 120к - 150к, и так далее.

С другой стороны, у нас развиваются средства автоматизации тестирования, интеграция с инфраструктурой. Вылезли нейронки, которые пытаются засунуть всюду, даже, куда не следует. Сейчас отрасль айти (да и многие другие, полагаю) - как ребёнок, который нашёл новую крутую палку, но пока не очень умеет ей пользоваться. Куда-то тычет ей, где-то бьёт, и так далее. Понятно, что лет через 5 будет сформировано понимание, которое постепенно начнёт переходить в отраслевые стандарты (вряд ли быстрее).

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

Теперь давайте посмотрим на человека. Первая задача, которую решают (плохо) текущие средства автоматизации и со временем будут решать (качественно лучше) нейронки - это примитивная монотонная работа, которой будет всегда много (форматно-логический контроль UI, интеграция, и так далее). Соответственно, потребность бизнеса в джунах будет снижаться, и снижаться сильно. А все мы понимаем, что джунов как раз брали/берут именно на ту работу, на которую не загонишь сеньора. Вместе с тем, джун - это билет в профессию для многих людей. И что мы получим? Что количество этих билетов и сейчас падает (хотя, медленно), а будет падать ещё стремительнее.

Мы лет через 5-10 начнём брать джуна уже на работу мидла. А в перспективе лет 15 уровень этого джуна начнёт приближаться к текущему сеньору (реальные сроки будут зависеть от величины конкуренции). То есть, поменяется сама модель входа в профессию. Если раньше ты сначала приходишь, а потом учишься, то сейчас и в будущем ты сначала учишься, а потом приходишь.

Тем не менее, многие идут в профессию, и ещё больше придут. И со временем, как я уже написал, этот путь будет всё сложнее. Потому, сделаю аккуратную попытку помочь будущим тестировщикам. Мы рассмотрим уровни и соответствие скилов (ещё раз повторюсь - моё исключительное ИМХО). Возможно, для кого-то такая информация станет планом по профессиональному развитию, кто-то другой просто подчерпнёт какие-то моменты, третий сможет что-то добавить от себя, и так далее. Конкуренция - это как бег от медведя. Не обязательно быть самым быстрым, достаточно лишь бежать быстрее кого-то другого. Как бы жестоко ни было, но конкуренция станет ещё жёстче, и к этому надо быть готовыми.

Junior: человек с некими базовыми навыками.

  • Практика:

    • Умеет проходить составленные тесты.

    • Знаком хотя бы с 1-им интерфейсом (web/desktop/mobile) с профессиональной стороны.

    • Нашёл баг - сформулировал, завёл.

  • Теория:

    • Знаком с базовыми моментами - что такое тестирование, тест-кейс, баг, и так далее.

Middle: уже что-то умеет.

  • Практика:

    • Умеет составлять тесты (правила валидации, форматно-логический контроль, подходы к проектированию тестов).

    • Понял, что в ui (web/desktop/mobile) нет кардинальной разницы, может протестировать всё.

    • Первое знакомство с автоматизацией ui-тестирования.

    • Знакомство с нагрузкой.

  • Теория:

    • Понимание процесса разработки и роли тестирования в нём.

Senior: уже много чего умеет.

  • Практика:

    • Планирование работ, руководство группой (обычно 3-5 человек).

    • На хорошем уровне знает ui-автоматизацию (web/desktop/mobile) - знает инструменты, знает типовые проблемы и опыт их решения. Может написать свой фреймворк автоматизации и обосновать решение.

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

    • Знакомство с back-api тестами. Вспоминаем всё про правила валидации данных из уровня джуна - тут это пригодится.

  • Теория:

    • Знает на уровне middle теорию и практику работы аналитика (часто знает лучше самого аналитика - это норма).

    • Знает всё про виды и уровни тестирования.

    • Знает на уровне хорошего Junior (или слабого Middle) работу разработчика. При переходе с одного места работы на другую может потребоваться новый язык. Значит, способность достаточно быстро переключиться на новый язык.

    • Чуть-чуть знакомится с QA.

Lead: всё умеет, всё может.

  • Практика:

    • Может сам провести любое тестирование и подготовить документарное сопровождение.

    • Может управлять работой команды.

    • Применяет QA в работе.

    • Может построить процесс с нуля, может улучшить существующий.

  • Теория:

    • Понимание работы с людьми.

    • Менеджерские качества.

    • QA

    • Бизнес-процессы, что это и зачем.

И да, лично я считаю, что любой тестировщик должен уметь в автоматизацию. Так как программирование для всех остальных кроме программистов - это инструмент, который может и должен помогать в основной профессии. Как знание английского 20 лет назад. Да, ты знаешь английский, закончил какой-нить лингвистический факультет. Но какая твоя базовая профессия, в которой этот английский помогает? Так и тут.

Далее, кругозор по инструментам. Кто-то увидел профит от докера - знакомься с ним. Кому-то нужно ci - будь добр изучи. Дружно и внимательно смотрим на нейронки - нам надо не только понять инструмент, но и понять - как он может быть полезен нам? Иначе мы - "старпёры" - через 10 лет уступим своё место молодым, которые могут не шарить в отладке процесса, а просто скинут управление нейронке.

Показать полностью
3

Deprecated TKIP - увидеть wi-fi сеть

Доброго дня!

Сегодняшний пост (для статьи слишком короткий) ориентирован преимущественно на новичков, так как старшие товарищи и так знают. Проблема слабо актуальна для популярных дистрибутивов, но может быть существенна при самостоятельной сборке.

Сама проблема - мы видим лишь часть доступных wifi-сетей. Причин может быть множество, мы рассмотрим одну - когда iw видит нашу сеть, а NetworkManager - нет.

Запускаем команду:

iw dev wlp2s0 scan

Если мы увидим для нашей сети, которая недоступна:

Group cipher: TKIP

А для другой сети, которая доступна:

Group cipher: CCMP

...то это наш клиент. Надо в wpa_supplicant (бэкэнд для NetworkManager) вернуть поддержку deprecated флага TKIP и проблема решена.

Показать полностью

Несколько слов о тестировании ПО: что это и организация процесса

Что такое тестирование?

Итак, что вообще такое тестирование ПО? Существуют различные варианты ответов на вопросы. Но, поскольку, большая часть ПО создаётся на заказ для Corporate, мы будем рассматривать этот вопрос именно с позиции указанного сектора.
В таком случае мы получим: тестирование ПО – это проверка функционала на соответствие требованиям.

Почему именно такое определение я выбрал? По той причине, что к контракту обычно прикладываются требования (чаще – бизнес-требования, реже – ТЗ/FSD). Соответственно, критерием исполнения контракта будет реализация прикреплённых к договору требований.

Для чего оно вообще нужно?

Из сказанного выше мы видим, что глобальная бизнес-цель тестирования – это подтверждение (в первую очередь для себя, во вторую – для Заказчика) соответствия функционала предъявленным требованиям. Просто чтобы нам деньги заплатили :)
Какие бывают этапы тестирования и для чего они нужны?

Итак, мы теперь знаем – что такое тестирование и зачем оно нам нужно. Теперь надо ответить на оставшиеся вопросы: что, как, где и кем мы собираемся тестировать. Чтобы сразу в этом не запутаться – проще всего разделить процесс на этапы, поставив цели на каждый. Моё видение этапов:
• Анализ: на данном мы определяем порядок действий для последующих этапов.
• Подготовка: тут мы готовимся к проведению тестирования.
• Проведение: здесь мы тестируем.
• Отчётность: а тут говорим «шеф, всё пропало» или «программа идеальна, в релиз».

Анализ

Наш самый первый этап. Он начинается, когда мы узнаём о том, что нам надо что-то делать :)
Тут определяем – что вообще нам надо протестировать. Подбираем исполнителей и инструменты, составляем план работ и общую стратегию. Конечно, в условиях наших реалий данный этап часто не то чтобы сокращается, но и отсутствует вовсе. Тем не менее, он бывает полезен.

Так как этап достаточно большой, его есть смысл так же разбить на ряд активностей:
• Анализируем требования для текущего релиза (или всего функционала, если он не большой): тут мы проверяем, что:
- требования не противоречивы (да, и за аналитиками надо присматривать);
- требования полны и однозначны (так же);
• Определяем верхнеуровневые варианты использования (или business use-case, если кому так привычнее).
• Определяем виды тестирования. Тут могу предложить некоторые типовые варианты (подробнее об уровнях и видах тестирования не буду сейчас писать – статья получится ещё больше):
- Если система новая – функциональное, интеграционное, нагрузка (если указано в требованиях);
- Если система существует, но дорабатывается – функциональное (нового), регрессионное (того, что затронуто), интеграционное, нагрузка (если необходимо);
- Если система связана с другой системой, которая создаётся вновь или изменяется – регрессионное интеграционное;
- Если сама связь (интеграция) создаётся – функциональное компонентное, интеграционное;
- Если сама связь (интеграция) изменяется – функциональное компонентное, регрессионное интеграционное;
- Если система выводится – интеграционное регрессионное для систем, которые ранее с ней взаимодействовали (очень часто не проводится).
- UAT – если бизнес-пользователи тоже участвуют.
• Определяем необходимые инструменты тестирования в соответствии с типами тестирования и требованиями.
• Планируем длительность и ресурсы по этапам.
• Определяем тестовые среды (договариваемся о подготовке сред и контуров, выясняем плановые даты рефрешей, и так далее).
• Составляем стратегию, в которую всё это объединяем:
- Объект тестирования;
- Цели тестирования;
- Критерии начала и завершения этапов;
- Критерии успеха;
- Ресурсы (исполнители, сроки, тестовые среды и контуры);
- План работ;
- Тестовые данные;
- Порядок работы и отчётность;
- Иное.
Самое основное мы определили. Дальше стараемся следовать тому, что мы написали :)

Подготовка

Тут мы готовимся к проведению тестирования. К моменту готовности функционала мы должны быть во всеоружии :)

Итак, что мы делаем:
• На основе Use Case составляем сценарии тестирования (при необходимости – согласуем с аналитиком; часто не делается);
• Готовим тестовые данные (в соответствии с требованиями к тестовым данным, но такие требования так же не всегда определяются);
• Получаем доступ к системам и тестовым средам, необходимые права на действия;
• Получаем подтверждение о готовности сборки (или релиза);
• Проверяем готовность инфраструктуры.

Проведение

Мы подготовились, час настал. Теперь – в бой :)
На данном этапе мы проводим тестирование по тестам в соответствии с планом. На тех средах, что получили:
• Проходим тесты;
• Проставляем статусы;
• Заводим дефекты.

Отчётность

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

Отчёты бывают разные (жёлтые, синие, красные :) ). Но есть некая общая информация, которая, на мой взгляд, должна быть в каждом отчёте:
• Прохождение тестов по приоритетам (в %, к примеру. Или с указанием all/pass/fail в абсолютных значениях).
• Покрытие требований (сколько % требований с каким приоритетом покрыто успешно пройденными тестами, сколько – провалено, сколько - заблокировано).
• Статистика по дефектам.
• Рекомендация (или не рекомендация) вывода функционала.

Почему ПО выходит с ошибками?

Почему, имея определённый штат тестировщиков, мы не всегда получаем то качество, какое хотели бы получить?

Причин много и они могут быть самыми разнообразными. Давайте определим некоторые, наиболее значимые:
• Бизнес-необходимость: нам не надо всё и хорошо, нам надо эти критичные требования, остальное потом как-нибудь.
• Недостаточность ресурсов: работы на месяц, а до релиза осталась неделя.
• Отсутствие массовой культуры качественного выполнения работ: если бы писали и тестировали ПО для робота, который будет делать операцию на сердце нам же сразу после релиза – это хороший стимул. А если это всего лишь отчётность в ЦБ или выгрузка в налоговую, нарушение которой – штрафы за каждую некорректную запись, ежедневно – миллионы для банка – и так сойдёт.

Что есть и что будет дальше?

Не смотря на пройденные десятилетия, тестирование активно развивающееся направление. У тестирования в сегодняшнем виде есть ряд проблем, которые заставляют искать новые решения и пути совершенствования:
• Отсутствие гарантии выявления 100% ошибок (мы не можем найти все ошибки).
• Принесение объёма в жертву приоритету по причине ограниченности ресурсов (чаще всего мы проверяем наиболее важные пути, оставляя за бортом альтернативные, менее приоритетные для бизнеса варианты, но не менее равнозначные с позиции функционала).
• В указанном подходе – привлечение тестировщиков на этапе готовности функционала (проблема QA).
• Иное.

К чему сейчас движемся:
• К развитию средств автоматизации с тем, чтобы они были всё больше похожи на человека;
• К управлению качеством на более ранних этапах (QM). Как только будет решена проблема сложности, трудоёмкости и ресурсоёмкости тестовых инфраструктур и компания из 20 человек с небольшим бюджетом сможет выделить 1-2 тестировщиков для любой необходимой автоматизации (автотесты автосборок, автоматическое заведение дефектов, отчётность – за 5-10 минут после коммита) – для многих IT компаний (не только самых маленьких, но и лидеров российского IT-сектора) это станет не пустым звуком.
• К росту центров компетенции – специалист по тестированию уже не просто тестировщик, он уже должен разбираться в предметной области Заказчика (если банковское ПО – в банковском деле), законодательстве.
• Как следствие - разделение труда тестировщиков по бизнес-направлениям.
• Прочее.

PS: всё вышесказанное исключительно ИМХО автора и на истину в последней инстанции не претендует… пока :)
Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества