Mensagens enviadas por: Thiago Senna
Índice dos Fóruns » Perfil de Thiago Senna » Mensagens enviadas por Thiago Senna
Autor Mensagem
richardpeder
Ainda hj algumas pessoas defendem que a mesma pessoa que programa deve testar...! Não vejo nada óbvio ainda na questão de teste visto que muiiita gente não dá importância alguma para esta área, achando que somente o cara que codifica é o papel importante na historia.


Olá Richard...
Muito interessante sua colocação! No entanto, deixe-me fazer algumas colocações.
O cara que codifica tem um papel muito importante na história sim!
Também concordo com você que poucos dão importância para esta área! Infelizmente!
Mas veja só.... Testes é uma área muito mais ampla do que parece!
Temos três tipos de testes pelo menos.... que são: Testes de Unidades, Integração e Aceitação!

Não tem cabimento você ter uma equipa responsável apenas em criar testes! Isso por que o ideal seria o próprio programador se responsabilizar pelos testes de unidade! Mas os testes de aceitação e integração poderiam ser delegados para uma equipe responsável pelos testes.

Quando falamos em testes, estamos automaticamente falando em qualidade. Para que haja qualidade, deve haver envolvimento tanto da equipe de testes quanto o envolvimento dos desenvolvedores. Todos devem estar comprometidos com os testes.

No XP por exemplo, o próprio desenvolvedor antes de criar uma classe, ele deve primeiro criar uma classe de teste. Quando um desenvolvedor vai concertar um BUG ele pode isolar o bug com um teste, para ai sim corrigir o bug. Você tem que ser uma pessoa muito doida da cabeça para fazer refactoring em um sistema que está funcionando corretamente sem criar primeiramente os testes!

Resumidamente.. Tanto a equipe de testes quanto os desenvolvedores são responsáveis pelos testes.

Mas tenho uma infeliz observação para fazer. Eu acho muito difícil engrenar alguma idéia referente ao crescimento na adoção de equipes de testes nos projetos. Até que isso é possível, mas..... bom... vou me explicar no parágrafo abaixo:

A área de teste é uma área muito.. mas muito.. mas muito chata!!! São poucas pessoas que sentem interesse em trabalhar nela. O pior que ninguém reconhece as qualidades de um bom testador. Ou seja, os bons testadores são poucos! E quando tem, logo ficam de saco cheio, por que o serviço é repetitivo, chato e ninguém dá a ele o valor que ele realmente merece!

Acredito que isso ou pode mudar, ou surgirão outras formas de se trabalhar com testes dentro de uma equipe! Talvez os desenvolvedores se comprometerão mais com os testes.... e os desenvolvedores começarão a desempenhar os dois papéis. Uma opção viável é haja no projeto uma pessoa que fique exatamente cobrando os testes e qualidade do software.. e que se responsabilize pelos testes de integração e aceitação!
Sinceramente.. naum sei... mas vou terminando por aqui!

Só quro deixar aqui mais uma colocação....
Se alguém aqui tem dúvidas de quais são os benefícios e qualidades de um sistema bém testado, faça o seguinte.
Entre no site da apache (www.apache.org) e procure por um framework chamado Cactus. Esse framework é um ótimo framework e bastante completo para a realização e criação de testes.
Depois disso pense no seguinte!

"Por quê o Framework de testes da APACHE se chama "CACTUS"?

Um Abraço!
Thiago Senna
Olá GUJ's

Concordo que não há nenhuma ferramenta RAD realmente produtiva para RAD.
Mas tenho uma colocação e ao mesmo tempo uma pergunta?

Há no Delphi ou VB algum suporte para testes, ferramentas de build ou frameworks igual temos em Java? VB ou Delphi possui suporte para refactoring comparável ao do Eclipse ou Ingelij IDEA.

Bom, nós não temos um editor de telas tão bonitinho quanto o do VB e do DELPHI, mas temos frameworks MVC.

Design Patterns sempre existiu, hoje se você programa em JAVA, logo você deve conhecer pelo menos um Pattern. Java é uma das tecnologias que mais ajudou no amadurecimento do Patterns, isso por que o código feito em java é mais propícia para possuir uma maior qualidade.

Ou seja, não temos produtividade em interfaces gráficas, mas temos produtividades em geração de código e altíssima qualidade na arquitetura dos nossos sistemas.. (dependendo do projeto, é claro!).

Mas o que considera muito legal no java é que quando você precisa criar um botão, você precisa criar uma classe do tipo JButton.... e não simplesmente arrastar uma figura de um botão para dentro de um form...

Ou seja, "NÓS SABEMOS O QUE ESTAMOS FAZENDO!!!"

Outro detalhe é que vc pode criar interfaces gráficas usando Swing, SWT, Thinlet entre outras ferramentas gráficas. Olhem só quantas opções temos!!!

