Teste de Software com ênfase em
conhecimento: uma proposta de
estratégia
Douglas Magalhães de Abreu
Orientador: Dr. André Luiz Zambalde
Co-orientador: M. Eng. Paulo H.de Souza Bermejo
Apresentação: Roteiro





Motivação e Objetivos
Referencial Teórico
Metodologia
Resultados e Discussão
Conclusão
Motivação e Objetivos

Complexidade desenvolvimento de software tem
aumentado





Tamanho de código
Uso de recursos computacionais
Tamanho das equipes de desenvolvimento
Volume de documentações
Aumento das chances de ocorrência de falhas


Manutenção tem alto custo
Afeta credibilidade do produto e da empresa
Motivação e Objetivos (continuação)

Identificação de falhas com teste de software (Taipale, 2007):





atividade intelectualmente complexa
requer interação entre equipes pra troca de informação e conhecimento
demanda conhecimento prévio de domínio do problema, de ferramentas, do
produto e de clientes
Gestão do conhecimento tem se tornado uma resposta a essas demandas por
conhecimentos
Gestão do Conhecimento




Captar, organizar, disponibilizar e criar conhecimento na organização
Já utilizada em vários setores da indústria
organizações produtoras de software têm utilizado no apoio à tomada de
decisão por meio de aprendizado com projetos passados
pesquisas recentes apontam benefícios da colaboração da Gestão do
Conhecimento ao teste de software (Taipale, 2007)
Motivação e Objetivos (continuação)

Objetivos:

Geral:


propor um processo de teste de software com ênfase em
conhecimento em uma empresa produtora de software
Específicos:



levantar os fundamentos teóricos da Gestão do Conhecimento e
teste de software
identificar e descrever os processos de teste de software da
empresa
propor atividades complementares aos processos já existentes na
empresa que tornem viável a Gestão de Conhecimento na
atividade de teste
Referencial Teórico

Conhecimento (DAVENPORT & PRUZAK,1998):


Está associado à prática e à experiência
Está presente:





Mentes dos conhecedores
Atividades rotineiras
Documentos
Políticas e normas das organizações
Classificação

Tácito x Explícito
Referencial Teórico (continuação)

Teste de software (PFLEEGER, 2001):


Atividade intelectualmente complexa
Conceitos





Defeito (fault)
Erro (error)
Falha (failure)
Caso de teste
3 fases básicas



Teste de unidade
Teste de integração
Teste de sistema
Fases de teste de software (Pfleeger, 2001)
Referencial Teórico (continuação)

Teste de software (PEZZAND e YOUNG, 2008):

Classificação de falhas (Root Cause Analisys: RCA)



dinâmica e generalizada
Objetivo: encontrar as causas
Classificação:





Crítica
Severa
Moderada
Suave
Perfis Operacionais

Modelos estatísticos de uso com base em casos anteriores ou
similares
Metodologia

Pesquisa qualitativa



Enfoque exploratório descritivo
Perspectiva do pesquisador
Pesquisa ação




Participação ativa do pesquisador junto ao objeto de
pesquisa
Pesquisador não apenas observa, interfere nas decisões do
grupo
Tende a resolver ou elucidar o problema
Gera conhecimento sobre o problema
Metodologia (continuação)





Levantamento de material bibliográfico
Levantamento de documentos da empresa
Análise dos processo de teste de software da
empresa
Inferência sobre as informações
Geração da proposta de uso da GC nas
atividades de teste de software
Resultados e Discussão

Empresa






10 anos
150 funcionários
Atua na área de mineração
2 sedes
Atua no exterior
Projeto estratégico de expansão e melhoria de
processos internos (em adaptação)
Resultados e Discussão (continuação)


Processos da empresa
Fluxos de processo


