Qual é meu objetivo nos testes?


Conseguir resolver o problema descrito no enunciado, gerando as respostas esperadas.



Quais informações estão nos testes?


  • Problema que deve ser resolvido


No lado esquerdo, na parte ENUNCIADO DA QUESTÃO. Recomendamos ler com atenção o enunciado, muitas pessoas pedem revisão do teste e foi um problema associado a não ler com cuidado.



  • Entradas visíveis e saídas esperadas


Na parte TEST CASES, neste artigo terá detalhes de como elas funcionam.

 


O número 4 na primeira linha é a quantidade de interações/entradas.


  • Code stub


Para facilitar, existe um stub para cada linguagem, então não é necessário começar o código do zero. Sugerimos não excluir ele. Code Stub é basicamente pedaços de código que envolvem o algoritmo que você irá desenvolver na plataforma, eles injetam as entradas no código para que você possa rodar seu algoritmo processando estas entradas inseridas pelo stub, produzindo uma saída que irá ser testada nos test cases. Exemplo:



  • Tempo restante


No topo no lado direito, irá aparecer o tempo restante para a realização, ao lado de ENVIAR TESTE (esse botão deve ser selecionado apenas ao terminar o teste).



Posso escolher qual linguagem vou utilizar?


Você é livre para escolher qualquer linguagem da lista para desenvolver seu código. 

Está disponível atualmente: Java, C, C++, C#, PHP, Python 3, Ruby, Javascript, Objective-C, Kotlin, Swift 3, Elixir, GO Lang, Groov y e Scala.

Vai escolher antes do teste inciar, mas pode alterar a qualquer momento. Entretanto, não recomendamos alterar perto de acabar o tempo limite.




Como funcionam as entradas?


Todas as entradas são de STDIN e são enviadas para STDOUT

Os valores de entrada do código não serão codificados por você, esses valores serão providenciados pela plataforma.

Se as entradas forem ser colocadas diretamente no código, não receberá a pontuação completa, pois existem entradas invisíveis (test case invisível). Se fizer a lógica correta de acordo com o enunciado, irá funcionar independente da entrada.

A primeira linha é a quantidade de interações/inputs. Os inputs são strings, é necessário um tratamento. 


Sugestão: execute antes de fazer alterações, assim será possível verificar exatamente como vieram as entradas.



Como devem ser as saídas?


Os valores de saída do seu código devem ser apresentados no console do compilador.

Os valores de saída devem ser exatamente iguais ao que está na parte TESTES UNITÁRIOS, não são necessárias informações a mais como “a resposta é:”.

Em questões de programação, você deve dar print no console para depurar seu código usando o comando de print apropriado para cada linguagem (por exemplo: cout para C++, printf para C, etc.).


Recomendamos antes de enviar, assim pode verificar se conseguiu o esperado.


Se suas saídas não estão iguais, será avisado.


Se suas saídas estiverem corretas, vai ser sinalizado.

 

Antes de enviar, existe um último aviso, pois depois de enviar não será possível retornar a ele. Não é possível refazer um teste.

Existe uma confirmação que o teste foi enviado. Não esqueça de deixar um feedback, queremos que sua experiência seja a melhor possível.



Qual é o tempo limite para realização?


Antes de começar o teste, nos avisos aparece o tempo limite na parte superior. A moiraria dos testes atuais possuem 45 minutos como limite.




Posso salvar antes de enviar?


O código é salvo automaticamente no navegador a cada vez que digita algo. 



Quanto tempo demora a correção?


A correção é automática

Nossos testes são corrigidos automaticamente, comparando a saída do programa com a saída esperada. Similar a um teste unitário. Se qualquer item esteja diferente do esperado o teste será desconsiderado.



Posso começar um teste e fazer depois?


Não, depois de selecionar FAZER TESTE vai abrir um nova guia onde estará o teste. Desse momento em diante o teste fica como inciado, ele ficará incompleto, você não ganhará pontos e ele não será corrigido.


Além disso, o teste não ficará mais disponível para realização uma vez que foi iniciado.

Sugerimos escolher um momento tranquilo para a realização do teste, se quiser, pode praticar antes.



Onde posso praticar antes de fazer os testes?


https://www.hackerrank.com/

https://www.codewars.com/

https://app.codility.com/programmers/challenges/

https://codesignal.com/developers/



Dúvidas relacionadas aos testes


Posso refazer testes que já realizei?

Posso pedir novos testes?

Eu posso pedir revisão de algum teste?

Quanto cada teste contribui para meu score?

Tive problemas durante a realização do teste, e agora?

Existe prazo para realização dos testes?