Cucumber Cookbook


Book Description

This book is intended for business and development personnel who want to use Cucumber for behavior-driven development and test automation. Readers with some familiarity with Cucumber will find this book of most benefit. Since the main objective of this book is to create test automation frameworks, previous experience in automation will be helpful.




Instant Cucumber BDD How-to


Book Description

Filled with practical, step-by-step instructions and clear explanations for the most important and useful tasks. This standard How-to guide explains the essence of Cucumber, describing how to write Cucumber features to drive development in a real project, and also describe many pro tips for writing good Cucumber features and steps.Instant Cucumber BDD How-to is great for an Agile software development team that wants to adopt a behaviour-driven process using Cucumber. It assumes that the team is passionate in reducing communication gaps between developers and product managers, ensuring the development is always on the right track and always focused on minimum marketable value.




Managing Software Requirements the Agile Way


Book Description

Learn how to deliver software that meets your clients’ needs with the help of a structured, end-to-end methodology for managing software requirements and building suitable systems Key FeaturesLearn how to communicate with a project’s stakeholders to elicit software requirementsDeal every phase of the requirement life cycle with pragmatic methods and techniquesManage the software development process and deliver verified requirements using Scrum and KanbanBook Description Difficulty in accurately capturing and managing requirements is the most common cause of software project failure. Learning how to analyze and model requirements and produce specifications that are connected to working code is the single most fundamental step that you can take toward project success. This book focuses on a delineated and structured methodology that will help you analyze requirements and write comprehensive, verifiable specifications. You'll start by learning about the different entities in the requirements domain and how to discover them based on customer input. You’ll then explore tried-and-tested methods such as impact mapping and behavior-driven development (BDD), along with new techniques such as D3 and feature-first development. This book takes you through the process of modeling customer requirements as impact maps and writing them as executable specifications. You’ll also understand how to organize and prioritize project tasks using Agile frameworks, such as Kanban and Scrum, and verify specifications against the delivered code. Finally, you'll see how to start implementing the requirements management methodology in a real-life scenario. By the end of this book, you'll be able to model and manage requirements to create executable specifications that will help you deliver successful software projects. What you will learnKick-start the requirements-gathering and analysis process in your first meeting with the clientAccurately define system behavior as featuresModel and describe requirement entities using Impact Mapping and BDDCreate a feature-based product backlog and use it to drive software developmentWrite verification code to turn features into executable specificationsDeliver the right software and respond to change using either Scrum or KanbanChoose appropriate software tools to provide transparency and traceability to your clientsWho this book is for This book is for software engineers, business analysts, product managers, project managers, and software project stakeholders looking to learn a variety of techniques and methodologies for collating accurate software requirements. A fundamental understanding of the software development life cycle (SDLC) is needed to get started with this book. Although not necessary, basic knowledge of the Agile philosophy and practices, such as Scrum, along with some programming experience will help you to get the most out of this book.




Test-Driven Infrastructure with Chef


Book Description

Since Test-Driven Infrastructure with Chef first appeared in mid-2011, infrastructure testing has begun to flourish in the web ops world. In this revised and expanded edition, author Stephen Nelson-Smith brings you up to date on this rapidly evolving discipline, including the philosophy driving it and a growing array of tools. You’ll get a hands-on introduction to the Chef framework, and a recommended toolchain and workflow for developing your own test-driven production infrastructure. Several exercises and examples throughout the book help you gain experience with Chef and the entire infrastructure-testing ecosystem. Learn how this test-first approach provides increased security, code quality, and peace of mind. Explore the underpinning philosophy that infrastructure can and should be treated as code Become familiar with the MASCOT approach to test-driven infrastructure Understand the basics of test-driven and behavior-driven development for managing change Dive into Chef fundamentals by building an infrastructure with real examples Discover how Chef works with tools such as Virtualbox and Vagrant Get a deeper understanding of Chef by learning Ruby language basics Learn the tools and workflow necessary to conduct unit, integration, and acceptance tests




The Cucumber Book


Book Description

