TESTES UNIT?RIOS
Conheço faz um tempinho, mas nos lugares que trabalhei, nunca usei. E nunca fiz questão de usar nos meus projetos autônomos também.
Estou pensando em começar a usar. Vi alguns exemplos. Mas dá um trabalho legal e começo a me questionar se realmente vale a pena usar.
Se sim, quais métodos devo realizar os testes? Porque se for fazer em tudo, vai ser um trabalho gigante. O que seria considerado um método crÃtico para um teste unitário?
Fico olhando meu sistema e talvez por falta de prática, eu penso [Ô]poxa, é tão simples fazer o teste na munheca. Esse teste unitário vai só me dar mais trabalho[Ô].
Outra coisa, vale a pena implementar isso num sistema 50% pronto já?
Vi que seguindo os princÃpios básicos do TDD, eu deveria primeiro implementar o meu teste unitário, para só depois codificar. Então, já comecei errado...
Queria a opinião de vocês!
Obrigado a todos!
Estou pensando em começar a usar. Vi alguns exemplos. Mas dá um trabalho legal e começo a me questionar se realmente vale a pena usar.
Se sim, quais métodos devo realizar os testes? Porque se for fazer em tudo, vai ser um trabalho gigante. O que seria considerado um método crÃtico para um teste unitário?
Fico olhando meu sistema e talvez por falta de prática, eu penso [Ô]poxa, é tão simples fazer o teste na munheca. Esse teste unitário vai só me dar mais trabalho[Ô].
Outra coisa, vale a pena implementar isso num sistema 50% pronto já?
Vi que seguindo os princÃpios básicos do TDD, eu deveria primeiro implementar o meu teste unitário, para só depois codificar. Então, já comecei errado...
Queria a opinião de vocês!
Obrigado a todos!
Você precisa calcular esse [Ô]vale a pena[Ô] em tempo. Quando você lança algum projeto para o cliente, muito possivelmente você vai encarar erros que você não previu e vai levar um bom tempo consertando. Esse conserto pode levar à consertos de outras áreas, correlatas ou não. Então você escolhe, gastar 5 horas em testes unitários no desenvolvimento e pegar um número muito maior de erros ou 20 horas num conserto que pode ser infrutÃfero e gerar ainda mais horas de retrabalho.
Quanto aos métodos para realizar os testes unitários, vai depender e muito do tipo de sistema que está fazendo.
Quanto aos métodos para realizar os testes unitários, vai depender e muito do tipo de sistema que está fazendo.
Eu recomendo profundamente essa prática, mesmo em projetos já desenvolvidos, pois acho que as vantagens compensam em muito as desvantagens. TDD é um novo paradigma que trouxeram a existência e acho que praticamente todos teriam dificuldades no começo, pois programar de trás pra frente é algo que dá curto até nos neurônios só de se imaginar. Mas pelo que tenho visto, o pessoal tem elogiado bastante. Na verdade, podemos usar os testes unitários sem se prender ao paradigma TDD, só isso já daria uma boa solidificada no sistema.
até a ultima vez q dei uma pesquisada so encontrei métodos legais pra funções matemáticas, nunca algo mais na minha realidade de programas de banco de dados e relatórios....
Citação:até a ultima vez q dei uma pesquisada so encontrei métodos legais pra funções matemáticas, nunca algo mais na minha realidade de programas de banco de dados e relatórios....
Os testes unitários trabalham mais na lógica de negócios.
mesmo assim da pra esperar retornos q pode confirmar se foi gravado ou não no BD
de qq formas os meus testes são bem na unha mesmo :(
de qq formas os meus testes são bem na unha mesmo :(
Citação::
até a ultima vez q dei uma pesquisada so encontrei métodos legais pra funções matemáticas, nunca algo mais na minha realidade de programas de banco de dados e relatórios....
Os testes unitários trabalham mais na lógica de negócios.
Exatamente. Quando envolve banco de dados, para testes unitários eu uso um banco de dados [Ô]mock up[Ô], com dados bem especÃficos e previsÃveis. Além disso, todas as camadas devem ser MUITO BEM separadas e cada uma com seu teste unitário. Isso complica um pouco para meu caso, onde a minha camada de acesso à dados é uma classe genérica que eu herdo. Mas ainda assim, totalmente possÃvel e plausÃvel.
Existe uma corrente de programadores que defende que se existe banco de dados envolvidos, então não pode ser teste unitário, mas sim Integration Testing e não Unit Testing, ainda que o padrão possa ser chamado de TDD
Aproveitando o assunto sobre testes, existe alguma ferramenta para testar a entrada de dados numa página(ASP.NET) ou num form(WinForm)?
Exemplo:
Um formulário tem 4 caixas de texto, 1 comboBox e 1 botão.
Existiria uma ferramenta capaz de fazer todos os testes de input (preencher caixa de texto, mudar index do compo, clicar no botão) adicionando valores aleatoriamente, de tamanhos diferentes, conteudo (numeros, alfanumericos) diferentes e procurando alguma exceção?
Estou pensando em começar a fazer uma, acho que pode ser útil para encontrar erros grosseiros na aplicação... Dei uma olhada rápida no google e não encontrei nada. Sabem se existe? Seria basicamente um Bot de usuário.
Exemplo:
Um formulário tem 4 caixas de texto, 1 comboBox e 1 botão.
Existiria uma ferramenta capaz de fazer todos os testes de input (preencher caixa de texto, mudar index do compo, clicar no botão) adicionando valores aleatoriamente, de tamanhos diferentes, conteudo (numeros, alfanumericos) diferentes e procurando alguma exceção?
Estou pensando em começar a fazer uma, acho que pode ser útil para encontrar erros grosseiros na aplicação... Dei uma olhada rápida no google e não encontrei nada. Sabem se existe? Seria basicamente um Bot de usuário.
Você poderia usar o Selenium para isso.
http://www.qualister.com.br/blog/introducao-ao-selenium
http://imasters.com.br/artigo/13317/desenvolvimento/utilizando-a-selenium-ide/
https://seleniumtoolkit.codeplex.com/
http://www.qualister.com.br/blog/introducao-ao-selenium
http://imasters.com.br/artigo/13317/desenvolvimento/utilizando-a-selenium-ide/
https://seleniumtoolkit.codeplex.com/
Obrigado a todos que responderam.
Infelizmente não dá pra pontuar mais que uma pessoa.
Infelizmente não dá pra pontuar mais que uma pessoa.
Tópico encerrado , respostas não são mais permitidas