Good programming foundations can strengthen your take a look at automation, creating it simpler to manage screening code, and lower stress. A foundation of the concept and basic concepts of coding and programming can help to carry check automation to the up coming level. Object-oriented programming ideas can assist to get over code smells.
Christian Baumann spoke about take a look at automation at Agile Tests Times 2022.
Baumann described that a lot of testers are “thrown” into examination automation with out a profound history in programming, or with out obtaining received any good education. These people today have some plan of what device to use and managed to develop some automatic tests with it. At a particular issue, they suspect that some thing is not very ideal with their automation, Baumann mentioned. The code feels messy, protecting it prices a ton of time, and it’s incredibly disheartening.
It would be wonderful if everyone carrying out examination automation would get a correct foundation in conditions of the principle and essential rules of coding and programming, Baumann said. This in order to also create high quality automation code.
Baumann gave an example of how to use object-oriented programming ideas in our take a look at automation:

We can use the item mom pattern which uses the item-oriented principle of “abstraction”. This suggests, it hides interior implementation specifics, and reveals only approaches that are vital to use it. How take a look at objects are established in detail, how they are deleted from the database, how they are modified for the duration of a test – all of that is not vital for the person to know all that the person requires to know is that these methods exist and can be known as.

Applying item-oriented programming concepts can also aid to triumph over code smells, as Baumann spelled out:

Eradicating code smells usually means, to improve the code, with out altering the code’s conduct, which generally is the definition of refactoring and for refactoring, we need to have unit tests as a basic safety web, so we know that with our improvements we did not crack anything at all and the code is still working as intended.

Baumann recommended that examination automation code really should be valued and addressed as the creation code of the purposes we are developing, to protect against operating into comparable challenges.
InfoQ interviewed Christian Baumann about programming foundations for test automation.
InfoQ: What gain can item-oriented programming concepts provide?

Christian Baumann: Implementing object-oriented programming ideas in examination automation code is of wonderful aid, by making the code considerably less prone to faults, and also creating it less complicated to read through, understand and maintain.

InfoQ: What can be finished to choose very good care of our exam facts?

Baumann: In the context of exam automation, I believe the most effective technique to deal with check knowledge is that each individual check is liable for its incredibly have details. This usually means that each individual examination generates the examination data it wants as element of its take a look at set up. At termination of the test, the knowledge is becoming deleted once more from the system, leaving the check natural environment in a thoroughly clean point out.


The object mom pattern can be of great assistance in undertaking so. It starts with the manufacturing unit pattern and supplies prefabricated objects that are all set to be utilized in exams by using a basic strategy connect with. But it goes considerably beyond the manufacturing facility pattern, since the created objects can be customised also test objects can be updated all through the examination, and moreover -if needed- at the finish of the test, the object is staying removed yet again from the database.

InfoQ: How can we acknowledge and get rid of code smells?

Baumann: In get to identify code smells, just one requires to know them. Thus, as a programmer (what we are if we create examination automation code), we need to have to understand and research them.


For selected code smells, particular “recipes” can be applied to eliminate them for illustration, implementing the OOP theory “polymorphism” helps to eliminate the “swap statement” code smell as properly as the “far too several arguments” scent.