К основному контенту

Сообщения

Показаны сообщения с ярлыком "тестирование"

Про юнит-тесты и не только

Собрал в кучку разбросанные по чертогам памяти мысли про юнит-(и не только)-тестирование (копия недельного "марафона" из телеги, присоединяйтесь). TLTR: “Бей вперед - игра придет” (просто начните, если еще нет, хоть с какими-то автотестами). Мне последние несколько лет нравится концепция сю-ха-ри , основная мысль которой заключается в том, что ты не можешь нарушать правила, пока не изучил базу, идеи и мысли других, придумал свои правила, а только потом можешь освобождаться от любых правил. Если спроецировать этот подход на автоматизацию проверок, то получается, что сначала ты должен научиться писать тесты, как их видят в отрасли, а только потом точить подходы под себя. Но фишка в том, что подходов очень много.

Мой канал в телеграмме, тоже без чудес

В блог стал меньше писать, потому что он в моей голове предполагает сейчас какую-то долгую предварительную работу со статьей. Черновики у меня годами лежат. Поэтому, встречайте телеграмм-канал, лайт-версию блога: появилась мысль - отправляется в канал. Тематика та же самая, Подключайтесь . Из мариновавшегося годами тут, но уже появившееся в телеге: Team- vs TechLead Ошибки приводящие к проблемам в IT Про календари менеджера и инженера

Legacy code and tests

Побеседовали с Мишей про эту "магическую" сущность, а он смог классно переработать содержимое нашей беседы и кучи других материалов. Я теперь даже не уверен, какие именно мысли мои :) Но там все по делу. Ну и самое главное про легаси: 1. это про то, что нужно (иначе бы выкинули) 2. это то, что с вами всегда* ** *если вы не меняете работу каждые полгода после написания нового кода **но уровень боли от легаси можно уменьшить - статья как раз про это

Заметки на коленке - 3. Что еще делать, если ваши тесты уже "зеленые"?

"Lately I find I'm working on automated tests that return non-binary results. Tests that neither pass nor fail" by  @noahsussman Отличная мысль, которую я ретвитил еще в 2016. Но давайте вместе подумаем, что за этим может скрываться? ( кстати, не знаю, что при этом думал Noah ) Ваши тесты прошли и прошли "успешно". Все хорошо или все же есть, куда еще посмотреть? Дальше то, что использовал я лично и то, что еще можно прикрутить дополнительно. Естественно все шаги ниже должны быть автоматизированны. 1. Контролируйте время выполнения тестов. Если набор проверок не меняется (а такое часто бывает, к сожалению), то рост времени выполнения может говорить о проблемах в продакшен коде (чаще всего) или проблемах с окружением. 2. Контроль за количеством выполняемых тестов. "Все зеленое" не значит, что сегодня выполняли те же Х тестов, что и вчера. Смешно(нет), но случается такое, что какие-то проверки "исчезают" из запуска из-за того, что у кого-то ...

Заметки на коленке - 2. Книжки про тестирование для разрабов

Есть тред в твиттере, но пусть тут для удобства тоже будет. Книги большей частью достаточно "возрастные", у некоторых есть свежие переиздания, где добавлены "свежие" темы, типа мобилок и тп. Из-за "возраста" сравнительно легко ищутся не только в магазинах. Вводная по "разработческому" тестированию Про тестирование обзорно для разработчика Developer Testing The Art of Unit Testing (лучшая, на мой взгляд, книга по юнит-тестам) С примерами на С#   С примерами на JS   Применимо и к другим языкам Паттерны для хороших тестов (практически любых) xUnit Test Patterns: Refactoring Test Code (есть книга) То, что мало кто из тестировщиков читал: Теория тестирования Lessons Learned in Software Testing: A Context-Driven Approach Букварь по тест-дизайну A Practitioner's Guide to Software Test Design Гибрид двух предыдущих Software Testing and Analysis: Process, Principles and Techniques: Process, Principles, and Techniques Еще один гибрид The Art of Softw...

Заметки на коленке: про тестирование (базисы для разрабов)

Лет 5 назад наваял на коленке для рассказа разработчикам про тестирование в команде без тестировщиков. Что такое качество? С точки зрения пользователя: Качество — это пригодность к использованию. Делает ли данный продукт то, в чем я нуждаюсь, облегчает ли он мою работу, могу ли я его использовать так, как мне удобно. С точки зрения разработчика: Качество — это соответствие специфицированным и собранным требованиям. Делает ли данный продукт все то, что указано в требованиях.

