Katarina Milic, QA Automation Developer in Belgrade, Serbia
Katarina Milic

QA Automation Developer in Belgrade, Serbia

Member since June 25, 2019
Katarina has several years of experience working as both an automation QA and developer—mainly creating automation test infrastructures and continuous integration processes. While working for the MathWorks, she developed test tools in Java, improved build infrastructure, and ran automation, performance, and manual tests. She's also worked as a technical team lead, supervised internship projects, and interviewed candidates for the QA position.
Katarina is now available for hire

Portfolio

  • MathWorks
    Linux, IntelliJ, Jira, Subversion (SVN), Git, Simulink, Hamcrest, JUnit, Bash...
  • PSTech
    Scrum, Visual Studio, Jenkins, Rally, WinDbg, Google Mock (GMock)...
  • PSTech
    Scrum, C#, Rally, Jenkins

Experience

Location

Belgrade, Serbia

Availability

Part-time

Preferred Environment

MacOS, Linux, IntelliJ, Git, Selenium, JUnit, Java

The most amazing...

...thing I’ve built was a test utility in Java that creates simulink projects on disk from their in-memory dependency graphs.

Employment

  • Quality Automation Engineer

    2016 - 2018
    MathWorks
    • Developed Java and MATLAB test tools used for automation testing.
    • Designed and implemented makefiles for automating and improving product build infrastructure; also worked with other teams in the adoption of the new infrastructure.
    • Composed Python and Bash scripts to automate manual steps in test tasks creation.
    • Monitored and contributed daily to automate the UI, performance, and unit test suites.
    • Analyzed automation test failures, determined the root cause, and implemented effective countermeasures.
    • Collaborated with product developers and fixed bugs in the production code that were discovered with automated tests.
    • Created bug reports—taking part in test and bug-fix code reviews and verified that the bugs were fixed.
    • Worked as a technical project lead for QA interns.
    • Organized and actively participated in team and company-wide testing events.
    • Interviewed candidates for the QA position.
    Technologies: Linux, IntelliJ, Jira, Subversion (SVN), Git, Simulink, Hamcrest, JUnit, Bash, Python, Make, MATLAB, Java
  • Software Developer

    2014 - 2015
    PSTech
    • Developed new features for a collaboration application (Cisco Jabber) following product owner requirements, making sure code is testable and implements best practices.
    • Wrote unit tests to cover new features and maintain the highest level of code quality.
    • Triaged and fixed bugs found and reported by QA.
    • Presented new features to the product owner on the meetings.
    • Applied Scrum methodology in the team.
    Technologies: Scrum, Visual Studio, Jenkins, Rally, WinDbg, Google Mock (GMock), Google Test (GTest), C++
  • Technical Team Lead

    2014 - 2015
    PSTech
    • Attended and represented the team in meetings.
    • Made sure all technical questions are answered and forwarded to the right people.
    • Helped team with task assignments.
    • Ensure that the work was tracked properly with the Rally management tool.
    Technologies: Scrum, C#, Rally, Jenkins
  • Quality Assurance Engineer

    2011 - 2014
    PSTech
    • Designed and implemented an automation test and report mechanism in Jenkins used by the team and product managers as an insight into the product quality status.
    • Developed and maintained C# code (White automation framework) used in FitNesse automation test scripts.
    • Ran and maintained manual test procedure; wrote and executed test cases and documented and managed bugs in Rally.
    • Used various Cisco tools (CUCM, CUP, CDETS) for testbed configuration and issue management.
    • Automated manual test suites for desktop collaboration application (Cisco Jabber) which reduced test case execution significantly.
    • Applied Scrum in the day-to-day work while collaborating with a team located in Ireland.
    Technologies: Scrum, Rally, TortoiseSVN, Jenkins, FitNesse, C#

Experience

  • PSTech | Cisco Jabber Test Automation (Development)

    I set up automation infrastructure from the ground up using Jenkins. For this project, I've automated all the tests in multiple teams, that were run manually before. This required setting up test environments using Cisco unified collaboration servers, designing and developing test methods in C# and using FitNesse to write test scripts.

    I also created a mechanism for automated result publishing used by the teams and product managers to gain insight into the current product quality.

  • PSTech | Cisco Jabber Development (Development)

    I designed and developed new features for collaboration application in C++ using Visual Studio environment. This included writing unit tests using GTest and the GMock framework.

  • MathWorks | Simulink Project Builder Form In-memory Graph (Development)

    I designed and developed a test tool in Java for creating Simulink projects from their in-memory graph representation. I also wrote unit tests for the tool. I made the code extensible and applying design patterns to fulfill high coding standards.

    The tool was used by team members and automation tests to create Simulink projects with desired dependencies between files easily.

  • MathWorks | Improved Component Build Infrastructure (Development)

    I designed improved build infrastructure by automating all the steps that required manual intervention. This included introducing myself to GNU Make to write new and improve existing makefiles.

    I also wrote unit tests in MATLAB to cover the project. This project required working with other teams and giving technical support while they switch to new build infrastructure.

  • MathWorks | Improving Automation Tests (Development)

    I worked as a technical lead for this project; the goal of the project was to have testing done along with documentation like readability.

    This required designing and writing Hamcrest matchers that could be reused across the project with custom failure message that is easy to understand. The results were easily readable and understandable tests, with test conditions that read like natural language sentence. This also reduced time when investigating test failures as the failure message was clean and specific

Skills

  • Frameworks

    Selenium, JUnit, Google Test (GTest), Google Mock (GMock)
  • Libraries/APIs

    Selenium WebDriver, WebDriver
  • Paradigms

    Agile, Scrum, Test Automation, Continuous Integration (CI)
  • Other

    QA Automation, QA Testing, Hamcrest, Manual QA, Code Coverage, Test Cases, UI Testing, API Testing, Team Leadership, Performance Testing, Bash Scripting, LDAP
  • Languages

    Java, Java 8, Bash, C++, C#, Simulink, Python, HTML
  • Tools

    MATLAB, Jenkins, GNU Make, FitNesse, IntelliJ, Jira, Rally, Git, Subversion (SVN), CUCM, Cisco Jabber, Maven, Apache JMeter, GitHub, Makefile, TortoiseSVN, Make, Visual Studio, WinDbg, VMware
  • Platforms

    Linux, Windows, Mac OS, MacOS

Education

  • Master of Science (MSc) degree in Electrical Engineering and Computer Engineering
    2007 - 2012
    University of Belgrade School of Electrical Engineering - Belgrade, Serbia

To view more profiles

Join Toptal
Share it with others