About Sensia
We bring together the best of the best: the pioneering process automation, real-time control and IoT technologies of Rockwell Automation, combined with the unmatched measurement and instrument, software and analytics capabilities of Schlumberger. Sensia is further strengthened by the oil and gas domain expertise and artificial lift experience shared by Rockwell Automation and Schlumberger. The result is Sensia – the leading automation specialist in oil and gas production, transportation and processing with a team of more than 1,000 experts serving customers globally in more than 80 countries. As the first fully integrated oilfield automation solutions provider, Sensia makes the production, transportation and processing of oil and gas simpler, safer, more secure, more productive and better understood from end to end. Now every oil and gas company can experience the advantages of industrial-scale digitalization and seamless automation, enabling each asset to operate more productively and more profitably.
We are also looking for the best of the best to join our team. If you have top-tier talent with a collaborative mindset, exceptional problem-solving skills, and the ability to generate innovative, out-of-the-box solutions. We would love to have you join our team!
Job Description
Job Title: Software QA Automation Engineer
Responsibilities:
- Ensure the quality and reliability of software (Back End, UI, API etc) using automated testing techniques.
- Collaborate with stakeholders to understand software requirements and define test strategies. Design and execute test cases derived from requirements to ensure IoT Software product quality, including test case coverage and traceability. Identify effective test strategies for new/existing features and create corresponding test plans. Review and update test cases and test suites to reflect changes in software requirements.
- Collaborate with development teams to design, develop, and deliver automated software test automation tools and frameworks. Coordinate with the team to eliminate redundancy and ensure high coverage with optimal effort. Build new tools to assist in faster test automation and functional testing efforts.
- Develop, design, and maintain automated test frameworks and test scripts using programming languages and testing tools to verify feature against requirements. Execute automated test scripts to run functional, system, regression, and integration tests. Analyze results, and identify defects and performance issues.
- Integrate automated tests into the continuous integration and delivery (CI/CD) pipelines.
- Set up and manage test environments to accurately represent the production environment.
- Collaborate with cross-functional teams to resolve issues and ensure the delivery of high-quality software. Consult with engineers to resolve issues and provide feedback. Conduct root cause analysis and implement corrective and preventive actions for quality issues.
- Manage and maintain test data, including generating or acquiring representative data sets.
- Define and track quality assurance test metrics and report outcomes. Update test cases in requirement tracking tools for traceability.
- Write and maintain detailed test documentation, including test plans, test cases, and test scripts explanation.
- Strong communication skills, both written and verbal, to effectively interact with team members and stakeholders. Ability to work collaboratively in cross-functional teams and contribute to problem-solving processes.
- stay updated with the latest trends, tools, and technologies in software testing and test automation. Willingness to learn new skills and adapt to evolving industry practices.
Requirements:
- Bachelor’s or master’s degree in computer science, Electrical Engineering, or a related field.
- Experience in utilizing and maintaining test automation frameworks and scripts using industry-standard tools and libraries. Ability to write efficient, scalable, and maintainable code for automated tests.
- Experience with common test frameworks and familiarity with Python, JavaScript/TypeScript and ideally C# for test automation.
- Experience with popular test automation tools and frameworks, such as Selenium WebDriver, Appium, JUnit, TestNG, Cucumber, or pytest.
- Proficiency in test management and bug tracking tools. Understanding of test case management, test execution tracking, and defect lifecycle processes.
- Strong experience of Linux, Bash, Shell scripting, Docker, TCP/IP Networking, and excellent debugging skills.
- Great communication skills - both strong English proficiency and the ability to clearly communicate and understand abstract concepts
- Experience solving difficult QA problems and designing automation pipelines that leverage common open-source frameworks.
- Experience with build process automation, CI/CD pipelines and tools such as Jenkins, Artifactory, and Bitbucket.
- Experience working with Agile toolsets and technologies such as Jira, Confluence, and Bitbucket.
- Passionate about troubleshooting and debugging issues.
Nice to Have:
- Experience in testing distributed applications and their interactions across microservices architecture.
- Familiarity with industry standards and protocols for IoT, such as MQTT, ZeroMQ, protobuf, Kafka, and HTTP.
- Ability to independently deploy and install cloud-native microservices on platforms.
- Experience with IoT device testing and validation, including hardware, firmware, and software components. Developed automated test cases/scripts based on requirements or acceptance criteria.