IBM Mobile Quality Assurance Open Beta Study Group Session 3 (Instrumenting your app)

18
© 2013 IBM Corporation IBM Mobile Quality Assurance (Open Beta) Continuously deliver quality mobile apps – MQA Study Group – 8 November 2013 Host: Roger Snook, WorldWide Enablement Leader: Mobile, SOA & Design +1.703.943.1170, [email protected] Session 3: How to instrument your mobile app to use MQA's time-saving features (Prior Session Slides and Recordings: http://ibm.co/174C6ug - pre-requisite)

description

Instrumenting your app - part of the study group series.

Transcript of IBM Mobile Quality Assurance Open Beta Study Group Session 3 (Instrumenting your app)

Page 1: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation

IBM Mobile Quality Assurance (Open Beta) Continuously deliver quality mobile apps – MQA Study Group – 8 November 2013

Host: Roger Snook, WorldWide Enablement Leader: Mobile, SOA & Design +1.703.943.1170, [email protected]

Session 3: How to instrument your mobile app to use MQA's time-saving features(Prior Session Slides and Recordings: http://ibm.co/174C6ug - pre-requisite)

Page 2: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation2 #IBMMobile

Please note – This discussion is about an Open Beta

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.

Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.

The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.

Performance is based on measurements and projections using standard IBM benchmarksin a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Page 3: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation3 #IBMMobile

How much time do you need to save in your mobile dev cycle?Bug details SHOULD include:•Device maker & model•OS & version•Carrier & connection speed•Battery life & resolution•Repro steps & screenshot

Before MQA:•Manually enter each piece of information•Risk of manual inaccuracy vs time for quality information•Crash detail may require IDE environment to produce (iOS)

•Assertion: 15 minutes per bug/crash report to gather this quality information

User simply shakes their device

1. IBM MQA is activated

2. Bug details are reported in structured manner to RTC

Crashes logged automatically!

Assertion: Estimated time savings nears 15 minutes per bug. Multiply this by how many bugs reported. (i.e. 100 bugs = 25 hours of time saved). This is reporting alone – quality analysis alone is time consuming!

BEFORE MQA AFTER MQA

Crash details SHOULD include:•Stack trace•Logs

Page 4: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation4 #IBMMobile

Continuously deliver high quality mobile applicationsWhat’s New

• End user feedback and quality metrics available at every stage of development

• App quality assurance in a fragmented and complex environment

Features/Business Value

• Evidence-based prioritization – enable business and IT to collaborate on mobile strategy and user experience

• Over the air app distribution – get the latest in the hands of testers as soon as it is available

• Frictionless bug reporting – spend every minute on testing latest and greatest builds, not the hassles

• In-app crash reporting – rapid understanding of why an app fails

• Sentiment analysis – mine app ratings and reviews to extract actionable feedback before they go viral(coming soon)

Client Benefits• Improve mobile app quality with holistic visibility into user

experience, including bugs, crashes, feedback, and user sentiment

• Proactively manage quality risks through rapid assessment of issues and reduced cycle time

Updated xx-xx-12

Introducing IBM Mobile Quality Assurance (beta)

”What you are talking about doing is fantastic. You have a

very powerful approach here and it will drive a lot of what people will want to do in the market”

IBM Mobile Quality Assurance (beta)

Page 5: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation5 #IBMMobile

Instruments AppInstruments AppEnd UsersDeveloper

Over the air build distribution1 In app bug reporting 2

Crash log reporting

4

In app user feedback 3

LOB/Digital Marketer

Sentiment Analysis5

Builds

User Feedback Crash logs

BugsBugs vs. Crashes

Quality Dashboard with Sentiment Analysis

Mobile Quality Assurance features that support the Use CasesSession 3 Focus: Instrument your mobile app

Coming soonTester

Page 6: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation6 #IBMMobile

IBM Mobile Quality AssuranceFocus: Instrument an App

Followed by some experiences withintegrating the JKE Banking demo app

Page 7: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation7 #IBMMobile

MQA Tutorial Pages

First –some fundamental decisions:

1. Platform (this session focuses on Android) http://www.quality4mobilehelp.com/library-installation/android

2. Capabilities you want to support (this session focuses on pre-production features such as bug-reporting)

3. What app do you want to try this on? (the MQA Open Beta provides a HelloWorld app, but this session instruments the JKE Bank app)

Page 8: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation8 #IBMMobile

1. Platform / OS / IDE requirementsWhile I chose an Android version, for this exercise, I used the

Worklight Eclipse-plugin IDE.• Worklight® Studio of the IBM Worklight Developer

Edition is supported on the following operating systems:• Windows, Mac OS, Linux (same as RTC)

