SlideShare uma empresa Scribd logo
Teste de Software em Frameworks Ágeis
                                                                    Por Rodrigo Monteiro


       Surgem diversas questões sobre como estruturar testes em projetos que se
utilizam de frameworks ágeis, como SCRUM. Como nestes projetos a documentação
gerada é significativamente menor em função da desburocratização do processo de
desenvolvimento, alguns métodos de teste, estes fortemente baseados em artefatos
como especificações, devem ser revistos e adequados à realidade de cada projeto.

      Em projetos ágeis, os membros do time de desenvolvimento devem possuir
todas as capacidades necessárias para tornar um requisito de negócio a um incremento
funcional do sistema, e dentre tais capacidades necessárias, as relacionadas aos testes
de software.

       Quanto à definição do escopo dos testes, o mesmo deve ser feito de maneira
participativa, envolvendo os integrantes do projeto, incluindo o cliente, o usuário final,
a equipe que dará manutenção ao software futuramente, dentre outros, a fim de
entender e atender às necessidades de qualidade do incremento do software a ser
desenvolvido na iteração.




                                                                                 Página 1
Uma boa solução para não deixar nada de fora é se basear em um checklist ou
em normas como a ISO/IEC 9126-1 (que apresenta uma lista de características e
subcaracterísticas que um produto de software com qualidade deve apresentar) para
definir quais pontos podem ser abordados durante os testes:



     Características                                Subcaracterísticas

                                                    -   Adequação (execução do que é apropriado)
                                                    -   Acurácia (execução de forma correta)
     Funcionalidade (satisfação das necessidades)   -   Interoperabilidade (interação com quem deve)
                                                    -   Conformidade (aderência às normas)
                                                    -   Segurança de Acesso (bloqueio de uso não autorizado)


                                                    - Maturidade (freqüência de falhas)
     Confiabilidade (imunidade à falhas)            - Tolerância à falhas (forma de reação à falhas)
                                                    - Recuperabilidade (forma de recuperação de falhas)


                                                    - Intelegibilidade (facilidade de entendimento)
     Usabilidade (facilidade de uso)                - Apreensibilidade (facilidade de aprendizado)
                                                    - Operacionalidade (facilidade de operação)


                                                    - Tempo (tempo de resposta, velocidade de execução)
     Eficiência (rápido e enxuto)                   - Recursos (recursos utilizados)


                                                    -   Analisabilidade (facilidade de encontrar falhas)
                                                    -   Modificabilidade (facilidade de modificar)
     Manutenibilidade (facilidade de manutenção)    -   Estabilidade (baixo risco quando de alterações)
                                                    -   Testabilidade (facilidade de testar)


                                                    - Adaptabilidade (facilidade de se adaptar a outros
                                                    ambientes)
                                                    - Capacidade para ser instalado (facilidade de instalar em
     Portabilidade (uso em outros ambientes)        outros ambientes)
                                                    - Conformidade (aderência a padrões de portabilidade)
                                                    - Capacidade de substituir (facilidade de ser substituído
                                                    por outro)




       Sobre a escolha das técnicas de teste a serem utilizadas, estas devem ser
discutidas a partir do escopo de testes definido. Para cada característica ou
necessidade apresentada, deve-se apresentar uma ou mais estratégias que possam
verificá-las ou validá-las. Por exemplo, sistemas para o público em geral como caixas
eletrônicos devem ser fáceis de utilizar, sem a necessidade de auxílio e
acompanhamento, portanto podem-se utilizar estratégias de teste que visem avaliar a
usabilidade deste tipo de software.




                                                                                                           Página 2
É importante que as táticas escolhidas estejam de acordo com as características
encontradas nos projetos ágeis, como a incerteza e flutuação dos requisitos, o
desenvolvimento incremental, dentre outras. Ou seja, as táticas de testes escolhidas
devem se adequar facilmente às mudanças nos requisitos, ser capazes de serem
aplicadas nos incrementos do software gerados em cada iteração (sprints), etc. Porém
não devem ser desconsiderados testes que visem avaliar o produto como um todo.




      Quanto aos documentos a serem produzidos durante o processo de testes, assim
