Nemanja Veskovic
Verified Expert in Engineering
Quality Assurance Engineer and Developer
Belgrade, Serbia
Toptal member since January 6, 2017
Nemanja is a passionate QA engineer with more than 16 years of experience working with various QA teams and on complex functional and performance testing (manual and automation), creating full continuous integration setups from scratch and ensuring QA is implemented in all software development stages from design to deployment. Nemanja also has six years of experience in QA team lead roles, including interviewing and hiring new team members.
Portfolio
Experience
Availability
Preferred Environment
API Testing, Apache JMeter, Jira, Jenkins, Git, Python, Java, WebDriver
The most amazing...
...thing I've built is a rapid continuous integration environment that can run focused automated test regression based on changes made in the SUT source code.
Work Experience
[Managed Delivery] QA Engineer
Garn Enterprise (Hong Kong) Limited
- Developed test plans and test scenarios for the web application similar to a well-known eCommerce app. I actively participated in user stories refinement sessions, asking many questions to clear out the expected behavior.
- Carried out manual testing and test automation of the features developed for the app. Used Testsigma for test case management and test automation. Created MySQL procedures and queries in order to prepare testing data or to actually test the features.
- Used Jira as the ticket and bug tracking tool.
Senior QA Engineer
Fertility related clinics
- Tested a web application and related services for the fertility clinic(s) built on Ruby on Rails and JavaScript/TypeScript, running in the cloud (AWS).
- Conducted functional and performance testing of multi-service web applications, including feature and regression testing.
- Handled day-to-day communication with developers, development leads, product owners, and sometimes with medical staff directly.
QA Consultant
Beyond42
- Initially assisted the founder in making the transition from external to the internal development team and then became responsible for QA processes within the company.
- Took ownership of application development and maintenance from previous contributors. Organized knowledge transfers with on-site visits with previous contributors (previous development team).
- Introduced test environment and automated deployment (on-click) to test and production environments. No continuous integration was set as there were not enough resources to have continuous deployments.
- Interviewed five referrals and hired two of them for the team.
- Introduced a scrum-like development process with official sprints using Jira as a monitoring tool.
QA Automation Engineer
Data Science and Analytics Automation Platform
- Set up GitLab runners and created a GitLab pipeline for running existing automated tests using an 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 detail what was tested.
- Created a POC for a test automation framework using Pywinauto and Pytest for testing the localization of the application under test. Introduced some new ideas that could be tested from the i18n point of view.
QA Automation Engineer
NDA
- Automated a set of manual test cases using Appium, Sauce Labs, and Python.
- Maintained existing automated test scripts, updating scripts according to new test flows and making scripts more resilient to random or timing failures.
- Evaluated which test cases might be automated in the future and assigned priorities to them.
Senior Principal QA
Evernym
- Added and updated various 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 had developed.
- Created performance tests in Rust for a couple of system use cases.
Senior QA Engineer
NDA - Healthcare Benefits Management
- Manually tested feature/functional changes through sprint cycles. Conducted cross-browser and cross-OS testing. Managed defects, including creation and prioritization.
- Fixed minor defects using RoR, which was more efficient than filing a defect.
- Automated tests using WebDriver for UI actions, an HTTP client for a MailCatcher API, and action automation with Heroku instances using Heroku APIs.
QA Lead
Carnegie Technologies Belgrade
- Introduced QA processes to the company for existing projects and QA teams. Set up test plans and test case management tools and integrated them with Jira and Jenkins. Defined regular testing cycles.
- Mentored other QA engineers to transfer knowledge and experience and track the progress of regular daily and weekly tasks.
- Created functional test automation frameworks using Java, TestNg, and WebDriver for UI and Python/Pytest/requests for API testing.
- Created performance testing scenarios for various API servers using JMeter.
- Interviewed more than 15 candidates for QA and DevOps teams, leading the tech-based decisions on hiring for those positions.
Senior QA Engineer
NDA – Content Creation and Management of Social Websites
- Handled manual functional and exploration testing of the web app.
- Wrote a complete list of test cases for regression testing with instructions on which test cases needed to be automated and in which order.
- Tested features during sprints, reporting defects and prioritizing the defects list.
- Deployed to the test/staging environment using an Atlassian set of tools, primarily Bamboo.
- Provided manual, cross-browser regression testing of the web app.
QA Consultant and Test Lead
Endava
- 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 and Genie.
- Created a test framework based on Jenkins jobs (moving away from some Perl script runners) using Perforce and Git as (test) source code management.
- Supported the work on clients' proposal requests by providing QA know-how and estimations on team size and time needed for the requested work.
- Mentored team members by organizing knowledge transfer sessions on Jenkins, TestNG, SSH, Git, Java, Linux, etc. Suggested new solutions and tools for the team and implemented some ideas up-front to make the team more efficient.
- Communicated daily with a geographically distributed team working on the same test projects as the team in Belgrade.
QA Team Lead
TeleSign
- Assumed the QA team lead role with team members distributed across Scrum teams. Ensured that all QA engineers were aligned regarding test coverage, automation coverage, and test result reporting.
- Created an initial test automation framework for end-to-end and integration testing with various endpoints, from HTTP/SMPP servers 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 new ones for specific PHP web app project needs.
- Led the process of hiring new QA and release engineers by creating job advertisements, reviewing resumes, filtering candidates, hosting and conducting interviews, and deciding on new hires. Improved the interview process as a whole.
QA Automation Engineer
TeleSign
- Established QA processes within Scrum teams regarding 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.
- Conducted exploratory testing of RabbitMQ and Elasticsearch to validate if they 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 Team
PSTech
- Overcame obstacles in a team of seven test automation engineers for framework and defect management.
- Automated testing for online collaboration software with two setups: on-site and in the cloud. Explored tools the team could use for different test requirements, from deploying a VMware virtual machine to automating desktop apps with custom controls.
- Mentored, in a supporting role, less experienced colleagues and interns. Communicated frequently with other related parties involved in the project outside the automation team.
- Helped interview new candidates for the team during technical interviews.
Test Automation Engineer
PSTech
- Created a testing framework for desktop Java, web, and Android/iOS apps. Made an automated way of publishing results and reports to be accessible by higher management.
- Integrated many existing desktop app test scripts into a mobile app test framework.
- 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.
Experience
ABA League Fantasy - Web UI Test Automation
https://github.com/nveskovic/fantasy-aba-liga-test-automation• Ant for building the project and invoking test targets
• Ivy for project dependency resolution
• TestNG as a test (suite) runner
• WebDriver as an automation tool for browsers
• Java as a test script language
REST API Testing
https://github.com/nveskovic/rest_api_test_example• Ant for building the project and invoking test targets
• Ivy for project dependency resolution
• TestNG as a test (suite) runner
• REST Assured library as an automation tool for HTTP REST testing
• Java as a test script language
BuzzerBeater.com Assistant
https://github.com/nveskovic/BuzzerbeaterAssistantTools used: Java (Swing), WebDriver, PhantomJS Headless Driver
The tool is now open-sourced; the code is located on GitHub:
https://github.com/spaciulis/BuzzerbeaterAssistant - where it can be polished up.
Poducavanje.tk - Private Lessons
This was a project for a nonprofit volunteer organization.
Education
Progress Toward a Bachelor's Degree in Information Technologies and Programming
Faculty of Mathematics - Belgrade
Certifications
Certified ScrumMaster (CSM)
Scrum Alliance
Cisco Security Ninja Program – White Belt
Cisco Systems
English Proficiency – Berlitz Level 5 | CEF Level B1.1.
Berlitz Serbia
Skills
Libraries/APIs
Selenium WebDriver, Web Development, REST API, Web API, Sidekiq, Pywinauto, Jira, Ruby, React.js, Vue.js
Tools
REST Assured, Jenkins, Confluence, Jira, Apache JMeter, TestRail, Postman, xUnit, Slack Development, Git, Rally, Silk Test, Shell, Jira, Pytest, Apache Maven, Cisco Unified Communications Management Suite, Apache Ant, Python, Microsoft Exchange, Data Science, RabbitMQ, Eclipse IDE, GitHub, IntelliJ IDEA, GitLab CI/CD, Git, Cucumber, VMware, Adobe Software Development, RPM, Bamboo, Gatling Load Testing, AWS CLI
Languages
Java, GraphQL, Python, CSS, C#, Bash, Bash Script, SQL, HTML, Java, .NET, PHP, AutoIt, C++, Tcl, Ruby, JavaScript
Frameworks
TestNG, JUnit, Selenium, Windows PowerShell, Appium, .NET, Espresso, XCTest, TestStack.White, Ruby on Rails, Java, Aurelia, Cypress
Paradigms
E2E Testing, Testing, Scrum Master Consulting, Manual Testing, Test Automation, Automation, Agile Development, Automated Testing, Functional Testing, Non-functional Testing, Kanban Project Management, Stress Testing, Model View Controller (MVC), Waterfall Project Management, Load Testing, Agile Development, Agile Development, Unit Testing
Platforms
Ubuntu, Windows Development, MacOS, Heroku, iOS, CentOS, Android, Linux, Blockchain, Hyperledger, NetBeans, Kubernetes, Testsigma
Storage
JSON, PostgreSQL, MySQL, SQL Server, Elasticsearch, MongoDB
Industry Expertise
Teaching
Other
Interviews, Test Cases, UX Development, QA Test Plan Management, Manual QA, Software QA, Web QA Engineering, UI Development, API, Quality Control (QC), Scrum Master Consulting, HTTP, HTTPS, Quality Assurance Engineering, QA Leadership, QA Testing, Team Leadership, Code Review, Performance Testing, Manual Software Testing, UI Automation, E-commerce marketing, Integration, QA Testing, Design Strategy, Smoke Testing, Cross-browser Testing, Website Testing, Mobile App Testing, CI/CD Pipelines, API, Test Scripting, Testing Strategy, Automated UI Testing, Front-end, Test Planning, Regression Testing, Test Management, Web Application, Test Case Execution, End-to-end Implementation (E2E), Test Case Creation, Web App Testing, Test Data, M-eux Test, MailCatcher, Mobile Device QA Automation, Performance Analysis, SMPP, Regular Expressions, APIs, Android, English, Booking Systems, Learning, Integration Testing, GitHub Actions, SSH, Meux, Sauce Labs, UX Development, Load Balancers, System Security, Session Initiation Protocol (SIP), SSO Engineering, VoIP, Mathematics, Freelance Programming, School, Community
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring