Develop, enhance, and maintain test automation frameworks for complex systems, with a strong focus on pytest to create modular, reusable, and scalable automated test solutions
Automate end-to-end testing of APIs, databases, and system integrations, using pytest fixtures to efficiently manage test setup and teardown, and hooks to customize test execution behavior
Implement advanced Python automation techniques using tools like decorators to enhance test functions or add extra functionality, context managers for clean resource management (e.g., opening/closing connections), and iterators for controlling test data flows.
Collaborate with development and product teams to ensure that automation solutions align with specifications and deliverables.
Utilize pytest parametrization to efficiently run tests with different input sets and edge cases, enhancing test coverage and reducing redundancy.
Work with CI/CD pipelines to integrate automated tests into the development pipeline using tools like Jenkins or GitHub Actions, ensuring that all tests are continuously run with every change.
Troubleshoot and debug automation frameworks, addressing issues related to Python concurrency (e.g., asyncio or threading) and exception handling
Continuously improve test strategies and workflows, ensuring that automation remains efficient, maintainable, and easy to extend.
Qualifications
Bachelor's degree in computer science, Software Engineering, or a related field.
5+ years of hands-on software development experience, with a strong emphasis on Python
Proficiency in pytest, including the creation and management of fixtures and hooks, and advanced features like parametrization for efficient test execution.
Deep understanding of Python's advanced features, such as:
Decorators: Creating reusable patterns for modifying or enhancing functions or methods.
Context Managers: Efficient resource management using the with statement.
Iterators: Implementing and using custom iterators to iterate over complex data structures or handle resource management during tests.
Inheritance: Utilizing different types of inheritance to create a flexible and maintainable test framework.
Exception Handling: Properly managing test failures and exceptions with custom handlers, ensuring tests remain resilient.
Generators: Using generators to handle large sets of data efficiently during test execution.
Experience with REST API testing, JSON schema validation, and HTTP protocols.
Solid understanding of RDBMS concepts (preferably MySQL) and writing/optimizing queries for test data validation.
Experience with version control systems (e.g., Git) and CI/CD tools (e.g., Jenkins, GitHub Actions).
Strong problem-solving and debugging skills.
Ability to work effectively in a collaborative, Agile development environment.
Preferred Skills
Experience with Python concurrency (e.g., asyncio, threading) to write high-performance, non-blocking test solutions.
Familiarity with cloud platforms (e.g., AWS) and related tools like CloudWatch for monitoring and debugging test environments.
Experience working with containerized environments (e.g., Docker) and testing distributed systems effectively.
How strong is your resume?
Upload your resume and get feedback from our expert to help land this job
How strong is your resume?
Upload your resume and get feedback from our expert to help land this job