Elise Carmichael and Corey Pyle walk you through real-life test automation stories and use cases including: How to decide which tests to automate, how to write XCUITests for IOS, demo how Amazon Alexa can be automated and how to publish automated results to qTest using a node package.
The recording from Quality Jam 2017 can be found at: www.qasymphony.com/blog/quality-jam-2017-presentations/
1 of 26
More Related Content
Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Automation"
1. Jumpstarting your Test Automation
Alexa, iOS, Android, Web, Oh my
Elise Carmichael & Corey Pyle| April 19, 2017
3. Who are we?
Elise Carmichael
- Director of Software Engineering @ Mobiquity
Corey Pyle
- Software Developer & Lead QA Engineer @ Mobiquity
4. INSERT PHOTO ON TOP
We create compelling digital
moments for you and your
customers, focused on
innovation, driven by data,
across all channels.
Mobiquity
8. Why are you here?
Who this session is for:
- You’re converting your existing manual tests into automated tests
- You want to see a wide variety of platforms that can be automated!
What are we showing you?
- A demo of automation scripts on multiple
- A walkthrough of our open source library that uploads test results to
qTest using the API
9. Agenda
- Review what tests you will automate
- Demo how you can write XCUITests for iOS using our library to
automate your existing regression suite
- Demo with Amazon Alexa and show how these tests can be
automated and updated in qTest automatically
- Walk through of the library to show the qTest API
11. How do you decide what to automate?
- High Risk
- What makes something high risk?
- Lots of content/permutations to test
- Tests that need to repeated frequently
- Other?
13. INSERT PHOTO ON TOP
Existing Tests
Already have a regression
Suite
Ready to automate some
of it; but have test
cases/results show up as if
you ran a manual test
14. XCUITest
- Write your iOS tests with names
to match what the test case is
called in qTest
- Formats the output into
something qTestManager can
parse (standard junit/xunit)
- https://github.com/supermarin/x
cpretty
- Provide Test Cycle or Test Suite
location so test executions can
be updated.
- If a test appears more than
once, EACH test will be
considered executed
Write Tests Execute with xcpretty Configure/ Run
qTestManager
17. Alexa Basics and Challenges
User Speech -> Alexa -> Your Function -> Alexa
Challenges
• It’s new, no real native automated test solution
• Testing large amounts of utterances
18. Automation Options for Amazon Alexa
• Local Unit Tests
• Local Functional Tests
• Deployed Functional Tests
• Amazon Dev Console Automation
19. Console Automation with Pigwidgeon
• What is it?
• And internal tool at Mobiquity used for simplifying the dev console
testing platform
• How do you use it?
• Install, configure, write tests, run!
26. XCUITest Setup Instructions
install ruby gem xcpretty to convert iOS test output to xunit test results
(https://github.com/supermarin/xcpretty)
• install ruby/gems (follow instructions online)
• `gem install xcpretty`
Install Node/npm & qTestManager (https://www.npmjs.com/package/qtestmanager-node)
• Install node.js & npm (follow instructions online)
• Create node project
• npm init & name it whatever you’d like
• Install qTestManager & save to your package.json
• npm install --save qtestmanager-node
• Get your access token with the auth script as exampled in the npm doc
• Create your uploader file as exampled
• Add regex to match how you want to name your testcases in xcode
• Add line:
• uploader.testNameRegex = D+(d+);
• Update API call function to have catch:
Execute the xctests using the ruby gem:
• xcodebuild -project QualityJamDemo.xcodeproj -scheme AutomatedUITests -sdk iphonesimulator -destination 'platform=iOS
Simulator,name=iPhone 7,OS=10.2' test | xcpretty --report junit
• Result goes to workspace/build/reports.junit.xml
Upload the tests to qtest with the node uploader you created
• node uploader.js (or whatever you called your node file that uses qtestmanager)