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

Привет! Я работаю интерном в Санкт-Петербургском центре разработок ЕМС и хочу дать студентам пару советов о построении будущей карьеры, а также рассказать про задачи, которыми занимаюсь в компании. В этом году за одно из своих решений я получил награду Bright Internship Award как лучший стажёр Центра, и мне интересно получить обратную связь по достигнутым результатам. Эта статья может быть интересна тем, кто занимается тестированием производительности систем.
Читать полностью »

Батяня-комбат для разработчика: специально обученные чуваки, которые как консильери в мафии - 1

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

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

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

Процесс разработки и тестирования демонов - 1 Сегодня мы поговорим о «низкоуровневых» кирпичиках нашего проекта — о демонах.

Определение из Википедии:

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

Хоть это и не очевидно, но практически весь функционал сайта во многом зависит от работы этих программ. Игра в “Знакомства”, поиск новых лиц, центр внимания, обмен сообщениями, статусы, геолокация и многие другие вещи завязаны на тот или иной демон. Так что можно сказать, что они помогают людям по всему миру общаться и находить новые знакомства. Одновременно на сайте могут работать и взаимодействовать между собой несколько десятков демонов. Их корректное поведение является очень важной задачей, поэтому мы решили покрывать основной функционал демонов автотестами.
В Badoo этим занимается специальный отдел. И сегодня мы расскажем о том, как у нас проходит процесс разработки этой критически важной части сайта и выполнение автотестов. Эта область достаточно специфичная и материала много, поэтому мы подготовили структурированный обзор всего процесса, чтобы разобраться в нем смогли все, кому интересно.
В качестве VCS у нас используется Git, для непрерывной интеграции — TeamCity, а в роли баг-трекера выступает JIRA. Для тестирования мы используем PHPUnit. Разработка демонов, как и остального сайта, ведется по принципу «фича ― ветка». Для того чтобы понять, что это, мы рассмотрим проекции нашего flow на Git и на JIRA.
Читать полностью »

О влиянии апплета на работу iPhone в сети LTE - 1

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

Тем не менее, всё и всегда предусмотреть невозможно. Многие операторы часто сталкиваются с особенностями работы тех или иных устройств на сетях не только на стадии запуска, но и в процессе эксплуатации, и Yota – не исключение. Через некоторое время после перехода компании в статус федерального мобильного оператора мы заметили нестабильность работы iPhone 6 и 6 Plus в сети LTE: незначительная доля владельцев этих устройств сталкивалась с тем, что время от времени смартфон терял сеть и долго не мог подключиться снова. О том, как удалось устранить эту проблему, мы и хотим сегодня рассказать.
Читать полностью »

boxshell

ROTE — простая библиотека на языке C, служащая для эмуляции терминала VT100. Она создает терминал и предоставляет доступ к его состоянию в виде структуры языка C. В терминале можно запустить дочерний процесс, «нажимать» в нем клавиши и смотреть, что он рисует на терминале. Кроме того, есть функция для отрисовки состояния терминала в окне curses.

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

Несмотря на всё удобство и внутреннюю красоту ROTE, использовать её напрямую в тестах было бы громоздко. Поэтому я решил упростить задачу, привязав ROTE к языку Lua, который я очень люблю и знаю, как писать тесты. Так и родилась библиотека lua-rote, о которой я хочу рассказать.
Читать полностью »

Я провожу собеседования на тестировщиков. У меня иногда болит голова.

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

Про MAC-таблицы в коммутаторах - 1Привет!
Случается так, что иногда хочется отойти от скупой теории и перейти к практике. Сейчас как раз такой случай. Желание возникло на фоне воспоминаний того, как мы делали коммутатор. Он — вещь довольно простая, делов-то — пересылай пакеты с порта на порт, да статистику веди. Все оказалось немного сложнее.

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

Как стать автоматизатором тестирования? - 1

Добрый день!

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

Эта статья полезна не только для мануальных тестировщиков, желающих автоматизировать свои рутинные проверки, но и для бизнеса и HR-ов, которые ввиду отсутствия каких-либо общепринятых критериев, как правило, понятия не имеют кто есть QA Automation Engineer и в большинстве случаев принимают решение на основании «хороший человек».

Бывает ещё хуже – руководитель/PM/etc… приходят к своим мануальным тестировщикам и говорят: «слушай, а может мы автоматизируем наше тестирование – это сэкономит нам кучу времени и денег. Скажи, какие книги тебе нужны и какие курсы».

0. Начнём с ошибок, которые не надо допускать:

  • Дайте мне книгу умную, которая всё за меня сделает
  • Дайте мне курсы платные, которые всему меня научат
  • Дайте мне форумы специализированные, которые ответят мне на все интересующие вопросы
  • Дайте мне сертификацию полезную, с которой меня везде примут

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

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

Тестирование полки Intel® Storage System JBOD 2000 Family - 1

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

Тестируем Chef cookbook. Часть 1 - 1

Привет! Сегодня мы начинаем серию технических статей о Devops, Chef, infrastructure as code и всем таком. Эта статья – первая из трех о тестировании в Chef. Цикл статей будет полезен тем, кто уже знаком с Chef и хочет научиться тестировать свой код.

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

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


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