Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Functional Requirements state "WHAT" needs to be done from a user's perspective Functional Specification state "HOW" it needs to be done from technical standpoint.

Do QA teams focus and Functional Requirements whereas development team focus primarily on functional specification though they need to have an understanding of functional requirements?

I assume QA would sign off the product as long as the functional requirements are met irrespective of whether the functional specification is followed or not. Is my assumption correct?

share|improve this question

1 Answer 1

Q: Do QA teams focus and Functional Requirements whereas development team focus primarily on functional specification though they need to have an understanding of functional requirements?

The two are closely related. For small efforts, the requirements can be developed to a level of detail where they can also be used as the specification. In general, Functional Requirements are the customer-centric statement of what a system should do. Functional Specifications are a more detailed description of the Functional Requirements. For example:

  • Rqmt: The customer shall be able to change the upper alarm limit temperature
  • Spec: Selecting the parameter::alarms::temperature menu item shall bring up a pop-up form that allows the user to enter a value between 50 and 100 for the alarm limit.

Functional specifications are still in the realm of describing what a system does, not how it does it. Because of this, QA teams should be interested in the Functional Specifications for several reasons, among them are:

  1. The QA team needs to ensure that proper reviews have been covered to determine that the Functional Specifications are consistent with the requirements, and that they are complete.
  2. Each of the Functional Specifications are testable, so the QA team needs to make sure the tests are defined and the software product passes those tests.

Q: I assume QA would sign off the product as long as the functional requirements are met irrespective of whether the functional specification is followed or not. Is my assumption correct?

Whether or not QA signs off on a product that deviated from the specification depends in part on what process was followed when decisions were made to make changes. If the development team followed the change processes, QA would not have any problems. (Note -- these processes should insure that proper communications about these changes occur). However if a development team goes off and decides on their own there are a lot of risks that even though their efforts satisfy the requirements, their efforts may be rejected by QA, other business units in their organization, and even the end users.

That is not to say that a development team is bound by the specifications. It is OK for a development team to deliver something that deviates from the original specifications. However making decisions to implements something different that what is in the specifications should be made unilaterally. Mature organizations will have some defined change control processes to accommodate changes. QA will be making sure such processes are followed.

share|improve this answer
    
Thanks a lot , Jay for your very detailed and clear explanation! If functional specification is used to state "What" , where should the technical design be detailed? Would QA not refer to technical design of a product while designing the test cases? Would the testcases be mapped against functional requirements or functional specification? Thanks again! –  Punter Vicky Feb 14 '13 at 3:30
1  
@Punter Vicky - as long as the functional specifications are properly mapped to the requirements, testing the specs does test the requirements. –  Jay Elston Feb 15 '13 at 15:40

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.