Рубрика «Тестирование IT-систем» - 44

Введение

Есть несколько статей об антипаттернах разработки ПО. Но большинство из них говорят о деталях на уровне кода и фокусируются на конкретной технологии или языке программирования.

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

Терминология

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

Антипаттерны тестирования ПО - 1

Если не видели пирамиду тестирования, настоятельно рекомендую ознакомиться с ней. Вот некоторые хорошие статьи для начала:

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

В чём разница Smoke, Sanity, Regression, Re-test и как их различать? - 1

Оригинал. Перевод разбавлен размышлениями и дополнениями автора из своего опыта

О чём это всё

Будучи инженером по тестированию, вы, вероятно, слышали о таких видах тестирования как «дымовое» (smoke), «санитарное тестирование» (sanity), «ре-тест» и регрессионное тестирование. Вполне возможно, многие из этих видов используются вами на ежедневной основе.

В этой статье я хотел бы внести ясность и объяснить разницу между этими видами тестирования и попробовать разобраться, провести границы (хоть и условные) где заканчивается один вид тестирования, и начинается другой.
Читать полностью »

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

Замечали, что обычно люди, ответственные за эксперименты, в итоге говорят, что данных недостаточно для решения? Часто это действительно так, но нередко всё дело в поломках системы экспериментов и учёта пользовательской статистики.
 
В этой статье мы рассмотрим типичные поломки, которые там встречаются, и у вас появится возможность, вернувшись на рабочее место, немножко побыть data scientist'ами и найти ошибки у себя в компании. Какие-то из них там наверняка есть.

В основе материала — расшифровка доклада Романа Поборчего с нашей декабрьской конференции Heisenbug 2017 Moscow.

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

Почему так важно запретить самому себе отладку руками?

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

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

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

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

Предисловие

Понадобилось мне сделать бота для выполнения нескольких задач, требовательных к логике и скорости реакции. Лезть в API и ковырять бинарники программ не хотелось. Было решено пойти путём визуальной автоматизации. Нашел несколько ботов, но ни один из них так и не подошел под мои требования, оказавшись или слишком медленным, или скриптовая часть была сильно урезана или был недостаточный функционал для работы с визуальной составляющей. Так как у меня был успешный опыт использования визуального бота в прошлом (хоть и медленного и сильно урезанного в скриптовой части) – решил сделать свою реализацию.

Требуемый в начале функционал

Были необходимы следующие возможности:

  • Cимуляция мыши, передвижение курсора, нажатие кнопок.
  • Cимуляция нажатий клавиш клавиатуры.
  • Возможность искать на экране заранее заготовленный кусочек картинки, например иконку или букву, а если нашло – пусть сделает что угодно с этой информацией.
  • Скриптовый интерпретатор, чтобы можно было просто описывать алгоритм действий и не требовалось компилировать раз за разом.

Существующие аналоги

Есть целый ряд аналогов, но каждый из них имеет как свои плюсы, так и минусы. Рассмотрим наиболее функциональные:
Читать полностью »

Обзор программы Heisenbug 2018 Piter - 1

Конференция: Heisenbug 2018 Piter
Дата: 17-18 мая 2018 года
Место: Санкт-Петербург, гостиница «Park Inn by Radisson Пулковская»

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

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

В среде ИТ есть свои легенды, чьи имена знает сегодня чуть ли не каждый и чьи (что важнее) достижения в профессии показали другим новый путь к развитию. Одной из таких фигур для мира тестирования ПО был и остается Майкл Болтон, которого мы ждем на ближайшем Heisenbug 2018 Piter. В этой статье мы поговорим о Rapid Software Testing, о Майкле и его докладах.

Смысл тестирования — в процессе, а не в оставшихся артефактах. Майкл Болтон и Rapid Software Testing - 1

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

Тестирование систем в TPC-C — быстро и просто - 1

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

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

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

И сегодня я расскажу, как с помощью теста TPC-C измерить производительность стенда и получить результат в стандартных транзакциях в секунду.
Читать полностью »

Yealink Meeting Server — комплексное решение для видеоконференцсвязи - 1В ранних статьях, посвящённых программным ВКС-серверам, я описывал различные решения для видеоконференцсвязи на базе программных продуктов отечественной разработки. Сегодняшняя статья посвящается программному ВКС-серверу от компании Yealink — Yealink Meeting Server (YMS). Отличительной особенностью данного решения является бесшовная интеграция с аппаратными терминалами ВКС данного производителя.

Последние годы кодеки Yealink активно конкурируют в своём сегменте рынка с продукцией Polycom, Cisco и прочих крупных вендоров. Но замещение было лишь по клиентской части, так как у Yealink не было собственного сервера ВКС, и для построения законченного решения приходилось интегрировать терминалы Yealink с программными или аппаратными MCU сторонних производителей.

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

Обсуждая тестирование, чаще всего спикеры говорят об особенностях подхода, известного как «черный ящик». Но здесь мы поговорим о противоположном сценарии — «белом ящике», позволяющем формулировать вопросы к коду, понимая его внутреннюю структуру.

В основе статьи — расшифровка доклада Никиты Макарова (Одноклассники) с нашей декабрьской конференции Heisenbug 2017 Moscow.
Читать полностью »


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