Coding & Test Automation Uncategorized

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 week. Before BDD Linear scripting is about hard coding each operational test step in a test case. Tools for capture and replay of user actions is just…

Continue reading

Testing (How & Why) Uncategorized

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 for the business to read/understand. So how to do it? By using Given, When, Then! Understandable Lego and IKEA have some of the best manuals/documentation, because…

Continue reading

Coding & Test Automation

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 craftsman A craftsman can build a solution. A good craftsman will also test if the solution works and try to make it work. Software developers are craftsmen.…

Continue reading

Coding & Test Automation Testing (How & Why)

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 needed. Avoid comments – because you will need to maintain both the code and the comments. Outdated comments confuse more than help. A single comment can…

Continue reading

Coding & Test Automation Misc. fun

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 algorithm: The algorithm is correct and working as intended, but the foundation has a quirk, that needs to be taken care of. In Python, JavaScript, and…

Continue reading