Many automated test frameworks promise the world and deliver nothing but headaches. Fortunately, youve got a secret weapon: Ruby. Ruby lets you build up a solution to fit your problem, rather than forcing your problem to fit into someone elses idea of testing.
Scripted GUI Testing with Ruby (Pragmatic Bookshelf, $34.95) is for people who want to get their hands dirty on examples from the real worldand who know that testing can be a joy when the tools dont get in the way. It starts with the mechanics of simulating button pushes and keystrokes, and builds up to writing clear code, organizing tests, and beyond.
This book is a practical, quick-moving tutorial based on real life, and real-world GUI applications.
Author Ian Dees says, This is the book I wish I had four years ago. Thats when I faced the equally unpleasant tasks of fixing old, broken GUI tests and coaxing a rickety third-party toolkit into running new tests. I started looking for a how-to guide on GUI testing to help me down this road. Unfortunately, there were none. Plenty of people had written beautifully about testing in general but not about user interfaces specifically. What few GUI books did exist were long, dry, restricted to technologies I couldnt use, or built on test frameworks that looked like someones homework assignment.
Ian addressed that need by writing a very pragmatic book. Right out of the gate youll start working with code to drive a desktop GUI. Youll discover the kinds of gotchas and edge cases that dont exist in simple, toy programs. As you add more tests, youll learn how to organize your test code and write lucid examples. The result is a series of smoke tests your team will run on Continuous Integration servers.
Next, youll explore a variety of different testing tips and tricks. Youll employ a series of increasingly random and punishing test monkeys to try to crash programs. Table-driven techniques will show you how to check dozens of different input combinations. See how to use longer acceptance tests (in the form of stories) to represent the way a typical customer would use your program.
If youre a coder who tests, or a tester who codes, this book is for you.
For a review copy or more information please email email@example.com. Please include your delivery address and contact information.
Ian Dees was first bitten by the programming bug in 1986 on a Timex Sinclair 1000, and has been having a blast in his software apprenticeship ever since. He has debugged assembler with an oscilloscope, written web applications nestled comfortably in high-level frameworks, and seen everything in between. He currently hacks C++ application code, automates laboratory hardware, and yes, writes user interface test scripts for a test equipment manufacturer near Portland, Oregon.
For more information about the book, including code, errata, discussions, chapter excerpts, a full table of contents, and more, see: http://www.pragprog.com/titles/idgtr/scripted-gui-testing-with-ruby.
Scripted GUI Testing with Ruby
Publisher: Pragmatic Bookshelf
ISBN: 9781934356180, 192 pages, $34.95 USD, £21.99 GBP
About Pragmatic Bookshelf
Pragmatic Bookshelf is an imprint of the Pragmatic Programmers, LLC. Our titles are distributed to bookstores internationally by O'Reilly Media.
The Pragmatic Bookshelf features books written by developers for developers. The titles continue the well-known Pragmatic Programmer style, and continue to garner awards and rave reviews. As development gets more and more difficult, the Pragmatic Programmers will be there with more titles and products to help programmers stay on top of their game.
O’Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O’Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying “faint signals” from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.