Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Quality assurance in small developer teams

Tags:

qa

Ideally, in a project, you will have developers, testers, QA manager(s) etc which all make their contribution to the quality of the code. But what if you don't have that kind of resources? If you just have, for example, three developers and don't have the resources to hire a full time QA manager, how do you assure that the code quality meets set standards?

What kind of things do you pay attention to in quality assurance? Quality isn't just about the code doing what it is supposed to do (code is properly tested with automatic tests). Quality is also about the code being clean (readable, maintainable, well structured, documented, etc).

I'm looking forward to hear what kind of processes you have applied to your team to assure that the quality meets the set standards. We've applied a process where we rotate the QA role between the developers. Each developer is responsible for QA one week at a time. Each changeset is revised and checked that existing tests pass, required new tests have been written, that the code is clean and, of course, that the project builds.

Edit:

Of course, some of this process can be automated with CI, but what I'm looking for is experience of the human factor. I mean, how do you make sure that every developer writes clean code and actually tests everything. Test coverage doesn't tell you if everything has been tested (from an automatic perspective, it's practically impossible to achieve 100% coverage) unless you inspect it manually. And even if the coverage would tell you that something has been tested, it doesn't mean that the actual test tests for the right thing.

like image 487
Kim L Avatar asked Apr 17 '10 06:04

Kim L


People also ask

How does a QA work with a developer?

At the beginning of a Sprint, QA might have questions about features, data, or end point information. During the middle of testing, QA will find issues and file bug reports for developers. And at the end, developers and QA will work together to make sure the release launch happens smoothly.

Can developers do QA testing?

Developers can test their code to eliminate many defects. And QA testers should tackle the defects in customer workflow or in the full spectrum of application functionality that can be missed with developer-based code testing.

Is QA part of development team?

QA is an independent organization, completely separate from the development team. QA is involved with the development team at specific joints, such as planning, defining UAT, etc. QA is usually shared across multiple feature teams. Each development sprint is followed by a QA Sprint.

What is the ideal QA to developer ratio?

Complex projects require more people to connect the dots, or specialists who know how to find bugs in particular knowledge domains (such as security testing or mobile applications). That may justify hiring someone with particular knowledge. That boosts the “standard” ratio to one QA tester for every two developers.


1 Answers

Do you use any Software Development Methodology, like e.g. Scrum? Scrum is one nice Agile way of working, but there are other good processes too.

We use Scrum. This is a good way to make our teams efficient, but it is also a good way of introducing rules to the way we develop software. Like you - I'm part of a small team. Unfortunatelly we're not blessed with a QA department or any dedicated QA people. Work done during the Sprint should be potentially shipable, so the developers in the team needs to handle the QA job.

In Scrum and e.g. Kanban you use a Task Board to keep track of the current Sprint, and these boards often have a column for tasks awaiting approval by QA. What we do is that when a task is done we move it to "Ready for verification". And then another developer on the team does the QA job. He will:

  • Assure that the new functionality does what it is expected to do/bug has been fixes/etc.
  • Verify that there are sufficient unit tests
  • Do a quick code review to check that the code looks clean and understandable

If there is something not satisfactory in the review he will move the task back to start, and it needs to be fixed before it can enter another QA session.

None of us really have any knowledge about QA, but we experienced a lift in code quality after introducing the verification.

like image 118
stiank81 Avatar answered Sep 18 '22 14:09

stiank81