Bom.... agora sendo um pouco mais maldoso!
Nós desenvolvemos softwares.. e não protóptipos!!!

Um Abraço!
Thiago Senna
Olá Fabrício!

Obrigado pelos comentários e pelo suas ótimas colocações que você fez com relação as minhas opiniões sobre o XP!

Concordo plenamente de que qualquer equipe que contenha rivalidade já é de certa forma derrotada. Mas infelizmente o perfil do profissional de informática é de ser uma pessoa competitiva! Confesso de parece que este perfil está mudando atualmente.

No entanto, eu acho que projetos que utilizam RUP por exemplo, são excessivamente documentados exatamente para controlar o desenvolvimento mesmo havendo rivalidade e competitividade entre os desenvolvedores. Afinal, se uma pessoa desenvolve por si só, de qualquer jeito aquilo estará documentado... pelo menos é o que eu penso na teoria!!

Mas completando, acredito que um profissional competitivo e individualista não será bém vindo em qualquer tipo de projeto, mas há metodologias mais próprias e outras menos próprias para profissionais com este perfil!

Um Abraço!
Thiago
Bom.. esqueci de responder uma pergunta com relação de quando se deve usar XP!

O XP pode ser usado em n tipos de projetos desde grandes até pequenos!
Já ouvi muitos dizerem que XP só serve para projetos pequenos e médio porte. Mas na verdade o XP nasceu em um projeto de Grande Porte.. então é possível usar XP em projetos de grande porte sim!

Na verdade.. o que deve ser avaliar é quando não se deve usar XP...
Um dos casos mais graves em que não é possível usar XP é quando o cliente não se encontra disponível para trabalhar junto com a equipe e quando existe rivalidade entre os componentes da equipe.

XP nunca funcionará em ambiente competitivo!!!

De boa.. xp vai bém além disso...

Um Abraço!
Thiago
De forma bém resumidamente e rápida, XP é uma metodologia muito diferente de RUP!

Em geral, no desenvolvimento utilizando RUP será necessário a geração de muito artefato e muita documentação, no entanto, no XP nem tanto... a documentação, mas não como em RUP!

Mas não se enganem achando que XP é apenas uma metodologia que elimina documetação. Ela vai muito além disso!

As principais características de uma equipe que desenvolve utilizando XP são:

Coragem,
Simplicidade,
Feedback,
Comunicação.

Ou seja, ao invés de documentações extensas no papel em RUP, opta-se pela comunicação interpessoal no XP. Comunicação também é importante no XP por se usar programação em PAR!

Coragem para fazer refactorings e utilizar programação guiada por testes... incentivar contratos abertos ao invés de contratos fechados e se expor ao cliente.

Feedback da equipe e do cliente com relação ao projeto.

Simplicidade ao escrever código., Ou seja, no XP nunca se começa com as soluções mais difíceis, e sim com a solução ideal para o problema. Caso o problema piore, dali refactoring!!! Por isso, muito coragem!!!

Desculpem-me por ser tão breve... XP é uma metodologia muito interessante para ser tratada com apenas estas linhas!!! Quem conhece sabe do que estou falando... e olha que eu não conheço XP!!!!!

Vocês podem dar uma olhada neste site aqui:
www.xispe.com.br

Se quiserem meu contato para discutir isso melhor, será um prazer! Sou iniciante assim como muitos aqui.. e tenho muita vontade de aprender mais e mais em XP

Um Abraço
Thiago Senna
Olá!!

Em um dos tópicos lá em cima eu disse que deveríamos entender frameworks como algo inacabado! Talvez eu não tenha explicado bém minha opinião!

No caso do struts por exemplo, não há como você querer usá-lo sem que você tenha um sistema usando ele. Ou seja, o Struts só se fará útil apartir da hora que você integrá-lo com sua aplicação! Caso contrário, ele não tem utilidade.

É por isso que ele se chama framework.... ou seja.. um pedaço de trabalho... Ele é inacabado para que posso ser fácilmente acoplado ou integrado em alguma aplicação...

Um Abraço!
Entenda framework como algo inacabado!!! Ou seja, ele só será útil quando em conjunto com sua aplicação por exemplo!!!

Um Abraço!
fzampa worte:

Máquinas nao tem dor de cabeça, nao reclamam, nao te xingam, nao fazem nada que vc nao peça. E olha que isso ainda é uma coisa abrangente...


Não concordo muito...
O que adianta a máquina ser boa e não ter dor de cabeça se você muitas vezes você é obrigado a usar o Windows???? Ou qualquer outro software porcaria?? Melhor seria se você conseguisse convencer o seu chefe que windows não presta e tal software funciona bém!!!

Mesmo que os profissionais de informática não queiram se relacionar com outras pessoas, infelizmente não tem jeito.

