Este documento propõe uma estratégia para implantar testes automatizados em ambientes ágeis utilizando vários modelos como referência. A estratégia envolve identificar os requisitos de negócio da empresa, avaliar seu nível de maturidade ágil e de testes, e aplicar técnicas de teste automatizado como TDD. A estratégia é então aplicada em uma empresa de desenvolvimento de software para melhorar seu processo de teste.
TechNet - e-Book- Artigos sobre Test ManagerAlan Carlos
E-Book em português com coleções de artigos do Portal TechNet Wiki sobre Test Manager.
Sobre o e-Book: Artigos do Test Manager
Esse e-Book tem como objetivo trazer artigos do Portal do TechNet Wiki, selecionados por assuntos e ordem, ajudando a comunidade com informações relevantes sobre determinado assunto, soluções, ferramentas, tecnologia ou conjunto de processos.
Sobre o conteúdo do e-Book
Esse e-Book aborda o tema “Testes de Software” utilizando as soluções de Application Lifecycle Management da Microsoft. A solução da Microsoft em Testes de Software é independente de qual a linguagem de programação que o software foi escrito ou ambiente a ser testado. O e-Book divide-se em três seções com coleções de artigos em seu formato original extraídos do Portal do TechNet Wiki Brasil.
Iniciando
Artigos que abordam de forma geral, o que é testes de software e como definir o escopo de projeto de seu teste de software.
Planejando e Executando
Artigos relacionados a como configurar, planejar e executar seus testes de software, ambientes e gestão de configuração.
Workshop - Plano de Testes End to End com o Microsoft Test ManagerAlan Carlos
Apresentação completa sobre passo a passo no uso do Test Manager da Microsoft, incluindo:
- Vínculos dos Work Items
- Geração de Relatórios e Indicadores
- Abordagem de Casos de Testes Funcionais e Não Funcionais
- Dicas e links de Testes de Segurança, AppInsights, Análises
[Portfólio Acadêmico] [FIT] Mapas de navegação, lista de tarefas e fluxograma...Rafael Kanaoka
PÓS-GRADUAÇÃO EM ARQUITETURA DE INFORMAÇÃO & UX – FIT
MAPAS DE NAVEGAÇÃO, TAREFAS E FLUXOGRAMAS
Atividade Individual II – Análise de Tarefas no meu trabalho – POR RAFAEL YUKIO KANAOKA
VER ANEXO I > http://pt.slideshare.net/rkanaoka/portflio-acadmico-fit-mapas-de-navegao-lista-de-tarefas-e-fluxogramas
O controle das tarefas em uma fábrica de software é algo muito complicado de se organizar, nem sempre o processo pode ser seguido da forma planejada, seja por falta de tempo, ou seja por falta de habilidades no gerenciamento do projeto. Mapeando as tarefas deste processo, pude perceber que, se todas as etapas fossem seguidas corretamente, muitos erros no sistemas e, consequentemente, perda de receitas para o cliente e para a empresa, poderiam ser evitados.
Noto também que o mapa de dependências tem suma importância para o gerenciamento do projeto, a partir deste mapa, podemos encontrar quais profissionais ou departamentos são responsáveis por cada tarefas, reciclando tempos preciosos em um projeto de desenvolvimento de sistemas.
Vide à conclusão do trabalho individual I: A análise de tarefas utilizando ferramentas como o mapa de conceitos, mapas de navegação e fluxogramas, auxiliam muito no entendimento fácil e rápido de processos por serem formas gráficas de representação, facilitando muito quando se deseja transmitir informações com muitos dados para outras pessoas, como, no caso deste trabalho, todos os processos presentes no dia a dia.
TechNet - e-Book- Artigos sobre Test ManagerAlan Carlos
E-Book em português com coleções de artigos do Portal TechNet Wiki sobre Test Manager.
Sobre o e-Book: Artigos do Test Manager
Esse e-Book tem como objetivo trazer artigos do Portal do TechNet Wiki, selecionados por assuntos e ordem, ajudando a comunidade com informações relevantes sobre determinado assunto, soluções, ferramentas, tecnologia ou conjunto de processos.
Sobre o conteúdo do e-Book
Esse e-Book aborda o tema “Testes de Software” utilizando as soluções de Application Lifecycle Management da Microsoft. A solução da Microsoft em Testes de Software é independente de qual a linguagem de programação que o software foi escrito ou ambiente a ser testado. O e-Book divide-se em três seções com coleções de artigos em seu formato original extraídos do Portal do TechNet Wiki Brasil.
Iniciando
Artigos que abordam de forma geral, o que é testes de software e como definir o escopo de projeto de seu teste de software.
Planejando e Executando
Artigos relacionados a como configurar, planejar e executar seus testes de software, ambientes e gestão de configuração.
Workshop - Plano de Testes End to End com o Microsoft Test ManagerAlan Carlos
Apresentação completa sobre passo a passo no uso do Test Manager da Microsoft, incluindo:
- Vínculos dos Work Items
- Geração de Relatórios e Indicadores
- Abordagem de Casos de Testes Funcionais e Não Funcionais
- Dicas e links de Testes de Segurança, AppInsights, Análises
[Portfólio Acadêmico] [FIT] Mapas de navegação, lista de tarefas e fluxograma...Rafael Kanaoka
PÓS-GRADUAÇÃO EM ARQUITETURA DE INFORMAÇÃO & UX – FIT
MAPAS DE NAVEGAÇÃO, TAREFAS E FLUXOGRAMAS
Atividade Individual II – Análise de Tarefas no meu trabalho – POR RAFAEL YUKIO KANAOKA
VER ANEXO I > http://pt.slideshare.net/rkanaoka/portflio-acadmico-fit-mapas-de-navegao-lista-de-tarefas-e-fluxogramas
O controle das tarefas em uma fábrica de software é algo muito complicado de se organizar, nem sempre o processo pode ser seguido da forma planejada, seja por falta de tempo, ou seja por falta de habilidades no gerenciamento do projeto. Mapeando as tarefas deste processo, pude perceber que, se todas as etapas fossem seguidas corretamente, muitos erros no sistemas e, consequentemente, perda de receitas para o cliente e para a empresa, poderiam ser evitados.
Noto também que o mapa de dependências tem suma importância para o gerenciamento do projeto, a partir deste mapa, podemos encontrar quais profissionais ou departamentos são responsáveis por cada tarefas, reciclando tempos preciosos em um projeto de desenvolvimento de sistemas.
Vide à conclusão do trabalho individual I: A análise de tarefas utilizando ferramentas como o mapa de conceitos, mapas de navegação e fluxogramas, auxiliam muito no entendimento fácil e rápido de processos por serem formas gráficas de representação, facilitando muito quando se deseja transmitir informações com muitos dados para outras pessoas, como, no caso deste trabalho, todos os processos presentes no dia a dia.
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
Apresentação do curso "Introdução ao Teste de Software - Uma abordagem prática", ministrado por Fabrício Ferrari de Campos no primeiro Ensina aí! realizado na Voice Technology.
Introdução a automação de testes - 5º Congresso Online de TIRafael Amaral
Palestra apresentada no 5º Congresso Online de TI (2016), onde exponho alguns dos principais pontos de interesse para quem está começando a estudar automação de testes de software
Palestra realizada por Camilo Ribero no segundo semestre de 2010 para os alunos dos cursos de sistemas de informação e ciência da computação da PUC Minas, na Unidade São Gabriel
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
A palestra inicialmente abordará os princípios do Teste de Software como o que é teste de software, níveis de teste, tipos de teste, como testar um software, gestão de testes, gestão de defeitos, certificações entre outros. Durante a palestra serão mostradas as principais ferramentas que auxiliam os testadores e qual a funcionalidade de cada uma. E por fim será discutido sobre a carreira e os papéis em relação ao mercado atual.
Chamada para o segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...Murilo Lima
O SOFTEXRECIFE, está realizando uma chamada para formação do 2º grupo para capacitação e avaliação para o nível 1 do MPT.Br (Melhoria do Processo de Teste Brasileiro).
Este projeto conta com o apoio do SEBRAE/PE, através do Programa de Fortalecimento do APL de TI de Pernambuco, que irá subsidiar grande parte dos custos do projeto.
Os passos para as empresas participarem do programa são:
# Preencher o questionário (baixe através do link http://bit.ly/fRJcFs)
# Enviá-lo para Marcos André Gomes marcos@recife.softex.br).
O processo irá selecionar 5 empresas.
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
Apresentação do curso "Introdução ao Teste de Software - Uma abordagem prática", ministrado por Fabrício Ferrari de Campos no primeiro Ensina aí! realizado na Voice Technology.
Introdução a automação de testes - 5º Congresso Online de TIRafael Amaral
Palestra apresentada no 5º Congresso Online de TI (2016), onde exponho alguns dos principais pontos de interesse para quem está começando a estudar automação de testes de software
Palestra realizada por Camilo Ribero no segundo semestre de 2010 para os alunos dos cursos de sistemas de informação e ciência da computação da PUC Minas, na Unidade São Gabriel
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
A palestra inicialmente abordará os princípios do Teste de Software como o que é teste de software, níveis de teste, tipos de teste, como testar um software, gestão de testes, gestão de defeitos, certificações entre outros. Durante a palestra serão mostradas as principais ferramentas que auxiliam os testadores e qual a funcionalidade de cada uma. E por fim será discutido sobre a carreira e os papéis em relação ao mercado atual.
Chamada para o segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...Murilo Lima
O SOFTEXRECIFE, está realizando uma chamada para formação do 2º grupo para capacitação e avaliação para o nível 1 do MPT.Br (Melhoria do Processo de Teste Brasileiro).
Este projeto conta com o apoio do SEBRAE/PE, através do Programa de Fortalecimento do APL de TI de Pernambuco, que irá subsidiar grande parte dos custos do projeto.
Os passos para as empresas participarem do programa são:
# Preencher o questionário (baixe através do link http://bit.ly/fRJcFs)
# Enviá-lo para Marcos André Gomes marcos@recife.softex.br).
O processo irá selecionar 5 empresas.
Chamada para o Segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...Murilo Lima
O SOFTEXRECIFE, está realizando uma chamada para formação do 2º grupo para capacitação e avaliação para o nível 1 do MPT.Br (Melhoria do Processo de Teste Brasileiro).
Este projeto conta com o apoio do SEBRAE/PE, através do Programa de Fortalecimento do APL de TI de Pernambuco, que irá subsidiar grande parte dos custos do projeto.
Os passos para as empresas participarem do programa são:
# Preencher o questionário (baixe através do link http://bit.ly/fRJcFs)
# Enviá-lo para Marcos André Gomes marcos@recife.softex.br).
O processo irá selecionar 5 empresas.
3. Problema
• O problema abordado é implantar um processo de teste
automatizado em um ambiente ágil e será apresentada uma
estratégia de como se implanta teste automatizado em
ambientes ágeis.
4. Objetivo
• Propor uma estratégia de implantação de um processo de teste
automatizado em um ambiente ágil. E para elaboração da estratégia
foram utilizados:
• - Método de instanciação de processos
Modelos de referência
• - Modelo de Maturidade Ágil (AMM)
• - O Modelo de maturidade de testes (TMM)
5. Justificativa
• As empresas estão investindo muito em métodos de
desenvolvimento ágil para garantir maior qualidade no processo
de desenvolvimento e não investem em testes automatizados.
• Dessa forma foi criada uma estratégia para implantar testes
automatizados dentro de um ambiente ágil para mostrar a
importância dos testes automatizados e atingir um nível de
maturidade no processo de desenvolvimento.
7. Teste de software
Automação de testes
Teste automatizado significa automatizar atividades de teste de software,
incluindo o desenvolvimento dos roteiros de teste, a execução desses roteiros e
a verificação dos resultados. Collins (2012)
Testes ágeis
Teste ágil é testar um software com um plano para aprender sobre o software e
deixar que as informações dos clientes orientem as atividades de teste.
Os testes ágeis utiliza os valores ágeis como indivíduos e interações, software
em funcionamento, colaboração com o cliente e responder as mudanças.
Para obtermos testes ágeis, a automação de testes se torna imprescindível, uma
vez que a automação de teste é considerada o núcleo dos testes ágeis.
Crispin (2009)
8. TMM – Modelo de maturidade de testes
Modelo que foi criado para melhoria no processo de teste
9. AMM – Modelo de maturidade ágil
O modelo de maturidade ágil AMM foi criado e é utilizado para melhorar o
desenvolvimento de software ágil.
10. Método de instanciação de processos
O método de instanciação de processos apresentado por Dias (2010)
detalha os elementos dos objetos processos de acordo com as
características da empresa que serão chamadas de requisitos de
negócio.
A instanciação é a parte do processo em que são detalhados e
especializados os elementos dos objetos processos de acordo com as
características da empresa e do projeto (requisitos de negócio).
11. PROPOSTA PARA A ESTRATÉGIA DE
IMPLANTAÇÃO
Método de instanciação para gerar uma arquitetura de processos.
12. Passo a passo de método
1. Utilização do método de instanciação de processos para
identificação dos requisitos de negócio
Para identificar os requisitos de negócio da empresa é
necessário identificar:
• Visão da empresa
• Identificar os procedimentos utilizados na empresa
• Ter uma visão geral da organização
• Identificar os papéis, os problemas gerais e as
expectativas
13. Passo a passo de método
2. Utilização do modelo de maturidade ágil AMM para
identificação do nível de agilidade
Roteiro para identificação e melhoria do processo de desenvolvimento ágil.
Patel (2009)
14. Passo a passo de método
3. Identificação do nível de maturidade de testes
utilizando o TMM
O TMM será utilizado para verificar se a empresa possui um
processo de teste, se possui artefatos no processo e assim
assim atingir um nível de maturidade em um ambiente ágil.
15. Passo a passo de método
4. Utilização das técnicas de testes automatizados
Conforme Crispin (2009) o teste está presente em todo o
desenvolvimento e utilizando técnicas e ferramentas, é
possível facilitar o desenvolvimento e automatizar o
processo.
- Para os testes de unidade existe a técnica TDD
- Para os testes de regras de negócio ou de aceitação existe
a técnica BDD
- Para os testes exploratórios não possui técnica uma vez
que são feitos no final do processo para explorar o sistema
e garantir que nenhuma falha seja encontrada.
16. APLICAÇÃO
Cenário:
A aplicação foi realizada em uma organização que
desenvolve produtos de Internet e é líder de mercado em
sua área. A implantação do Scrum começou em 2009 em
um projeto piloto e cresceu para abranger todas as equipes
de desenvolvimento.
17. APLICAÇÃO
1. Aplicando o método de instanciação de processos para
identificação dos requisitos de negócio
Requisitos de negócio da área de desenvolvimento da empresa aplicada.
18. APLICAÇÃO DO MÉTODO
1. Aplicando o método de instanciação de processos para
identificação dos requisitos de negócio
Visão da área de desenvolvimento
19. APLICAÇÃO DO MÉTODO
2. Aplicando o AMM para avaliar o nível de maturidade
ágil da empresa
Auto-avaliação das práticas ágeis de acordo com as KPA´s.
20. APLICAÇÃO DO MÉTODO
2. Aplicando o AMM para avaliar o nível de maturidade
ágil da empresa
Foi verificado que a empresa possui um nível de agilidade porém não
possui muitas áreas de processo de teste implementada. É necessário
implantar as KPA´s ao processo de teste automatizado para as KPA´s
que foram respondidas como “Não” e “parcialmente”.
Respostas Numero de respostas
total questões
do questionário
(Tabela 4) Total de respostas N/A Classificação
Sim 8
14 1 85%
Parcialmente 4
Não 1
N/A 1
21. APLICAÇÃO DO MÉTODO
3. Aplicando o TMM para avaliar o nível de maturidade de
testes da empresa
A empresa se encontrava no nível inicial do TMM, onde a atividade de teste é
um processo caótico, sem ferramentas e sem equipe treinada.
22. APLICAÇÃO DO MÉTODO
4. Aplicando a estratégia de implantação de testes
automatizados utilizando técnicas de teste
Após todos os passos anteriores, é possível criar uma nova estratégia de
implantação no processo da empresa.
Essa nova estratégia deve utilizar as KPA´s do processo de teste que
antes não eram utilizadas. São elas:
- O desenvolvimento deve ser feito utilizando cartões de histórias;
- Deve utilizar a técnica TDD;
- Deve possuir programação em par;
- Deve possuir interação mútua;
- Deve possuir padrões de código.
23. APLICAÇÃO DO MÉTODO
4. Aplicando a estratégia de implantação de testes
automatizados utilizando técnicas de teste
Com a aplicação do método de instanciação, juntamente com o
processo atual da empresa, foram identificadas duas fases para o
processo de desenvolvimento da empresa.
24. APLICAÇÃO DO MÉTODO
4. Aplicando a estratégia de implantação de testes
automatizados utilizando técnicas de teste
Elicitar requisitos é a atividade onde se obtêm as informações do
sistema e para essa atividade têm-se os papéis de PO e time de
desenvolvimento trabalhando juntos nas tarefas.
25. APLICAÇÃO DO MÉTODO
4. Aplicando a estratégia de implantação de testes
automatizados utilizando técnicas de teste
27. Considerações finais
• Foi identificado que o teste sempre esteve presente no processo de
desenvolvimento, porém não estava incorporado em todo o processo.
• O método proposto que defini uma estratégia de implantação de
automação de testes em ambiente ágil, possui técnicas ágeis que prega
testes desde o começo do desenvolvimento.
• A estratégia desenvolvida mostra que o time incorpora a cultura de
testes e prevê que testes desde o inicio do desenvolvimento evita falhas
futuras no sistema uma vez que falhas encontradas tardiamente geram
mais tempo para correção e é mais custoso.
• Uma vez que os testes estão automatizados, já que os mesmos são
realizados e implementados desde o começo, todo time Scrum está
focado no desenvolvimento, não existindo separação de papéis dentro
do time e o teste passa a ser importante desde o começo para o time.
28. Trabalhos futuros
• Aplicar a estratégia de implantar automação de testes em um ambiente ágil
afim de extrair resultados como a diminuição de defeitos no final do
processo de desenvolvimento a partir de relatórios de defeitos gerados
como artefatos da estratégia.
• Atingir um melhor nível de maturidade de testes (TMM), como o nível
quatro que é o nível de gestão e medição, onde é necessário incorporar ao
processo artefatos que gerem uma medição melhor dos testes.
29.
30.
31. APLICAÇÃO
1. Aplicando o método de instanciação de processos para
identificação dos requisitos de negócio
Organograma da empresa avaliada para ter uma visão geral da área de
desenvolvimento.
Notas do Editor
O objetivo do trabalho é propor uma estratégia de implantação (conjunto de mudanças para atingir um melhor desempenho) de testes automatizados em ambiente ágil
Com a aplicação do método de instanciação de processos, utilizando como referência os modelos AMM e TMM será gerado uma arquitetura de processos onde será aplicada a estratégia de implantação de testes automatizados.
Este trabalho então apresenta uma estratégia de implantação de testes automatizados em ambiente ágil, detalhando o passo a passo para implantação do método.
AMM leva os princípios de software ágil como menor custo, satisfação do cliente e qualidade de software.
Como criou a solução?
Com os requisitos de negócios gerados a partir da identificação de procedimentos, organização, papéis, políticas, problemas e expectativas, juntamente com o modelo de referência AMM com SCRUM o ambiente da empresa é projetado gerando assim uma arquitetura de processos e após a mesma pode ser implantada e avaliada.
Como criou a solução?
Como criou a solução?
Como criou a solução?
Como criou a solução?
Como criou a solução?
Como criou a solução?
Como criou a solução?
Como criou a solução?
De acordo com essa avaliação feita pela equipe é realizado o cálculo para a classificação do nível da KPA identificada.
O processo atual da empresa não possui um processo de teste definido e não era possível identificar a fase de testes os artefatos de testes gerados.
Como criou a solução?
Como criou a solução?
Elicitar requisitos é a atividade onde se obtêm as informações de um sistema ou de um produto e para essa atividade têm-se os papéis de PO e time de desenvolvimento trabalhando juntos nas tarefas de escrever as histórias do usuário e definir os critérios de aceite de cada história
A atividade de desenvolver o sistema têm as tarefas dentro da atividade de desenvolvimento focada nos testes. Para o processo de teste automatizado dentro de um ambiente ágil seguir o processo de agilidade, o teste é uma fase que inicia o processo de desenvolvimento, se mantém durante todo o processo e finaliza o mesmo conforme Collins (2012) e Crispin (2009)