ST
Test Automation Engineer – Onsite
Spark Tek Inc
Location not stated
On-site
11 months ago
- Test Automation
- CI/CD
- Selenium
- Cypress
- JUnit
- TestNG
- pytest
- Appium
- Java
- Python
- JavaScript
- C#
- BDD
- Cucumber
- Devops
- Jenkins
- GitLab CI
- Azure DevOps
- Docker
- Performance Testing
- JMeter
- OWASP ZAP
- HTML
- CSS
- SQL
- Git
- Linux
- Agile
11 months ago
Key Responsibilities:
- Develop Automated Test Frameworks: Create and maintain automated test scripts for various layers of the application – including UI (end-to-end user scenarios), API/Web services, and possibly backend components. You'll choose the right tools for the job (e.g., Selenium or Cypress for web UI, JUnit/TestNG or PyTest for API tests, etc.) and build a framework that fits the client's tech stack. If the project involves specific technology (mobile apps, data pipelines, etc.), you adapt with appropriate testing tools (like Appium for mobile, or specialized data testing frameworks). Essentially, you establish an automation suite that can be run reliably to catch regressions.
- Testing Strategy & Planning: Being embedded with the client team, you collaborate in sprint planning and design discussions to ensure testability is built in from the start. You review requirements/user stories and design test cases (both manual exploratory tests and those to automate) for new features. You'll also determine the scope of regression tests needed for each release. Onsite, you can directlyask developers or product owners clarifying questions to write effective test scenarios. You will map out a testing strategy that might combine manual and automated approaches, focusing your automation efforts where they add the most value (e.g., critical user paths, complex computations, multi-browser coverage, etc.).
- Execute Tests and Report Issues: You run automated test suites regularly (integrating them into CI pipelines for continuous feedback). When tests fail, youinvestigate and diagnose issues – often pinpointing whether the cause is a code defect, test script bug, or environment issue. For any product bugs found, you promptlycommunicate with the development team – raising clear bug reports with steps to reproduce, logs, and even pairing with developers to show the issue Onsite presence allows you to directly discuss defects and clarify severity/impact with the team, ensuring critical issues are addressed first. You may also generate test result reports for project leadership, summarizing the quality status (pass rates, defect counts, etc.) for each release.
- Continuous Improvement & Tooling: You serve as thego-to expert on quality and testing. This means you continuously look for ways to improve test coverage, speed, and reliability. You might introduce new tools or practices – for example, implementing a headless browser testing for faster execution, or using service virtualization to test components in isolation. If the client's team is new to automated testing, you'll also coach them on writing testable code or help set up things like test data management and environment configurations for testing. Onsite, you might conduct a workshop on "Best Practices in Test Automation” to uplift the entire team's quality mindset. Additionally, you ensure that test automation is integrated with version control and CI/CD: e.g., when a developer pushes code, the tests should automatically run and provide feedback.
- Guarding Production Readiness: Ultimately, you act as agatekeeper for release quality. Before a major release or deployment, you coordinate and execute a battery of tests (smoke tests, full regression suite, performance tests if needed). You ensure that any critical defects are resolved or communicated before launch. If the client has specific industry compliance (like medical or finance regulations), you make sure testing covers those cases and evidence is documented. Onsite, during release days, you may sit with the ops or release manager to validate that everything is green. Your sign-off on testing gives the client confidence that the software can go live without high risk.
- Test Automation Tools: Strong expertise withautomation frameworks relevant to the project. This often includes Selenium WebDriver (for browser automation) with a language like Java or Python, or newer frameworks likeCypress (JavaScript) for web apps. Experience writing test scripts in one or more languages (Java, Python, JavaScript, C# etc.) is important. Familiarity with BDD tools like Cucumber or Behave (to create human-readable test scenarios) can be useful in aligning tests with business requirements.
- CI/CD and DevOps Integration: Experience integrating automated tests into Continuous Integration pipelines (Jenkins, GitLab CI, Azure DevOps, etc.). You should know how to trigger test suites on code check-ins, and how to work with build engineers to ensure the test results can fail a build when critical tests fail. Knowledge of containerization (Docker) or virtualization may help in setting up test environments.
- QA Methodologies: Solid grasp of various testing methodologies – unit, integration, system, UAT. Even though your focus is automation, you know how to do effectivemanual exploratory testing when needed (especially for new features where automation will come later). Knowledge of performance testing (using JMeter, LoadRunner, or Locust) and security testing (using tools like OWASP ZAP) is a plus, to help the client in those quality aspects if required.
- Programming & Scripting: Since automation is essentially development, strong programming skills are needed. If the client's application is web-based, understanding of HTML/CSS/JavaScript is helpful to write better UI tests. You can write SQL queries to validate data in databases, if needed for testing. Also, familiarity with version control (Git) and basic Linux command-line for environment setup is expected.
- Experience: 3+ years of experience in QA/test roles, with at least a couple of years specialized in test automation. It's beneficial if you have worked in agile environments with frequent releases. Prior experience in a client-facing or consulting capacity is a bonus – it indicates you can handle direct communication and possibly push for quality practices even if the client's maturity level is still growing.
- Attention to Detail: As a QA engineer, you have a keen eye for spotting anomalies. You take pride in catching issues that others might miss. This meticulousness ensures that automated scripts assert the right things and that no critical scenario is left untested.
- Communication & Advocacy: You are an articulate communicator, especially when it comes to quality. Youclearly document and explain bugs, conveying why an issue is important and what its impact on the user would be. Sometimes developers or managers might underestimate a bug; you diplomatically advocate for fixes when you know a problem could be serious. Being on-site helps – you build personal rapport with the team, so when you raise a concern, it's taken seriously, not seen as tester vs developer.
- Analytical Thinking & Troubleshooting: When a test fails, you don't just report "something's wrong” – youdive into logs, error messages, and stack traces to identify the root cause if possible, or at least narrow it down. This skill saves everyone time. If a failure is due to a script error, you quickly correct it. If it's a real defect, you gather evidence to help pinpoint it. You think like an end-user to anticipate edge cases and think like a developer to understand internals.
- Collaboration & Team Player: Quality is a team responsibility, and you foster that culture. You work closely with developers without blame – the tone is "we're solving this together.” You might pair with a dev to write a unit test, or assist them in reproducing a bug locally. You also coordinate with any manual testers or business testers the client has, sharing information and dividing testing tasks so nothing is duplicated or missed. Your onsite role might also bridge between the client team and any off-site test teams (if, say, additional testing is done offshore); you ensure smooth coordination and information flow.
- Adaptability & Initiative: Projects change, and you adapt quickly. If a new feature comes in last-minute, you flex your plans to cover it. If the team shifts from one UI framework to another, you learn the new one to adjust your tests. You stay updated on the latest in testing – perhaps introducing animproved tool or practice as you see fit. Importantly, you are proactive: you don't wait to be told where quality might suffer; you constantly think ahead (e.g., "The integration of that new API might introduce risk – let me add some tests around it preemptively.”). This forward-looking mindset means fewer surprises at the end of the development cycle.
- Customer Focus: Ultimately, you keep the end-user's experience in mind. You represent thecustomer's voice in the team – making sure the software not only passes tests, but truly meets user expectations in terms of function and usability. This sometimes means gently reminding the team of edge cases or flows that a real user would do. Your satisfaction comes from knowing that by the time the software reaches end-users, it will "just work” and delight them, reflecting positively on both the client and our company's reputation.
Test Automation Engineer – Onsite · Spark Tek Inc