Nunca tinha me ligado sobre o assunto. Até que me interessei em estudar um
pouco sobre, mas falando de meu ambiente de trabalho, como fazer um plano de
teste, ou testes unitários baseado em projetos sem especificação?? Ou uma
especificação mal elaborada, detalhada (nem sei se podemos chamar isso de
especificação)? Deu pra entender o que quis dizer?

É mais ou menos na seguinte situação (toda semana tem um desse): Recebo
email do tipo, "Queria um site pra fazer isso, igual a esse site aqui, ó:
www.concorrente.com.br. Quanto você cobra pra fazer um desse pra mim?"

Putz! Fico até sem coragem de responder um email desse. Ainda mais em
escrever uma possivel especificação, e o cara no final falar. Ah, tá caro.
Pensei que era uns R$800 O_o

Não sei se fugi um pouco do tema, mas era só pra contextualizar o ambiente
de trabalhos (normalmente freela).

Vinicius


2008/10/22 Marcus Cavalcanti <[EMAIL PROTECTED]>

> Fala Tiago, aqui tranquilo e aí?
>
> Então, esse infelizmente é um assunto pouco explorado pela galera que
> programa em PHP, pelos menos aqui no Brasil, mas como vc mesmo viu é
> bastante importante, pois evita MUITO o re-trabalho, a perda de tempo e
> principalmente o gasto de dinheiro, sem contar que o projeto fica com uma
> qualidade bem superior.
>
> Graças a evidência de metodologias ágeis essa parte de QA veio junto
> trazendo consigo o TDD e agora o BDD. Engana-se quem pensa que testes é uma
> coisa chata ou que os programadores não devem se preocupar, nós devemos nos
> preocupar sim, pois nós mais do que ninguém deveríamos saber testar as
> funcionalidades que desenvolvemos. Em XP por exemplo, aconselha-se a
> escrever os testes antes mesmo das funcionalidades.
>
> Se te pareceu confuso e complexo, tenha calma e leia com calma, por
> natureza todos nós temos a achar o novo complicado, complexo ou até mesm
> feio, mas é questão de prática, acho que começando a praticar vc va ganhar
> gosto pela coisa. Acho que BDD, TDD, Agile e todos esses assuntos são muito
> mais uma questão de cultura do que qualquer outra coisa, até hoje eu tenho
> uma certa dificuldade em "implantar" isso nos projetos que participo e criar
> uma cultura e entendimento da necessidade para toda equipe envolvida.
>
> O TDD é um pouco mais técnico que o BDD, pelo menos deveria, em PHP ainda
> talvez não seja, pois o framework BDD que existe, no caso o PHPspec, possui
> uma DSL meio caidinha ainda, então o framework BDD do RoR é realmente bem
> mais fácil de usar e entender, fazendo com que até pessoas não técnicas
> consigam escrever os testes, como os analistas de negócio por exemplo.
>
> Continue dando uma olhada e conforme for vá postando aqui para gente ver e
> também trocar uma idéia, beleza?
>
> Qualquer dúvida que vc tenha e eu puder ajudar, estamos aí :)
>
> Abraço e boa sorte!
>
> Marcus
>
>
> 2008/10/22 Tiago da Silva Post <[EMAIL PROTECTED]>
>
>> Oi Marcus, tudo bem?
>>
>> É verdade, dei uma olhada na classe de teste do CI agora. Me pareceu
>> bastante simples.
>> Ontem, após ter enviado o e-mail pra lista, eu dei uma pesquisada sim, em
>> vários sites, pois desconhecia o assunto completamente e li várias coisas
>> interessantes. A principal delas é quanto dinheiro se perde por bugs de
>> programação.
>>
>> Especificamente sobre as coisas que existem para auxiliar nós,
>> programadores php neste sentido, achei bastante complexo o que existe por
>> aí. Não esgotei as possibilidades e nem tão pouco minha busca foi exaustiva
>> e profunda. Vou continuar procurando mais coisas e, caso ache algo
>> interessante, retorno à lista contando a respeito.
>>
>> Quanto ao que você postou, vou procurar mais coisas sobre o PHPSpec, pois,
>> segundo sei, o RoR é muito fácil de programar implementando TDD.
>>
>> Muito obrigado.
>>
>> --
>> Abraço,
>> Tiago Post
>> 51 9245.3915
>>
>>
>>>
>>> Date: Tue, 21 Oct 2008 19:09:20 -0200
>>> From: "Marcus Cavalcanti" <[EMAIL PROTECTED]>
>>> Subject: Re: [CodeIgniter] TDD ou BDD com CI
>>> To: "CodeIgniter Brasil" <[email protected]>
>>> Message-ID:
>>>        <[EMAIL PROTECTED]>
>>> Content-Type: text/plain; charset="iso-8859-1"
>>>
>>>
>>> Se vc não sabe o que não é um e nem outro eu primeiro aconselho vc a se
>>> informar sobre isso.
>>>
>>> Resumidamente BDD seria mais ou menos uma evolução do TDD, onde se em TDD
>>> vc
>>> escreve os testes e o resultado esperado (testes unitários) em BDD vc
>>> escreve testes mais humanos, ou seja, como seu programa deve se comportar
>>> para satisfazer seu cirtério de aceitação.
>>>
>>> TDD é algo mais isolado e BDD é algo mais amplo, pois fala sobre
>>> comportamento.
>>>
>>> No CodeIgniter existe uma librarie para testes unitários, apesar de eu
>>> nunca
>>> ter usado, contudo existem outros frameworks mais sólidos para testes
>>> unitários em PHP como o PHPUnit e o SimpleTest.
>>>
>>> Já para BDD existe um framework chamado PHPSpec, que é uma versão para
>>> PHP
>>> do RSpec, que é um famoso framework para BDD feito pro RoR.
>>>
>>> Se informe melhor sobre o assunto antes de botar a mão na massa, pois ele
>>> é
>>> bem amplo. Aproveito também para indicar que procure leituras sobre
>>> desenvolvimento ágil e integração continua.
>>>
>>> E depois nos dê seu feedback, pois sinto bastante falta desses assuntos
>>> por
>>> aqui :)
>>>
>>> []s
>>>
>>> 2008/10/21 Tiago da Silva Post <[EMAIL PROTECTED]>
>>>
>>> > Olá Pessoal,
>>> >
>>> > ouvi um amigo meu falar sobre TDD (Test Driven Development) ou BDD
>>> > (Behaviour Driven Development).
>>> > Gostaria de saber se tem como eu programar desta forma em CI?
>>> >
>>> >
>>> > --
>>> > Abraço,
>>> > Tiago Post
>>> > 51 9245.3915
>>>
>>
>>
>>
>> _______________________________________________
>> Lista mailing list
>> [email protected]
>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>
>>
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a