Desenvolvimento de projeto de software (com ou
sem implantação)
Geração de releases(branches)
inicio
P1.2 - gerar
proposta técnica
P1.5 - planejar homologação
P1.3 - gerar:
requisitos, casos de uso e
testes por requisito e
por caso de uso
P1.7 - executar homologação
P1.6 – desenvolver software
fim
Fluxos de processos de desenvolvimento e homologação de software
reunir para definir
escopo e
necessidades
(recursos)
inicio
estabelecer data
de homologação
junto com o
gerente do projeto
realizar pedido
formal de recursos
formalizar plano de
homologação
com todos os gerentes
de desenvolvimento e
de produto
inicio
fim
gerenciar reportagem,
documentação e
correção de falhas
realizar teste de
integração
(teste por caso
de uso)
executar planos
de testes
reunir para balanço,
tomada de decisão
(aceite ou rejeição)
reunir para nivelar
conhecimento do
projeto entre
Desenvolvedores
e gerentes
realizar teste de
unidade
(teste por requisito)
inicio
reunir para dividir
tarefas entre
recursos humanos
oficializar finalização
da homologação
divulgando resultado
fim
desenvolver
requisitos
documentar todo o
desenvolvimento
Equipe de Homologação de Produto
Gerente de Projeto
Talento
fim
Resultados e Discussão (continuação)

Proposta de processo de teste de software com
ênfase em conhecimento





Documentação adequada mas não usada pra aprendizado
com projetos passados
Equipe de homologação separada da equipe de
desenvolvimento torna o teste menos eficiente
Não há especialistas em teste de software na empresa
Muitos funcionários novos (menos de 1 ano de
contratação)
Captura, filtragem, organização e difusão do
conhecimento trarão agilidade aos processos
Resultados e Discussão (continuação)

Ferramentas de GC: exemplos de uso



Criação de conhecimento: BI (Business
Intelligence)
Reuniões diárias: Blog
Captura de conhecimento:wiki
Conclusões







Os processos que envolvem teste de software da empresa foram
observados e descritos conforme planejado
Aplicação ainda que preliminar se mostra promissora e de grande
aceitação pelos envolvidos
A equipe já demonstra mais segurança nos planejamentos e execuções de
homologações
Espera-se que toda a proposta seja aplicada e melhorada na empresa
A Gestão do Conhecimento mostrou-se bem adaptada aos processos já
existentes na empresa
Espera-se a adoção da proposta pela equipe de desenvolvimento
Espera-se contribuir na literatura com a concepção de um conjunto de
processos de teste de software que tenham ênfase em conhecimento
Referências Bibliográficas

DAVENPORT, Thomas H.; PRUZAK, Laurence: Working Knowledge –
How Organizations Manage What They Know. Harvard Business School
Press. 1998. 199 pgs.

DELAMARO, Marcio Eduardo; JINO, Mario; MALDONADO, José
Carlos: Introdução ao Teste de Software. São Paulo. Campus, 2007.
408pgs.

DINGSØYR, Torgeir. (2002). Knowledge Management in Medium-Sized
Software Consulting Companies: an investigation of intranetbased
knowledge management tools for knowledge cartography and knowledge
repositories for learning software organisations. Norwegian University of
Science and Technology. Editora Perspektiv.

LYU, M.: Software reliability engineering: A roadmap. Future of Software
Engineering. 2007. IEEE-CS Press, 2007.
Referências Bibliográficas

MYERS, Glenford J.; BADGETT, Tom; THOMAS, Todd M.;
SANDLER, Corey: The Art of Software Testing. John Wiley and Sons,
2004.234 pgs.

NEVES, J. L. Pesquisa qualitativa: características, usos e possibilidades.
Caderno de pesquisa em administração. São Paulo, v. 1, n. 3, 1996.

NONAKA, Ikujiro; TAKEUCHI, Hirotaka. Criação de conhecimento na
empresa. 9ª ed. Rio de Janeiro: Campus, 1997.

PEZZAND, Mauro; YOUNG Michael: Software Testing and Analysis:
Process, Principles and Techniques. John Wiley & Sons 2008. 510 pgs.
Referências Bibliográficas

PFLEEGER, Shari L.: Software Engineering: Theory and. Prentice Hall; 2
edition (February 7, 2001). 659 pgs.

SBC: Grandes Desafios da Pesquisa em Computação no Brasil 2006 –
2016. Relatório sobre o Seminário realizado em 8 e 9 de maio de 2006.
http://www.sbc.org.br/ Acessado em setembro 2008.

THIOLLENT, Michel: Metodologia da pesquisa-ação. 4. ed. São Paulo :
Cortez, 1988 108 pgs.

ZAMBALDE, A. L.; ALVES, R. M.: Gestão do conhecimento, tecnologia
e inovação. Lavras. Faepe.2008.
Download

Apresentação