User added set of fields ...

User added set of fields ...

I'm trying to develop a tool for our factory to organize product requirements, data from product tests and then a report compare the requirements against the test data to see how much of a variance there is. I think I need to create one form to log the product requirements, then a second form for logging the test data, and finally a report comparing the two. All of the data can be gathered via regular fields, but I need the user to be able to add sets of fields based on the specifications of the product being entered, as not every product is the same. So my question is, how can I create a set of fields, and then allow the user to add another set to the form?