Mobile QA teams are responsible for thoroughly testing apps before release to ensure high quality. They use a variety of manual and automated testing methods at different stages of development. QA works closely with development and customer support to catch bugs, validate fixes, and improve the product based on user feedback. The goal is to deliver stable, bug-free apps through collaboration across teams.
3. QA in product company
QA in outsource company
• Responsible for a product overall
• No excuses to customers (they don't care why you've f*cked up )
• Can always speak with a developer directly
• Last stand between customer and a product
• Have an influence to a product
• Responsible for part of the a product
• Customers are not always the issue
• Usually more high update pace
• Can't see the big picture of a product
• Can't have direct feedback on his work
4. Kinds of testing we do
Test methods
Black box
White box
Test levels
Unit testing
Integration testing
UI testing
Test types
Smoke testing
Regression testing
Continuous testing
Software performance testing
Usability testing
Localization testing
Testing process
Waterfall
Kanban
5. Testing tools
Test Rail
Test management system, it can:
• create/import and manage test suites
• assigne test plans
• track test activity
• be integrated with Jira
Jira
Complex and agile bug tracking system, it can:
• document, assign, track an issue
• be used as project management system
• manage Agile boards
8. Quick run
Full run
• Can quickly show current product state to QA
and development teams
• Includes test cases from the different suites
(incl. first start, update, on boarding etc)
• Required for minor updates
• Effective for smoke testing
• Guarantees product stability
• Effective to find regression issues
• Includes all test suites
• Required for major updates
9. Automation
Why it is necessary
When it is necessary
Balance between manual testing
Test data is as important as test case
Right test case
Make sure app works before validate test case
10. Automation tools
UIAutomation (JS legacy)
• JS
• Supports loads of framework helpers
• Inconsistent
• Deprecated
Xcode UI Tests (Swift)
• Swift
• Runs as independent process
• XCTest based
• More consistent
• Still improving
Jenkins CI formula = xcodebuild + xcrun + iOS sim + xcpretty + ruby script
11. QA at Readdle is more that software tester:
• engineer
• manager
• customer support adviser
12. Сollaboration with development team
Developers Types:
• Tests code before deployment to QA
• Does not test code before deployment to QA
• Cunning when explains why that issue can't be fixed
• Should be convinced why this issue should be fixed
• Fixes one issue but breaks other stuff
• Developer - project manager
Conflict situations
• Won't fix
• Wrong feature implementation
• Fix version
• Can't reproduce
13. Customer Support FTW
User cases: helps to QA team to expand and amplify test cases base
User feedback: helps to project manager and team lead to plan and
adjust development of a project
Customer support: direct source of feedback and user cases. It evaluates QA.
QA team should:
• read customer feedback
• react fast in critical situation (reproduce, document, make sure issue fixed, prepare h
update)
• amplify test case base
Customer support team should:
• analyze customer’s feedback
• filters important requests
• provide all others teams with the meaningful summary
• understand all the products well
14. Management inside the team
Every member of the team should:
• Know all products
• Should not has a development stoppers
• Be an independent working unit
• Should know how to plan and manage his time
• Has complete responsibility for the final version of the product he’s tested
• Share the knowledge between other members
• Not afraid to always ask a question
15. QA can influence on product development
• User experience feedback and suggestions
• UI and functionality correction
• Can give important feedback at the very start of a new product
• Can argue the PM and developer about helpful features
• Should be interested and involved in product development
QA knows product better than anyone