What is test-first development and how does it corelate to TDD? Is test-first development a general name for things like TDD? If yes, what other test-first practices do exist?
Test-First Development == Test-Driven Development.
Two different words for the same thing.
Other alternatives to TDD include the increasingly popular BDD (Behaviour Driven Development).
Which method you choose greatly depends both on your application (web, console, windows, etc) as well as your project methodology (Agile, Waterfall, etc).
Test First Development is slightly broader, slightly less specific, than TDD. You can write an acceptance test before coding, then code to make it pass; that's TFD but not TDD. TDD is more specifically about unit tests - so there is a tighter implied granularity - and includes the red-green-refactor cycle: write your failing (unit) test; demonstrate that it fails; make it pass; demonstrate that it passes; look for opportunities to refactor. TFD doesn't preclude any of those things, but it also doesn't require them.