Principalmente entiendo la teoría de TDD, pero no puedo entender cómo comenzar. Me siento a escribir una prueba unitaria para un proyecto personal y me doy cuenta. . . No tengo idea de lo que estoy probando. Qué objetos, qué funcionalidad, etc.
Por ejemplo, digamos que quiero escribir una aplicación para ayudar a nuestra familia a administrar las tareas. Aquí hay algunas preguntas en mi mente: ¿Cómo paso de esta idea a mi primer examen? ¿Cuánto se debe decidir antes de comenzar y cuánto debo calcular después de comenzar a escribir exámenes? ¿Cuándo tomo decisiones como si almacenar datos en un archivo de texto o una base de datos? ¿Debería realizarme pruebas de aceptación del usuario antes de comenzar? ¿Debo tener la interfaz de usuario diseñada? ¿Debo tener una especificación? (Me doy cuenta de que al menos algunas de estas preguntas de ejemplo están probablemente en un "área gris").
Además de la pregunta del título sobre cómo llegar a la primera prueba unitaria, ¿podría dar un ejemplo de cómo podría ser la primera prueba unitaria para un proyecto como el proyecto de muestra?