testing in which software and/or hardware components are combined and tested progressively until the entire system has been integrated.