Flaky тесты (они же моргающие или "случайно успешные")

Недавно поучаствовал в Heisenbug Piter 2021 в роли эксперта на очередной серии доклада Андрея Солнцева про flaky тесты. Люблю эту тему. Кажется, это своего рода "дебаг", только для тестов. Иногда расследование похлеще приключений Шерлока. Тема flaky тестов древняя, как сама отрасль. Первое найденное упоминание термина в традиционных интернетах (типа блогов, твиттеров) в 2008 году в блоге гугла . Мне больше нравится называть их “моргающие” или, что четче отражает проблему, случайно успешные. Давайте еще раз зафиксируем то, что поможет меньше попадать в историю, когда тесты у нас "случайно успешные" и что делать, если уже "вляпались". Итак, что делать, чтобы "моргающих" тестов было меньше: тесты должны быть написаны в правильном слое " той самой пирамиды ": чем ближе слой к модульным тестам (а лучше именно в них), тем меньше шансов на моргания, потому что зависимостей меньше. в ту же тему: чем меньше UI-тестов, тем лучше. Открывая в оче...

"The Ongoing Revolution in Software Testing" by Cem Kaner (2004) - разбор общепринятых утверждений о тестировании/тестировщиках

Благодаря давнишнему твиту Alan Page  узнал про чудесную статью Cem Kaner , который еще в 2004 году разобрал популярные утверждения (мифы?) про тестирование и роль тестировщиков. Что именно так разбирается: The Role of Testers • The primary reason to test is to find bugs? • The primary reason to test is to prove the program works correctly? • Testers are THE advocates of quality on a project. • Test groups should evolve into quality assurance groups. • The test group should have the power to block release if product quality is too low. • Testers and programmers have conflicting interests. • The test group should work independently of the programmers. • Testers should push their project teams to follow "appropriately professional development models," like the Waterfall, that require people to THINK before they act. • Testers should base test cases on documented characteristics of the program. If the software documentation is inadequate for this, testers should assert a quality...

Короткой строкой: новости про Heisenbug с промо и полезные ссылки

Глянул, что уже есть в программе Heisenbug Piter 2020 : так как я сейчас не в ПК, то интересно, что там у ребят с программой получается. И я вам скажу, что интересно получается :) Во-первых там есть доклад Адама Торнхила , одного из авторов инструмента CodeScene , которого я рекомендовал пригласить. Очень хочется послушать про жизнь кода. Во-вторых в программе Иван Крутов , один из авторов Aerokube. Еще Аня Чернышова про возможное решение проблемы падучих UI-тестов. Что бы я еще посмотрел: Effective unit testing Тестирование производительности клиентской части React/Redux-приложения с использованием Enzyme Demystifying Cross Browser testing  (от бывшего автора Puppeteer) В общем, еще раз вам ссылка на программу , смотрите-думайте. Если созреете и ваша компания-редиска и не оплачивает вам конфу, промокод на персональный билет   shulga2020pc . Еще интересных вам ссылок, местами философских, но про тестирование: Interaction Resiliency (iXR) is the practic...

Про качество, тестирование и консерватизм

Мне тут недавно "прилетело", что я "склонен использовать консервативные подходы в работе с ожидаемым результатом в итоге." Да, чего уж там, похоже на правду. Именно потому, что мне нравится"ожидаемый результат". Ну а раз консерватор, то можно и побрюзжать... "Новшества и инновации" - это, чаще всего, то что благополучно забыли или даже не пытались узнать, и переизобрели заново. Мой брошенный английский блог так и назывался "Все новое - это хорошо забытое старое". В этом плане, из всех "новшеств" касающихся тестирования, меня больше всего волнует ( да-да, все еще волнует ) эта магическая комбинация "QA". Я помню те времена, когда тестировщиков в вакансиях "обзывали" инженерами по тестированию, потом появились QC, сейчас все сплошь QA. Расшифровку теперь все знают, но результат работы при этом не поменялся. Успокаивает, что я не один такой: " Is “QA” too narrow? " А ведь еще в 2010 пис...

Heisenbug 2018 Москва - скоро для всех тестировщиков и не только

