-1

I'm not a software engineer, but I like coding for myself. Thus, I don't know what goes in IT companies.

Keeping the amount I spend on GitHub, I never heard of the term QA/QC in regards to open source. The most related term I've heard is unit testing.

Is my assumption correct?

  • 2
    No, it isn't. In principle, QA can (and should) be part of any robust team, including an open-source one. Open-source projects that are funded by corporations almost certainly include a QA team. – Robert Harvey Jan 22 at 21:48
  • 1
    QA/QC are generic terms applicable to any production process. – Martin Maat Jan 22 at 22:47
  • 1
    "SQLite is open source. This gives many people the idea that it is not well tested as commercial software and is perhaps unreliable. But that impression is false. SQLite has exhibited very high reliability in the field and a very low defect rate, especially considering how rapidly it is evolving. The quality of SQLite is achieved in part by careful code design and implementation. But extensive testing also plays a vital role in maintaining and improving the quality of SQLite." -- from here. Open source and quality are independent concerns. – Erik Eidt Jan 22 at 23:28
4

The term QA (or Quality Assurance) may not be used often in open-source projects, but a large number of projects do have QA practices.

The term QA does not refer to a team of testers, but rather it refers to practices that are designed to assure the quality of the product remains high. These practices include, but are not limited to

  • code reviews (possibly as part of a pull-request)
  • automated testing on different levels (either by the developers themselves or by dedicated testers)
  • manual testing (with documenting what has been tested and how; either by the developers themselves or by dedicated testers)

The (documented) manual testing might be done less on community-driven open-source projects than on projects done by a company team, but the other practices are well established in the open-source community.

1

Having a dedicated QA team in the way that proprietary software often have makes less sense when you have an open development process and openly accessible bug tracker, as a good chunk of your most important users will be watching activities in your repository, testing prereleases (nightly/alpha/beta builds), filing bug reports, or even be involved in the development process, so that undesirable change in direction, bugs and regression are often discovered that way.

All in all though, many open source projects do have formal QA process with dedicated QA teams, for example Firefox, Debian, Gentoo, LibreOfice.

In general, automated testing and continuous integration and testing build system is vastly preferred in open source world, because in open source projects people and volunteers come and go, but automated tests will stay around. The efforts needed to document a manual testing processes and train dedicated QA members are often not much less than the effort needed to automate the test. And users who runs nightly/alpha/beta builds fulfills the needs that are normally filled by QA.

You may also notice that in many open source projects the role of QA may often cross with community participation activities, this is because QA is generally the easiest way for non technical users to get involved in the project.

Also, don't get too hung up with the terminologies, even in proprietary software development, development teams rarely distinguish between unit tests and higher level testing. People often just call any automated tests as unit tests, even for selenium-type UI level testing.

  • Linus's mottos "Release Early, Release Often" and "given enough eyes, all bugs are shallow" can also be seen as a "QA process" if you stand on your head and squint hard enough. – Jörg W Mittag Jan 23 at 20:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.