SOFTWARE QA ENGINEER

  • Full-time

Company Description

Sensia represents the unification of sensing, intelligence and action.

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.

Job Description

  • 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, ensuring test case coverage and traceability.
  • Identify effective test strategies for both new and existing features and create corresponding test plans. Regularly 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 tools and frameworks. Coordinate with teams to eliminate redundancy and ensure high coverage with optimal effort. Develop new tools to aid in faster test automation and functional testing.
  • Develop, design, and maintain automated test frameworks and test scripts using programming languages and testing tools to verify features against requirements.
  • Execute automated test scripts for functional, system, regression, and integration tests. Analyze results, identify defects, and address performance issues.
  • Integrate automated tests into continuous integration and delivery (CI/CD) pipelines.
  • Set up and manage test environments to accurately mirror production environments.
  • Collaborate with cross-functional teams to resolve issues and ensure high-quality software delivery. Consult with engineers to resolve problems, provide feedback, and conduct root cause analysis. 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 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.
  • Maintain strong communication skills (both written and verbal) to interact effectively with team members and stakeholders. Contribute collaboratively to problem-solving processes.
  • Stay updated with the latest trends, tools, and technologies in software testing and test automation, with a willingness to learn new skills and adapt to evolving industry practices.

Qualifications

  • Bachelor's or Master’s degree in Computer Science, Electrical Engineering, or a related field.
  • Proven experience in utilizing and maintaining test automation frameworks and scripts with industry-standard tools and libraries. Ability to write efficient, scalable, and maintainable code for automated tests.
  • Familiarity with common test frameworks and proficiency in 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 the defect lifecycle process.
  • Strong experience in Linux, Bash, Shell scripting, Docker, TCP/IP Networking, and excellent debugging skills.
  • Great communication skills, including strong English proficiency, and the ability to clearly communicate and understand abstract concepts.
  • Experience solving complex QA problems and designing automation pipelines leveraging common open-source frameworks.
  • Familiarity with build process automation, CI/CD pipelines, and tools like Jenkins, Artifactory, and Bitbucket.
  • Experience working with Agile toolsets such as Jira, Confluence, and Bitbucket.
  • Passionate about troubleshooting and debugging issues.

Additional Information

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. Developing automated test cases/scripts based on requirements or acceptance criteria.

Job Location

Privacy Policy