Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

Is it more efficient to start testing during project development or before deployment?

share|improve this question
add comment

8 Answers

up vote 6 down vote accepted

I noticed you did not ask whether it was better to start testing during project development or before deployment; you asked which was more efficient. You also did not specify whose efficiency you wanted to maximize. You did not say who would be doing the testing, but since you mentioned testing before deployment, I assume your refer to testing by someone other than the developer, regardless of whether the developer does their own unit testing. Finally, you asked about when to start testing, not about when the tester should get involved.

If the tester is overworked and forced to share their time between too many projects, it may be a more efficient use of their time to test after development is finished; that way, the tester does not need to redo work to compensate for changed decisions during development.

If the tester is not overworked, it may be more efficient for the overall team for the tester to get involved as early as possible. That way, for example, the tester may be influence decisions that eliminate problems before they are manifested in code. Moreover, assuming the tester has the time, testing should begin as soon as the interfaces they want to test are mostly stable.

I am not sure what you mean by "before deployment" -- in your organization, are there other phases between development and deployment? If you can clarify that point, I can try to address that aspect of your question, too.

share|improve this answer
    
Thanks for the reply. I don't have so much background in testing yet and been doing some self study to prepare myself. To clarify, I will be involved as a non-developer QA tester so I will not be working on the code done. From my background, testers are involved from the start of the project during planning. I am just curious cause I've read about different methodologies in the software cycle and was thinking about the advantages and disadvantages of testing during development and testing after development is done. Sorry if it's confusing cause I am not yet familiar with all technical terms. –  katrinahispano Oct 24 '12 at 14:47
add comment

From my point of view testing should be started from the start of the project. Meaning from analysis phase through to documentation, design, code and deliver to stakeholder .

QA team is the Busy in all the Project from A to Z.

share|improve this answer
add comment

Many of the testers at my place of work are experts in the product domain, and have seen over-and-over what can go wrong. Including them up front is almost always worth the effort. They will:

  • Identify potential problems, before implementation
  • Help guide the development team during implementation
  • Be more effective with testing after implementation
share|improve this answer
add comment

You should clarify your question to define what is meant with "start testing".

Take a look on this diagram (taken from here):

BR vs. UC

There are various aspects of tests.
They are defined and run at all phases across Software Development Life Cycle (SDLC):

  • Acceptance Tests are defined just at the same time with Business Requirements - e.g. they are defined at the very beginning of an SDLC and run at the very end;
  • System Tests are defined along with SRS and are usually run for each alpha/local release;
  • Integration Tests are "mid-range" tests for components; They are defined and run pretty often, e.g. on weekly scrums;
  • and so on, till the very low-level Unit Tests that are defined and run on practically the same time;

So the answer to your question:
You should define and run different types of your tests at all phases of entire SDLC.

P.S. A common mistake is not allocating QA engineers from the very beginning of the SDLC. If it happens, they often don't have time for tests definition. I always ask myself, if I have nothing defined, how do I run it?

share|improve this answer
add comment

Katrina, there are some great answers here already but I would like throw a monkey wrench into the mix. Requirements have been mentioned a few times. Requirements are nice but in the development team where I work, they are nonexistent. I test when the code is delivered to me, sometimes 2-4 weeks prior to deployment, and with zero requirements. Is this ideal? No, but it is a system that works for our development team. What I am trying to say is there are "ideal" testing environments and timelines, and then there are "real world" testing environments and timelines. It is more 'efficient' for your employer, dev team and customer for the tester to start testing in the timeline that works best for their own environment. While it is immensely helpful and valuable to know the latest QA paradigm and "best practices," if you try to conform to them and the rest of your team is not, you might go crazy. Always keep the big picture in mind.

share|improve this answer
    
There must be some sort of requirement or the devs would not know what to code ? –  Phil Kirkham Oct 25 '12 at 20:47
2  
No, Phil, it's all over the phone between managers and devs (or meetings I am not invited to). I am given a high-level idea of what the expectations are. With about 10% of new features, my Manager types up a 1-3 page document that will be given to customers for me to use as a very loose requirement; I end up QA'ing that too & returning it to him with corrections. –  Laura Hensley Oct 25 '12 at 20:51
    
This sounds SO familiar, Laura. I've spent so much time testing what I'm given as requirements docs. –  Kate Paulk Oct 26 '12 at 10:23
    
Thank you for your answer, Laura. –  katrinahispano Jan 3 '13 at 6:36
add comment

Testing team should be involved in the project from the very beginning. Especially important are gathering system requirements and design phases. Basically speaking you have to design your system for testability. It's quite difficult to implement test automation if your system hasn't been designed to support test automation.

It also depends on your organization what kind of tests do you use (unit tests, functional test, E2E tests, etc.) and what is your supporting infrastructure e.g continuous integration, nightly builds, etc.

You may also consider using of Test-Driven Development process.

share|improve this answer
    
Thank you. I am new to Software Testing and not yet that technical. I'll have to research more about Test-Driven Development. –  katrinahispano Oct 24 '12 at 14:49
    
+1 for suggesting TDD –  Andrew Nov 1 '12 at 16:41
add comment

Starting testing during development is too late, and starting testing before deployment is usually a recipe for disaster, missed deadlines, and high unexpected costs.

Testing should start as early as possible. If you have a prototyping stage, then testers should be involved in the prototyping before any requirements / stories are solidified.

Early involvement not only empowers people to be a voice in the project, but also enables testers to start designing tests, modeling, reviewing, etc. that may prevent bugs and help promote quality throughout the project.

share|improve this answer
    
Thank you for this explanation. I really appreciate it! –  katrinahispano Oct 24 '12 at 14:48
add comment

It is more efficient to start testing at requirement phase during project development.

share|improve this answer
2  
Your answer may be more valuable if you explain why you believe it is true. –  user246 Oct 24 '12 at 14:03
    
Thank you! I am doing some research about this and I think it's more like Agile methodology. –  katrinahispano Oct 24 '12 at 14:49
1  
I have to agree with user246. The way it's currently worded, you're implying there are absolutely no circumstances where it isn't true (I'm sure I could come up with 1 instance) and in our business, why is much much more important than what. Could you possibly edit in some elaboration? –  corsiKa Oct 24 '12 at 15:02
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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