Manual testing in creating a valuable product
What is manual testing? Who is the manual tester?
Adjective manual means “made by hands”. So we are talking about “testing that is made by hands”. Often such tester is considered as “simply a >>clicker<<”. To some extent it is true – there is a part of product development process where such person is clicking using web or mobile interface. Although it is not the full picture.
Second term that is very common is “the destroyer”. In my opinion it is a little bit closer to the truth. In fact the role of the tester is to determine the level of risk associated with the implementation of the new software.
When to start software testing?
It is a good habit to test on every stage of software development. We should start it before any app’s code is written. When we receive the first specification and requirements we may notice first imprecisions and logical incoherence. Some things may mutually exclude each other. Some may not be a big issue or be irrelevant. For example some parts may only be there for the convenience of developers. But sometimes even the innocent absence of information may have serious consequences and cause financial losses or legal issues.
Finding an error at a later stage is connected with higher repair costs. There are apps in which the matter of computational put rounding may be very important.
What does a tester deal with?
On the Internet you may find many images brutally showing hard relations of developers and testers. Even though we share a common goal which is to create a good product, conflicts are very common. Sometimes you may understand the app’s requirements differently. Thus it is useful to introduce testers and developers to those requirements at the same time. Preferably during a joint meeting. You may look at the same number but from a different perspective. One of us will see the 9 but the other 6 😉
It is important to cooperate when somebody asks. Sometimes something might be obvious from their point of view. Or we may think it does not need further clarification. That’s why good communication makes our job easier and improves our chance of success.
Additionally during the tests we consider many environments in which the app might be used. Sometimes a developer will check his code and say the famous phrase “works for me”. The same code for the tester with different software configuration, different browser and so on, may come out as something totally broken.
And that’s when the good teamwork abilities come in handy. We may express differently that something is not working and we may differently receive such information.
We may ask questions in various ways and answer them in various ways.
Asking for the project details is often a very valuable skill.
For me as a tester, the worst stress is related to whether a given part of the product will come to me early enough for me to actually test it properly.
Working on the product is a job for more than one person. That’s why in a job where computers are an inherent part of the creative process, things like understanding, respect and empathy are also important if not necessary.
Should every application be tested?
In my opinion, yes. Apps have different complexity. But even the simple ones may have critical areas.
Even tiny changes in code may cause huge problems with the app’s functioning. Sometimes it is not the matter of things that first come to mind when we think about vulnerable spots.
Once I have read the anecdote: “software is such a thing, where painting the garage door may cause the ceiling in the living room to fall”. Oh, yes!
Product of great value is a product that fulfills its purpose even when it comes to the less normal conditions. For example, when the user wants to do something less obvious, but still in a range of requirements that this product is supposed to meet.
This is why tester is also a co-creator. He/she “decodes” for various users. He/she asks him/herself questions about how people think, how they behave, how they feel. What scenario can happen and is our app even able to handle it?
Is the system’s logic adjusted to human logic? Is the app well designed? Maybe we can enhance its usability? Trying to get inside user’s mind, trying various scenarios, that’s the most interesting part of the process.
Software testing allows to point bugs at the early stage of software development. It helps to lower the maintenance and fixing costs. Testing may also improve User Experience. This is why the software testers have got a huge impact on end user comfort. All of that helps to create the high quality product and gain the customers’ trust. And this trust cannot be overestimated.
Do you need our support? Contact us.
We know how to paint every door without destroying the ceiling 🙂