Greg Margolin:
We want to approach Integrated Quality as a practical journey during which we and our audience will learn to organize and weave together agile processes, sound testing principles, and the use of tools. Above all we want to show a way for traditional QA teams to be productively involved in the Agile process.
So, let's begin by establishing where we are. When Martin Fowler talks about test pyramid, a concept introduced by Michael Cohn, he mentions an anti-pattern known as the ice-cream cone.(graphic by WatirMelon)
That is, according to the test pyramid, UI level testing should be at the top, the middle section is occupied by the service layer, and at the foundation of the pyramid are unit tests. So far, so good, but in a real world the situation looks upside down. Hence, the ice-cream cone -- with lots of UI testing, a bit, or a lot of it automated, less service level testing (if any at all), and very few unit tests.
Since, we vouched to start our journey in the real world, and climb the mountain step by step, our first step will start at the ice-cream cone level. That is where we will start by showing how to incorporate traditional UI level testing into Agile processes and how to monitor feedback in the process.
In this installment of GQJournal, we provide two educational videos, where David Alves shows how to incorporate Selenium testing in Behavior-Driven Development. The benefit being that UI level tests are tied to corresponding user stories via the use of a BDD tool. For this series of videos we have selected Cucumber as our BDD tool of choice. Our approach is to be tool and vendor independent, this said you have to start with something, and Cucumber is a very able and popular tool for incorporating BDD. These videos are, of course, just a start. We fully intend to change the anti-pattern into the more acceptable test pyramid pattern during our work together. After, incorporating UI level testing, we will move to service and unit test levels, and will pay special attention into incorporating testing of non-functional requirements (performance, and security to begin with) into the process. We intend to show how to effectively monitor and measure testing activity with a focus on tangible metrics. In the process of testing we should be able to answer such questions as -- what is the duration of our test cycle? Is it effective? How do you measure effectiveness? Is our testing efficient? Do the involved groups have a common method of communication?We will start by eating the ice-cream cone, but we will be counting the calories.
posted by: Greg Margolin
Comments
You can follow this conversation by subscribing to the comment feed for this post.