Overview
In Transaction Tests, the first request in each step is considered to be the primary request for that step. When a primary request fails with a 40x/50x error, this results in a test failure, whereas a failure of a child request within the step would not result in test failure.
This makes sense when the primary request is an HTML file, but sometimes, depending on how you break your script up into steps, the primary request for a step might be a css, img, or js file. In such cases, you might not want the test to fail.

Workaround
To mitigate this issue, apply a request block to that request, or enable Treat 40X and 50X as successful in the test's Additional Settings.
See also
Advanced Settings: https://docs.catchpoint.com/docs/advanced-settings
Request Override: https://docs.catchpoint.com/docs/request-override-guide