Overview
IntroductionThe IBM Sustainability Software business unit is seeking talented and motivated Software Developers to work on building integrations into our products. In this role you will collaborate closely with a world wide team of experienced and energetic professionals to create new and expecting capabilities into our industry leading Asset Management portfolio. You will work across the entire software delivery cycle including requirements gathering, use case definition, design, implementation, test, documentation and delivery. You'll frequently work with Product Owners, Architects, Release Managers, Designers, Sales, Support Business Partner and customers throughout this process. You will play a critical role in ensuring the quality of our products by designing comprehensive test strategies, executing test cases, and identifying opportunities to improve testing processes. This role demands a strong attention to detail, analytical thinking, and excellent communication skills.
Your Role And Responsibilities
- Test Planning and Design:
- Analyze business requirements, user stories, and technical specifications to create clear and effective test scenarios.
- Design, maintain, and update comprehensive test cases for new features and existing functionality.
- Collaborate with cross-functional teams to ensure test coverage across all product areas (web, mobile, APIs, etc.).
- Manual and Automated Testing:
- Execute manual tests to verify functionality, usability, and performance.
- Develop and execute automated test scripts to improve efficiency and repeatability (using tools like Selenium, Appium, or similar).
- Perform functional, regression, integration, and API testing.
- Defect Tracking and Reporting:
- Identify, document, and track defects using tools like Jira or similar defect management systems.
- Work with developers to prioritize, analyze, and resolve bugs and issues.
- Provide regular updates and reports on test progress, including test execution results and defect status.
- CI/CD and Process Improvement:
- Participate in Continuous Integration/Continuous Deployment (CI/CD) pipelines to integrate automated tests into the build process.
- Continuously identify opportunities for improving QA processes, testing frameworks, and automation coverage.
- Actively contribute to the overall quality culture and mindset within the team.
- Collaboration and Communication:
- Work closely with product managers, developers, and other stakeholders to ensure quality throughout the SDLC.
- Provide clear and actionable feedback to improve the overall product quality.
- Create and maintain documentation of test cases, test plans, and test results.
Bachelor's Degree
Required Technical And Professional Expertise
- Strong understanding of Software Development Life Cycle (SDLC) and Software Testing Life Cycle (STLC).
- Hands-on experience with manual testing (functional, regression, integration, localization, mobile, desktop and web) and automated testing.
- knowledge of programming (e.g., Java, Python, or other languages) for writing automated tests.
- Proficiency in using test management tools (e.g., Jira, TestRail) for test case management and defect tracking.
- Experience with automation frameworks like Selenium, Appium, or other similar tools.
- Good knowledge of API testing using tools like Postman, REST Assured, or equivalent.
- Familiarity with Version Control Systems like Git.
- Test framework like TestNG
- Cloud Execution Platform like BrowserStack, Perfecto Mobile, Sauce Lab.
- Exposure to CI/CD tools (e.g., Jenkins, GitLab CI, Travis CI).
- Attention to detail and strong analytical skills to identify issues and root causes. Inspect console and network response.
- Strong verbal and written communication skills, with the ability to clearly report issues and testing results.
- Basic knowledge of security testing concepts (e.g., OWASP, vulnerability scanning).
- Familiarity with cloud platforms like AWS, Azure, Google Cloud, or similar for testing in cloud environments.
- Experience with containerization tools such as Docker or Kubernetes.
- Familiarity with testing on mobile devices using tools like Appium, XCUITest, or Espresso.
- Knowledge of performance testing tools (e.g., JMeter, Gatling).