como em todo projeto ágil, eles devem ser utilizados conforme vista sua necessidade.
Procedimentos podem ser elaborados para determinar quais os documentos passíveis
de serem utilizados para cada categoria de testes.




                                                                              Página 3

Mais conteúdo relacionado

DOCX
EXECUÇÃO DE TESTE
DOC
Análise no modo de falhas e seus efeitos
PDF
ALM - Ciclo de vida de aplicações, onde fica o PO e o PM
PPT
Fmea final
PPT
Es5 qualidade
PPT
Modelos de Processo de Software
PDF
Aula 6 - Prototipação de telas
EXECUÇÃO DE TESTE
Análise no modo de falhas e seus efeitos
ALM - Ciclo de vida de aplicações, onde fica o PO e o PM
Fmea final
Es5 qualidade
Modelos de Processo de Software
Aula 6 - Prototipação de telas

Destaque (20)

PDF
Mendy zen - away from convention
PDF
Poster 2009 09 24
DOCX
Juanito 130923182024-phpapp02
PPTX
PPS
El Amor
PPS
Impresindible
DOCX
Planificacion de una clsase
PDF
Depliant_TeamSystem_Astute_Associazioni
PPTX
ასმათი ხაბულიანი
PPTX
Newport University Presentation
PPT
Genetically modified food by marian
PPT
Ostereier
PPT
Pautas para la formulación del proyecto de aula de las tic
PDF
PDF
Assemblea general de socis 29052014 [modo de compatibilidad]
PDF
Reglamento del usuario
DOC
Resume_Gaurav Saxena
PPT
Vidreart slide 2011
PPTX
PPT
Pintilie Cornel Stefan 4º A
Mendy zen - away from convention
Poster 2009 09 24
Juanito 130923182024-phpapp02
El Amor
Impresindible
Planificacion de una clsase
Depliant_TeamSystem_Astute_Associazioni
ასმათი ხაბულიანი
Newport University Presentation
Genetically modified food by marian
Ostereier
Pautas para la formulación del proyecto de aula de las tic
Assemblea general de socis 29052014 [modo de compatibilidad]
Reglamento del usuario
Resume_Gaurav Saxena
Vidreart slide 2011
Pintilie Cornel Stefan 4º A
Anúncio

Semelhante a Teste de software em frameworks ágeis (20)

PDF
Qualidade de Software e Métodos Ágeis
PDF
MTA1 Aula-01. Introdução
PPTX
ALM - Testes Exploratórios
PPT
PDF
Utilização da Gestão do Conhecimento nas Metodologias Ageis para Melhoria da ...
PPTX
KEY
SCRUM - Aula 2
PPT
Addtech - Usabilidade
PDF
Usabilidade 5 - Análise Heurística
PDF
Introdução ao Teste de Software - Uma abordagem prática
PPSX
USABILIDADE
PPT
Visão de Testes de Software segundo o SWEBOK
PDF
Testes Funcionais - Unidade IV
PDF
Minicurso Avaliação de Interfaces
PDF
10990 4
PPT
Tdd On Rails
PDF
Usabilidade 6 - Prototipação
PPT
Heuristicas De Nielsen
PDF
Trabalho qualidade de_software
Qualidade de Software e Métodos Ágeis
MTA1 Aula-01. Introdução
ALM - Testes Exploratórios
Utilização da Gestão do Conhecimento nas Metodologias Ageis para Melhoria da ...
SCRUM - Aula 2
Addtech - Usabilidade
Usabilidade 5 - Análise Heurística
Introdução ao Teste de Software - Uma abordagem prática
USABILIDADE
Visão de Testes de Software segundo o SWEBOK
Testes Funcionais - Unidade IV
Minicurso Avaliação de Interfaces
10990 4
Tdd On Rails
Usabilidade 6 - Prototipação
Heuristicas De Nielsen
Trabalho qualidade de_software
Anúncio

Mais de Rodrigo Monteiro (9)

PDF
Unc news edicao 1
DOC
Documentação do projeto
PDF
Cockpit de testes
PDF
Portfolio performance
PDF
Retargets control
PDF
Portfolio status
PDF
Cockpit de bugs
PDF
Sprint burndown
PDF
Product burndown
Unc news edicao 1
Documentação do projeto
Cockpit de testes
Portfolio performance
Retargets control
Portfolio status
Cockpit de bugs
Sprint burndown
Product burndown

