Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can QA be efficient without Unit-testing (TDD)?

A company has small dev teams over a few countries.
During a few years it releases successfully a software product (client in MS Visual Studio 2008 C++, C# and server in Java) based on mathematic and cross-branch engineering fundamental sci (and high-tech) researches.
The software development is not based on TDD (test-driven development), there is no unit-tests, as well as QA department, etc.

This company initiates the introduction of QA group (department and, well, QA practices/policies) of 2-3 persons.

The first priority tasks are to establish (automated) testing practices of GUI and API.

Is introduction of unit (or mock) testing or TDD(test-driven development) essential and obligatory for success of QA?

Update:
Database storage is MS SQL Server.

Update2:
Thanks to all but I posted http://testing.stackexchange.com/questions/791/what-are-in-qa-besides-testing

I understand that after-the-fact unit-tests (or, rather, mock) probably should be incorporated for recurring bugs but should they be the first issue to introduce?
What are the possible first priority issues and their orders? Should after-the fact unit-tests introduced by developers or by "testers"?

Can QA be possibly efficient without Unit- (mock-) testing at all?

Update3:
Thanks for comment that TDD is not Unit-testing, I started to read:

  • TDD vs. Unit testing (SO)
  • Should I Use TDD?
  • Test Driven Development vs "Plain Old Unit
  • Disadvantages of Test Driven Development?
  • TDD Tests are not Unit Tests

Asked after having read:

  • Pro's and Con's of unit testing after the fact.
  • A Unit Testing Walkthrough with Visual Studio Team Test
  • Pro's and Con's of unit testing after the fact.
  • When is it time to have a QA department?
  • Unit tests by a QA Engineer
  • Role of Testers in Agile?
  • What is the single best open source automation tool for functional web testing
  • open source Tool for stress testing, load testing and performance testing
  • Tools for automated GUI testing (on Windows)?
  • GUI Testing
  • Automate Builds in .net
  • Measuring Class Dependencies
like image 256

People also ask

Does QA do TDD?

Across engineering teams, both development and quality assurance engineers use test cases to develop code & execute them. So, the success of TDD is dependent on well-written test cases covering all the requirements. It is essential to involve the QA team in every phase of TDD.

Should QA do unit testing?

In order to build better software at speed, QA and development teams should unit test early with the build, perform it regularly, and refactor when required. Unit testing is a must-have skill for a modern developer as it can help in writing bug-free code and it is essential to write quality tests.

Is TDD necessary?

Conclusion. In my personal experience, I've seen many organizations and "professionals" claim that TDD is absolutely necessary for software development, but I've never seen it strictly mandated. It is still up to the developer or team to follow through on it.

What happens if unit testing is not done?

Programmers who adopt a unit test framework will build code more slowly than ones who don't. The programmers who don't do unit testing still make changes. But those might include a change to "step on" a change, and they might preset the expectation that the test will fail, also called turning red.


1 Answers

As stated in the comment above, TDD is not the same as Unit testing.

My Advice:

Having been in a similar situation before (I was the founding QA-er at a company that up till that point had no formal QA methods), I would stress that you need to make sure that the QA process is non-invasive to the programming processes.

If the developers are already used to TDD methodologies then it might be easy to implement TDD, but based off the information it sounds like implementing TDD would probably slow down the development (at least till they got used to it).

If you are wanting to baby step things then I would suggest Unit testing. That's what I implemented when I was called to the same task, and then over time I introduced other things.

Answers:

QA can be effective without structured unit testing depending on the quality of persons performing the Qa duties. However QA is more efficient when there are structured unit tests that everyone can follow.

like image 81
Tony Abrams Avatar answered Oct 19 '22 08:10

Tony Abrams