Привіт Хабр! 14 квітня в Єкатеринбурзі в сьомий раз пройде конференція DUMP. Доповіді будуть йти у 8 секціях: FrontTalks, Serverside, Mobile, Design, DevOps, Тестування, Management Science.

Програма виходить відмінної: Григорій Бакунов (Яндекс), Леонід Васильєв (Dropbox), Микита Прокопов (Cognician), Андрій Акіньшин (JetBrains), Олександр Блінов (RedMadRobot), Юрій Вітрів (Mail.Ru Group), Денис Кортунов (Acronis), Сергій Оповідань (Школа шрифтового дизайну), Олександр Орлов (Стратоплан) — вважаємо, таке не можна пропускати. Подробиці програми — під катом.

image
Пам'ятаєте ці наклейки? В минулому році ми придумали їх спеціально для конференції. А ще є такі ж стікери для телеграма

Читати далі →

Представляю вам переклад моєї статті на Medium.com: частина 1, частина 2. Оскільки перша частина статті містить в основному вже викладене в цьому пості, то наводжу тільки переклад другої частини.

Худнемо і переїжджаємо в контейнери
У першій частині статті я розповів про прості підходи, що дозволяють побудувати масштабований кластер Selenium без написання коду. У цій частині ми розглянемо більш тонкі питання роботи з Selenium:
  1. Як створити легко масштабовані робочі ноди, використовуючи стандартний Selenium Hub
  2. Чому можна і потрібно запускати більшість браузерів в контейнерах і як це робиться
  3. Які open-source інструменти для цього існують

Читати далі →

Тут я хочу коротко описати традиційну архітектуру ІТ-інфраструктури для забезпечення відмовостійкості БД та схему розробки, що використовує цю архітектуру. І більш докладно зупинитися на тому, як можна спростити життя тестувальникам і розробникам за допомогою технології FlexClone, які використовують БД або будь-який інший великий набір даних необхідний для тестування і розробки.

Традиційний підхід полягає в тому, що створюється кластер БД: основна і запасна. Далі, час від часу ця БД (як правило, на Stand-By стороні) копіюється для розробників. І чим більше така БД, тим рідше вона копіюється і віддаляється і тим сильніше навантажується СГД від таких операцій. З іншого боку, розробники і тестувальники отримують застарілу БД, вона як правило місячної або навіть піврічної давності. Коли ж приходить час впроваджувати налагоджений код в продуктив, виявляється, що БД встигла сильно змінитися: з'явилися нові додаткові дані, таблиці, поля і можливо видалені старі. Це призводить до того що налагоджений код для старої БД не працює на новій, що сильно ускладнює розробку, тестування, впровадження та експлуатацію нового коду.



Читати далі →



Експерименти — одна з центральних функцій наукового підрозділу сайту потокового відео Twitch. Ми працюємо в тісному контакті з менеджерами по продукції, щоб тестувати нові ідеї та функції. У минулому ми використовували власні інструменти для проведення А/В-експериментів в мережі і на наших мобільних додатках. Нещодавно ми спробували новий підхід для проведення експериментів на нашому додатку для Android, використовуючи функцію поетапного розгортання з Google Play.

Читати далі →

Тестування смарт контрактів Ethereum на прикладі DAO

При створенні смарт контрактів на платформі Ethereum розробник закладає певну логіку роботи, що визначає, як методи повинні змінювати стан контракту, які повинні емітуватися події, коли і кому потрібно здійснити переказ коштів, а коли кинути виняток. Інструменти налагодження смарт контрактів ще не дуже розвинені, тому тести найчастіше стають необхідним інструментом розробки, т. к. запускати контракти після кожної зміни може бути досить тривалою процедурою. Також, у випадку виявлення помилок, змінити код розгорнутого в мережі контракту вже неможливо, можна тільки знищити контракт і створити новий, тому тестування варто проводити максимально докладно, особливо методи пов'язані з платежами. У статті будуть показані деякі прийоми тестування, з якими стикаються розробники при створенні і налагодженні смарт контрактів на Solidity.
Читати далі →