Teste de software em frameworks ágeis

  • 1. Teste de Software em Frameworks Ágeis Por Rodrigo Monteiro Surgem diversas questões sobre como estruturar testes em projetos que se utilizam de frameworks ágeis, como SCRUM. Como nestes projetos a documentação gerada é significativamente menor em função da desburocratização do processo de desenvolvimento, alguns métodos de teste, estes fortemente baseados em artefatos como especificações, devem ser revistos e adequados à realidade de cada projeto. Em projetos ágeis, os membros do time de desenvolvimento devem possuir todas as capacidades necessárias para tornar um requisito de negócio a um incremento funcional do sistema, e dentre tais capacidades necessárias, as relacionadas aos testes de software. Quanto à definição do escopo dos testes, o mesmo deve ser feito de maneira participativa, envolvendo os integrantes do projeto, incluindo o cliente, o usuário final, a equipe que dará manutenção ao software futuramente, dentre outros, a fim de entender e atender às necessidades de qualidade do incremento do software a ser desenvolvido na iteração. Página 1
  • 2. Uma boa solução para não deixar nada de fora é se basear em um checklist ou em normas como a ISO/IEC 9126-1 (que apresenta uma lista de características e subcaracterísticas que um produto de software com qualidade deve apresentar) para definir quais pontos podem ser abordados durante os testes: Características Subcaracterísticas - Adequação (execução do que é apropriado) - Acurácia (execução de forma correta) Funcionalidade (satisfação das necessidades) - Interoperabilidade (interação com quem deve) - Conformidade (aderência às normas) - Segurança de Acesso (bloqueio de uso não autorizado) - Maturidade (freqüência de falhas) Confiabilidade (imunidade à falhas) - Tolerância à falhas (forma de reação à falhas) - Recuperabilidade (forma de recuperação de falhas) - Intelegibilidade (facilidade de entendimento) Usabilidade (facilidade de uso) - Apreensibilidade (facilidade de aprendizado) - Operacionalidade (facilidade de operação) - Tempo (tempo de resposta, velocidade de execução) Eficiência (rápido e enxuto) - Recursos (recursos utilizados) - Analisabilidade (facilidade de encontrar falhas) - Modificabilidade (facilidade de modificar) Manutenibilidade (facilidade de manutenção) - Estabilidade (baixo risco quando de alterações) - Testabilidade (facilidade de testar) - Adaptabilidade (facilidade de se adaptar a outros ambientes) - Capacidade para ser instalado (facilidade de instalar em Portabilidade (uso em outros ambientes) outros ambientes) - Conformidade (aderência a padrões de portabilidade) - Capacidade de substituir (facilidade de ser substituído por outro) Sobre a escolha das técnicas de teste a serem utilizadas, estas devem ser discutidas a partir do escopo de testes definido. Para cada característica ou necessidade apresentada, deve-se apresentar uma ou mais estratégias que possam verificá-las ou validá-las. Por exemplo, sistemas para o público em geral como caixas eletrônicos devem ser fáceis de utilizar, sem a necessidade de auxílio e acompanhamento, portanto podem-se utilizar estratégias de teste que visem avaliar a usabilidade deste tipo de software. Página 2
  • 3. É importante que as táticas escolhidas estejam de acordo com as características encontradas nos projetos ágeis, como a incerteza e flutuação dos requisitos, o desenvolvimento incremental, dentre outras. Ou seja, as táticas de testes escolhidas devem se adequar facilmente às mudanças nos requisitos, ser capazes de serem aplicadas nos incrementos do software gerados em cada iteração (sprints), etc. Porém não devem ser desconsiderados testes que visem avaliar o produto como um todo. Quanto aos documentos a serem produzidos durante o processo de testes, assim como em todo projeto ágil, eles devem ser utilizados conforme vista sua necessidade. Procedimentos podem ser elaborados para determinar quais os documentos passíveis de serem utilizados para cada categoria de testes. Página 3