What makes developers more important than testers?

Should a developer also act as a tester? [closed]


We are a scrum team made up of 3 developers, 1 designer, the scrum master and the product owner. However, we do not have an official tester on our team. One problem we always have is that testing the application and passing those tests as well as removing bugs have been defined as one of the criteria for considering a PBI (Product Backlog Item) done.

But the problem is that no matter how many times we (3 developers and 1 designer) try to test the application and implement use cases, still some bugs will not be seen and ruin our presentation (Murphy's Law) to the stakeholders.

As a remedy, we recommended that the company hire a new tester. Someone who's got their job would test and just test. An official professional tester.

The problem, however, is that Scrum Masters and stakeholders believe that a developer (or designer) should also be a tester.

Are you right Should we developers (including designers) also be testers?




Reply:


Ex ante: There seems to be a lot of confusion about what is considered testing what is not. Sure, every developer has to test their code as they build it. He has to check that it works. S / he can't give it to a tester until he / she thinks it's done and good enough. But developers don't see everything. You may not spot any bugs. These bugs cannot be found until later in the development cycle, when thorough testing is done. The question is whether or not developers should be doing this type of testing, and in my humble opinion, this needs to be viewed from a project manager's point of view:

Developers can be testers, but they shouldn't be testers . Developers tend to inadvertently / unconsciously avoid using the application in ways that could break it. That's because they wrote it and, for the most part, tested it the way it should be used.

A good tester, on the other hand, tries to torture the application. His / her primary intention is to break it. They often use the application in ways developers would never have imagined. They are closer to the user than to the developer and often have a different approach to testing a workflow.

Using developers as testers also increases development costs and has less of an impact on product quality than a dedicated tester. I wouldn't let developers test each other's works if I could have a tester do it for me cheaper. Only if the feedback loop between developers and testers became too expensive would the developers have to overlay each other's code, but in my experience this is rarely the case and it is very process dependent.

That doesn't mean a developer should be sloppy and leave everything to the tester. The software should be backed up by unit tests and technical errors reduced to a minimum before the software is handed over to the tester. Still, sometimes you have here error fixed it are problems or other bugs that no developer could foresee, that's fine. In addition, integration testing should mainly be done by the developers. The main goal of the tester is to check that the requirements are met.

In such a small team (and also depending on the size of the application) I can also see the tester in a hybrid role by writing unit tests and UI tests. You should definitely rent one .

However, more important than the tester are regular freezes / branches. Do not present anything that has not been properly tested. Whenever you've added a feature or changed something, everything around it needs to be checked again. You will only get a bad rap if your company doesn't. Don't leave anything unstable. If the customer wants the software by any time, stop development early enough and test it properly so that you have enough time to fix bugs. Often times, it is better to reject feature requests at the last minute than to implement them poorly or to release them without proper testing.







Developers can be testers - of other developers' code.

However, testing your own code is not a good step. Developers tend to be concerned about their own code and therefore have difficulty designing comprehensive or appropriate tests.

There will always be developers who think they're doing this well, but usually don't (and I know I have a lot of blind spots).

If you REALLY can't hire a tester, let the developers test each other's work. So when A writes the code and runs unit tests, lets B review those unit tests and see if anything else could be added. And let B try to test the code (as a user) and report bugs.

This isn't perfect, but it's better than a single developer trying to do it all.

Sometimes your co-workers can be really good at damaging your software because they enjoy it and they don't care that much - because it's not YOUR code.







Should the journalist tend to write correctly? I mean, it's up to the proofreaders and editors to find any grammatical errors.

Nevertheless, journalists offer some spell checks themselves. Nevertheless, the proofreader is an independent and important profession.

The same goes for developers and testers, except that quality assurance is an even more important part of development. Even if you're a good developer, you don't have time to thoroughly test all of the test cases to cover all of the environments, browsers, and operating systems your product supports.

If you not only develop yourself, but keep doing this job, that means just one simple fact - he's a part-time tester.


Regardless of how often we (3 developers and 1 designer) try to test the application and implement use cases, some bugs are still not seen and ruin our presentation ... to the stakeholders.

Consider doing a "controlled run" for a sprint or two to keep track of developers and testing efforts separately. At the end of such a run, analyze the data collected to find out how much effort you put into testing.

If you find that testing is taking a lot of effort, share this data with management. This is a convincing evidence for your request (much more convincing than before).

Otherwise (if you find that testing is very slow) you should put extra effort into getting it better (or learning how to do it). Discuss that additional effort den You plan to work with your management as it may be preferred to hire a tester instead. :)


... we recommended the company to hire a new tester. Someone who's got their job would test and just test. An official professional tester.

The problem, however, is that Scrum Masters and stakeholders believe that a developer (or designer) should also be a tester.

I have to admit, the management of your company looks pretty lame to me. I mean - ok it can be very difficult to figure out how many Testers are best suited for the project, okay.

But to have at least one tester is just a sure thing - really funny that she is hesitate to give it a try while calling yourself refer to scrum / agile .


Well, we had two developers cross-test after the first made some changes to an input screen. This was when our normal tester was on maternity leave.

It basically changed an invoice list screen that users used to select invoices before zooming in to edit anything via an "edit" button. The original list has been discarded and a new grid view has been added, with filtering, grouping, sorting and all sorts of cool features.

The tests went great and they sent the changes to the customer the next day. Two weeks later the customer calls and says, "We like the new one you entered and we can see all kinds of information now. But ... um ... where do we go to process the invoices now? ?? "

It turns out that the developer has cleared the check box (to choose from) and the "Edit" button. Since the developers always double-clicked to select an item anyway, none of them found a bug.

Developers and users live in different worlds. Cross-testing is better than having the developer test their own work, but it's still not quite the same.



As others have already said here, the developers can test each other's code (unit or function tests), and your scrum master and product owner may be able to help with the integration test. However, for the user acceptance tests, make sure you get the code Lots of feedback from the Testing of Customers - this means that he often Can be used the way real users do, and through a really open communication channel .


You should look for testability, but if you don't have a dedicated tester, some things just slip through the loop as there aren't enough hours to design, implement, and test software.


Testing software is a full-time occupation. It takes a good brain, talent and a lot of experience to become a good tester. It is ridiculous to assume that no matter how clever a software developer can get close to a professional tester when testing is only a small part of their daily work.

There is also the problem that the software developer unconsciously does not find any errors would like to .


I agree with their point that developers / designers should test their code on the grounds that the designer / developer who created a section of code is not the only set of "eyes" for that code before it comes to life Committed. While that's not all, it at least helps avoid the blindness that creeps in when testing and retesting your code during development.

From the mention of the use case, I'm assuming you are also using code coverage tools? Otherwise, it can be helpful to determine what code may not have been tested and, under certain conditions, you may experience unexpected errors.

That being said, if there is enough work or your organization is a decent size, I would agree that it needs a professional QA person who would help bring everyone's roles a bit more focus, and they could see if, too there are any patterns for it to be missing, and more importantly, how to fix it.

We use cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.

By continuing, you consent to our use of cookies and other tracking technologies and affirm you're at least 16 years old or have consent from a parent or guardian.

You can read details in our Cookie policy and Privacy policy.