Najpierw w ogóle od podstaw testowania. Testy, asercje, mockowanie, fixtures, przygotowywanie danych - trochę podstaw jak to się w ogóle robi. Można też spojrzeć na py.test zamiast unittest, bo robi się dość popularny i sporo nowych projektów go używa, więc fajnie by było umieć go czytać.
Stąd bym przeszedł już do konkretnych filozofii jak konkretnie testować.
DDD i agile raczej mają tyle w związku z testowaniem co z programowaniem ogólnie, więc traktowałbym je jako osobne tematy.