Qafoo GmbH - passion for software quality

To stand apart, with confidence in one's own beliefs, is one of the greatest challenges for an innovator. By providing inspiration, our expertise helps you fly further and faster.

Continuous & Automated Testing

German Version

Automated & continuous testing is essential to modern software development. It is known to drastically reduce the bugs[1] 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[2]. 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.

What Can Be Done?

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:

  1. Learn the basics of Unit Testing with PHPUnit
  2. Learn about test doubles and integration testing
  3. Learn about functional tests with PHPUnit and Mink
  4. Find the right test mix for your team & project
  5. Start testing your project

We usually suggest accompanying such a training with a training on Clean Code & Object Oriented Design to show how testable code looks like.

Stay up to Date With Our Newsletter

We are offering a newsletter with technical articles you can register for right now.

We Can Help

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.

Customers

Clients who already trust Qafoo.

Blog

Technical insights in our blog.

Presentations

Presentations we gave at conferences.

Related Posts From Our Blog

    Get In Touch!

    1. "Realizing quality improvement through test driven development: results and experiences of four industrial teams" by Nachiappan Nagappan, E. Michael Maximilien, Thirumalesh Bhat, Laurie Williams (link)
    2. "Code Complete (2nd ed.)" by Steve McConnell (ISBN 0735619670)