Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Jogo de advinhação + teste de erros possíveis (HELP!)

Boa noite, colegas! Tudo bem?

Gostaria de compartilhar meu código da atividade com vocês e abrir uma questão.

Sobre a atividade: "além do estilo, implementei 2 verificações para que o usuário receba um alert caso insira valores fora do intervalo entre 0 e 10 ou deixe o input vazio e tente executar o programa. "

A questão é: "em atividades maiores, caso eu não preveja um erro, alguém saberia me dizer como posso automatizar um teste de verificação sobre as possibilidades de entrada que poderiam bugar o programa?"

Muito sucesso a todos!

Segue o código:

<!DOCTYPE html>
<html lang="pt-BR">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Adivinhador</title>
</head>

<body>
    <header>
        <h1>Adivinhador</h1>
    </header>

    <section>
        <div>
            <span>Chute um número entre 0 e 10:</span>
            <input type="number" style="width: 200px" name="chute" id="chute" min="0" max="10">
            <input type="button" value="Verificar" onclick="verificar()">
        </div>
    </section>

    <footer>
        <p>&copy Tiago Pereira Santos</p>
    </footer>

    <script>
        let chute = document.querySelector("input#chute");
        let segredo = Math.round(Math.random() * 10);
        chute.focus();

        function verificar() {
            if (chute.value < 0 || chute.value > 10 || chute.value == "") {
                alert("Insira um valor válido!");
            } else if (chute.value == segredo) {
                alert("PARABÉNS! VOCÊ ACERTOU!");
                alert("Vamos jogar novamente?");
                segredo = Math.round(Math.random() * 10);
            } else {
                alert("VOCÊ ERROU! TENTE NOVAMENTE!")
            }
            chute.value = "";
            chute.focus();
        }
    </script>

    <style>
        body {
            font: normal 15pt arial;
            background: rgb(255, 193, 47);
            text-align: center;
        }

        header {
            color: white;
        }

        section {
            background: white;
            padding: 20px;
            width: 350px;
            margin: auto;
            border-radius: 10px;
            box-shadow: 1px 8px 20px 2px rgba(0, 0, 0, 0.508);
        }

        footer {
            font-style: italic;
            color: white;
        }
    </style>

</body>

</html>
2 respostas

Pelo que eu conheço o programador que tem de implementar as verificações. Mas, deve haver api's que tratam erros de entrada de texto, arquivos e tentativa de invasão

solução!

Oi Tiago

"em atividades maiores, caso eu não preveja um erro, alguém saberia me dizer como posso automatizar um teste de verificação sobre as possibilidades de entrada que poderiam bugar o programa?"

Bom essa questão de automatizar a verificação de N possibilidades de entrada que poderiam gerar bugs beira o impossível, você pode automatizar verificações e testes com base no que previu.

É bem o que o Matheus comentou, você tem que implementar as verificações e os testes automatizados com base nos cenários que imaginou.

Como os formulário se repetem em vários sistemas alguns desenvolvedores já criaram verificações padrões e disponibilizaram em bibliotecas como por exemplo verificação de email, precisa ter sempre pelo menos uma letra antes do arroba, uma depois seguido de um ponto e outra letra.