Рубрика «тестирование» - 28

Разработка программ высокого качества подразумевает, что программа и её части подвергаются тестированию. Классическое модульное (unit) тестирование подразумевает разбиение большой программы на маленькие блоки, удобные для тестов. Либо, если разработка тестов происходит параллельно с разработкой кода или тесты разрабатываются до программы (TDD — test driven development), то программа изначально разрабатыватся небольшими блоками, подходящими под требования тестов.

Одной из разновидностей модульного тестирования можно считать propery-based testing (такой подход реализован, например, в библиотеках QuickCheck, ScalaCheck). Этот подход основан на нахождении универсальных свойств, которые должны быть справедливы для любых входных данных. Например, сериализация с последующей десериализацией должна давать такой же объект. Или, повторная сортировка не должна менять порядок элементов в списке. Для проверки таких универсальных свойств в вышеупомянутых библиотеках поддерживается механизм генерации случайных входных данных. Особенно хорошо такой подход работает для программ, основанных на математических законах, которые служат универсальными свойствами, справедливыми для широкого класса программ. Есть даже библиотека готовых математических свойств — discipline — позволяющая проверить выполнение этих свойств в новых программах (хороший пример повторного использования тестов).

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

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

Читать полностью »

«Среда продакшна вне вашего контроля»: Риан Льюис о тестировании блокчейн-проектов - 1

Может показаться, что сейчас уже поздно обсуждать криптовалюты и блокчейн-проекты: мол, пару лет назад было сказано всё возможное, а потом завышенные ожидания не оправдались, ажиотаж спал и тема стала неактуальна.

Но на самом деле как раз сейчас можно говорить о ней серьёзно. На пике ажиотажа сложно было пробиться через вопли «ВЛОЖИСЬ В НАШЕ ICO ПОКА НЕ ПОЗДНО» к чему-то рассудительнее, и в соотношении «сигнал/шум» зашкаливала вторая составляющая. Зато теперь, когда шумиха схлынула и любители быстрой наживы переключились на что-то другое, стало можно поговорить нормально. И когда вопрос «во что вложить деньги» перестал затмевать всё остальное, стало проще затрагивать технические аспекты.

Риан Льюис (известная, например, небольшим сервисом CountMyCrypto) видит блокчейн-экосистему и с ракурса энтузиаста, и с ракурса технического специалиста: ей интересно и «что вообще происходит», и тестирование блокчейн-проектов. И мы решили задать ей вопросы сначала о первом, а затем перейти к второму.
Читать полностью »

Еще одна расшифровка доклада с Pixonic DevGAMM Talks. Антон Косякин — Technical Product Manager и работает над ALICE Platform (такая Jira для отелей). Он рассказывал, как они интегрировали воедино существующие в проекте инструменты для тестирования, зачем нужны нагрузочные тесты, какие инструменты предлагает комьюнити и как запустить эти инструменты в облаке. Ниже — выступление и текст доклада.

Читать полностью »

В октябрьском «Календаре тестировщика» Арина Разгоняева, Юля Агафонова и Лена Зырянова расскажут, как они собирают фидбэк. Мы субъективны, оценивая самих себя, поэтому спрашиваем о себе других. Можно встретиться с коллегой за чашкой кофе и узнать, что он о тебе думает. Можно подойти более обстоятельно и провести опрос 360 градусов. Мы используем оба варианта и некоторые другие практики. О них сегодня и поговорим.

«Календарь тестировщика» за октябрь. Обратная связь: как это бывает - 1

Читать полностью »

Хорошо написанные тесты значительно уменьшают риск “поломать” приложение при добавлении новой фитчи или исправлении ошибки. В сложных системах, состоящих из нескольких взаимосвязанных компонентов, наиболее сложным является тестирование их точек соприкосновения.

В этой статье я расскажу о том как мы столкнулись со сложностью написания хороших тестов при разработке компонента на Go и как решали эту задачу используя библиотеку RSpec в Ruby on Rails.
Читать полностью »

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

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

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

Как составить стратегию тестирования: версия настоящих инженеров - 1
Читать полностью »

Функциональное тестирование печатной платы - 1

Технологичное проектирование

DFM — это принципы разработки и ведения проекта, которые нацелены на успешное производство готового изделия. Следование этим принципам призвано снизить срок постановки на производство и сроки тестирования готовой продукции, с одновременным повышением качества. DFM начинается задолго до проектирования, на этапе обсуждения технического задания, зависит от величины серии и влияет на стоимость проектирования, изготовления и тестирования. О DFM писали на Хабре, например здесь. Сегодня мы поговорим про функциональное тестирование печатной платы и опишем её подготовку для этой цели. (трафик)
Читать полностью »

Светодиодные лампы собственных брендов сетей магазинов часто оказываются лучшими по соотношению цена-качество. В сети строительных магазинов Castorama продаются очень дешёвые лампы собственного бренда Diall, имеющие гарантию 5 лет.
Я купил и протестировал 46 моделей этих ламп.

Светодиодные лампы Diall из магазина Castorama - 1

Читать полностью »

Образ современного тестировщика. Что нужно знать и уметь - 1

Бытует мнение, что простейший путь к IT лежит через тестирование. Мол, знать ничего не нужно, уметь и подавно, достаточно желания и готовности не сильно щуриться от боли и слёз, когда тебе прилетает очередной набор тест-кейсов для регрессионного тестирования.

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

Возросшие требования к тестировщикам, их знаниям и квалификации, так как всё чаще решаются задачи чуть сложнее, чем «клик-клик — и в продакшен». Работа тестировщиков становится всё более «инженерной», требует технической подкованности, специфических знаний, навыков и компетенций. Тестировщики всё чаще становится QA-инженерами (кто в теме, тот понимает разницу).

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

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

Добрый день, уважаемые читатели.

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

Надеюсь статьи будет полезна начинающим автотестерам.

  • В первой части пофилосовствуем в общем про подход.
  • Во второй части на примерах сделаем проект автотестов на JAVA + научим быстро тестировать API.
  • В третьей части дополним проект для UI тестирования, сделаем параллельное выполнение тестов.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js