Software não é manufatura.. é produto do nosso conhecimento... Pessoalmente acho que informática tem mais haver com humanas do que com exatas.. quando utilizado em um ambiente corporativo.

Com o XP, fica mais evidente que teremos que nos desenvolver muito a nossa comunicação com pessoas!

Um Abraço!
Olá Rafael!

Sendo assim, vou entrar em contato com meu grupo para disponibilizar o trabalho no java.net!!!!

Valeu pelo atenção!
Um Abraço!
Acredito que este livro é ótimo!

Você também pode ver o livro J2EE em 21 Dias!

Caso você seja iniciante, mias interessante será você estudar livros que abordam algumas tencnologias específicas, como JSP e SErvlet... ou somente EJB!

Olhe esses links abaixo!
http://java.sun.com/developer/onlineTraining/index.html

http://java.sun.com/j2ee/1.4/docs/tutorial/doc/ (leia o about this tutorial... how to read this tutorial)

http://java.sun.com/j2ee/tutorial/1_3-fcs/

Boa Sorte!
Maricio..

Muito legal a sua colocação!
Principalmente a colocação onde você diz que mesmo sendo técnico você também mantém contato com pessoas!

Mas olha.. o Gerente tem uma função importante! Na verdade, ele nem sabe, mas tem!

O principal objetivo dele é fazer com que essas atividades chatas como cronograms, reuniões e etc não atrapalhem a rotina dos funcionários técnicos!

Ou seja, os Gerentes trabalham para que nós trabalhemos melhor!!
Nós Técnicos somos FODAS!!
Olha!!!

Eu penso como você!
Mas antes vou aprender a lidar com máquinas e abusar do trabalho em grupo!
Ou seja.. primeiramente quero me consolidar em mais ou menos 2 anos na área de tecnologia.... até virar quem sabe um arquiteto.... Depois, to indo pra gerência.... Quero gerenciar projetos e ter como diferencial um bom domínio técnico do problema!

Um Abraço!
Olá!

Desculpem-me por esta pergunta imbecil...
Nunca me envolvi com este assunto antes, e precisava de um direcionamento de pessoas já experientes e envolvidas com sourceforge.net e java.net.

Vocês sabem se é possível colocar no source forge ou no java.net o projeto de final de curso da faculdade??? Digo isso porque pretendo utilizar CVS como controle de versão e também não vejo problemas em disponibilizar nosso código fonte para toda a comunidade mundial!
Outro interesse meu é também já lidar com isso para futuramente, talvez, desenvolver alguma coisa livre para a comunidade através destes sites, ou contribuir com o desenvolvimento de algum software livre.
É muito difícil conseguir aprovação, o que preciso? Melhor ainda, onde consigo algum material explicando sobre isso?

Desde já agradeço!
Olá!

Este tópico não é importante, mas reparei algo interessante ontem. Quando eu ia pra Faculdade, vi na Funchal uma propaganda da TIM, onde havia uma xícara de café. Atrás da Xícara um teclado. Em cima da xícara aquela famosa fumacinha... bastante parecida com aquela fumaça usada na xícara do logo tipo do java.

Se não bastasse isso, na televisão também passa esse novo comercial da TIM, que aparece um monte de coisa, mas em uma das cenas, lá está novamente aquel café quentinho em uma xícara... e aquela famosa fumacinha!!! O Detalhe é que no comercial não há um teclado do lado da xícara, e sim um celular!!!

É uma impressão minha ou será que nestas cenas a TIM está rasgando ceda para a tecnologia JAVA e todos desenvolvedores java??? Será???
Ou eu estou ficando louco e estou viajando muito!!!

Um Abraço!
Oi Gustavo..

Olha.. um lugar onde você pode achar um exemplo do ThreadLocal é no Livro Hibernate In Action! Mas ao invés deles estarem controlando connections, eles controlam sessões e transações. Se não me engano você poderá encontrar no capítulo 8. Mas ao invés de comprar o livro, entre no site www.manning.com e abaixe o código fonte dos exercícios do livro, e veja por si próprio o ThreadLocal!

Tambpem tem um pattern que representa essa organização usando ThreadLocal, mas agora não me recordo o nome.

Com relação aos DAO's, eu costumo passar por parametro ou retornar apenas TO (ou VO). Já que TO é apropriado para transporte de dados entre as camadas do sistema. Mas isso é pessoal, pois considero o DAO e Factorys de DAO como uma camada de integração, como apresentado no Livro Core J2EE Patterns!

Na revista Java Magazine do mês passado teve uma matéria muito boa sobre DAO, Abstract Factory e FActory Method. Valeu muito a pena mesmo!

Só isso, por enquanto!
Um Abraço!
 
Índice dos Fóruns » Perfil de Thiago Senna » Mensagens enviadas por Thiago Senna
Ir para:   
Powered by JForum 2.1.8 © JForum Team