During the recent introduction of the Unit Testing Beta, Fernanda Sesto from Abstracta explained what it is about.
What is Unit Testing?
Unit testing is a method for testing individual units of source code to determine whether they are fit for use. The purpose of unit testing is to separate all parts in the program and test whether each individual part is actually functioning as it should.
To test business logic in GeneXus in an isolated, quick and repeatable manner, the programming must be done with GeneXus procedures, which are the only way for encapsulating business logic code and re-utilize it on different panels/objects.
Why Unit Testing?
Unit Testing is an aid in detecting issues at an early stage in the development process, thus saving on future costs and bugs, and without affecting any other software parts. It also represents an opportunity for a more robust, reliable, and stable code. Also, detecting and fixing bugs proves much easier when found in a unit and not throughout the whole system.
Additionally, the creation of unit tests will enable the GeneXus Community to apply continuous integration, and to join agile methodologies and DevOps practices, thus enhancing the software development process and yielding better-quality products.
The image below represents the typical test automation layers, being Unit tests the fastest and the cheapest. On the other hand, UI tests are quite slow and more expensive.
Who can create Unit Tests?
Unit tests are typically written by developers as they produce the code but seasoned testers with basic GeneXus knowledge could also create them. They may be run using GeneXus IDE without any other tools, isolating failures.
How to create Unit Tests in GeneXus
You can find a step-by-step tutorial on how to create unit tests here.
How to start using it
Go to www.genexus.com/tero to be enrolled in the Beta Test process of the upcoming version of GeneXus 16 and install the version available for downloading.
To try it on GeneXus 15, go to GeneXus Wiki