Приближается уже традиционная зимняя версия Heisenbug Conference в Москве . С недавнего времени проведение конфы стало мной восприниматься, как экзамен, который сдает ПК за почти полгода работы. В этом году в программе традиционно как старожилы, так и новички. В роли старожилов выступают Артем Ерошенко и Виталий Фридман , любой доклад которых, это качественно сделанная и полезная для слушателей работа. "Новичков" (для нашей конфы) сильно больше, например очень хочется увидеть "в бою"   результаты работы Людмилы Мжачих и Антона Усманского , которых объединяет тема визуального тестирования. Неожиданным "новичком" нашей конфы стал известный многим по конференциям Joker и Devoops Барух Садогурский  с провокационным докладом-покушением на тестировщиков. На самом деле, интересных докладов много, но все перечислять не буду: каждый должен сам определить, что ему будет полезно. Отмечу только, что конференция - это не только доклады, это прежде всего об...

5 за 5 (история 8)

И снова с вами рубрика "что интересного было в ленте на этой неделе". 1.  Building and Testing Resilient Web Applications with Toxiproxy. Статья , видео . "A resilient system is one that functions with one or more components being unavailable or unacceptably slow. Applications quickly become intertwined with their external services if not carefully monitored, leading to minor dependencies becoming single points of failure. For example, the only part of Shopify that relies on the session store is user sign-in - if the session store is unavailable, customers can still purchase products as guests. Any other behaviour would be an unfortunate coupling of components. This post is an overview of the tools and techniques we used to make Shopify more resilient in preparation for the holiday season." 2. What is Soak Testing ? "Soak testing (otherwise known as endurance testing, capacity testing, or longevity testing) involves testing the system to detect the pe...

Тестирование в production - 2

В предверии завтрашнего BOF на Heisenbug по тестированию в продакшене , вот вам набор материалов по теме (валите модератора там). Предыдущая статья по теме . Development → Staging → Production pic.twitter.com/xIohpoaWqw — Daniel Stefanovic (@DaniStefanovic) March 29, 2018

Тестирование в продакшене - миф или реальность?

На самом деле, вопрос стоит скорее так: " почему у вас его еще нет "? Изначально хотел просто сохранить себе и дать вам набор ссылок, что нашел на эту тему, потому что сейчас она у меня болит. Потом захотелось сделать какой то анализ. Потом понял, что письменный анализ - это долго и субъективно (и простите, чуток лень), а вам может будет полезно почитать оригиналы. И честно пытался не дублировать у себя их контент, разве что тезисно. Поэтому статья получилась половинчатой и скорее побудительной к действиям или хотя бы к мыслям, чем с практической пользой. Не обессудьте. Ну вот, я вас предупредил. Ссылки все равно есть, поэтому можете уверенно двигаться к их  списку .

Heisenbug 2018 Piter - подарок внутри статьи

Новости и промо по Heisenbug 2019 Moscow . Всем привет. У нас закончился первый этап подготовки к Heisenbug 2018 Piter : костяк программы сформирован, начинаем работать с отобранными докладчиками, кидаем кости серьезно выбираем кандидатов на последние вакантные места в программе. Читаем до конца... Напомню, что конференция пройдет 17-18 мая в Петербурге. Акцент при выборе докладов делается на технический аспект. Не умаляя необходимости и важности процессов, метрик и прочего, мы стараемся выбрать те заявки, которые имеют практическую инженерную ценность. "Пришел послушать про мобилы - ничего не было", "Все доклады про веб и мобилы, как будто больше нигде не тестируют" - такие вот отзывы мы получаем после одной и той же конфы. Хотя стараемся, очень, наполнить программу докладами про все сферы разработки ПО. И в этот раз будет и про мобилы, и про веб, и про облака и тд и тп. Подробностей пока раскрывать не могу, но тематика разносторонняя. Пробуем даже с ...

Heisenbug 2017 Moscow - программа

Всем привет. Молчание в блоге становится уже плохой традицией. Не то, чтобы мне было стыдно, но неуютно - точно. Но сегодня есть хороший повод. И он, как это у меня в последнее время часто бывает, связан с конференцией тестировщиков Heisenbug . В этот раз мне удалось посмотреть на кухню организации конфы изнутри. Вечерами во время созвонов с прогонами докладов выпито минимум 40 чашек кофе, хотя иногда, нужно было бы использовать чего покрепче. Что получилось в итоге мы с вами узнаем уже через день. Кстати, я узнал, что многие посетители конференций не читают описания докладов . Вы туда, простите, зачем ходите? Вот традиционная программа посещения конференции от меня. Тут много тех докладов, в подготовке которых я принимал участие (очень хочется посмотреть на результат), а есть и те счастливцы коих минула сия участь. Для любителей выбрать самостоятельно программа тут 8 декабря Белый ящик Пандоры Инструменты тестировщика Круглый стол – Что должен знать тестировщик в 2018 году? ...

