To use "test" as an adjectival noun, is the proper form "test" or "testing"?

Solution 1:

The Oxford English Dictionary defines the adjective:

testing, adj. That tests or puts to the test or proof.

Test, however, is either a noun or a verb. So in your first case, a test engineer uses the noun form, and translates to "one who engineers tests". A testing engineer, however, means "an engineer who is performing a test" or "an engineer who is performing a test on something".

Similarly, a software test tool is "a tool to work with software tests" while a software testing tool is "a tool used to carry out tests on software" or "a tool consisting of software that is designed to perform tests".

Solution 2:

I know that there is

a hardware or software test engineer

who determines how to create a process that would test a product. Also,

software testing tools

is correct, because your term is about “testing a software” (If I got you right).