fabricioandradesantos / estruturaDeDados

Repositório para ajudar os discentes de Ciência da computação ou áreas correlatas
13 stars 5 forks source link

Teste para os algoritmos #2

Open marcosdourado opened 4 years ago

marcosdourado commented 4 years ago

Acredito que um sistema de testes no estilo de maratonas de programação, seria uma boa para testar os algoritmos. Assim, ao criar o algoritmos em uma nova linguagem, facilita o teste.

Um exemplo disso, para um algoritmo que faz soma: soma-teste.txt

1 2
5 6

quando passar:

4
6
✓ Passou em todos os testes

quando falhar:

4
5
☓ Falhou no segundo caso de teste
fabricioandradesantos commented 4 years ago

Seria muito interessante se conseguíssemos encontrar ou criar um padrão de teste para os algoritmos. Também seria ótimo se fosse possível determinar se o código escrito segue as boas praticas de programação (Já que o objetivo é disponibilizar códigos funcionais e bem escritos) para facilitar o entendimento do mesmo. Iniciarei minhas pesquisas sobre isso, se tiver conhecimento sobre, agradeceria se pudesse compartilhar.

marcosdourado commented 4 years ago

Bem, esse padrão de testes funciona muito bem em maratonas de programação. Basicamente há um caso de teste e existe as respostas esperadas, cada linguagem terá suas especificidades, mas supondo que elas consigam executar em um terminal(ler e imprimir), então é possível criar um pequeno script que execute o programa e faça o teste( isso pensando em um alto nível de automatização) existe muitas possibilidades.

De inicio, pode existir só um caso de teste e resposta em txt mesmo, e aos poucos um script pode ser construído.

Quanto aos padrões de código, existe os lints e o prettier, não sei se para todas as linguagens, no caso do Javascript por exemplo, é possível garantir que o código sempre siga um determinado padrão (como o da Airbnb ou da Google por exemplo). De todo modo é sempre possível fazer a verificação antes de aceitar a PR.

fabricioandradesantos commented 4 years ago

Saquei! Com base em sua sugestão vou começar pelo script em .txt no estilo em que podemos visualizar no URI Online Judge e futuramente um script de teste automatizado. Valeu pela dica!