The Sr QA Engineer (Automation)is responsible for designing and implementing the testing framework for ICANN’s Technical Service project(s). The Tester will understand the dependency of each component and the interaction with other systems and can translate that into realistic (automated) test scenarios that run 24/7 on the continuous integration platform. The status of the testing should be available at all times. The Tester will provide the final sign-off on the release package and propose new testing technologies and test approaches in compliance with ICANN’s best practices, policies, and procedures.
As a Sr QA Engineer (Automation), you will deliver testing initiatives that guarantee the availability and stability of systems output. You will be responsible to develop and maintain the framework in such a way that it’s scalable. Align that framework with other product units to share and learn.
The Sr QA Engineer (Automation) will work with other staff (mainly Engineering & IT Development and IT Infrastructure). The role also includes interacting with business program managers and delivery managers to better understand and develop requirements and to communicate deliverables and design considerations.
Key Responsibilities:
- Experience in complete software testing activities such as designing, writing, testing, and documenting software test cases and automated scripts in languages (JAVA) and environments appropriate to development projects.
- Define, implement and maintain test plans, test specifications and test suites.
- Develop and implement hands-on automation frameworks across technologies
- Deliver testing initiatives that guarantee availability and stability of systems outputs 24/7
- Develop and maintain the testing framework for scalability
- Write backend integration and application programming interface (API) tests
- Perform Load, stress, performance and back end testing
- Utilized integration tools, network vulnerabilities, and penetration testing tools
- Ensure that the services are operational before release for user testing or general availability
- Provide the final sign-off of the release package and propose new testing technologies and test approaches in compliance with best practices, policies and procedures.
- Participate in architecture and design reviews of complex solutions in cross-team engineering efforts.
- Contribute hands-on on automation frameworks across technologies (Web: Selenium Webdriver, Web Services: REST, SOAP)
- Liaise with network administrators, systems analysts, and other software engineers to resolve any defects in products or company systems.
- Perform manual or automated for functional, system, integration, security testing for the application is required.
- Analyze and debug the Domain name industry applications in test environments (i.e. DNS, RDDS, RDAP, EPP, Registry-Registrar model, etc.)
Required Knowledge, Skills, and Abilities (KSAs):
- Experience with DNS, RDDS, RDAP, EPP, Registry-Registrar model or Domain names industry
- Integration development experience with any of the integration tools such as Spring Integration, Apache
- Experience developing high-quality Java code
- Proficiency with software architecture, modular and object-oriented design
- Proficiency with Linux/Unix
- Working knowledge of WebService API Integration (RESTful, etc.)
- Solid understanding of file structures (XML, ISON, flat file, etc.)
- General knowledge of communication protocols (FTP, HTTP, HTTPS, etc.)
- Must be a team-oriented person with excellent analytical and critical skills
- Experience with agile / scrum management tools (JIRA preferable)
- Able to work from the office, and able to travel up to 10%
- Good fundamental and hands-on knowledge of relational database design and operation
- Experience using testing frameworks for automation like TestNG, Junit
- Proven experience of general knowledge of Testing activities and approaches
Education and Experience Requirements
- BS or MS in Computer Science, EE or related field.
- Extensive programming background in JAVA.
- Must have integration development experience having worked with any of the integration tools such as Spring Integration, Apache, Linux/Unix.
- Familiarity with common network vulnerability/penetration testing tools including, but not limited to, BURP, vulnerability scanners, Kali Linux, and OWASP Zap. (is a plus)
- Experience with a relational database system (e.g. Oracle, MS-SQL Server, MySQL)
- 7+ years of relevant QA experience.
- 3+ years of automated test experience using Selenium.
- 3+ years of back-end testing using Linux/Unix
- 2+ years of load/performance testing using Apache JMeter
- 2+ years of JUnit test framework
- 2+ years of hands-on Agile experience.
- Must have knowledge of DNS, RDDS, RDAP, EPP, Registry-Registrar model or Domain names industry