Test Automation: Creating and maintaining automated test scripts using tools and frameworks like Appium, Espresso, XCTest, Jetpack Compose testing or similar for Android and iOS platforms.
Test Planning: Collaborating with developers and product managers to define test strategies, test plans, and test cases for mobile applications.
Test Execution: Running automated tests, analyzing test results, and identifying defects or issues. They may also conduct manual testing when necessary.
Continuous Integration: Integrating automated tests into the build and deployment pipeline to ensure regular and efficient testing, using tools like Jenkins, Azure Pipelines, etc.
Bug Reporting: Documenting and tracking defects, working closely with developers to resolve issues, and retesting to confirm fixes using tools like Jira, ServiceNow, etc.
Performance Testing: Evaluating the performance and responsiveness of mobile applications and identifying areas for improvement.
Compatibility Testing: Ensuring that mobile apps work correctly across different devices, screen sizes, and OS versions.
Security Testing: Assessing the security of mobile apps and identifying vulnerabilities that need to be addressed.
Accessibility Testing: Assessing the accessibility guidelines (WCAG 2.x) and ensuring that the mobile app adheres to it.
Test Environment Setup: Configuring and maintaining mobile testing environments, including emulators, simulators, and physical devices.
Test Documentation: Creating and maintaining test documentation, including test cases, test scripts, and test reports.
Collaboration: Collaborating with cross-functional teams, including developers, designers, and product managers, to improve the overall quality of mobile applications.
Test Automation Framework Development: Developing and enhancing test automation frameworks to improve test efficiency and coverage.
Continuous Learning: Staying updated with the latest mobile testing tools, techniques, and best practices.
Code Review: Participating in code reviews to ensure that test automation code is maintainable and follows coding standards.
Code Coverage Analysis: Ability to understand code coverage and identify and fill gaps as needed.
Troubleshooting: Investigating and resolving issues related to test automation infrastructure and tools.
Overall, a Mobile SDET Engineer plays a crucial role in ensuring that mobile applications meet high-quality standards, are free from defects, and deliver a positive user experience. They combine technical expertise with testing skills to automate and execute tests effectively.
SDET Requirements:
Hands-on experience with iOS Frameworks, particularly using Swift language
Proven experience with SwiftUI
Hands-on experience with Android, particularly using Kotlin language
Experience with Jetpack Compose is a must
Unit Testing and UI Testing experience in both iOS and Android platforms
Automation Testing of Unit/UI Tests using tools like Robolectric