Артем Горбунов

Инженер по автоматизации тестирования

Местоположение

Проживание: США, Сан-Франциско и район залива

Возраст и стаж

Стаж: 6 лет и 8 месяцев

Возраст: 34 года

Контактная информация


Опыт работы


Август 2012 —
Март 2014
(1 год и 8 месяцев)

EPAM

Старший инженер по автоматизации тестирования
США, Сан-Франциско и район залива

Обязанности и достижения

Обязанности: - Создать процесс автоматизированного тестирования для распределенной, асинхронной системы Достижения: - Спроектировал архитектуру автотестов, позволяющую быстро наращивать тестовое покрытие и быстро менять тесты при изменениях. - Реализовал автотесты, используя язык Java и веб-клиент HtmlUnit.
Август 2012 —
Март 2014
(1 год и 8 месяцев)

EPAM

Старший инженер по автоматизации тестирования ПО
США, Сан-Франциско и район залива
Октябрь 2009 —
Июль 2012
(2 года и 10 месяцев)

Яндекс

Java-разработчик
Россия, Санкт-Петербург

Обязанности и достижения

1. Фреймворк для запуска автотестов - Реализовал параллельный алгоритм выполнения тестов, что позволило уменьшить время выполнения некоторых тест сьютов с 6 часов до 30 минут. 2. Функциональный мониторинг - Разработал новую версию ситемы, в которой появились пользовательский интерфейс и гибкие настройки для мониторинга. Новая версия позволила увеличить количество пользователей с 40 до 80. 3. Оценка качества поиска - Разработал новые версии ключевых компонентов.
Август 2007 —
Сентябрь 2009
(2 года и 2 месяца)

Grid Dynamics

Инженер по автоматизации тестирования
Россия, Саратов

Обязанности и достижения

1) Автоматизировал большое число (около 90 из 600) сценариев тестирования сложного AJAX-приложения. В отличие от часто используемого подхода к записи и вопроизведению тестов, разрабатывал тесты как самостоятельную систему. Это позволило, во-первых, использовать приемы построения больших систем; во-вторых, сделать тесты устойчивыми к изменениям в интерфейсе (если название поля поменяется, то их придется править только в одном месте); в-третьих, покрыть большее число комбинаций входных данных, чем при ручном тестировании. 2) Написал аналог JMeter для тестирования производительности AJAX-приложений. По сравнению с JMeter, который всего лишь воспроизводит HTTP-запросы к серверу, созданная система во время тестирования эмулировала выполнение JavaScript (у десятков одновременных пользователей), что приблизило условия тестирования к реальным. Использовались интерпретатор Rhino, парсер Xerces и еще несколько сторонних библиотек. И другие проекты...

Высшее образование


Сентябрь 2002 —
Июнь 2008

Саратовский национальный исследовательский государственный университет имени Н. Г. Чернышевского

Нелинейных процессов
Россия, Саратов

О себе


Специализация и профессиональные навыки:
6 лет разработки и тестирования.

Навыки в разработке:
- Подходы: ООП, рефакторинг, шаблоны проектирования.
- Языки программирования: Java (хорошее знание), C++ (среднее знание).
- Java: Spring, GWT, Terracotta, Ant, Maven.
- C/C++: сетевое и многопоточное программирование.
- Языки разметки: HTML, CSS, XML, XPath, RDF.
- Linux: хорошее знание команд и скриптов.
- Базы данных: Oracle, MySQL, LDAP.
- Системы контроля версий: Subversion, Perforce, Git.

Навыки в тестировании:
- Проектирование тестов с максимальным покрытием и минимальным временем на реализацию.
- Проектирование автотестов, легких в разработке и поддержке.
- Инструменты: JUnit, TestNG, Fit, Fitnesse, GwtUnit, WebDriver, HtmlUnit, Selenium.

Профессиональные цели:
Сделать классную штуку, которой станут пользоваться миллионы людей.

Сделать большой проект (2-3 года, 100 программистов, 10 млрд. долларов). Привести его к успеху: сделать в срок, в рамках бюджета, и выполнив требования заинтересованных сторон.

Награды, сертификаты, портфолио, проекты:
В 2005 разработал систему управления электронной библиотекой для дистанционного образования (технологии: PHP, MySQL, XSLT).

В 2004 перевел с английского языка 300-страничное руководство по программированию системы управления MоdEva.

В 2001 написал программу «Лазер», получившую третью премию в конкурсе ИРЭ РАН.

Членство в обществах и ассоциациях:
Сообщество по системной инженерии (INCOSE).

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

Дополнительная информация:
Февраль — декабрь 2007
Центр олимпиадной подготовки программистов, курсы «Java software development» и «Системное программирование на C/C++».
Разработал большое количество учебных проектов на Java, C и C++.