Upload
-
View
62
Download
0
Embed Size (px)
Citation preview
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
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
Testing toolsTest Rail
Test management system, it can: • create/import and manage test suites • assigne test plans • track test activity • be integrated with Jira
JiraComplex and agile bug tracking system, it can: • document, assign, track an issue • be used as project management system • manage Agile boards
Additional tools
Slack - team communications
Trello - task manager
Dropbox Paper - task manager
Xcode (debug testing)
Jenkins (adhoc testing)
Hockey app Amplitude
Logs
Developer tools
Crash tracking system Event tracking system (analytics )
Help to diagnose an issue
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
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
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
Сollaboration with development teamDevelopers 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
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 hot fix
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
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
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