Functional testing is the only option that makes sense to me. (Bear with me; I have not studied to be part of the ISTQB, so I may not give the best explanation in that sense.) If you’re testing software to make sure it works, that would be testing the functionality of it.
Component and system testing should all be done on the engineer’s side of the ISTQB test. If the product doesn’t function, there’s no way it’ll pass the ISTQB test.
Part of that functional testing would be making sure the system set up to use the software works, and that all the components in the software function up to spec before passing it off for the ISTQB test ever happened.