Teste de software Engenharia de software Profª karine sato da silva
Mais sobre o TDD Test Driven Development (TDD); TDD reivindica um desenvolvimento incremental do código que inicia com testes, incluindo frequentemente testes de regressão. Consiste em um ciclo curto de repetições onde o desenvolvedor escreve casos de testes automatizados que possam tanto validar um requisito quanto implementar uma nova funcionalidade; e Se você não consegue escrever um teste para aquilo que você está codificando, então você nem deveria pensar sobre codificar.
Mais sobre o TDD O processo TDD: 1. Escreva um teste que falhe; 2. Faça o teste passar; e 3. Refatore o seu código de teste;
1. Escreva um teste que falhe Analise um dos requisitos do sistema, pense nas verificações que o teste deve fazer para que sua funcionalidade seja validada. Escreva um teste que falhe. Caso a funcionalidade passe pelo teste, sua permanência é opcional, pois indica que esta já foi satisfeita pelo sistema.
2. Faça o teste passar Com uso de baby steps codifique o mínimo possível para que ele passe pelo teste mesmo que seu método retorne apenas o valor esperado pelo teste. O objetivo aqui é passar o teste. Seja simples. Baby steps é um termo que expressa como o desenvolvimento incremental proposto no TDD deve ser feito. A ideia é implementar a aplicação pouco a pouco, para que a cada pequena mudança no software seja possível obter o feedback sobre aquilo que foi implementado.
3. Refatore o seu código de teste Deve-se refatorar o código de teste desenvolvendo novos testes de modo que cubra mais possibilidades de erros. O código deve continuar atendendo ao requisito e passando pelo testes.
Importante Esse processo é repetido várias vezes até que o código que está sendo testado seja menos propenso a erros. É importante lembrar que a cada refatoração do código os testes devem ser rodados novamente para que eles possam estar sempre atualizados com seu código de produção.
Exemplo https://dojofloripa.wordpress.com/2006/11/09/exemplo-tdd-parte-1-poronde-comecar/
Testes automatizados Teste funcional em aplicações WEB Selenium Canoo WEBTest Apodora Teste de desempenho Jmeter Testes unitários Junit (aplicações java) TestNG Nunit (tecnologia dotnet)
Selenium Selenium é uma ferramenta de automação de browsers web, ou seja, podemos criar tarefas repetitivas em uma página web utilizando Selenium. Selenium não é uma única ferramenta e sim uma suíte/conjunto de ferramentas. Com ele podemos, além de automatizar página web em diferentes browsers, executar a automação em diversas plataformas. A lista de suporte de Sistemas Operacionais, Browser e linguagens de programação é bem ampla. Fonte: http://www.qualister.com.br/blog/introducao-ao-selenium
Selenium-IDE, Selenium-RC e Selenium-GRID O Selenium-IDE captura, através de gravação, todas as ações feitas pelo testador e gera um script de teste, onde é possível reexecutar todas as ações que o testador desejar. O Selenium-RC (Remote Control) permite ao testador criar lógicas mais avançadas de teste, através do uso de uma linguagem de programação. Para efetuar esse teste mais complexo, o Selenium disponibiliza uma API e bibliotecas para cada linguagem de programação que ele suporta (C#, HTML, Java, Perl, PHP, Python e Ruby). Já o Selenium-GRID é ideal para se fazer testes em múltiplas máquinas, reduzindo assim o tempo que seria gasto para a execução de uma suíte de teste. Esta ferramenta atua executando múltiplas instâncias do Selenium- RC em paralelo e de forma transparente, não sendo necessário se preocupar com a infraestrutura.
Selenium-IDE Selenium-IDE (Integrated Development Environment) é uma ferramenta utilizada para o desenvolvimento de scripts de teste com o Selenium através de um plugin para o Firefox, que torna o desenvolvimento dos scripts mais eficiente pelo método Record and Replay (Gravação e Execução).
Existe também software para gestão de teste Exemplo Mantis Bug Tracker https://www.mantisbt.org/
Plano de testes Login