How-to: інструменти для проведення конкурентного аналізу програмних продуктів



Зображення: Stephen Bowler, Flickr

Щоб отримати уявлення про розроблення продукті, необхідно дізнатися якомога більше про його властивості та якості. Для цього і існує тестування — цей процес якраз дозволяє зібрати потрібну інформацію. Але отримати їжу для роздумів і активних дій можна й іншим способом — наприклад, порівнявши власний продукт з конкуруючим рішенням.

Конкурентний аналіз (КА) програмних продуктів дозволяє виявляти такі їх властивості і якості, які неможливо було б дізнатися з допомогою звичайних тестів.

Ми в Positive Technologies почали процес занурення в КА ще кілька років тому — ось наша стаття про розробку методики проведення аналізу. У подальшому вона отримала свій розвиток у вигляді внутрішнього інструменту для конкурентного аналізу — про нього ми сьогодні і поговоримо.
Читати далі →

Перехід з CruiseControl.NET на Jenkins в команді розробників PVS-Studio

<img src=«habrastorage.org/getpro/habr/post_images/1bb/7a8/97e/1bb7a897e17c6d5626f949ad85534c73.png» alt=«Picture » 1" />
Зараз важко уявити розробку програмного забезпечення автоматизованих збірок проекту і тестування. Для мінімізації часових витрат на інтеграцію змін розробників в проект, існують різні готові рішення. У даній статті я розповім про заміну сервера безперервної інтеграції CruiseControl.NET на Jenkins в команді розробників PVS-Studio. А також про те, що нас до цього спонукало, які цілі ми переслідували і з якими проблемами зіткнулися.

Читати далі →

Як тестувати контейнери RoR з GitLab CI у контейнері

Чим гарний GitLab, так це тим, що будучи за габаритами слоном у посудній лавці, він вміє акуратно встановлюватися і майже завжди працює з коробки. Але погано вміє відновлюватися і дбати про себе, коли дуже прямі руки начебто моїх порушують звичне йому оточення. Не буду заглиблюватися в те, як мені вдавалося вбити його до стану, коли навіть видалення та встановлення з нуля не допомагає, але під уникнення черговий нескінченної епопеї з дебагом і перевстановлення сервера я виніс все це справа в Docker контейнер. Зручно — на робочій машині немає мільйона залежностей, примонтировал директорії для репозиторіїв, журнали та бази даних і все працює. Відновлення — перезаснувати контейнер і згодувати бекап (до речі, не забудьте перевірити свої бекапи, як свідчить досвід GitLab, це не зайве).

З іншого боку, є розроблювальна Rails додаток, яке на реальній машині тримає тільки код; Rails, gems, і все інше спочиває в Docker контейнері. Для своєї роботи вона використовує Redis і Postgres, кожен знаходиться на своєму контейнері. Для кожного контейнера примонтирована директорія, щоб важливі для додатка дані не залишалися всередині.



Завдання в тому, щоб Gitlab CI нормально відпрацював. Начебто все просто, але — він сам знаходиться в контейнері.

Читати далі →

Ексклюзивні кадри монтажу ретранслятора МТС на сонячних батареях в Кам'яному море (ВІДЕО)

Це відео ми знімали біля підніжжя Головного Кавказького хребта, на висоті 670 метрів над рівнем моря, під час монтажу унікального активного ретранслятора на сонячних батареях. Детальніше про це розповідав наш експерт Костянтин Кильбер минулому пості.




Читати далі →

Автоматизація навантажувального тестування: зв'язка Jmeter + TeamCity + Grafana



Зображення: Flickr

В нашому блозі на Хабре ми продовжуємо розповідати про побудову DevOps-культури в компанії — наприклад, в одному з останніх топіків ми описували те, які завдання вирішуємо за допомогою системи SaltStack. Сьогодні мова піде про іншу цікаву тему — автоматизації навантажувального тестування за допомогою зв'язки декількох готових інструментів.
Читати далі →