Los "notice" que observas es justamente por el nivel de errores "alto" que tienes en error_reporting .. es un "aviso" de que tal variable como has visto no está definida.
Puedes bajarlo . .e incluso forzarlo en ese mismo script usando la función:
error_reporting()
www.php.net/error_reporting
(pero acuerdate que si no te funciona .. tendrás que modificar ese valor para "ver" los mensajes de error que puedas tener .. esto es sólo para "producción" no para desarrollo recomendable)
A todo esto "$test" no ví de donde sale .. si es una variable que llamas desde fuera del script (que entra por GET/POST al mismo) o la accedes en ese script pero antes no definistes.
En muchos casos .. sobre todo cuando pretendes usar variables externas que en un primer ciclo/llamada no van a estar definidas .. lo idea es "preguntar" si está definida antes de accederla/usarla:
Código PHP:
if (isset($_GET['variable'])){
// entonces .. la uso
}
Claro.. estos "errores" se "tapan" ajustando el nivel de errores o forzandolo de PHP con la función mencionada ..
Un saludo,