Role Overview
Reporting to the Tech Lead, we are seeking a strong Associate Software Test Engineer who will collaborate with development teams to build and execute comprehensive suites of automated test plans and test cases. The role involves maintaining and enhancing our existing automation framework, evaluating test cases for regression inclusion, automating new feature testing, and using various toolsets to support Quality Engineering (QE) and Development testing. The successful candidate will work closely with distributed Scrum teams, including business and engineering teams, to deliver quality software reliably and predictably using various tools and methods. You will take ownership of test design, automation, and execution for various project deliverables.
Key Responsibilities:
- Develop test strategies and execute test plans/cases with a strong emphasis on using code to solve technical challenges and shorten the test cycle through automation.
- Estimate Automation test efforts with your Scrum team, analyze and communicate test results and participate in day to day activities.
- Help improve the test frameworks, tools and technologies used by the organization to maintain a high-quality baseline.
- Work with Developers and Business Analysts to design and implement test and validation strategies (Acceptance Criteria).
- Execute and manage test cases and results; report on test and defect metrics.
- Create, execute and troubleshoot automated test scenarios across our systems.
- Contribute to robust, scalable and high-quality test automation solutions for functional, regression and performance testing
- Contribute to the building of a Continuous Integration (CI) environment and ongoing process improvement activities.
- Contribute to improvements in the test and development processes
- Identify and proactively communicate risks associated with change including residual risks
Requirements
Skills/Proficiencies required:
- Minimum of 2 years of solid experience with software testing and automated test techniques with a strong focus on quality throughout the software development cycle.
- Excellent understanding of test methodologies and techniques including automated and functional/manual testing.
- Exposure to Performance/Load/Stress testing
- Experience of tools including Azure DevOps, Postman, JMeter, Cypress, Owasp Zap etc.
- Good knowledge of object-oriented programming, along with requisite coding and debugging skills (C#, JavaScript, TypeScript).
- Understanding of software design principles, patterns, algorithms, data structures and multi-threading concepts would be advantageous, as would knowledge on TDD and/or BDD
- Experience of Continuous Integration (CI) practices, preferably using Jenkins or Azure DevOps.
- Must have worked in an Agile environment and be able to illustrate the effectiveness of testing against deliveries
- Strong Analytical skills with problem solving/solution-oriented mind-set.
- Should be able to work and communicate effectively with team distributed at multiple locations
go to method of application »
Role Overview
Reporting to the Technical lead, we are seeking a Software Engineer (Software Engineer Level – 3) with a background in building scalable, predictable, high-quality and high-performing web applications on the Microsoft technology stack.
You will be responsible for building and maintaining internal and external facing applications. You will work with a team of experienced developers and business resources to build high-performing enterprise systems that assist clients in making the best strategic decisions for their business. This includes the maintenance and promotion of department coding standards and naming convention.
Contributing to the creation of project delivery timelines will be a key responsibility by providing technical insight and participating in estimation sizing discussions as required.
Key to this role is ensuring the correct Degree or National Diploma in Computer Science, Software Engineering or related qualification.
Key responsibilities
- Based on discussions with your SCRUM Team design applications according to end user needs.
- Track projects, tasks and bugs using the company specified work tracking system.
- Understand requirements from a business perspective and contribute to designing clear, easy-to-use applications from a user perspective.
- Involved in the creation of completely new applications or, build upon the functionality of existing ones.
- Work closely with others on the teams/team members to come up with the best possible solutions for the applications.
- Involved in the development of Euromonitor’s technology solutions to improve functionality, user-friendliness and presentation of our products.
- Involved in independent research contributing to technical discussions where required.
- Understand and contribute toward the level of code quality and test coverage within the SCRUM Team.
- Engage in technical discussion contributing to design and development.
- Liaise with Business Analysts, Product Managers and/or internal/external customers to ensure that requirements are understood.
- Understand and contribute toward the practice of BDD/TDD/DDD as part of the software engineer best practice.
- Participate in peer code reviews.
- Ensure compliance of final product with end-user specifications through regular reviews with designated end-user groups where applicable.
- This could include testing functionality of your own and colleagues’ code for performance and effecting changes to code as required.
- Regular code reviews with colleagues to identify bugs and performance problems ensuring code and product quality
- Monitor, analyze and act on post-deployment bugs.
- Review of user feedback and proposing/implementing action plans for development based on discussion with your team.
- Provide any required support to end-users of the applications.
- Contribute to the training of team members on agile development practices, use of appropriate design patterns and SOLID/design principles in their day-to-day work.
- Contribute to the technical ownership of projects/tasks ensuring their successful completion to project deadlines.
- Ensure the writing of concise documentation for applications and websites.
- Show initiative to use new technologies and methodologies that will benefit projects and responding to the introduction of software advances and upgrades.
- Take ownership and volunteer to collaborate with whole of delivery team and be able to mentor and guide the junior team members.
- Keep upskilling yourselves on a regular basis on the new and latest technology trends and practices.
Requirements
Technical skills/experience
Required Technical skills/experience:
- 3+ year’s development experience or exposure using Microsoft .NET technologies to build Micro Service Architecture, Web and/or Console Applications as well as Windows and Web Services.
Experience\Understanding in the below frameworks:
- .NET Core
- WebApi Net Framework 4.6.*
- Asp.Net Core
- Angular
- SQL Server or Azure SQL and/or NoSQL
Experience\Understanding of DevOps practices including:
- Continuous integration/Deployment (CI/CD)
- QA Automation
- Release Process
- Cloud Development
- Health Monitoring
- Feature toggle-based Development
- Cross Function collaboration
Experience\Understanding to the below testing toolset:
- Postman, Insomnia
- MSTest/NUnit
- Protractor, Jasmine
- JMeter
- OWASP ZAP
Experience\Understanding to Cloud technologies including:
- Azure
- Google
- OOP programming (theoretical and practical experience of OO design principles and patterns)
Experience\Understanding
- Agile methodologies
- BDD (Behaviour Driven Development)
- Test Driven Development (TDD)
- Domain Driven Design (DDD)
- Event Driven Architecture
- API Gateways and Service Discovery
- Knowledge with Visual Studio programming environments and Azure DevOps
Personal Skills
- Good oral and written communication skills; strong communication with both technical and business teams.
- Good administrative and organisational skills.
- Self-motivation and drive to take on personal responsibility.
- Exceptional attention to detail and commitment to quality.
- Critical reasoning and decision-making skills.