terça-feira, 16 de novembro de 2010

Tipos de testes - Quando utilizar cada um?

Para quem se interessa em teste de software ai esta informações importantíssimas para modelagem do processo de desenvolvimento/ teste de software. Vale apenas ressaltar que cada organização deve adequar seus processos conforme sua estrutura e em conjunto com o PDCA.
Caracterís ticas
Tipos de testes
Teste unitário
Teste de Integração
Teste de Sistema
Teste de Aceitação
Alfa Teste
Beta Teste
Descrição
Teste em que se testam as menores unidades de software desenvolvidas( pequenas partes ou unidades do sistema). Os alvos desse tipo de teste são os métodos dos objetos ou mesmo pequenos trechos de código.
O objetivo é encontrar falhas provenientes da integração interna das unidades de um sistema.
Sistema já completamente integrado é verificado quanto a seus requisitos num ambiente de produção (caixa-preta).
 Teste de caixa-preta é realizado num sistema antes de sua disponibilização. Verifica o sistema em relação aos seus requisitos originais, e às necessidades atuais do usuário.
Produto ainda em fase de construção e testes. Usuários (selecionados) poderão testar o sistema em um ambiente controlado.
Produto em fase de testes. Usuários (selecionados) poderão testar o sistema em um ambiente de homologação.
Escopo
Unidade
Requisito
Todo Sistema
Conforme processo do cliente
Conforme processo do cliente
Conforme processo do cliente
Equipe
Desenvolvedores
Analista
Teste
Teste  e Usuários Chaves
Teste e Usuários Chaves
Clientes
Origem dos dados
Criação manual Passagem de parâmetro/insert no SGDB
Automática (via sistema)
Automática (via sistema)
Automática (via sistema)
Dados Reais(cópia base de produção)
Dados Reais(cópia base de produção)
Volume dos dados
Pequeno
Pequeno
Grande
Grande
Grande
-
Ambiente
Desenvolvimento
Desenvolvimento/Teste
Teste
Teste (similar ao de produção cliente X)
Teste (interno)
Homologação em cliente

sexta-feira, 12 de novembro de 2010

Processo de Testes de Software - Concepção



O Processo de Testes de Software busca estruturar etapas, atividades, artefatos, papéis e responsabilidades padronizando tarefas e controlando projetos de testes.

Assim como qualquer outro processo, o processo de teste de software deve ter como base o ciclo PDCA, de forma a ampliar sua institucionalização e possibilitar aos profissionais uma maior visibilidade e organização das suas tarefas, resultando em maior agilidade e gerenciamento dos projetos de testes.






Planejamento dos Testes


É a elaboração da proposta de testes baseada em prazos, custos e qualidade esperada, avaliando recursos necessários e estabelecendo estimativas conforme necessidade do cliente.





O planejamento dos testes é dividido por 2 papeis no processo de teste de software:







Visão geral:







Detalhando as Macro-Atividades




Esta lista representa o conjunto de atividades que deverão ser executadas para que cada macro-atividade seja considerada finalizada, funcionando como um "check-list" de execução da etapa de "Planejamento dos Testes".


Estudo do Projeto:


· Analisar as solicitações do Cliente;


· Avaliar necessidade de alteração na arquitetura dos aplicativos;


· Estudar as lições aprendidas (projetos já finalizados);


· Avaliar custos, prazos e qualidade exigidos pelo Cliente;


· Avaliar os riscos e impactos do projeto no processo de teste;


Avaliação de Impacto:


· Avaliar necessidade da criação de casos de testes;


· Avaliar necessidade de atualização de casos de testes;


· Avaliar necessidade de adequação na automação dos testes;


· Avaliar necessidade de adequação nas atuais ferramentas utilizadas;


· Avaliar necessidade de aquisição/construção de novas ferramentas;


· Avaliar necessidade de alteração na estruturação do ambiente;


Análise Interna de Esforço


· Buscar métricas históricas para auxiliar na elaboração das estimativas de recursos;


· Estimar recurso interno para absorção dos impactos da arquitetura dos testes;


· Demonstrar recurso externo para absorção dos impactos da arquitetura dos testes;


Análise Externa de Esforço:


· Avaliar disponibilidade de infra-estrutura para os terceiros;


· Especificar adequações necessárias a serem repassadas a terceiros;


· Definir métricas de qualidade e produtividades esperadas;


· Elaborar SLA's de serviço e multas contratuais;


· Receber proposta de trabalho (cronograma, prazos e custos);


Definição de Cenários Possíveis (Duração, Esforço, Custo e Qualidade):


· Avaliar lista de projetos a iniciar/em andamento;


· Avaliar a disponibilidade de recursos internos para alocação no projeto;


· Identificar cenários (terceirização, redução de escopo, priorização de projetos);


· Elaborar cronograma para os cenários identificados;


· Definir riscos e planos de ação esperados para os cenários identificados;


· Elaborar propostas e enviar para aprovação da diretoria;


Aprovação do Planejamento:


· Obter a aprovação da proposta da diretoria;


· Obter a aprovação da proposta do cliente;


· Divulgar o cenário aprovado aos colaboradores e terceiros;


· Obter a assinatura do contrato e elaborar a documentação de repasse aos terceirizados;


· Disponibilizar infra-estrutura necessária aos terceirizados;


· Comunicar a finalização da etapa de planejamento dos testes ao cliente;


Definição das Responsabilidades

O diagrama abaixo mostra os papéis e responsabilidades para cada macro-atividade envolvida na etapa de "Planejamento dos Testes".


Artefatos do processo

Abaixo estão listados as macro-atividades e suas entradas e saídas:

Análise do projeto:

Entradas: Visão do projeto

Saídas: -


Avaliação de impacto:


Entradas: Arquitetura de teste


Saídas: Analise de impacto da arquitetura


Estimar esforço interno

Entradas: Histórico processo de teste, Estimativa de teste

Saídas: Analise de impacto da arquitetura

Estimar esforço externo

Entradas: Solicitação de proposta executar de teste, Solicitação de proposta inovar arquitetura

Saídas: Proposta executar de teste, proposta inovar arquitetura

Definir cenário

Entradas: Analise impacto arquitetura

Saídas: Propostas projeto teste

Aprovar planejamento

Entradas: Propostas projeto teste

Saídas: Projeto teste de software



Representação gráfica:




No próximo post estarei comentando sobre a fase de elaboração. Aguardem!

sexta-feira, 15 de outubro de 2010

Qualidade, Processos e Teste de Software:

Neste espaço estarei abordando assuntos referentes a Qualidade, Processos e Teste de Software baseados em lições aprendidas, sempre buscando passar o conhecimento sobre os temas abordados de forma clara e objetiva.