- Taschenbuch: 336 Seiten
- Verlag: O'Reilly UK Ltd.; Auflage: 1 (1. März 2012)
- Sprache: Englisch
- ISBN-10: 1934356808
- ISBN-13: 978-1934356807
- Größe und/oder Gewicht: 19 x 1,4 x 23,5 cm
- Durchschnittliche Kundenbewertung: 3 Kundenrezensionen
- Amazon Bestseller-Rang: Nr. 68.178 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
The Cucumber Book: Behaviour-Driven Development for Testers and Developers (Pragmatic Programmers) (Englisch) Taschenbuch – 1. März 2012
|Neu ab||Gebraucht ab|
Wird oft zusammen gekauft
Kunden, die diesen Artikel gekauft haben, kauften auch
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
""To those of you wondering how to use Cucumber effectively, The Cucumber Book is the answer. Not content to write just a testing book, Aslak and Matt have packed it with practical insights on many aspects of software development. Studying this book will make you a better software developer.""--Pat Maddox, B.D.D.M.F., RSpec Core team
""Teams can use Cucumber to get a better understanding of what software to build for their customers. In this book, Aslak and Matt do a brilliant job explaining how you get started with Cucumber with plenty of easy-to-follow examples.""--Rachel Davies, Author, "Agile Coaching"
""I devoured the Cucumber book on a train ride from Grenoble to Brussels a few days after watching Matt's presentation "BDD As It's Meant to Be Done." These two resources helped me understand in just a few hours how to avoid dozens of common mistakes writing scenarios in the Cucumber style. It's as though I received an injection of perhaps two years of experience writing scenarios poorly so that I didn't have to go through it all myself. What a gift. I recommend this book to everyone working with Cucumber.""--J. B. Rainsberger, Author, "JUnit Recipes"
Über den Autor und weitere Mitwirkende
Matt Wynne is a leading BDD practitioner, a member of the Cucumber core team, and a programmer, coach, trainer, and popular international speaker. Alongside Aslak Hellesoy and Julien Biezemans, Matt is co-founder of Cucumber Ltd., the company behind Cucumber. Matt tweets from @mattwynne and @cucumberbdd.
Aslak Hellesoy is the creator of Cucumber. During his career Aslak has worked with both small and large organizations in industries such as telecom, trading, insurance, car manufacturing, education, and government. Aslak is co-founder of Cucumber Ltd, the company behind Cucumber. He tweets from @aslak_hellesoy and @cucumberbdd."
Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
The Cucumber book consists of 3 different parts. The first part is an basic introduction to Cucumber, the second part provides a 3-chapter long example and the last part shows how to test different type of application.
Part one starts by introducing the concepts of BDD (or A-TDD or "Specification by Example" which are all very similar) and explains that cucumber, in the end, is a collaboration tool where the developers, testers and users learn to speak the same language and that way improve development of software. Cucumber provides a way of expressing and automating that shared language. The next couple of chapters introduce the basic features of cucumber one at the time. The last chapter of the first part talks about common test automation problems and that their causes are and what you can do about this. Most of this chapter and the concepts expressed in the book are valid for any of the BDD/A-TDD frameworks such as Fitnesse or RobotFramework.
Part two started out disappointing to me. The authors decided to use an ATM as example of their test. ATMs has frequently been used in software development books (like calculators, which unfortunately it also used) and I had hoped for a different, less stereotypical, domain. Yet, as part two progressed, I started liking the example more and eventually part two became my favorite part of the book. Its style reminded me of the excellent Growing Object-Oriented Software, Guided by Tests. The example starts by writing tests that directly talk to the application domain logic. After getting the logic to work, they switch the interface to a web interface without making a change to the written specifications (excellent!) and clearly show that the specification and application logic are and should be separated. After this they explain how to deal with asynchronous events and testing with a database.
Part three is sort-of the left-over chapter of what the authors still wanted to say about cucumber that didn't fit in the other chapters. It starts with exploring the command line options to cucumber and then dives into testing different type of applications, namely: REST, legacy, rails, ajax and CLI. Each of these chapters (except legacy code) provides excellent examples of working outside-in with cucumber specifications and each chapter introduces additional useful ruby (testing) tools.
So, in the end, I was positively surprised about the book and enjoyed every page. What drawbacks does the book have? The collaborative part of BDD was only stressed in the first couple of chapters, which was too bad. As mentioned, I found the examples a bit too stereotypical. I guess the book wouldn't be easy to read for non-ruby developers as there is a fair amount of ruby code in it and the alternative language cucumber clones aren't covered. Yet, I found these drawbacks minimal and would still rate it 5 stars. For explaining BDD (A-TDD/Specification by Example), I'd still recommend Gojko Adzic's Specification by Example: How Successful Teams Deliver the Right Software over the cucumber book. But Specification by Example: How Successful Teams Deliver the Right Software doesn't cover the concrete implementation in a tool, for that, I'd definitively recommend the cucumber book. They compliment each other nicely.
Most people who have a passing understanding of Test Driven Development or Behavior Driven Development have likely heard of Cucumber. It's a language that allows anyone who wants to define tests and requirements for applications the ability to do so in plain English (or fill in the blank language if supported). In truth, Cucumber isn't really a programming language at all, but a symbolic phrase library that matches to various underlying commands and blocks of code (represented in Ruby in this book and referencing a variety of tools including Capybara, Rspec and others).
Matt Wynne and Aslak Hellesøy have put together a very readable and focused text that help the user get familiar with the basics of the language. The book also focuses the reader on understanding the underpinnings needed to create expressions that work with their respective technologies. Granted, if you are a tester and you want to take advantage of this framework, there is plenty in here to keep you busy. The Cucumber Book starts out by explaining what Cucumber is and the niche it is meant to fill (specifications based tests and requirements). If you are a developer, there is likewise plenty in here to keep you interested, too.
The process in the Cucumber book is heavy on examples and showing how the examples work. Yes, for those who want to know how to use the syntax and language specific details of Cucumber, that stuff is covered. What is also covered, and covered well, is the Behavioral Driven Development approach needed to effectively create tests and have them work effectively. Along with creating feature files and steps for those feature files, the underlying step definitions also have to be coded. Not only do they have to be coded, but they have to have assertions written that will effectively confirm if the step has passed, or if it fails, and why.
Since the book is primarily based on Cucumber, there is a large section that covers Cucumber fundamentals, including basic Gherkin (the underlying syntax that Cucumber uses), and the ability of using expressive options such as Scenario Outlines, Data tables, Doc Strings, tags, and dealing with some of the pain points seen in your tests (such as "flickering scenarios", where the tests pass some of the time but fail some times, too). More than just using Cucumber to define steps and have step definitions defined, the third part of the book deals with applying Cucumber to a number of different technologies; working with various databases, testing with RESTful web services, working with Rails, running tests and using capybara to simulate common browser actions and many other options that may come to play in your everyday testing life.
If you have ever been interested in looking at Cucumber and your testing environment is built around Ruby, then this will be an ideal book to use. If you are interested in deploying Cucumber in another type of environment, such as testing with Java or .NET, many of the ideas in this book will also carry over, but have a look at "The Secret Ninja Cucumber Scrolls" by David de Florinier and Gojko Adzic. It provides information about how to apply Cucumber to those environments. Regardless of your particular focus and environment needs, for a practical and effective book for learning and using Cucumber in a meaningful way, The Cucumber Book is an excellent addition to any tester or developer's library.
It's all in Ruby. But, Cucumber is a Ruby tool, so I guess you should expect as much. Nothing wrong with Ruby, just not my "native" language. I'm a .NET C# coder, so I use SpecFlow. Also, the example application they use is an overly simplistic ATM. I guess it's not bad if you go in with the perspective that they're showing you how to use Cucumber, and not how to do ATDD or BDD in general (which would require a much bigger book).
I would definitely purchase this book again.