Your customers want rock-solid, bug-free software that does exactly what they expect it to do. Yet they can't always articulate their ideas clearly enough for you to turn them into code. You need Cucumber: a testing, communication, and requirements tool-all rolled into one. All the code in this book is updated for Cucumber 2.4, Rails 5, and RSpec 3.5. Express your customers' wild ideas as a set of clear, executable specifications that everyone on the team can read. Feed those examples into Cucumber and let it guide your development. Build just the right code to keep your customers happy. You can use Cucumber to test almost any system or any platform. Get started by using the core features of Cucumber and working with Cucumber's Gherkin DSL to describe-in plain language-the behavior your customers want from the system. Then write Ruby code that interprets those plain-language specifications and checks them against your application. Next, consolidate the knowledge you've gained with a worked example, where you'll learn more advanced Cucumber techniques, test asynchronous systems, and test systems that use a database. Recipes highlight some of the most difficult and commonly seen situations the authors have helped teams solve. With these patterns and techniques, test Ajax-heavy web applications with Capybara and Selenium, REST web services, Ruby on Rails applications, command-line applications, legacy applications, and more. Written by the creator of Cucumber and the co-founders of Cucumber Ltd., this authoritative guide will give you and your team all the knowledge you need to start using Cucumber with confidence. What You Need: Windows, Mac OS X (with XCode) or Linux, Ruby 1.9.2 and upwards, Cucumber 2.4, Rails 5, and RSpec 3.5




BDD in Action


Book Description

Summary BDD in Action teaches you the Behavior-Driven Development model and shows you how to integrate it into your existing development process. First you'll learn how to apply BDD to requirements analysis to define features that focus your development efforts on underlying business goals. Then, you'll discover how to automate acceptance criteria and use tests to guide and report on the development process. Along the way, you'll apply BDD principles at the coding level to write more maintainable and better documented code. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology You can't write good software if you don't understand what it's supposed to do. Behavior-Driven Development (BDD) encourages teams to use conversation and concrete examples to build up a shared understanding of how an application should work and which features really matter. With an emerging body of best practices and sophisticated new tools that assist in requirement analysis and test automation, BDD has become a hot, mainstream practice. About the Book BDD in Action teaches you BDD principles and practices and shows you how to integrate them into your existing development process, no matter what language you use. First, you'll apply BDD to requirements analysis so you can focus your development efforts on underlying business goals. Then, you'll discover how to automate acceptance criteria and use tests to guide and report on the development process. Along the way, you'll apply BDD principles at the coding level to write more maintainable and better documented code. No prior experience with BDD is required. What's Inside BDD theory and practice How BDD will affect your team BDD for acceptance, integration, and unit testing Examples in Java, .NET, JavaScript, and more Reporting and living documentation About the Author John Ferguson Smart is a specialist in BDD, automated testing, and software lifecycle development optimization. Table of Contents PART 1: FIRST STEPS Building software that makes a difference BDD—the whirlwind tour PART 2: WHAT DO I WANT? DEFINING REQUIREMENTS USING BDD Understanding the business goals: Feature Injection and related techniques Defining and illustrating features From examples to executable specifications Automating the scenarios PART 3: HOW DO I BUILD IT? CODING THE BDD WAY From executable specifications to rock-solid automated acceptance tests Automating acceptance criteria for the UI layer Automating acceptance criteria for non-UI requirements BDD and unit testing PART 4: TAKING BDD FURTHER Living Documentation: reporting and project management BDD in the build process




The RSpec Book


Book Description

Provides information on developing Rails 3 applications using RSpec and Cucumber.




Cucumber Recipes


Book Description

