This role is In Scope of IR35. Initial contract to 31/03/21 with likely extensions.
Role & Responsibilities - The Test Automation Engineer/Analyst role will be to:
• Undertake responsibilities of a QA with a focus on test automation. Involvement with all aspects of test automation • Responsible for delivery team integration testing • Maintain and enhance current automation framework and extending it where new functionality is introduced. • Write, maintain and execute both manual and automated tests. • Understand how to best design automated testing across application layers using API, integration and unit tests. • Ensuring testing infrastructure requirements are known, clearly understood and progressed appropriately. • Test products with technology stack Java (J2EE), SQL, XML, message queues • Comfortable with test-driven development (TDD), behavioural-driven development (BDD), and continuous integration (Jenkins). • Adhere to Agile testing approach • Coordinating with other test analysts within the Agile release train
Tasks & Deliverables - The Test Automation Engineer/Analyst will be required to support project testing by:
• Developing effective working relationships with all Test customers; project teams, other IS functions & business representatives. • Applying Test-driven development (TDD), behavioural-driven development (BDD), and continuous integration where applicable • Co-ordinating with multiple test resources/deployment manager within the Agile release train. • Automation of test cases • Delivery team integration testing. • Support E2E test team in test data preparation and execution activities • Ensuring testing infrastructure requirements are known, clearly understood, and progressed appropriately. • Supporting and developing other Test staff • Test management using open-source tools such as Cucumber. JMeter and Gatlin
Skills & Knowledge Essential -
• Experience in executing automated test cases in an agile environment
• In-depth experience of Test Automation tooling and processes – such as JMeter, SoapUI, Cucumber, Zephyr, Jira and Confluence.
• In-depth experience of TDD and BDD
• Experience in Linux system administration / Management, preferably RHEL
• Experience configuring and managing / System administration of Linux servers for serving web / integration development, testing and production services
• Outstanding communication skills. The ability to tailor communication both to business and technical audiences as well as to various roles and levels in the organization is essential. The successful candidate will demonstrate visual and written communication as well as verbal and white-board skills
• Experience with continuous integration, automated deployment, testing and the relevant tooling i.e. Ansible, Puppet, Chef, Jenkins.
• Solid experience in API testing using SOAP UI
• Solid experience of groovy scripts.
• Strong knowledge of factors influencing performance and ability to tune systems to achieve best possible performance and capacity
• Experience with Release and Configuration Management processes
• Installation and management of open source monitoring tools
• Experience managing and deploying on Cloud based platforms
• Experience debugging a complex multi-server service
• Working knowledge on SQL queries
• Familiarity with network protocols - TCP/IP, HTTP, SSL, etc.
• Ability to quickly research and learn new programming tools and techniques
• Excellent environment management, automation and scripting skills e.g. shell or PERL scripts
• Experience in leading a technical team and defining / improving service processes and procedures
• Strong problem-solving skills and experience debugging a complex multi-server service
• Experience sharing knowledge and excellent mentoring and coaching skills
• Experience with J2EE application servers e.g. JBOSS, etc.; relational databases e.g. Oracle, etc.; Micro Services environment e.g. Docker, Play, etc. would be very beneficial.
• Familiarity with Web Servers e.g. Apache, etc.; WSO2, integration middleware, messaging, ESB, API management common web application / integration architectures (SOA)
• Experience with Agile methodologies (TDD, SCRUM, Kanban, etc.) and developing product roadmaps, backlogs and measurable success criteria, and of writing user stories, i.e. can establish a path to delivery for breaking down stories
• Experience working within an agile, multi-disciplinary team environment, and ability to deliver iterative design components (including user journeys) to development team;
• Experience with the use of version control systems such as subversion or git
• Working within a product-centric environment
• Breadth of experience with strengths in application programming, security, operations, networking and APIs and API design.
• Fundamentals of software engineering and application architecture
• Experience with open source solutions and community.
• Good understanding of XML
Skills:
1. Test Automation creation (Soap UI and Ready API)
2. Groovy Script
3. SQL
4. Selenium
5. Ability to raise Test user stories
6. Knowledge of environments and release processes
7. Manual Test Design (BDD)