Время подачи докладов на Гейзенбаг (8-9 декабря 2017, Москва)

Всем привет. Я, пока неясно за какие заслуги, оказался в программном комитете конференции Гейзенбаг . "Веселая" активность скажу я вам :) Но разговор сейчас не об этом. Думаю, у многих из вас возникали мысли "а может выступить на конфе"? Но следом шли другие: "а нафига мне это", "что скажет начальство", "да что я могу рассказать", "да кому это интересно" и тд и тп. Уверен, что так все и было, сам такое проходил. Но мозг такая странная штука, он, вроде уже выброшенные мысли, подсовывает обратно в "оперативку" и делает это достаточно регулярно. Значит чувство неудовлетворенности ситуацией где то остается и мешает пометить тему как закрытую. Если у вас есть сомнения, если терзают вопросы (см. выше), а может просто "стремно" взять и  написать заявку на доклад , стучитесь мне в скайп, твиттер , телеграмм (аккаунт тот же что и в твиттер) и прочие каналы . Кстати, можно и не только ко мне. Контакты многих ч...

Накуа тебе QA в написании тайтла?

Брюзжание и разжигание. Попалась на глаза вакансия с названием "Junior QA". В тырнеты полетел твит. тут Следом пошли вопросы , что меня так смутило. Решил чуток пояснить в статье. QA - это сложный процесс, выполнение которого требует хорошего знания того, как пишется софт, какие практики и в какой момент времени надо применять. Эту роль не может выполнять человек. который только начинает свой путь в айти (джуниор?).  Ну да фиг с ним, можно конечно считать, что это начальный уровень роли и тп. Но хуже другое - мало кто понимает и использует этот термин правильно. Мне не попадался хотя бы один живой человек, который бы нормально смог объяснить, что значат эти буквы у него в резюме. Но зато были те, кто вообще не могли сказать, что значит Q, а что А (а мне, например, очень нравится Quality Assistance от Atlassian). И среди них были товарищи с опытом больше 3х лет с названием QA в должности. Тут подходим к интересному, это есть и в комментах. К названию до...

А вы уже зарегались на Гейзенбаг?

Меня тут уже ласково покорили в комментах, что давно не пишу. А про конфы уж совсем-совсем давно. Тому есть много причин, но вместо того чтобы оправдываться, проще написать новый пост :) Думаю, многие уже знают, что в Питере 4 июня будет проводится крутая конференция в области тестирования "Гейзенбаг" . Почему вы должны быть на этой конфе? Начну я, пожалуй, с организаторов. Эти ребята любят конференции, знают и, главное, умеют проводить их на высоком уровне. Они понимают, чего от них ждут участники конфы и не идут ни на какие компромиссы. А если ошибки совершаются, то над ними идет серьезная работа. Лично на себе испытал всю организаторскую любовь к прекрасному, когда пробовал стать докладчиком на  первом Гейзенбаге . И пусть это надолго отбило у меня желание пробовать дальше, дело тут во мне. Зато нанес себе "непоправимую пользу". Но теперь я точно знаю, что вероятность булшита на их конференциях минимальна :) Теперь про собственно программу конференции ...

Сборная солянка видеодокладов для самообразования на разную тематику - Выпуск 8

Ох, давненько я не варил "видеосоляночки". Сегодня небольшая кастрюлька на пару порций. Гриша уже был в солянке, но его отрекламировать всегда за честь. Посмотрите, там не только про Python. " Все доклады Григория Петрова на MoscowPython " Интервью с Михаилом Рыжиковым " Процесс разработки, DDD, Agile, Lean " Миша на фоне и с использованием розовой доски рассказывает полезные вещи простым словами. Кстати, ребята из Hexlet-а, снимают много полезных видео (вебинаров) " Цели и задачи тестирования " от Алексея Виноградова. Доклад с QAFest 2016. Начал Леша не очень бодро, но потом втянулся. А за смысл доклада попадет в Гриффиндор :) да-да, так и написал Интересная HR-тема с SECON207 " Проблема лояльности персонала в IT компаниях " и дискуссия после доклада . Жестко, очень жестко. Но правда. Инфантилизм прет изо всех щелей. Из интересного: Марина предлагает неожиданные способы удержания ключевых сотрудников, а именно оплата об...