Types of Behavior Driven Development (BDD)
Introduction Many test-automation-frameworks support Behavior Driven Development (BDD), but they differ in how they apply BDD. There are at least three layers of BDD: Keyword Driven BDD Process Driven BDD Model-Based Testing Both Keyword and Process-driven will be explored in this article, while Model-Based Testing will come out next...
Read More
Write better specifications with testing
Introduction A specification written by the customer – often ends as incomplete, fragmented and with parts that contradict each other – makes it difficult to build for the engineers. A specification written by the engineer – often ends with a focus on details than on needs, and to difficult...
Read More
Definition of a test case
Introduction A test case describes the properties and behavior of a system. Knowing what a test case is, will improve your documentation, specifications, and code by making them testable and easier to read and understand....
Read More
Putting back the “engineer” in “software engineer”
Foreword What is the difference between a “software developer” and a “software engineer”? I understand that titles such as “software developer” and “software engineer” have been overused so much that they can mean almost anything today. Knowing the difference is essential, to know what value an engineer brings. The...
Read More
Layers of Complexity and when to apply testing
Introduction Testing helps with complexity, but need to be applied at the right situation, to deal with complexity, without adding increasing it unnecessary. Complexity level 0 – clarity The code is simple and easy to read. How to deal with it: No need to test it and no documentation...
Read More
Correct code can still fail
When my code fails, its not always the code that has the failure. Sometimes it can be quirks in the framework, programming language, or even the hardware itself. My code will need to deal with these quirks, for the problem to be fixed. Small values Lets take the following...
Read More