Então, criamos uma sessão de teste.
Uma vez criada, a gente pode acompanhar o andamento dessa sessão de
teste na janela que a gente chama de janela de status,
que dá a visão geral de como anda nossa sessão de testes.
Bom, seguida eu vou criar os mutantes para iniciar o teste.
Aqui, inicialmente eu vou
selecionar quais são as funções do programa que vão ser testados,
ou seja, para quais funções é que eu vou gerar os mutantes.
Como eu falei, para facilitar nossa vida,
eu vou testar aquela função que se chama VALE DE S.
E aqui eu vou selecionar
quais são os operadores de mutação que a gente vai querer utilizar.
Inicialmente, eu vou selecionar o operador que a gente já conhece que é o ORRN,
que troca operadores relacionais.
Para cada operadora eu posso selecionar qual é a porcentagem de
mutantes desse operador que vai ser gerado.
Então, no caso aqui, eu vou selecionar 1.0, ou seja,
eu vou gerar todos os operadores,
todos os mutantes desse operador para aquela função que a gente tem lá.
Bom, voltando aqui,
então, para aquela função,
para aquele operador a gente tem 20 mutantes gerados.
Agora, eu vou adicionar alguns
casos de teste para tentar matar os mutantes que foram gerados,
no caso, eu vou começar com dois casos de teste.
Aqueles que eu tinha mencionado para vocês, que é o ABC,
ou seja, ele vai dizer, ele tem que dizer que
esse identificador é válido e vou adicionar
o 1BC que é identificador não válido.
Se eu quiser olhar o que aconteceu nos casos de teste,
eu posso navegar pelos casos de teste que foram adicionados.
Então, esse daqui é o primeiro, o ABC, vejam que ele deu resultado válido,
e o segundo 1BC, ele diz que é inválido,
como a gente esperava que acontecesse.
Aí eu passo para a execução de mutantes.
Ele executou rapidamente os mutantes com aqueles dois casos de teste.
E eu posso, olhando aqui no status, verificar que
esses dois casos de teste foram capazes de matar metade dos mutantes.
Então, eu tenho score de mutação de 50%.
Muito bem.
Quê que eu tenho que fazer agora?
Agora eu vou olhar os mutantes que estão vivos e decidir o que fazer com eles.
Por exemplo, esse daqui está vivo e eu percebo
que a mudança que foi feita nesse ponto aqui, ele trocou o maior igual pelo maior.
Então, para eu matar esse mutante eu preciso de
identificador que comece com a letra A maiúsculo, com isso,
o resultado do programa original e do mutante vai ser diferente.
Muito bem, então eu vou adicionar novo caso de teste.
Que é o A maiúsculo BC e vou
executar os mutantes novamente.
Se eu olhar, eu vou ver que com esse novo caso de
teste mais 6 mutantes foram mortos.
Então, eu já tenho score de mutação de 70%.
Muito bem, então, é isso que eu tenho que fazer.
Eu tenho que continuar analisando os mutantes que estão vivos e adicionando os
casos de teste.
Bom, eu sei que para matar esses 6 mutantes que
estão vivos eu vou precisar de mais alguns casos de teste que eu vou inserir aqui.
Certo?
Que são, o BBC.
Depois, o Z,
o Zbc,
b minúsculo,
b minúsculo bc
e z minúsculo bc.
Com esses quatro casos de teste, eu executo os mutantes.
Olho o status e vejo
que todos os mutantes agora foram mortos.
Terminou a minha sessão de teste?
Não necessariamente.
Eu posso agora, para melhorar o meu conjunto de teste mais ainda,
eu posso gerar mais mutantes, então eu vou lá no
VALI_S