Software Test Automation Engineer in San Diego, CA at Vaco

Date Posted: 6/10/2019

Job Snapshot

Job Description



Must Have:

  • BS (or higher) in Computer Science or Computer Engineering
  • 3+ years in a software test automation role involving hands-on development
  • Good Java development skills (preferably Java 8) and an understanding of Java's ecosystem and tool chain
  • A strong commitment to Test-Driven Development (TDD)
  • Mastery of the JUnit framework including advanced techniques like parameterization, rules, and theories
  • Expertise in using the Mockito mocking framework
  • Working knowledge of Maven, git, and UNIX/Linux command-line tools
  • Good understanding of multi-threaded Java applications and how to test them
  • Understanding of unit-, integration- and end-to-end tests and knowing when to use them
  • Experience with testing dynamic web applications and embedded software systems
  • Experience with web application load testing
  • Good understanding of Behavior-Driven Development and its significance for testing and test automation
  • Expertise in writing BDD tests with Cucumber JVM, including step definition implementations
  • Experience with using the Selenium WebDriver Java API
  • Working knowledge of TestRail for managing manual test case execution
  • Knowledge of test coverage measurement with tools like JaCoCo, Clover or Cobertura
  • Familiarity with SonarQube or other tools for obtaining software quality metrics
  • Familiarity with JavaScript and front-end testing technologies like PhantomJS, chai/mocha, Karma, Jasmine or Protractor
  • Basic familiarity with Amazon Web Services (all of sensemetrics' public-facing and internal services run on AWS)
  • Understanding of JSR-330 dependency injection frameworks (like Guice or Spring) and how to use them in JUnit tests
  • Working knowledge of MongoDB and Redis
  • Working knowledge of continuous integration and delivery (CI/CD) systems like Jenkins, Bamboo or TeamCity
  • Working knowledge of TCP/IP, HTTP(S), and WebSocket protocols
  • Working knowledge of object-oriented programming, SOLID principles, and common design patterns
  • Basic understanding of secure communications and public-key infrastructure (PKI)

Plus:

  • Previous experience with Java-based embedded systems
  • Previous experience with testing asynchronous communication Java frameworks (e.g., Netty, vert.x, RxJava)
  • Previous experience with TestRail and Jira
  • Previous experience with test generation solutions (Jtest, Agitar, EvoSuite)
  • Previous experience with sensor technology or Industrial IoT (IIoT) applications
  • Familiar with using Scrum and other Agile Development methodologies