Entendo principalmente a teoria do TDD, mas não consigo descobrir como começar. Sento-me para escrever um teste de unidade para um projeto pessoal e percebo. . . Não tenho ideia do que estou testando. Quais objetos, que funcionalidade etc.
Por exemplo, digamos que eu queira escrever um aplicativo para ajudar nossa família a gerenciar tarefas de tarefas. Aqui estão algumas perguntas em minha mente: Como faço para passar dessa ideia para o meu primeiro teste? Quanto deve ser decidido antes de começar e quanto descubro depois de começar a escrever testes? Quando tomo decisões como armazenar dados em um arquivo de texto ou em um banco de dados? Devo ter testes de aceitação do usuário antes de começar? Devo ter a interface do usuário projetada? Devo ter uma especificação? (Eu percebo que pelo menos algumas dessas perguntas de exemplo provavelmente estão em uma "área cinza").
Além da pergunta do título sobre como chegar ao primeiro teste de unidade, você também pode dar um exemplo de como seria o primeiro teste de unidade para um projeto como o exemplo de projeto?