O documento introduz os conceitos básicos de teste de software, incluindo o que é teste de software e seus principais tipos e níveis. Ele discute a importância de encontrar defeitos e diferencia defeitos, erros e falhas. Além disso, aborda brevemente diferentes abordagens de desenvolvimento de software como waterfall, scrum e extreme programming e enfatiza a automação e teste orientado a testes.
Olá, meu nome é Wescley e hoje vou conversar um pouco com vocês sobre teste, na verdade será uma introdução a teste. Eu imagino que muita das coisas que eu vou falar aqui vocês já conheçam, porém, eu previso falar sobre elas para que quando estivermos mais na frente, ou seja, nos próximos workshops sobre testes não fique nenhuma dúvida sobre esses conceitos.
Normalmente nós pensamos sobre teste de maneira intuitiva, por exemplo, quando alguem diz pra você. -"Wescley, a tv não está ligando.", minha resposta automática é. -"Calma que eu vou testar."
Todos os dias nós testamos coisas. Testamos se nosso pc está funcionando, se nossa tv funciona e etc.
E o nosso software, será que está sendo testado?
Normalmente nós não testamos nosso software, por vários motivos: preguiça, esquecimento ou por desconhecimento de ferramentas.
As veses nós testamos, mas, de maneira errada.
Então de fato o que é teste de software? De maneira simplificada, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado.
Trocando em miúdos é expor as falhas do meu produto.
Algo importante de salientar é a diferença conceitual dessas 3 palavras dentro da engenharia de software.
Defeito é um ato inconsistente cometido por um indivíduo ao tentar entender uma determinada informação, resolver um problema ou utilizar um método ou uma ferramenta. Por exemplo, uma instrução ou comando incorreto.
Erro é uma manifestação concreta de um defeito num artefato de software. Diferença entre o valor obtido e o valor esperado, ou seja, qualquer estado intermediário incorreto ou resultado inesperado na execução de um programa constitui um erro.
Falha é o comportamento operacional do software diferente do esperado pelo usuário. Uma falha pode ter sido causada por diversos erros e alguns erros podem nunca causar uma falha.
Por que testar? O seu objetivo é revelar falhas em um produto, para que as causas dessas falhas sejam identificadas e possam ser corrigidas pela equipe de desenvolvimento antes da entrega final.
Será que nós estamos aplicando os conceitos e as ferramentas disponíveis para otimizar nossos testes?
Os teste podem ser de caixa preta ou caixa branca. Explicar casa caso.
Teste de Unidade (destaque)
Teste de Integração
Teste de Sistema
Teste de Aceitação
E como fica a etapa de teste no ciclo de vida dos projetos.
No GHP e etapa de teste é deixada completamente de lado. A ideia é que se esta funcionando está testado.
Márcio na apresentação sobre scrum falou um pouco sobre a etapa de teste. Vamos ver em algumas metodologias que estão disponíveis no mercado como se dá esta etapa.
A ideia é começar desenvolvendo os testes e eles vão quebrar. A partir deste ponto se faz o teste passar e faz a refatoração.