Рубрика «тесты»

SEO npm-пакета: почему важно правильно настраивать конфиг и писать тесты - 1

Не так давно я опубликовал статьюЧитать полностью »

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

Юлия Волкова хочет проверить идею в реальности и пробует переложить на машину создание тестов на основе кода, причем без использования дополнительных инструкций или контрактов. О том, какие открытия приносит путешествие в мир метапрограммирования, AST, синтаксического анализа и токенизации, и чего это все позволило добиться в автогенерации тестов, Юлия расскажет на Moscow Python Conf++. А пока я расспросил, откуда появилась сама идея — автоматизировать тестирование, что лежит в основе прототипа и с чем еще предстоит справиться.Читать полностью »

Обезл***вание д***ных — это не просто рандомизация - 1

В банке есть проблема: нужно давать доступ к базе данных разработчикам и тестировщикам. Есть куча клиентских данных, которые по PCI DSS требованиям Центробанка и законам о персональных данных вообще нельзя использовать для раскрытия на отделы разработки и тестирования.

Казалось бы, достаточно просто поменять всё на какие-нибудь несимметричные хеши, и всё будет хорошо.

Так вот, не будет.

Дело в том, что база данных банка — это множество связанных между собой таблиц. Где-то они связаны по ФИО и номеру счёта клиента. Где-то по его уникальному идентификатору. Где-то (тут начинается боль) через хранимую процедуру, которая вычисляет сквозной идентификатор на основе этой и соседней таблицы. И так далее.

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

То есть прежде чем всё это обезличить, сначала надо разобраться в базе данных. Читать полностью »

Legacy-код — это «старый» код, возраст которого может быть как 2 месяца, так и 10 лет. Часто его писали разработчики, о которых в компании смутно помнят. Возможно, их вообще не было, а legacy-код родился вместе со Вселенной во время Большого Взрыва. С тех пор требования к нему менялись много раз, код правили в режиме «нужно было еще вчера», а документацию никто не писал, как и тесты. Legacy-код запутан и хрупок, в нем не видно ни начала, ни конца. Как к нему подступиться?

Укрощая зверя: legacy-код, тесты и вы - 1
Здесь и далее кадры из сериала «Рик и Морти». Авторы Джастин Ройланд и Дэн Хармон.

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

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

image

Блогер Зак Нельсон решил проверить утверждение Samsung о том, что в дисплее недавно выпущенной раскладушки Galaxy Z Flip использовано «ультратонкое стекло». Однако тест блогера показал, что стекло по характеристикам напоминает пластик, а следы на дисплее оставляет даже ноготь большого пальца. Корпус, как показал тест, действительно выполнен из стекла, и он не царапается. Читать полностью »

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей - 1

В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее:

  1. Определили цель и инструменты разработки.
  2. Настроили IDE и фреймворк для написания тестов.
  3. Написали тест-лист для разрабатываемого функционала.
  4. Создали первый простой тест и запустили его.

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

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

TDD для микроконтроллеров за 5 минут - 1

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

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

Одной из наиболее популярных методологий улучшения качества разрабатываемых приложений является Test-driven development (TDD). Но эффективна ли методология TDD для разработки встраиваемых систем? Ответ на этот вопрос будем искать под катом.

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

image

Авторы YouTube-канала CNET разместили видео, в ходе которого они протестировали смартфон Motorola Razr на предмет складывания и раскладывания. После четырех часов теста появились первые проблемы с механизмом. Смартфон перестал складываться примерно после 27 000 циклов.

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

Наземное испытание прототипа Starship Mk1 закончилось его фатальным повреждением - 1

20 ноября 2019 года на полигоне в Бока Чика на юге американского штата Техас полноразмерный прототип верхней (второй) ступени космического корабля Starship Mk1 компании SpaceX был разрушен во время проведения испытаний аппарата на максимальное заполнение топливных баков криогенной жидкостью.
Читать полностью »

Распределенная игровая сеть как альтернатива GFN: как и почему это может взлететь, где уже работает в РФ - 1

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

Облачный гейминг всем хорош — ведь он позволяет избавиться от головной боли с постоянными апгрейдами железа и быстро получить доступ к игровому процессу. Играть можно в любом месте и в любое время в самые современные игры. Но есть и проблемы — чем дальше сервер сервиса облачного гейминга от пользователя, тем хуже результат — появляются лаги, картинка «замыливается», в некоторых случаях начинает отставать от действий пользователя даже курсор. Проблема эта характерна как для GeForce NOW, так и для всех остальных облачных сервисов. Каким может быть решение?
Читать полностью »


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