• You can develop IBM Worklight applications with iOS environments on any of these operating systems. However, due to restrictions set by Apple, you can compile an iOS project only on a Mac OS.

• When used on a Mac OS, the Worklight Studio integrates with Xcode (the iOS development environment).

• Getting Started with Worklight 6• Set up your Android development environment

• Install the Android SDK• Install the Android Development Tools plug-in for

Eclipse• Deploy to an Android device

• Setting up a device for development

Studio

IBMers can access an IBM-licensed preconfigured environment here instructions included.

IBMers can access an IBM-licensed preconfigured environment here instructions included.

Page 9: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation9 #IBMMobile

Capabilities, Libraries

Depending on what capabilities you want to provide, there are two different libraries to download:

1. Pre-Production (selected for this session)Using the Pre-Production Library - How to configure IBM Mobile Quality

Assurance for use in your application when it is still in QA and in the hands of your testers. The pre-production is ideal for when your application is still in testing with a small group of people.

By default, testers using your app with the pre-production library will be asked to login to the app so that IBM Mobile Quality Assurance can tell you who reported which bugs and issues.

2. ProductionUsing the Production Library - How to configure IBM Mobile Quality

Assurance for use in your application after it has launched and is in the hands of your customers.

Reports all data anonymously AND respects your users' privacy by gathering fewer details along with the logs, session data, and crash reports from your app.

Page 10: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation10 #IBMMobile

2. Add/Import the MQA LibrariesFrom the Android tutorial:“Step 2 - Add IBM Mobile Quality Assurance to Your Project”

From the Worklight IDE, right click on the Android instance and select “Import….”

Page 11: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation11 #IBMMobile

3. Modify the Android ManifestFrom the Android tutorial:“Step 3 - Modify the Manifest File” (Adding an Activity and Permissions)

The Worklight IDE provides a simpler, graphical XML editor (or you can hand code)

Page 12: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation12 #IBMMobile

4. Instrumenting the app to use the MQA SDKFrom the Android tutorial: Step 4 - Start an IBM Mobile Quality Assurance Session

Step 5 - Add Your Application Key

Step 6 - Add Apphance.onStart and Apphance.onStop to All Activities

Step 7 - Make Sure IBM Mobile Quality Assurance is Imported

Page 13: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation13 #IBMMobile

Build the app and try it!

When bugs are identified, user simply shakes their device

1. IBM MQA is activated

2. Bug details are reported in structured manner to RTC

Bug details include

•Device maker & model

•OS & version

•Carrier & connection speed

•Battery life & resolution

•Repro steps & screenshot

•If you are using a “softphone” / emulator / AndroidVM – swipe down instead of shake.•Sample apps are available on MQA•IBMers can test a pre-built MQA Worklight app here (look for the APK).

Page 14: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation14 #IBMMobile

IBM Mobile Quality Assurance Open Beta Study Group: http://ibm.co/174C6ug

Page 15: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation15 #IBMMobile

Your Study Group Action Items for Today:

1.Take Brief Survey – Your feedback helps! (Coming soon to your inbox)

2.Watch the *new* MQA Tutorial Video3.Try It: MQA Open Beta – click on this button

from the landing page:

Your Study Group Action Items for Today:

1.Take Brief Survey – Your feedback helps! (Coming soon to your inbox)

2.Watch the *new* MQA Tutorial Video3.Try It: MQA Open Beta – click on this button

from the landing page:

Page 16: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation16 #IBMMobile

1Tools and Technologies for MobileFirst Developers: http://www.ibm.com/developerworks/mobile/

23

Ways to get started with IBM MobileFirst

Take part in the IBM Mobile Quality Assurance open beta: http://ibm.co/174C6ug

Read the CTO Mobile Frontier Blog: https://www.ibm.com/developerworks/community/blogs/mobileblog

Our Next Session: IBM Mobile Quality Assurance Study Group Session 4: Over the air build distribution Nov 15, 2013 9:00 AM

https://events.na.collabserv.com/register.php?id=6ab12a9957&l=en-US

Further Study: Mobile Learning CircleMobile Testing Product Usage Learning Roadmap

Page 17: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation17 #IBMMobile

Page 18: IBM Mobile Quality Assurance   Open Beta Study Group Session 3 (Instrumenting your app)

© 2013 IBM Corporation18 #IBMMobile

Legal Disclaimer

© IBM Corporation 2013. All Rights Reserved.The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete:Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete:All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete:Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.If you reference Java™ in the text, please mark the first use and include the following; otherwise delete:Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete:Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete:Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete:UNIX is a registered trademark of The Open Group in the United States and other countries.If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete:Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.