QA Automation2019 - PRESENTAlteryx (via Toptal)
Technologies: Python, PowerShell, GitLab, Pywinauto
- Set up GitLab runners and created a GitLab pipeline for running existing automated tests using in-house test runner, PowerShell, and Node.js.
- Tested and verified fixes by following the current workflow of development lifecycles. Verified on multiple versions of the application under test and documented in great level of detail what was tested.
- Created a POC for a test automation framework using pywinauto and pytest for testing localization of application under test. Introducing some new ideas what can be tested from i18n point of view.
QA Automation Engineer2019 - 2019NDA (via Toptal)
Technologies: Python, PyTest, Appium, Sauce Labs
- Automated a set of manual test cases using Appium, Sauce Labs, and Python.
- Maintained exisitng automated test scripts, updating scripts according to new test flows and making scripts more resilient to random/timing failures.
- Evaluated which test cases might be automated in the future and assigned priorities to them.
Senior Principal QA2018 - 2019Evernym
Technologies: Rust, Java, Blockchain, Hyperledger, Python
- Worked on addition/update of unit tests written in Rust.
- Automated integration tests using Java and tested for four underlying components.
- Automated a longevity (soak) test for the component that the team has developed.
- Created performance tests in Rust for couple of use cases of the system.
Senior QA Engineer2017 - 2019Sterling Capital Brokers, Ltd. (via Toptal)
Technologies: Ruby on Rails, Postgres, Heroku, Mailcatcher, Sidekiq, Linux, MacOS, WebDriver
- Manually tested feature/functional changes through sprint cycles. Conducted cross-browser and cross-OS testing. Managed defects, including creation and prioritization.
- Fixed smaller defects using RoR where it was more efficient then filing a defect.
- Automated tests using WebDriver for UI actions, an HTTP client for Mailcatcher API, and action automation with Heroku instances using Heroku APIs.
QA Lead2017 - 2018Carnegie Technologies Belgrade
Technologies: Java, Python, JMeter, Espresso, XCTest, Nightwatch, Jenkins, Linux
- Introduced QA processes to the company for existing projects and existing QA team(s). Set up test plans and test case management tools and integrated all that with Jira and Jenkins. Defined regular testing cycles.
- Mentored other QA engineers in order to transfer knowledge and experience, but also in order to track the progress of regular daily and weekly tasks.
- Created functional test automation frameworks.
- Created performance testing scenarios for various API servers using JMeter.
- Interviewed candidates for QA and DevOps teams.
Senior QA Engineer2017 - 2017ContentLaunch (via Toptal)
Technologies: PHP, HTML, SQL, Bamboo
- Handled exploration testing of the web app.
- Wrote a full list of test cases for regression testing with instructions on which test cases need to be automated and in which order.
- Tested features during sprints, reporting defects and prioritizing the defects list.
- Deployed to the test/staging environment.
- Provided manual, cross-browser regression testing of the web app.
QA Consultant and Test Lead2016 - 2017Endava
Technologies: Java, Atlassian Suite, TestStudio, Git, Perforce, REST Assured, MS SQL
- Worked as a test team lead since the team needed someone with strong technical knowledge (due to various intra-team and inter-teams needs). Re-established the team's focus on test automation by introducing best practices and new how-to ideas for the existing test automation framework based on WebDriver (Firefox and Appium) and Genie (Flash testing).
- Created a test framework based on Jenkins jobs (moving away from some Perl script runners) with usage of Perforce and Git as (test) source code management.
- Supported new (QA) project acquisition by providing how-to implementations and initial estimations on team size and time needed for the initial project phases during request for proposal phases or by offering QA services to potential clients/partners of the company.
- Mentored team members by organizing transfer knowledge sessions (Jenkins, TestNG, SSH, Git, Java, Linux, etc.), suggesting new solutions/tools for the team and implementing some of the ideas up-front to enable the team to be more efficient.
- Communicated daily with a geographically distributed team working on the same test project(s) as the team in Belgrade.
QA Team Lead2015 - 2016TeleSign
Technologies: JIRA, CATS, TestRail, Java, Jenkins, WebDriver, PHP, Python, JMeter
- Assumed the QA team lead role with team members distributed across Scrum teams making sure all QA engineers are aligned in terms of test coverage, automation coverage, and test result reporting.
- Created an initial test automation framework for end-to-end and integration testing with various types of endpoints from HTTP/SMPP server and clients to mobile phones.
- Took over the role of release engineer until a new release engineer was hired. Maintained existing build and deployment Jenkins jobs and created some new ones for specific PHP web app project needs.
- Led the process of hiring new QA and release engineers by creating job advertisements, reviewing the incoming resumes, filtering candidates, hosting and leading interviews, and deciding on new hires. Improved the interview process as a whole along the way.
QA Automation Engineer2013 - 2015TeleSign
Technologies: CentOS, Java, Python, C++, WebDriver, TestNG, Behave Tests, Jenkins, Rpmbuild, JMeter, Shell scripts, MySQL, PostgreSQL, RabbitMQ, Elasticsearch, HTTP and SMPP, Scrum
- Established QA processes within Scrum teams in terms of test plans, test cases, testing during sprints, and starting test automation frameworks for project needs.
- Built a functional test automation framework based on WebDriver for automating tests for a web application, a REST API service written in Python, and a service application with HTTP and SMPP interfaces. Included integration tests in all three apps.
- Created an automated performance (load) test framework for a REST API service. Wrote a custom-made JMeter sampler (based on Cloudhopper Java library) for load-testing the SMPP server. Created a shell script used for collecting KPIs (key performance indicators) of the machines where services were run and a Java tool to merge all the KPI outputs into one aggregated CSV file.
- Conducted exploratory testing of RabbitMQ and Elasticsearch in order to validate if those were good and reliable enough to be used as parts of some products and services. Testing included both functional and performance testing.
Technical Lead for Test Automation Team2011 - 2013PSTech
Technologies: Java, WebDriver, Jenkins, TestNG, VMWare, Perl, SSH, AutoIT
- Worked out obstacles in a team of seven test automation engineers for framework and defect management.
- Automated regression testing for online collaboration software with two different setups: on-site and in the cloud. Explored tools that the team could use for different test requirements from deploying a VMware virtual machine to automation of desktop apps with custom controls.
- Mentored (in a supporting role) less experienced colleagues and interns. Communicated frequently with other related parties outside of the automation team but on the same project.
- Helped interview new candidates for the team during technical interviews.
Test Automation Engineer2007 - 2011PSTech
Technologies: Java, TestNG, WebDriver, Meux Test (Mobile Platforms), Rally, TCL, SilkTest
- Created a testing framework for desktop Java apps, web apps, and Android/iOS apps. Created an automated way of publishing results and reports to be accessible by higher management.
- Integrated a huge number of existing test scripts for a desktop app into a test framework for mobile apps.
- Created performance test plans and scenarios for an internally built application and created load test samples using JMeter and in-house load test tools.
- Wrote and executed functional test plans for a video and audio collaboration web application for a well-known company from the USA.
- Communicated daily with geographically distributed teams and provided training to new team members in one of these teams located in China.