Olá Comunidade Discourse! ![]()
Tenho trabalhado em tecnologia (Colimit) que ajuda as pessoas a aplicar Testes baseados em modelo para testar seu frontend web/navegador/DOM, backend de API, ou até mesmo modelos ORM ou view-models. Se você não está familiarizado com a ideia, você basicamente define uma especificação de alto nível do que seu aplicativo deve fazer em termos de ações possíveis que podem ser tomadas, e a partir daí você obtém centenas ou milhares de sequências de ações válidas do usuário (ou seja, fluxos de usuário) que podem rastrear inteligentemente um grande espaço de estado de possibilidades e descobrir bugs difíceis de alcançar em comparação com casos de teste escritos manualmente.
Estou saindo da fase de usar o Colimit em pequenos exemplos e pensei no Discourse como um candidato possivelmente ótimo para experimentá-lo em seguida, pois é um aplicativo sofisticado que é executado em produção, mas também é totalmente de código aberto, facilitando a experimentação. O legal é que o Colimit é escrito de forma abstrata para que você possa reutilizar a mesma especificação/modelo (escrevendo adaptadores) para fazer diferentes estilos de teste, como, por exemplo, os testes da API do Discourse via gem, em comparação com os testes de integração usando Capybara, versus os testes de fumaça usando Puppeteer, etc.
Antes de começar, eu estava me perguntando se alguém da comunidade Discourse consegue pensar em alguma área do aplicativo que atualmente seja uma grande fonte de bugs ou tenha menos cobertura que poderia ser mais valiosa para focar o tempo?
Além disso, apenas por curiosidade, agradeceria quaisquer respostas de pessoas que acham que isso soa interessante e veem valor potencial para testar o projeto Discourse, ou se a opinião é que o estado atual dos testes já é bom o suficiente (caso em que ainda há pelo menos valor de manutenção possível por poder substituir testes escritos manualmente por aqueles que poderiam ser gerados automaticamente a partir de um modelo).
Obrigado!