Behaviour-Driven Development for Testers and Developers
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 more » 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 « less
Learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practices
ABOUT THIS BOOK
* Leverage the latest features of Xtext and Xtend to develop a domain-specific language.
* Integrate Xtext with popular third party IDEs and get the best out of both worlds.
* Discover how to test a DSL implementation and how to customize runtime and IDE aspects of the DSL
WHO more » THIS BOOK IS FOR
This book is targeted at programmers and developers who want to create a domain-specific language with Xtext. They should have a basic familiarity with Eclipse and its functionality. Previous experience with compiler implementation can be helpful but is not necessary since this book will explain all the development stages of a DSL.
WHAT YOU WILL LEARN
* Write Xtext grammar for a DSL;
* Use Xtend as an alternative to Java to write cleaner, easier-to-read, and more maintainable code;
* Build your Xtext DSLs easily with Maven/Tycho and Gradle;
* Write a code generator and an interpreter for a DSL;
* Explore the Xtext scoping mechanism for symbol resolution;
* Test most aspects of the DSL implementation with JUnit;
* Understand best practices in DSL implementations with Xtext and Xtend;
* Develop your Xtext DSLs using Continuous Integration mechanisms;
* Use an Xtext editor in a web application
Xtext is an open source Eclipse framework for implementing domain-specific languages together with IDE functionalities. It lets you implement languages really quickly; most of all, it covers all aspects of a complete language infrastructure, including the parser, code generator, interpreter, and more.
This book will enable you to implement Domain Specific Languages (DSL) efficiently, together with their IDE tooling, with Xtext and Xtend. Opening with brief coverage of Xtext features involved in DSL implementation, including integration in an IDE, the book will then introduce you to Xtend as this language will be used in all the examples throughout the book. You will then explore the typical programming development workflow with Xtext when we modify the grammar of the DSL.
Further, the Xtend programming language (a fully-featured Java-like language tightly integrated with Java) will be introduced. We then explain the main concepts of Xtext, such as validation, code generation, and customizations of runtime and UI aspects. You will have learned how to test a DSL implemented in Xtext with JUnit and will progress to advanced concepts such as type checking and scoping. You will then integrate the typical Continuous Integration systems built in to Xtext DSLs and familiarize yourself with Xbase. By the end of the book, you will manually maintain the EMF model for an Xtext DSL and will see how an Xtext DSL can also be used in IntelliJ.
STYLE AND APPROACH
A step-by step-tutorial with illustrative examples that will let you master using Xtext and implementing DSLs with its custom language, Xtend. « less
Master the fundamentals of Gradle using real-world projects with this quick and easy-to-read guide
ABOUT THIS BOOK
* Write beautiful build scripts for various types of projects effortlessly
* Become more productive by harnessing the power and elegance of the Gradle DSL
* Learn how to use Gradle quickly and effectively with this step-by-step guide
WHO THIS BOOK IS FOR
This book is for Java and more » other JVM-based language developers who want to use Gradle or are already using Gradle on their projects.
No prior knowledge of Gradle is required, but some familiarity with build-related terminologies and an understanding of the Java language would help.
WHAT YOU WILL LEARN
* Master the Gradle DSL by identifying the building blocks
* Learn just enough Groovy for Gradle
* Set up tests and reports for your projects to make them CI ready
* Create library, stand-alone, and web projects
* Craft multi-module projects quickly and efficiently
* Migrate existing projects to a modern Gradle build
* Extract common build logic into plugins
* Write builds for languages like Java, Groovy, and Scala
Gradle is an advanced and modern build automation tool. It inherits the best elements of the past generation of build tools, but it also differs and innovates to bring terseness, elegance, simplicity, and the flexibility to build.
Right from installing Gradle and writing your first build file to creating a fully-fledged multi-module project build, this book will guide you through its topics in a step-by-step fashion.
You will get your hands dirty with a simple Java project built with Gradle and go on to build web applications that are run with Jetty or Tomcat. We take a unique approach towards explaining the DSL using the Gradle API, which makes the DSL more accessible and intuitive.
All in all, this book is a concise guide to help you decipher the Gradle build files, covering the essential topics that are most useful in real-world projects. With every chapter, you will learn a new topic and be able to readily implement your build files.
STYLE AND APPROACH
This step-by-step guide focuses on being productive with every chapter. When required, topics are explained in-depth to give you a good foundation of the Gradle fundamentals. The book covers most aspects of builds required for conventional JVM-based projects, and when necessary, points you towards the right resources. « less
This book presents a comprehensive set of guidelines and applications of DIgSILENT PowerFactory, an advanced power system simulation software package, for different types of power systems studies. Written by specialists in the field, it combines expertise and years of experience in the use of DIgSILENT more » PowerFactory with a deep understanding of power systems analysis. These complementary approaches therefore provide a fresh perspective on how to model, simulate and analyse power systems. It presents methodological approaches for modelling of system components, including both classical and non-conventional devices used in generation, transmission and distribution systems, discussing relevant assumptions and implications on performance assessment. This background is complemented with several guidelines for advanced use of DSL and DPL languages as well as for interfacing with other software packages, which is of great value for creating and performing different types of steady-state and dynamic performance simulation analysis. All employed test case studies are provided as supporting material to the reader to ease recreation of all examples presented in the book as well as to facilitate their use in other cases related to planning and operation studies. Providing an invaluable resource for the formal instruction of power system undergraduate/postgraduate students, this book is also a useful reference for engineers working in power system operation and planning. « less
Your success - and sanity - are closer at hand when you work at a higher level of abstraction, allowing your attention to be on the business problem rather than the details of the programming platform. Domain Specific Languages - "little languages" implemented on top of conventional programming languages more » - give you a way to do this because they model the domain of your business problem.
DSLs in Action introduces the concepts you'll need to build high-quality domain-specific languages. « less
Advanced Internetworking Guide
Ideal for any IT professional who uses Cisco technologies on a daily basis, or anyone who is preparing for their Cisco Certified Network Professional (CCNP) certification. The topics covered will be more in depth than other introductory-level books of similar topics, and will span from layer 2 technologies more » such as switching, STP, etherchannel, and trunking, all the way to application layer security topics such as firewall inspection and intrusion prevention systems. Items being covered in the middle will include all the common routing protocols RIP, EIGRP, OSPF and BGP. Many other routing technologies and WAN protocols will be covered including Multicast, MPLS, Cable and DSL. Coverage of redundancy protocols such as HSRP, VRRP and GLBP will be examined. A thorough coverage of convergence topics such as how voice, video and wireless traffic affect the network, and what can be done to improve the effects such as QOS and queuing.
This book is a key component for any IT professional preparing for their CCNP certification, as it covers in-depth the topics tested on in all four CCNP exams:
* Building Scalable Cisco Internetworks (642-901)
* Building Cisco Multilayer Switched Networks (642-812)
* Implementing Secure Converged Wide Area Networks (642-825)
* Optimizing Converged Cisco Networks (642-485)
CD includes the exclusive Sybex Test Engine, with two Practice CCNP exams, as well as author code files.
Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file. « less