Author: Damian Kęska

Legacy code and faster automated tests

The larger a project, the harder it is to test the code, and with most of the tests being functional we have to face the problem: we finalize the task, the user story, or close the entire sprint and we have to wait for the tests for hours. This process can be vastly accelerated, even in legacy applications from the era of the PHP 4.

Above all, it is worth introducing unit tests into the new code extract dependencies outside the code and test what is actually being developed. The tests are supposed to check our logical code, not the library or ORM. The introduction of unit tests is, however, a long-term step that does not give immediate results, which is why I’d like to show you what can be done on top of that.

Firstly, it must be said that one could write a book about the subject and still barely scratch the surface, so I’ll keep this article very brief and only touch upon the practical aspects based on my own experience – assuming a more difficult scenario, when the project has a lot of tests using the MySQL database.

Read more...

Legacy code i szybsze testy automatyczne

Gdy projekt jest bardzo duży, kod ciężko testowalny, a większość testów to testy funkcjonalne – mierzymy się z problemem: kończymy zadanie, user story bądź cały sprint i czekamy na testy godzinami. Można to przyspieszyć, nawet w aplikacji pamiętającej czasy dinozaurów chodzących po ziemi.

Przede wszystkim warto wprowadzić do nowego kodu testy jednostkowe – wydzielić zależności na zewnątrz naszego kodu i testować to, co naprawdę tworzymy. Testy mają sprawdzać nasz kod logiczny, nie biblioteki czy ORM. Wprowadzenie testów jednostkowych to jednak krok długofalowy, niedający natychmiastowych efektów – dlatego pokażę, co można zrobić oprócz tego.

Na wstępie powiem, że można by było o tym napisać książkę, natomiast artykuł ten będzie przedstawiał temat w bardzo wielkim skrócie, w zasadzie poruszę w nim praktyczną koncepcję na bazie własnego doświadczenia – zakładając trudniejszy scenariusz, kiedy projekt ma sporo testów używających bazy danych.

Read more...

We use cookies to enhance your user experience. By continuing to browse the site, you are agreeing to our use of cookies.
Read more