Having your mobile application fail….Negatively impacts revenueHurts your brandResults in rework instead of enhancementImpacts team moralWhat is failure in the mobile space?
We can argue Platform Applevs Android all we want, but what’s really important….
Deliver New Capabilities Instead of Fixes Prove it Works! Prove it Works Well! Prevent Damage to your Brand! Increase User Retention!
Growth is projected to be HUGE.Pundits are projecting 30 Million iPad sales this holiday season.
Small investment to generate revenue Quick to market as Apps are Focused Solutions Employing Agile Delivery Methods Rapid feedback loops Easy access to customer metrics Have an ideaWrite some code (test it….hopefully)Customer use it and provide feedbackFix bugs and enhance featuresRepeat steps 2 through 4
Need visualization of this stuff
Dev sees this model as too much control/process, in efficientzzQA practitioners view the well trained horse as a better modelBehavior is predictableControls have been established and are know to horse & rider
Development Cowboys riding in rodeoQA in Agile is like trying to hold the tail of a bucking bronco
Working together to sprint to the finishQA Knows a thing or two that can be applied to the Mobile Agile world
Plan – Agree on what is important to test, who will test and how to test itDesign – Build tests & test data (manual or automated)Execution – Did you accomplish what you set out to do? Prove it.Reporting = Retrospective
What Happened in the Past Create and Forget Documentation Turgid bloated document outlining Scope of test Approach & Plan Schedule Resource Risks Plans Change Once Work Starts
How do we do it in an Agile Approach Release Planning Resource Plan (people, devices, tools, $$) Test Strategy Estimated Schedule Sprint Planning Resources Scope (tasks) Acceptance Criteria
Get Test Devices: Native apps often need devices for testing / Mobile Web can leverage service test models, though devices are a good practicesBuild Test System: Backend systems are needed to support testing and fall to more traditional testing modelsBuild Test Harnesses: Test your backend before it is integrated with the front end. Speeds up delivery Map Poor Cell Coverage Areas: Cell based and location services cannot be simulated well in a lab environment: Get out in the world!Engage Crowd Source Testing Company – Don’t buy, borrow! Increase the diversity of devices, user experiences & locations(Cellular/WIFI) – However, difficult to protect secret app! Get Microwave Oven (no Signal Condition): Aside from feeding the team, a Microwave is a great tool for shielding devices from cell/wifi signals. Different than turning off signal in device Create Test DataCreate Test Scenarios/CasesBuild Test Automation
http://googletesting.blogspot.com/2011/09/10-minute-test-plan.htmlJames Whittiker10 minutes is actually 30 minutesAssess riskIdentify PrioritiesNon-technical approach Matrix of Mobile Solution Attributes vs Application Components/FeaturesQuantifies Capabilities for each Attribute/Component intersection with high # indicative of higher risk (therefore more testing needed)
Simulator/Emulator don’t work
Agile engages the users/customer early and often, so we avoid the classic challengesLimited User InvolvementNo Feedback until whole solution is completeAgile uses:Sprint DemoUser Story Acceptance Criteria
Quality Assurance is achieved by best practices and continuous improvement