Automação de Testes de Software

06/03/2012

0

Como automatizar os testes de software em uma fábrica de software, onde existe um sitema enorme, que ninguém que trabalha nessa fábrica o conhece 100%? Esse sistema foi desenvolvido por vários desenvolvedores, e hoje em dia ele vem sendo so incrementado com novas rotinas, quando o mesmo foi desenvolvido não foi construido em cima de nenhuma metodologia, ou usado nenhum artificio da engenharia de software. O sistema não possui nenhum tipo de documentação. A cada três dias, ou quando houver necessidade é lançado uma nova versão, e a maioia dessas versões que são lançadas, são para corrigir bugs. O testes que sao feitos no sistema são apenas os unitários, cada programador que fez determinada alteração, verifica se esta funcionando, se sim, ele comita a versão, mais isso não é passado para ninguém verificar a não ser o proprio desenvolvedor. Hoje essa fábrica está aderindo para os processos da engenharia por necessidade, e por organização. Temos um gerente que mescla metodologias a fim de melhorar nossos processos, temos 5 programadores formados na área de desenvolvimento de sistemas. E estamos contratando uma equipe de testes(dois alunos de uma faculdade para experiência). Como utilizar esses testadores da melhor maneira? Como melhorar nossos processos de testes? Como Automatizar esses processos aos poucos?
Pedro Saraiva.

Pedro Saraiva.

Responder

Posts

21/03/2012

Erackson Brito

Tem algum analista na empresa?

O legal seria o analista passar pra equipe de desenvolvimento e pra equipe de testes a documentação (casos de uso, diagramas de sequência, diagrama de classes, contratos de operações etc) de cada novo módulo ou alteração. Dessa forma a equipe de desenvolvimento (toda, não apenas um desenvolvedor) saberia o que fazer e a equipe de testes já poderia fazer os testes. O que antes iria depender de como o desenvolvedor fez tal alteração ou módulo. Os testes ainda podem ser feitos mesmo se a equipe de desenvolvimento não terminou o serviço; usando Mock Objects.

;]

[]´s
Responder

29/08/2012

Igor Pereira

Automatização de testes é algo que ajuda com certeza no processo de testes.
Bom na equipe em que trabalho, possuímos os desenvolvedores que fazem os códigos e implementam/executam os testes unitários dos métodos e classes. A equipe de teste segue uma sequencia automatizada de testes em diferentes instâncias/demos no nosso software para testar cada caso de uso e interfaces. Cada teste automatizado gera um relatório automatico que é analisado pela equipe de teste e reportado para o desenvolvedor e coordenador do projeto. Esta pequena automatização foi desenvolvida pela equipe de testes. Uma boa prática é manter a equipe de teste sempre em comunicação com os desenvolvedores, para eles entenderem o software sendo desenvolvido e os testes unitários sendo executados.

A equipe de teste pode ser usada também em testes de qualidade, que eu chamo assim pois variam conforme a aplicação. Por exemplo, usabilidade, expressividade, escalabilidade, etc.

Responder

20/03/2013

Fabio Rocha

Como automatizar os testes de software em uma fábrica de software, onde existe um sitema enorme, que ninguém que trabalha nessa fábrica o conhece 100%? Esse sistema foi desenvolvido por vários desenvolvedores, e hoje em dia ele vem sendo so incrementado com novas rotinas, quando o mesmo foi desenvolvido não foi construido em cima de nenhuma metodologia, ou usado nenhum artificio da engenharia de software. O sistema não possui nenhum tipo de documentação. A cada três dias, ou quando houver necessidade é lançado uma nova versão, e a maioia dessas versões que são lançadas, são para corrigir bugs. O testes que sao feitos no sistema são apenas os unitários, cada programador que fez determinada alteração, verifica se esta funcionando, se sim, ele comita a versão, mais isso não é passado para ninguém verificar a não ser o proprio desenvolvedor. Hoje essa fábrica está aderindo para os processos da engenharia por necessidade, e por organização. Temos um gerente que mescla metodologias a fim de melhorar nossos processos, temos 5 programadores formados na área de desenvolvimento de sistemas. E estamos contratando uma equipe de testes(dois alunos de uma faculdade para experiência). Como utilizar esses testadores da melhor maneira? Como melhorar nossos processos de testes? Como Automatizar esses processos aos poucos?

Uma parte interessante é utilizar o TDD, assim parte do software já sai testado durante a fase de desenvolvimento, quando desenvolvemos orientado a teste, o resultado é menos bug´s, há varios artigos aqui no Devmédia, eu publiquei dois inclusive, um sobre JUnit no Java e outro de teste unitário em php.
Quanto aos testes funcionais, performance e outros, você tem ferramentas que pode ser utilizada pelos testadores de forma a melhorar os testes, lembrando que os testes não devem verificar se o sistema funciona e sim buscar erros.
Se a equipe trabalha com Java e programação Web, vocês podem utilizar o JMeter para performance teste e o Selenium para testes funcionais, estas ferramentas permite ao testador criar testes automátizados.
QUalquer dúvida poste aqui

www.fgrweb.com.br
Responder

02/04/2013

Vicente Alves

O problema narrado é mais comum quando o time de desenvolvimento é MUITO grande, com dezenas de desenvolvedores envolvidos. É bem mais fácil melhorar a comunicação entre os membros da equipe quando ela é formada por até 7 ou 8 desenvolvedores, como é o caso.

Um primeiro passo que sugiro é a criação de um Modelo de Domínio para melhorar a comunicação. Isto é imprescindível para a separação de responsabilidades do código e reduzir a propagação de erros.

Um segundo passo seria a criação de Padrões de Projeto. Padrões criados e nomeados pela própria equipe. É uma ótima forma de padronizar o desenvolvimento e facilitar o comunicação dentro do time.

Estes dois primeiros passos facilitariam muito as etapas seguintes que então visariam a criação de testes realmente efetivos. Entendo que a comunicação deficiente é uma das principais causas do problema citado. Quaisquer medidas no sentido de melhoria da comunicação (como programação pareada ou "stand-up meetings") tendem a melhorar a visão de cada um sobre o todo. Só então é possível melhorar a cobertura dos testes e incluir testes de integração e aceitação.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar