What is testing?

Or, what do I think testing is? What an easy question. Or not? In my opinion, it is not that simple. First of all, there are so many levels, types and techniques, which even makes the choice difficult. Of course an article is not enough to touch all the points, but let’s try to write down some ideas.

Most of my experience is in software qualification tests, or system tests. The highest level, almost like acceptance tests. They can be considered use cases that any final customer could face in the regular use of the software (or system).

Over the year, testing has changed a lot. During my early experiences back in 2005, the focus was still on manual tests, while the automation had less importance. Fortunately, this mentality has changed and now most of the companies are willing to use the latest technologies in terms of automation and continuous testing.

However, we should not ignore manual tests. While automation is perfect to test against regressions or when high precision is required (for example, sending signals with a specific interval), manual tests still represent a good chance to find bugs in the software. Exploratory testing, executed by experienced test engineers, can be very effective to improve the overall quality.

The main goal of software testing

The main goal of testing is to ensure the best quality of the software/system under text. To do so, we need to carefully plan and organize the testing activities. It should be regular, controlled, performed at the earliest stage possible and documented. Metrics are also a key player. Tooling as well.

To fully describe testing I should probably publish a book, but this is just and introductive post, the first small chapter of this website.

In the other articles I try to explore more aspects of software testing, going more into details and reporting some of the activities I have done in my career.

So, do not stop here and explore the rest of the website!