David Alves:
So, Integrated Quality™, where do we start. Well, despite approaching Agile practice from a QA Engineers perspective, we want to first say that we are big believers in Agile, and of a lot of the groundwork our Agile guru forefathers have laid down for us. This is a broad statement, as Agile can mean many things to many people. Of course we cannot talk about all approaches, all tools, and the associated domain nomenclature for each. So, for this journey, we have chosen to focus on what we consider the most popular or widely used paradigms. If we do not use your particular form of Agile, or your specific test tools, etc., it truly does not matter, as the concepts will be universal. While we may not provide step-by-step examples for your particular environment to follow, with a little bit of effort and learning on your part, you should be able to apply the concepts in any environment. If you really get stuck, drop us a quick email, we've worked with most tools and environments. If time permits, we will do our best to give you a quick, helping hand.
So, to be more specific in this endeavor, let me outline some examples of choices we've made for this discussion series. We will use "SCRUM" for our Agile model. For an IDE, we will use Eclipse(though personally I love NetBeans. In the future we may substitute the Spring Tool Suite for Eclipse as appropriate). Our build automation tool will be Maven. We will use Jenkins for Continuous Integration (though I am very fond of Bamboo). Java as our primary programming language (Greg might occasionally delve into Groovy, he loves it). Cucumber as our primary BDD/TDD framework, amongst other things, and finally, we will use Selenium for our GUI, cross browser testing. In fact, in the next few days to a week, I will put out an in-depth, step-by-step video that will show you how to setup all of these components, while I explain their use for those not familiar with them, and eventually show you how you can create automated acceptance tests that can be run in your Continuous Integration Environment, using Selenium IDE (no programming; maybe a little tweaking here or there). A few days after this, I will introduce a tool I have created (free of charge), that will allow you to manage these test cases you have created, and easily allow you or others to quickly create new test cases, using common, natural language constructs. Somewhere around this same time, my colleague, Greg Margolin will show you how you can write JMeter Performance Tests using natural language constructs, and incorporate these into your Continuous Integration Environment. So why are we starting with Automated Acceptance Tests? Quite frankly, this is the place where most QA Engineers are most comfortable when it comes to Automation. Automating at the GUI level. Therefore, we figured we'd start at a place that we are all familiar with, and use it as a platform to introduce many other tools that you will need to become familiar with (if you are not already), if you are to truly participate in the Integrated Quality ™ the Agile process.
Also, during the course of this journey, you will see us use a lot of Open Source. We love Open Source. However, there is always a place for commercial tools as well, and we have worked with most of the big names. So, as we progress on our journey, we will let you know why we chose certain tools, when and why we felt they were appropriate, and when and under what conditions certain commercial tools might be a better choice, and hopefully we will be able to demo these for you as well (assuming we can do so without violating any license agreements).
Getting back to our Agile forefathers. You will be hearing from us again very shortly, as mentioned above, so stay tuned. In the meantime, a great book that we reference regularly, and agree with and follow many of its tenants, is "Succeeding with Agile" by Mike Cohn. If you have time, and wish to pick it up between now and our next newsletter blast, read chapter 16 on Quality. More important however, pay particular attention to the part that speaks of the "Automation Pyramid". You can also find more on the "Automation Pyramid" here, by Martin Fowler. Contrast this with what we see much more often in practice, the "Automation Ice Cream Cone Anti-Pattern". Which pattern does your organization more closely follow?
(David Alves is CTO of Global Quality Partners)
posted by: David Alves
Recent Comments