Test iOS Apps with UI Automation: Bug Hunting Made Easy

4,25 durchschnittliche Bewertung
( 16 Bewertungen bei Goodreads )
9781937785529: Test iOS Apps with UI Automation: Bug Hunting Made Easy

If you're an iOS developer or QA professional tapping through an app to reproduce bugs or performance issues you thought were solved two releases ago, then this is your book. Learn how to script the user interface, assert correct behavior, stub external dependencies, reproduce performance problems, organize test code for the long haul, and automate the whole process so the machine does the work. You'll walk through a comprehensive strategy with techniques using Apple's tools that you can apply to your own apps.

Automated user interface testing is an important part of a comprehensive testing strategy for iOS applications. By scrutinizing your app through the eyes and actions of the user, you raise confidence that features are wired up right and behave as you expect.

Through this book you'll learn how to do full-stack testing of your iOS apps in both the simulator and on the device with Apple's built-in tools. You'll write behavioral tests in UI Automation that help protect against regressions. You'll write scripts to repeat steps in Instruments to reproduce performance bugs. With a little ingenuity, you'll build a workflow that gives the feedback you need.

Grow a test suite by working with a real application that uses Core Data and network requests. Learn how to describe expected behavior in test scripts, launch the app in a specific state, and stub external dependencies for completely isolated and repeatable tests. Along the way, you'll practice how to organize your test code and run it hands-free from the command line. By the end, you'll have the tools and habits you need to tackle the unique testing problems you'll face while building best-of-breed native iOS apps for your users.

What You Need

You'll need a Mac running at least Mac OS X Lion (10.7) and Xcode 4.6.

Die Inhaltsangabe kann sich auf eine andere Ausgabe dieses Titels beziehen.

From the Author:

Q: Why did you write *Test iOS Apps With UI Automation*?A: I love writing apps for iOS, and I love when I can have the computer help me automatically test my code as much as possible. When I first stumbled on Apple's UI Automation instrument, I was thrilled. I now use the tool on all my projects, slowly growing test suites that I run often to raise my confidence that I haven't broken anything, and recreating all kinds of scenarios while I check performance of the application in Instruments. I enjoy teaching about this topic and when the opportunity came up to write a book on it, I pounced.Q: I have an application that I want to test. Where do I start?A: A great place to start is to pick one or two paths a user takes through your application that are critical to its success. Recreate those in UI Automation scripts and run those tests often to protect against regression while you continue improving the app. Or, if you are trying to debug a performance problem in Instruments, use UI Automation scripts to quickly recreate the state of the bug while you go back and forth between Xcode and Instruments to zero in on what changes best improve the performance.Once you get the basics down, you can write more tests to cover the other behaviors, raising your confidence as you go along. Getting started is easy! You'll get enough practical use at the beginning that you'll keep going.Q: So, how do I write the tests?A: With JavaScript! Don't worry, it's not as bad as it sounds. This isn't like in the browser where you had to contend with the document object model and all the incompatibilities from the browser wars. This is a sandboxed JavaScript environment that runs inside of the UI Automation instrument. You app is exposed to you through an object oriented API that let you inspect and interact with what you see on the screen.Q: So, is this about unit testing?A: Nope. Unit testing is about writing fast executable tests for low level components of an application. That's where you can do extensive edge case testing because you're not wasting time waiting for UI animations or network access to complete. This book covers a flavor of integration testing, specifically scripting the application with interactions through the user interface.Q: Come on, do you really think I have time to write tests for my apps?A: Yes. :) Whether you're a solo dev, a small team, or a large company with a QA department, you're already walking through test plans before release. Why not have the computer do some of the work for you? Tools like UI Automation help reproduce scenarios the same way every time. Whether we want to recreate steps to demonstrate performance regressions, or lock down the right behavior, automated testing is a great way to aid your sanity and free your focus for other things.Q: Is this the only way to do integration-style testing for iOS?A: No, not at all! There are many options out there that take advantage of other toolchains and languages to write the best tests possible. UI Automation is unique because of it's integration with Instruments and I leverage that in the book to great effect.Regardless, there is excellent information in here that can help you with whatever testing tools you use on your projects. Like stubbing external dependencies and setting up application state, these kinds of challenges are universal to all automated testing environments.

About the Author:

Jonathan Penn is a software developer with a long history of quality work sprinkled with mischief. When not consulting with clients, he speaks at conferences, is the mad scientist behind the featured apps at navel-labs.com, and is scribbler-in-chief at cocoamanifest.net, a technical blog for exceptional iOS resources and commentary.

„Über diesen Titel“ kann sich auf eine andere Ausgabe dieses Titels beziehen.

(Keine Angebote verfügbar)

Buch Finden:

Kaufgesuch aufgeben

Sie kennen Autor und Titel des Buches und finden es trotzdem nicht auf ZVAB? Dann geben Sie einen Suchauftrag auf und wir informieren Sie automatisch, sobald das Buch verfügbar ist!

Kaufgesuch aufgeben