Well, I was burnt last week by a very similar question... So, first: is the date in the Parent record the same date for all records? In other words, is it a global field? If so you can script the find.
If the date in the parent is potentially different for each you will have to create a calculated field and search on it, I believe.
I think you mean that you want a list of the Child Records, not a list of the parent records. Set the calculation in the Test Record table. An example would be
IncludeYesNo = Case ( Test_Date < ParentRelationship::StartDate ; "No" ; "Yes" )
then search in the Test Records table for 'Yes' in that field.
If you want to find all parent records that has any Test Record after that date, then in the parent table put that related field (from the Test Records) and search for 'Yes' in it.
Looks like this relationship:
Parent::ID = Test::ID
Define a calculation field, cAfterStartFlag as:
Parent::Start_Date < Test_Date
With number specified as the return type.
This field will return 1 if test date is after the parent record's start date.
Now, build your report layout by basing it on the test table, not the Parent and perform a find for all records with a 1 in the cAFterStartFlag.
This is a find on an unstored calculation field so it will not be very fast for large data sets. You can speed this up by using an auto-enter field option to copy the Start date into a matching field in Test and then referring to it in your calculation. If you choose to use this method, you should also put in place a script that runs from a script trigger on Parent::Test_Date, to update the related Test::Start_Date fields any time the date is changed in the parent record.