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!

Lacking test data

test dataMost testers will have faced problems with test data. Recently I was facing problems again… The specific data that I needed was only limited available on the test environment. In some cases I would have chosen to skip some of the tests, but in this case it involved a high risk area. One way of getting more test data was just creating new data via the normal way that you would create for instance new customers. So that’s what I started to do, create the specific sets of customers that I needed for my test cases. It took a lot of time to create this, but since the high risk, I decided it was worth the time.

With a lot of nice data prepared, I could finally start executing the tests that were needed to provide insight in the new functionality. The first couple of test cases passed, but after that the failing wouldn’t stop. The first couple of cases were meant to work with newly created data and therefore the data was correct for the test cases. The more complex test cases demanded historical correct data, which is not easy to fake. At that point we made the decision to refresh the test environment with a newer set of transformed production data. This set would have more of the data that I needed, but it would also take out the complete test environment for at least one day. This needed aligning with other people that used the test environment, but in the end we agreed on a time frame.

Too bad… the refresh of the environment failed due to low disk space. So we lost a complete day of testing and we gained nothing. We actually lost another day to restore the test environment to a usable state. We are still not sure on how to test the parts that need historical data without completely faking it. This faking takes too much time and I still wonder about the validity of the test when all data is fake.

Test data is crucial for the testing, so please also test how to do backup, restore and refreshing of environments!