We make ML based products that predict upcoming issues in complex applications running in cloud-native, serverless or host-based environments. Products handle very high volumes of streaming data, and perform complex learnings on structured and unstructured data in near real time. The ideal candidate should have passion for building products, solving problems, and building data pipeline.
1. Test Planning and Analysis
Understand the requirements and technical specifications of the software.
Participate in the preparation of test plans and test strategy documents based on project requirements.
Collaborate with business analysts, developers, and other stakeholders to ensure clear understanding of requirements and functionalities.
Identify test scenarios and develop comprehensive test cases, ensuring coverage for both positive and negative test conditions
2. Functional Testing
Execute manual functional test cases for various modules or features.
Validate that the software functions as intended by testing against user stories and requirements.
Perform regression testing to ensure that previously developed and tested software still performs correctly after changes.
Log defects, track issues, and work closely with developers to resolve them.
3. Performance Testing
Assist in executing manual performance testing activities, such as load testing and stress testing, using tools or manual methodologies.
Identify performance bottlenecks and assist developers in optimizing system performance.
Monitor system behaviour under various loads and provide detailed performance reports.
4. Database Testing
Write and execute SQL queries to validate data integrity, data consistency, and performance of database operations.
Verify that data is correctly stored and retrieved across different database operations (CRUD operations).
Test database performance and security aspects. Collaborate with database administrators (DBAs) and developers to troubleshoot data-related issues.
5. Linux/Unix Testing
Execute test cases and scripts on Linux/Unix environments.
Perform log analysis and system monitoring for troubleshooting and issue identification.
Validate system configurations and deployment processes on Linux/Unix servers.
Work with shell commands for checking server status, services, and logs to investigate issues.
6. Defect Management
Identify, report, and document software defects in defect management tools (e.g., JIRA, Bugzilla).
Track and retest bugs to ensure they are resolved and do not reoccur.
Collaborate with the development team to facilitate defect resolution.
7. Collaboration and Communication
Work closely with cross-functional teams including developers, business analysts, product managers, and project managers.
Attend daily stand-up meetings, sprint planning sessions, and reviews to discuss testing progress and roadblocks.
Communicate testing updates, issues, and risks to stakeholders.
8. Test Documentation
Create and maintain detailed test documentation, including test cases, test scripts, test data, and test results.
Ensure test documentation is up to date with any software changes or enhancements.
Prepare test execution reports, bug reports, and other relevant documents.
9. Quality Assurance and Best Practices
Follow best practices in testing and ensure adherence to quality assurance standards.
Suggest improvements to existing processes to enhance product quality.
Ensure all testing efforts align with the overall quality assurance goals of the project.
10. Exploratory Testing
Perform exploratory testing in cases where the requirements are not fully defined, or where new areas of the application are introduced.
Test the application beyond scripted scenarios to identify hidden defects.
11. User Acceptance Testing (UAT) Support
Assist in UAT activities by preparing test environments and test data for end users.
Support end users in conducting UAT and troubleshooting any issues encountered.
12. Continuous Learning and Tool Usage
Stay up to date with the latest trends and tools in manual and performance testing.
Use testing tools such as JIRA, TestRail, Selenium (for basic automation if needed), and performance testing tools (e.g., JMeter for basic load testing).
Requirement
Ideal candidate would be skilled in understanding product architectures in terms of key modules, and passionate about building high performance product test harness.
2-4 years of relevant experience as a Software Developer in Test.
Good understanding and implementation level experience in design patterns.
Experience in creating test automation frameworks and self-service tools.
Automation experience for Rest based web services and event/mq based services using Java / Groovy / Scala / Clojure / Python (TestNG, JUnit, Spock)
Strong knowledge of software QA methodologies, tools, and processes.
Understand requirements and write test cases/test scenario, execute and automate them.
Experience of Testing Methodologies (Performance testing, Black Box, White Box, Grey Box).
Hands-on experience on Unix Operating systems and preferably Windows.
Certification in Testing will be added advantage. (ISTQB, CAST, CSTE)
Experience enabling CI/CD in SaaS environment will be a plus