You can test just about anything with Cucumber. We certainly have, and in Cucumber Recipes we'll show you how to apply our hard-won field experience to your own projects. Once you've mastered the basics, this book will show you how to get the most out of Cucumber--from specific situations to advanced test-writing advice. With over forty practical recipes, you'll test desktop, web, mobile, and server applications across a variety of platforms. This book gives you tools that you can use today to automate any system that you encounter, and do it well. The Cucumber Book showed you how your team can work together to write executable specifications--documents that tell a clear story and also happen to be working test code. We'll arm you with ready-rolled solutions to real-world problems: your tests will run faster, read more clearly, and work in any environment. Our first tips will help you fit Cucumber into your workflow. Powerful filters will tame tables full of test data, transforming them into the format your application needs. Custom output formatters will generate reports for any occasion. Continuous Integration servers will run your Cucumber tests every time the code changes. Next, you'll find recipes tailored to the platform you're running on. Ever wanted to know how to test a Grails app from Cucumber? Need to put a Windows program through its paces? How about a mobile app running on Android or iOS? We'll show you how to do all of these. Throughout the book, you'll see how to make Cucumber sing as you interoperate with different platforms, languages, and environments. From embedded circuits to Python and PHP web apps, Cucumber has something for you. What You Need: You'll need basic working knowledge of Cucumber and Ruby. Individual recipes may have additional requirements; for example, a recipe on Windows automation might pull in an open source GUI driver. We've written the recipes for compatibility with Ruby 1.9.3 and 1.8.7, plus Cucumber 1.1.4. Other versions may work as well, but these are the ones we test with.




Automated Software Testing with Cypress


Book Description

Unit Integration Testing (UIT) had been a challenge because there was no tool that could help in XHR programming and unit integration validations in an efficient way until Cypress arrived. Cypress started releasing versions in 2015 and became popular in 2018 with version 2.0.0. This book explores Cypress scripts that help implement ‘shift left testing’, which is a dream come true for many software testers. Shift left occurs in the majority of testing projects, but could not be implemented fully because tools were unavailable and knowledge was lacking about the possibilities of testing early in the life cycle. Shift left is a key testing strategy to help testing teams focus less on defect identifications and more on developing practices to prevent defects. Cypress scripts can help front-end developers and quality engineers to work together to find defects soon after web components are built. These components can be tested immediately after they are built with Cypress Test Driven Development (TDD) scripts. Thus, defects can be fixed straight away during the development stage. Testing teams do not have to worry about finding these same defects in a later development stage because Cypress tests keep verifying components in the later stages. Defect fixing has become much cheaper with Cypress than when other tools are used. The book also covers Behaviour Driven Development (BDD)-based Gherkin scripts and the Cypress Cucumber preprocessor, which can improve test scenario coverage. Automated Software Testing with Cypress is written to fulfil the BDD and TDD needs of testing teams. Two distinct open source repositories are provided in Github to help start running Cypress tests in no time!




Building Enterprise JavaScript Applications


Book Description

Strengthen your applications by adopting Test-Driven Development (TDD), the OpenAPI Specification, Continuous Integration (CI), and container orchestration. Key FeaturesCreate production-grade JavaScript applications from scratchBuild microservices and deploy them to a Docker container for scaling applicationsTest and deploy your code with confidence using Travis CIBook Description With the over-abundance of tools in the JavaScript ecosystem, it's easy to feel lost. Build tools, package managers, loaders, bundlers, linters, compilers, transpilers, typecheckers - how do you make sense of it all? In this book, we will build a simple API and React application from scratch. We begin by setting up our development environment using Git, yarn, Babel, and ESLint. Then, we will use Express, Elasticsearch and JSON Web Tokens (JWTs) to build a stateless API service. For the front-end, we will use React, Redux, and Webpack. A central theme in the book is maintaining code quality. As such, we will enforce a Test-Driven Development (TDD) process using Selenium, Cucumber, Mocha, Sinon, and Istanbul. As we progress through the book, the focus will shift towards automation and infrastructure. You will learn to work with Continuous Integration (CI) servers like Jenkins, deploying services inside Docker containers, and run them on Kubernetes. By following this book, you would gain the skills needed to build robust, production-ready applications. What you will learnPractice Test-Driven Development (TDD) throughout the entire bookUse Cucumber, Mocha and Selenium to write E2E, integration, unit and UI testsBuild stateless APIs using Express and ElasticsearchDocument your API using OpenAPI and SwaggerBuild and bundle front-end applications using React, Redux and WebpackContainerize services using DockerDeploying scalable microservices using KubernetesWho this book is for If you're a JavaScript developer looking to expand your skillset and become a senior JavaScript developer by building production-ready web applications, then this book is for you.