Inciando em teste de software - Dúvidas no RUP

Olá,
Estou iniciando estudos na disciplina de teste de software. Navegando pelo RUP vi que ele propõe 4 perfis diferenes; Gerente de teste, analista de teste, designer de teste e testador (http://wthreex.com/rup/process/workflow/test/ov_tst_act.htm). Na prática, quais são os perfis existentes em fábricas de software?

Obrigada,
Sarah Pires.

Eu diria que nas iniciantes não tem alguem dedicado a disso, pois não há testes profissionais. E nas avançadas também não tem, pois os testes são incorporados na própria codificação, nas ferramentas automatizadas, e no cliente que está sempre do lado.

Aqui onde estou trabalhando há um monte de gente de umaa consultoria especializada em teste (a T&M Testes de Software, http://www.tmtestes.com.br/ ). Eles podem lhe dar uma idéia melhor de que perfis eles precisam e se eles implantam isso em seus clientes.

A pergunta se restringe a fabricas de software que utilizam, ou acham que utilizam, RUP?

Pois se podem ser extendidas a qualquer soft-house, no meu antigo emprego o analista e designer de teste eram a mesma pessoa (um cargo de engenharia de testes), que respondiam a um gerente de teste e tinham uma serie de testadores e, quando muito, um desenvolvedor de testes automatizados.

O Resultado era extremamente burocratico se comparado com isto
http://blog.fragmental.com.br/2008/03/24/testadores-ageis/

Gerente de teste me fez rir um bocado. Qual seria o papel desse? rs

Pois é, as empresas que pensam em qualidade e maturidade em desenvolvimento de software sempre têm uma estrutura boa de testes. Podendo haver os seguintes papéis:
Gestor de testes
Líder técnico de testes
Analista/Arquiteto/Engenheiro de testes
Analista de testes automatizados
Testador

Na rede na grande maioria dos livros especializados em qualidade de software ou até mesmo nos livros de engenharia de software é possível encontrar muito bem a definição e atribuições de cada função.

Independente da metodologia de trabalho deve-se haver profissionais capacitados em testes de software, planejando e aplicando melhores práticas de testes. Atualmente é visível o quanto existe diferença para uma empresa que tem um processo maduro de testes para uma que não tem.

Infelizmente, ainda existem algumas ramificações de profissionais da TI que não enxergam/entendem o quanto é importante o papel da equipe de testes e seus processos, mas com o mundo concorrido do desenvolvimento de software as empresas estão buscando essa necessidade e conseqüentemente aprimorando suas técnicas e ganhando em maturidade e qualidade.

Nos tempos de hoje cabe ao profissional especializado em testes de software participar dos projetos de desenvolvimento e garantir as melhores técnicas de testes para atenderem os respectivos escopos.

Exemplo: Projeto para desenvolvimento de software Web:
Deverá ser de responsabilidade do especialista de testes garantirem que o sistema tenha: Desempenho/performance, disponibilidade, usabilidade, segurança e as funcionalidades/requisitadas pelo cliente, além de planejar a automatização desse sistema para ganhar em testes de regressão.

“Quando mais tardio é identificado um defeito de sistema, mais custoso se torna para o projeto/empresa”

Ah, em empresas que existem processos de testes e especialistas de testes para garantir Qualidade, umas das atividades do Gestor de testes é garantir uma ótima e grande comunicação entre as demais equipes que fazem parte do projeto, exemplo fábrica de software, assim como a participação em tomadas de decisões do projeto.

Segue minha sugestão para as funções de testes em alguns cenários:
Empresa pequena com desenvolvimento de sistemas poucos complexos:
Analista de teste e testador - Papeis unificado
Automatizado de testes - Atividades em paralelo

Empresa grande com desenvolvimento de sistemas complexos e mais de uma equipe de desenvolvimento:
Gestor de testes/Líder técnicos - Papeis unificado
Analista de testes
Testador de software
Automatizado de testes

Empresas grandes com desenvolvimento de sistemas de qualquer complexidade com mais de uma equipe de desenvolvimento e prestador de serviços em testes:
Gestor de testes
Líder técnico de testes
Analista de testes
Testador de software
Automatizador de testes
Especialista em testes de aceitação (profissional com grande visão de negócio)

Pessoal que fique bem claro, que a descrição das responsabilidades desses profissionais é muito bem clara na teoria, e podemos considerá-las aceitas, pois trabalho a 8 anos com testes de software é já passei por inúmeras metodologias de desenvolvimento e maturidades de empresas e nesse caso sempre é aderente a teoria com a prática.

Acima é apenas uma idéia de como pode ser aceitável atuar em testes.

Com todo respeito acho que você está bem atrasado no tempo. Da uma lida sobre Desenvolvimento ágil de software, Testes automatizados e afins que você vai ter uma noção do quão custoso e inutil é manter essa estrutura que você descreveu.

[]s

Sem problemas Sr. Emerson, os meus comentários foram baseados em minha experiência profissional e teórica, onde já tive oportunidade de atuar em grandes e pequenos projetos, metodologias em cascata e incremental/iterativa e tudo me deram bagagem em práticas aplicadas na realidade em grandes empresas e projetos.

Concordo com você que essa estrutura pode ser “cara” para empresas e projetos pequenos, mas como a nossa colega esta iniciando os estudos em testes, apenas repassei para o conhecimento dela, pois acredito que essa informação não seja muito valida para você visto que você deve ter muita vigência em desenvolvimento de software e também acredito que já deve ter passado por ciclo de desenvolvimento em formatos cascata e agora deve estar atuando com métodos ágeis, pois atualmente é o foco de desenvolvimento hoje em dia para aplicações Java.

Ah também sei o quanto é crítico a relação entre desenvolvedores e analista de testes atualmente, e hoje em dia uma das minhas atribuições é criar um ótimo relacionamento entre essas duas funções, onde o desenvolvedor não se sinta prejudicado pelo fato da equipe de testes identificarem inúmeros problemas de codificação devido a práticas de implementações irreais e incorretas. Sempre tentamos transformar todas essas maravilhas da teoria em prática, e onde trabalho atualmente estamos com um time muito maduro, onde os desenvolvedores acreditam totalmente na eficiência e eficácia da equipe dos testes, mas isso só é possível com muito trabalho, prática e senioridade dos profissionais.
Abraços.

"

Conforme seu comentário de que já trabalhou com metodologias incrementais/iterativas, em que caso compensou essa abordagem?

A questão não é ser válda pra ela ou pra mim. O fato é que esse tipo de estrutura provou que é muito cara e existem formas mais baratas e eficientes (IMO) de alcançar os mesmos resultados.

O fato de existir uma equipe separada de testes já indica que não existe agilidade no processo. Aqui onde eu trabalho existe uma pessoa de testes no time. Mesmo assim, fazemos testes automatizados para nosso projeto e temos entregue produtos com alta qualidade em tempo bem curto sem precisar de toda essa estrutura de testes que você mencionou.

Respeito seu ponto de vista mas acredito que as opções que apresentei fazem mais sentido nos dias de hoje.

"

Eu sempre cito este trecho da “Catedral e o Bazar”

Agora basta pensar se vale a pena trazer isso para o seu ambiente de trabalho.

"

Eu sou radicalmente contra as fabricas de software mas… ainda espero por um exemplo onde ela pode ser bem sucedida alem do hello world. Detonar algo intrinsecamente waterfall é facil, nem precisa de tanta saliva :slight_smile:

"