There a few things that seem to be apparent and perhaps minor from the viewpoint of a software tester. But indeed they are substantial and making these ‘small’ mistakes could interfere with the QA Process in a team.
In this article, we cover a few of these mistakes which should be avoided.
#1 Missing regression testing
So a new feature has been introduced and it works correctly. Great, but you can’t forget about other functionalities. You should always do regression testing after implementing a new feature to make sure that it has not introduced any new bugs and that the basic functionalities of the app still work.
Unfortunately, many people forget about this rule and don’t perform regression tests because they think it’s not necessary for old functionalities that ‘always work’. But it is, and you can’t assume that if something was working in the past, it’s still working now.
#2 Chaos in the documentation…
Or complete lack thereof.
Preparing test cases and test scenarios is one of the first things a software tester should do after reviewing requirements (more on software specification here). They are compulsory for efficient QA process managing. Without them, it’s really hard to define which functionalities have been checked.
Uncompleted documentation creates confusion in a testing cycle and could be the reason why some functionalities have been checked over a dozen times in one version while other features are missing and some bugs weren’t found. Executing tests with test scenarios and keeping a record of their results helps to avoid these problems.
#3 Criticizing developers
Communication skills are just as important as other skills. Efficient cooperation with team members is a key element in smooth project management.
In conversation with teammates, a software tester should consider their words carefully. Criticizing developers and their work can create a tense atmosphere in a team and in effect could delay the whole project.
A good tester should be diplomatic and careful to not offend someone by stating that the work isn’t good. But many people don’t realize how important these rules are. Often testers forget that they are in one team with developers, and they focus too much on pointing out developers’ mistakes, not on quality and the project’s vision.
#4 You still use the same data
As was said in the first paragraph, regression testing is one of the most important things in the test cycle. But even regularly executing regression tests doesn’t ensure that new defects have not been introduced. When someone is using one non-changed test scenario for a couple of iterations then they come to a moment when this scenario stops detecting new bugs – that’s a Pesticide Paradox.
Frequently, software testers rest on their laurels and don’t remember to update regression tests. Using the same data in testing becomes a routine and testers don’t realize that something is wrong in the test process because new defects aren’t being found. That’s a big mistake and test cases have to be updated to avoid the situation when critical bugs are overlooked.
#5 You take the Product Owner’s duty
Software development and the delivery of a completed product to a client depends on the cooperation of many people. Every team member has his responsibilities and tasks, which overlap and are related to each other. So, that’s why it’s essential for devs to focus on exactly what their tasks are.
It seems obvious, but there are software testers who don’t remember what is included in their responsibilities. They shouldn’t try to be a hero and do somebody’s work – for example, prioritize bugs and decide which ones have to be fixed.
That’s the Product Owner’s job and he/she knows business priorities and goals best – more info on Product Owner responsibilities in the post “The difference between a Product Owner and a Project Manager”. Stealing tasks isn’t helpful and creates confusion in a project. It could lead to wasted time for unnecessary tasks created by our mistakes.
There are many mistakes that software testers make and very often don’t realize. Fortunately, they can be quickly and easily eliminated. This will result in great improvement of software development process and team member collaboration.