Software Engineers in Test design applications that will convert manual test preparation into automated test preparation. They design, create, test and implement these solutions in order to automate as much of the manual test preparation as possible by using code and scripts.
Software Engineers in Test will do development, implementation and maintaining of testing framework in all aspects such as Performance, UI and API, at a very low / code level.
Work closely with the Test Lead to ensure quality is implemented as part of the processes and that quality standards are adhered to.
- Raise development quality by developing processes and best practices for testing in Dev teams
- Improve and automate test strategies.
- Develop and execute test cases to diagnose issues and bugs, creating test data when required.
- Design, develop, execute and maintain automation scripts / code.
- Implement automation framework with continuous integration / deployment covering UI, API, unit and integration tests.
- Identify testing deficiencies and subsequently implementing automated tests based on their requirements
- Identify, record, document thoroughly and track bugs
- Perform regression testing when bugs are resolved
- Increase code coverage across the team’s technology stack
- Develop status reports based on test completion/findings and communicate these to team leaders including any impact on the overall project plan.
- Mentoring and guiding the test team on test approaches and automation suite.
- Degree in computer science, software engineering or related technical discipline
- Minimum 3 years commercial QA experience.
- ISTQB/ISEB qualification will be an advantage
- Experience managing testing throughout the SDLC (development testing, unit / integration testing, API testing, performance testing, system testing and regression testing etc..)
- Self-motivated with strong capability of fast learning
- Ability to work efficiently both independently and within the team
- Strong experience with Python, Ruby, Java, C# and/or other OOP programming languages
- Strong knowledge of software QA methodologies, tools, and processes.
- Experience in writing clear, concise and comprehensive test plans and test cases.
- Hands-on experience with both white box and black box testing.
- Flexibility to learn new technologies and explore new tools with ease.
- Strong analytical and problem solving skills, including the ability to understand and critique requirements.
- Excellent communication skills
- Understands web services (REST) and underlying protocols (HTTP/S,TCP/IP).
- Hands on experience with testing tools and frameworks Selenium, Robot, SOAPUIetc...
- An understanding of networking protocols.
- Understanding of configuration management and version control using GIT or SVN.
- Experience with Jenkins, Team City, Travis CI or another Continuous Integration application will be an advantage.
- Strong knowledge of databases and scripting using MySQL and / or SQL.
- Experience testing and administering in Linux and / or other Unix environments will be an advantage..
- Experience with unit test frameworks PyUnit, JUnit, NUnit, PHPHUnit etc...
- Experience in installing, upgrading, configuring and verifying (smoke tests) virtualized testing environments (VMs) Docker, Kubernetes, Vagrant etc...
- Development background will be highly advantages.