Automated & continuous testing is essential to modern software development. It is known to drastically reduce the bugs in the produced software. On the other hand it is also well established that software defects cost a lot more the later they are fixed. A bug introduced during requirements or architecture costs up to hundredfold to fix in production compared to an immediate fix. Thus, it is necessary to fix as many bugs as early as possible which means that you should start testing your software now.
The problem with introducing testing is that there are many different approaches to it. Different approaches to automated testing have different constraints and different benefits to them and each have their own unique use depending on the scenario. For some test types even the code requires adaption to be tested in a sensible way.
Finding the right way for your team & project is not a trivial task, but a task on which you should get started as early as possible. There are a lot of potential stumbling stones where experience from other projects is essential to surpass them.
The first step is to know about the different testing strategies which can be implemented in your project. You must know about the different drawbacks and benefits to be able to discuss the best strategy four your team, budget & and project.
Afterwards your team should learn the basic techniques. This involves setting up PHPUnit for your project and learning how to implement the different types of tests. Afterwards those tests can be applied to newly developed software or existing software to ensure it will not break again. An agenda for a training on automated testing can look like:
We usually suggest accompanying such a training with a training on Clean Code & Object Oriented Design to show how testable code looks like.
We are offering a newsletter with technical articles you can register for right now.
At Qafoo we practice testing for more then 10 years in projects of different sizes – from small playground projects to large scale enterprise projects with more then a million lines of code. We worked with many customers on optimal testing approaches for their team, budget & software. We already introduced testing in many companies, so that we will also find the right way for you to start with automated testing. We know every stumbling stone you will come across and already jumped over it several times. By sharing this knowledge we will significantly speed up the introduction of tests.
We can help you to test existing code but this usually also requires refactoring of your code. It gets easier the earlier you start to employ it which is why you should start now and book a workshop for your developers.