The Certified Agile Tester exam

ExamI received some questions about the Certified Agile Tester exam and decided to answer them in a blog post, so that more people could benefit from this. The course will prepare you for all the parts of the exam, but if you will pass will depend on a lot of factors. At the moment of writing, the exam is available in English and in German. You must be able to answer the questions in these languages too. For the normal courses it is no problem to have some spelling or grammar errors as long as the correctors can understand what you mean, but the demands are higher for the train-the-trainer courses.

Theory

i have some questions about the nature of the examination for CAT as the description is pretty vague . What does an open questions exam mean exactly? Can you detail it a bit ? Like how many questions in the 3h, what s the general scope of the questions ? How your knowledge of written English language affects your mark(and your ability to express yourself in English for non native English speakers) ? Maybe an example of similar question to one at the exam?

The theoretical part of the exam consists of 10 open questions, directly related to the contents of the course and 3 scenarios that also have a couple of questions (this number varies). During the course you will get example questions that can be discussed with the class. Giving an example of a scenario is quite hard, but the open questions could look like:

“Name 1 statement from the agile manifesto and describe how it affects the testers in an agile team”

You will then be awarded four points for an answer containing one of the statements of the manifesto and at least three explanations of the effect on testers.

Practice

Second part of the examination aka a practical section where the examinee’s testing skills are put to the test, how exactly is that done ? There are 100 ways to test practical knowledge in my mind , how exactly it is done here ? Again maybe you can give a theoretical example in the style of the exam.

The practical part consists of testing a website which is described by several user stories. You act as if you are the tester in a team and start working on planning your time, deciding what and how to test followed by actually testing the website. The increments to the website can be deployed, so you will see some bug fixes and some new bugs throughout the exam. Note that you have to write down a lot, to give the corrector a good impression on what you planned to do, what you actually did and why you did or did not do certain things. During the course we will work on a website too, this will prepare you for the exam.

Focus

The certification is focus on the Scrum “flavor” of agile development or it s general including Extreme Programming ,Crystal etc? I m asking mostly because from what i ve read already some of the “flavors” (in this case Extreme Programming) diminish the role of the professional tester to the point that it s just a hat the developers wear at some points in a iteration.

The main focus of the course is on the Scrum flavor. We do talk a bit about some other flavors and some of the questions in the theoretical part can deal with another flavor than Scrum. By the way, I do not agree that with Extreme Programming the professional testing is just a hat the developers wear. Never completely rely on the books you read, in practice you will see more use for testers!

Certified Agile Tester

CATLast December I became a trainer for Certified Agile Tester (CAT). Following the course has been very intensive, but really great! Four full days of training, with a couple of hours every night to keep up with the provided material, followed by an exam. The effort paid off and I passed the exam, so since then Polteq can offer the training!

Giving this training feels great. Seeing how your students evolve in using Agile and getting more comfortable every day is very satisfying. This course actually has all the elements that I mentioned in my post on good courses. Every day starts with explaining the theory (and exam material) to the students alternated with discussions. All the students actively participate in the discussions, allowing them to learn from each other’s experience. Another part of the day is a practical exercise, where the students work together in teams to experience what working in Agile teams is like.

Not only the students are learning from this course. Every discussion we have, provides me with more examples that I will be able to use the next time. Tomorrow will be the last day of exam preparation and I want to wish my students all the luck with their exam on Tuesday.

Building blocks of a good (software testing) course

PracticeIn my opinion a good course will contain theory, experience based stories and a practical part. Each of these will deliver value to the participants in its own way, therefore I think all these elements need to be present in every course. No software testing course can be complete without some actual testing in it.

Theory

Theory is considered to be boring by most of the participants, but it’s necessary! The theory will provide some common understanding of terms and definitions that can be used throughout the course. Of course the theory is best accepted by participants when it’s backed by experience based stories, but these stories alone will not suffice to bring the message. It’s up to the teachers to deliver a good mix of theory and experience based stories! The theoretical part of the course is actually a guideline for the teacher, so no relevant subjects for the course are forgotten. Since a course is usually not limited to a single teacher, the theoretical part will make sure that the minimal need information to make the course worthwhile is delivered every time.

Experiences

In the previous paragraph I mentioned that it’s up to the teacher to deliver a mix of theory and experience based stories. Beware for courses where the teacher lacks personal experience in the provided content. However, the teacher is the only one that provides experience stories. A good course will use some form of discussions to let all the attendees share their knowledge. Stimulate all attendees to participate in discussions. Where one person sees problems, the other already tackled these. A good teacher will learn from these discussions and will be able to provide more information every next course. It’s important to acknowledge that you, as a teacher, do not know everything. Also give credit to the attendees and tell them that you will use their input to improve the course.

Practice

To improve the chance that the information in a course sticks with the attendees; always make sure to have some exercises. In the case of software testing, make sure there is some actual testing in the course! Challenge all the people to actively try to make the topic work for them. To really learn something, people need to apply the learned in their own context. Soft skills are important for testing too! Help people develop their soft skills e.g. by letting them present a part of the course and than using the group to give feedback.

What makes a good course great, is a follow up session after the course. Let the attendees try to work with the material in their context and then let them tell how it worked out. As a teacher you’ll learn how the provided material will work out in different contexts, preparing you even better for next courses.

Conclusion

Theory is needed to provide the context for the course. Add stories based on experience to emphasize how the theory can help in real world situations. Let people practice with the provided material, enabling them to apply the material in their own context.