Relatório ListEx 04
CE
‐
‐237
‐
‐
Tópicos Avançados em Teste de Software
Prof. Dr. Luiz Alberto Vieira Dias
Prof. Dr. Adilson Marques da Cunha
Alunos : Eduardo Mena Barreto Alonso
e Jorge Luís Guedes Alves
Setembro/2010
Pós-Graduação em Engenharia Eletrônica e Computação
Área Informática (EEC-I)
Lista de Exercícios 4 (ListEx 04)
CE-237 Tópicos Avançados de Teste de Software
Prof. Dr. Luiz Alberto Vieira Dias
Laboratório 04 – LABTEC da FCMF – ou em casa
Requisitos
• Preencher o Work Paper 5-1
• Cada GRUPO preenche apenas as 3 categorias que julgar mais pertinente
ao seu Segmento de Missão (explicar porque as escolheu).
• Instruções : Knowledge Category 1: Software Testing Principles and
Concepts: The “basics” of software testing are represented by the
vocabulary of testing, testing approaches, methods, and techniques, as well
as the materials used by testers in performing their test activities.
• Instruções : Knowledge Category 2: Building the Test Environment: The
test environment comprises all the conditions, circumstances, and
influences surrounding and affecting software testing. The environment
includes the organization’s policies, procedures, culture, attitudes,
rewards, test processes, test tools, methods for developing and improving
test processes, management’s support of software testing, as well as any
test labs developed for the purpose of testing software and multiple
operating environments. This category also includes ensuring the test
environment fairly represents the production environment.
• Knowledge Category 3: Managing the Test Project: Software testing is a
project with almost all the same attributes as a software development
project. Software testing involves project planning, project staffing,
scheduling and budgeting, communicating, assigning and monitoring
work, and ensuring that changes to the project plan are incorporated into
the test plan.
• Knowledge Category 4: Test Planning: Testers need the skills to plan tests.
Test planning assesses the business and technical risks of the software
application and then develops a plan to determine if the software
minimizing those risks. Test planners must understand the development
methods and environment to effectively plan for testing.
• Knowledge Category 5: Executing the Test Plan: This category addresses
the skills required to execute tests, design test cases, use test tools, and
monitor testing.
• Knowledge Category 6: Test Status, Analysis, and Reporting: Testers need
to demonstrate the ability to develop status reports. These reports should
show the status of the testing based on the test plan. Reporting should
document what tests have been performed and the status of those tests. To
properly report status, testers should review and conduct statistical
analysis on the test results and discovered defects. The lessons learned
from the test effort should be used to improve the next iteration of the test
process.
• Knowledge Category 7: User Acceptance Testing: The objective of
software development is to meet the true needs of the user, not just the
system specifications. Testers should work with the users early in a project
to clearly define the criteria that could make the software acceptable in
meeting the user needs. As much as possible, once the acceptance criteria
have been established, they should integrate it into all aspects of
development.
• Knowledge Category 8: Testing Software Developed by Outside
Organizations: Many organizations do not have the resources to develop
the type and/or volume of software needed to effectively manage their
business. The solution is to obtain or contract for software developed by
another organization. Software can be acquired by purchasing
commerical off-the-shelf software (COTS) or contracting for all or parts
of the software development to be done by outside organizations.
• Knowledge Category 9: Testing Software Controls and the Adequacy of
Security Procedures: The software system of internal control includes the
totality of the means developed to ensure the integrity of the software
system and the products created by the software. Controls are employed
to control the processing components of software, ensure that software
processing is in accordance with the organization’s policies and
procedures, and according to applicable laws and regulations.
• Knowledge Category 10: Testing New Techniques: Testers require skills
in their organization’s current technology, as well as a general
understanding of the new information technology that might be acquired
by their organization.
• Simular valores para as categorias que você não preencheu (chute
educado)
• Preencher o Work Paper 5-2
• Preencher o Work Paper 5-3
Entrega em: 17/09/2010 – 23:59h
PROCEDIMENTOS REALIZADOS
PARTE I
•
Baseado no
Segmento da Missão Lunar 2010 - COLETA DE
AMOSTRAS – CAVAL
, vamos preencher o Work Paper 5-1
• Preencher o Work Paper 5-1
Categoria do conhecimento 1: Teste de Software princípios e conceitos: O "básico" de teste de software são representados pelo vocabulário do teste, teste de abordagens, métodos e técnicas, bem como os materiais utilizados pelos testadores no exercício das suas atividades de teste.
Categoria do conhecimento 2: Criar o ambiente de teste: Compreende todas as condições, circunstâncias e as influências que cercam e afetam os testes de software. O ambiente inclui diretivas da organização, procedimentos, cultura, atitudes, recompensas, processos de teste, testar as ferramentas, métodos para desenvolver e melhorar os processos de teste, suporte de gerenciamento de teste de software, bem como qualquer laboratório de teste desenvolvido para efeitos de teste de software e vários ambientes operacionais. Esta categoria inclui também garantir que o ambiente de teste razoavelmente represente o ambiente de produção.
Categoria do conhecimento 3: Gerenciando projeto de teste: Software de teste é um projeto com quase todos os mesmos atributos de um projeto de desenvolvimento de software. Teste de software envolve planejamento, projeto pessoal, agendamento e orçamento, comunicação, atribuição e monitoramento de trabalho para garantir que as alterações ao plano de projeto sejam incorporadas ao plano de teste do projeto.
Categoria do conhecimento 4: Planejamento de teste: Testadores precisam ter as habilidades necessárias para planejar testes. Planejamento de teste avalia os negócios e riscos técnicos do software aplicativo e, em seguida, desenvolve um plano para determinar se o software minimiza esses riscos. Planejadores de teste devem compreender o ambiente para planejar com eficácia testes e métodos de desenvolvimento.
Categoria do conhecimento 5: Executando os planos de teste Verifica as habilidades necessárias para executar os testes, desenvolver casos de teste, ferramentas de teste e monitorar testes.
Categoria do conhecimento 6: Status do teste, análise e relatório:Testadores precisam demonstrar a sua capacidade para desenvolver relatórios de status. Esses relatórios devem mostrar o status dos testes com base no plano de teste. Emissão de relatórios deve documentar que testes foram realizados e o status desses testes. Ao relatar corretamente o status, testadores devem analisar e realizar análises estatísticas sobre os resultados do teste e defeitos descobertos. As lições aprendidas com o esforço de teste devem ser usadas para melhorar a próxima iteração do processo de teste.
Categoria do conhecimento 7: Teste de aceitação de usuário O objetivo de desenvolvimento de software é para satisfazer as verdadeiras necessidades do usuário, não apenas as especificações do sistema. Testadores devem trabalhar com os usuários no início de um projeto para definir claramente os critérios que iria fazer o software aceitáveis para as necessidades do usuário. Tanto quanto possível, uma vez que os critérios de aceitação foram estabelecidos, eles devem integrá-lo em todos os aspectos do desenvolvimento.
Categoria do conhecimento 8: Desenvolvimento de teste de software por outras organizações: Muitas organizações não têm os recursos para desenvolver o tipo e/ou volume de software necessário para gerenciar com eficiência seus negócios. A solução é obter ou contratar o software desenvolvido por outra organização. Software pode ser adquirido por aquisição de software disponíveis no mercado comercial (COTS) ou contratantes na totalidade ou em partes do desenvolvimento de software a ser feito por organizações externas.
Categoria do conhecimento 9: Teste de controles de software e a adequação dos procedimentos de segurança: O sistema de software de controle interno inclui a totalidade dos meios desenvolvidos para garantir a integridade do sistema de software e os produtos criados pelo software. Controles são empregados para controlar os componentes de processamento do software, verifique se o processamento de software está em conformidade com as políticas e procedimentos da organização e de acordo com leis e regulamentos aplicáveis.
Categoria do conhecimento 10: Testando novas técnicas Testadores requerem habilidades em tecnologia atual da sua organização, bem como uma compreensão geral da nova tecnologia de informação que pode ser adquirida por sua organização.
Após a análise das 10 categorias de conhecimento, o grupo selecionou as 3 categorias a seguir: Gerenciando Projeto de Teste , Planejamento de Teste e Teste de Aceitação de Usuário.
Justificativa da escolha:
Gerenciando projeto de teste: Software de teste é um projeto com quase todos os mesmos atributos de um projeto de desenvolvimento de software. Teste de software envolve planejamento, projeto pessoal, agendamento e orçamento, comunicação, atribuição e monitoramento de trabalho para garantir que as alterações ao plano de projeto sejam incorporadas ao plano de teste do projeto. No módulo lunar de COLETA DE AMOSTRAS, estaremos fazendo uso destas técnicas de gerenciamento, propiciando uma maior eficácia nos resultados.
Planejamento de teste: Testadores precisam ter as habilidades necessárias para planejar testes. Planejamento de teste avalia os negócios e riscos técnicos do software
aplicativo e, em seguida, desenvolve um plano para determinar se o software minimiza esses riscos. Planejadores de teste devem compreender o ambiente para planejar com eficácia testes e métodos de desenvolvimento. No módulo lunar de COLETA DE AMOSTRAS é fundamental que este planejamento seja feito de forma eficaz, uma vez que o alto custo do projeto assim o exige.
Teste de aceitação de usuário O objetivo de desenvolvimento de software é para satisfazer as verdadeiras necessidades do usuário, não apenas as especificações do sistema. Testadores devem trabalhar com os usuários no início de um projeto para definir claramente os critérios que iria fazer o software aceitáveis para as necessidades do usuário. Tanto quanto possível, uma vez que os critérios de aceitação foram estabelecidos, eles devem integrá-lo em todos os aspectos do desenvolvimento. No módulo lunar de COLETA DE AMOSTRAS todos os processos devem ser revistos e aprimorados para que no teste de aceitação do usuário não haja grandes impactos
Categoria do conhecimento 3: Gerenciando o projeto de teste Totalmente Competente Parcialmente Competente Não Competente 1 Teste de planejamento, programação
e orçamento Alinhamento:
Garantir que os processos de teste estão alinhados com os objetivos
organizacionais, objetivos dos usuários os de negócios, ciclos de lançamento e metodologias de desenvolvimento diferentes.
X
Teste de desempenho:
Monitoramento de desempenho do teste para adesão ao plano, cronograma e orçamento, realocar recursos como as tendências indesejáveis necessárias e prevenção.
X
Pessoal:
Adquirir treinamento e manter uma equipe de teste competentes.
X Gestão de pessoal:
Manter pessoal devidamente informado utilizando a equipe de teste.
X Diferenças entre gerenciamento
tradicional:
Usando uma estrutura hierárquica versus gerenciamento de qualidade usando uma estrutura de organização bidimensional
X
2 Eficácia pessoal e organizacional Habilidades de Comunicação: a - escrita comunicação:
confirmação por escrito e explicação de uma variação das expectativas. Sendo
capaz de descrever em papel uma seqüência de eventos para reproduzir o defeito.
b.- comunicação oral:
demonstrando a capacidade de articular uma seqüência de eventos de forma organizada e compreensível.
c.- Habilidades de esc:
ativamente a ouvir o que é dito, solicitando esclarecimentos quando necessário e fornecer feedback. d.- entrevistando habilidades: desenvolver e fazer perguntas para efeitos de recolha de dados para análise ou avaliação.
e.- Analisando as competências: determinar como usar as informações recebidas.
Eficácia na habilidade Pessoal:
X
X
X
X
a negociação — trabalhar eficazmente com uma ou mais partes para
desenvolver opções que irão satisfazer todas as partes.
b. Resolução do conflito de — trazer uma situação em foco e concluir satisfatoriamente um desacordo ou divergência entre as partes.
c. influência e motivação — que
influenciam outros a participarem numa atividade orientada
d. julgamento — aplicação de crenças, normas, diretrizes, políticas,
procedimentos e valores em uma decisão.
e. facilitação — ajudando um grupo para alcançar seus objetivos, fornecendo orientação objetiva X X X X X
Relacionamentos do projeto — para o desenvolvimento de uma relação de trabalho eficaz com usuários, clientes de software e gerenciamento de projetos.
Totalmente Competente Parcialmente Competente Não Competente Reconhecimento — Visualizar apreço
aos indivíduos e equipes de trabalho realizado.
X Motivação — incentivar pessoas a fazer
a coisa certa e a fazê-lo efetivamente e eficientemente
X Tutorial — trabalhando com testadores
para garantir que eles dominem as habilidades necessárias.
X Princípios de qualidade e gestão —
Noções básicas sobre os princípios necessários para construir uma organização de teste com padrão internacional.
X
3 Liderança
Presidência de reunião — organização e condução de reuniões para proporcionar máxima produtividade durante o
período de tempo mais curto.
X Facilitação — ajudando o progresso de
um evento ou atividade. Facilitação formal inclui funções bem definidas, um facilitador objetivo, uma reunião
estruturada, tomada de decisões por consenso e definidos os objetivos a serem alcançados.
X
Construindo a equipe — ajudando um grupo na definição de um objetivo comum e trabalhar em conjunto para melhorar a eficácia da equipe.
X
Categoria do conhecimento 4: Planejamento de teste Totalmente Competente Parcialmente Competente Não Competente 1 Pré-requisitos para teste de
planejamento
Identificar riscos do software — demonstração de conhecimentos sobre os riscos mais comuns associados ao desenvolvimento de software.
X Identificação de riscos de teste —
demonstração de conhecimentos sobre os riscos mais comuns associados a testes de software.
X Identificando prematuramente
lançamento de risco — Noções básicas sobre como determinar o risco
associado lançando produtos de
software insatisfatório, não testados.
O risco de colaboradores — identificar
os contribuintes ao risco. X
Identificação de riscos de negócios — demonstrando conhecimento dos riscos mais comuns associados com o negócio usando o software.
X
Métodos de risco — entendimento das estratégias e abordagens para a
identificação de riscos ou problemas associados à aplicação e pelo
funcionamento de tecnologia da informação, produtos e processos.
X
O risco de magnitude — demonstrando a capacidade de calcular e classificar a gravidade de um risco
quantitativamente.
X Métodos de redução de riscos —
Noções básicas sobre as estratégias e abordagens que podem ser usadas para minimizar a magnitude de um risco.
X Planejamento de contingência —
planejamento para reduzir a magnitude dos riscos conhecidos.
X 2 Critérios de entrada de planejamento
de teste
Critério de critérios/aceitação de sucesso — Noções básicas sobre os critérios que devem ser validados para fornecer gerenciamento de usuário com as informações necessárias para tomar uma decisão de aceitação.
X
Objetivos de teste — Noções básicas sobre os objetivos a serem realizados por meio de testes.
X Pressupostos — que estabelece as
condições que devem existir para os testes para ser abrangente e em agenda.
X Questões — identificar as situações
específicas / produtos/processos que, a não ser atenuada, terá um impacto de encaminhar o progresso.
X Restrições — limitando os fatores de
sucesso
X Critérios/Entrada e Saída — Noções
básicas sobre os critérios que devem ser atendidos antes de se mudar o software para o próximo nível de teste ou em produção.
Escopo de teste — Noções básicas
sobre o que está a ser testado. X Plano de teste — Noções básicas sobre
as atividades e os resultados finais para atender aos objetivos do teste.
X Requisitos/rastreabilidade — definindo
os testes necessários e relacionando-os com os requisitos para ser validado.
X Estimando — determinar os recursos e
os prazos necessários para realizar as atividades planejadas.
X Programação — que estabelece metas
para completar a iniciativa de teste e suas dependências em relação ao resto da programação.
X Pessoal — selecionar o tamanho e a
competência do pessoal necessário para atingir os objetivos do plano de teste.
X Verificação de procedimentos de teste
— incorporando casos de teste para garantir que os testes são realizados corretamente.
X Gerenciamento de configuração de
software — Organizando os componentes de um sistema de
software, incluindo documentação, para que eles se encaixam em
funcionamento.
X
Gerenciamento de alterações —
modificando e controlando o teste plano em relação ao progresso real e o escopo do desenvolvimento do sistema.
X Controle de versão — Noções básicas
sobre os métodos de controle, monitorar e conseguir uma mudança.
X
Categoria do conhecimento 7: Teste de aceitação do usuário Totalmente Competente Parcialmente Competente Não Competente 1 Conceitos de teste de aceitação
Compreender a diferença entre o sistema de teste e aceitação do teste
X 2 Processo de planejamento de
teste de aceitação
Definir os critérios de aceitação X Desenvolvimento de um plano de
teste de aceitação para execução pelo pessoal do usuário.
X
uso.
3 Execução de teste de aceitação Executar o plano de teste de aceitação.
X Desenvolvimento de uma decisão
de aceitação com base nos resultados do teste de aceitação.
X
Assinando a conclusão bem-sucedida do plano de teste de aceitação.
X
PARTE II
• Preencher o Work Paper 5-2
WorkPaper 5-2 Avaliar a competência individual
Categoria de conhecimento Número de Habilidades Totalmente Competente Parcialmente Competente Não Competente 1 Teste de Software conceitos e princípios 8 7 0 0 2 Construir o ambiente de teste 12 8 3 1 3Gerenciamento de projeto de teste 23 18 4 1 4 Planejamento de teste 27 20 5 2 5 Executando o plano de teste 19 16 2 1 6 Status, análise e relatórios de ensaio 8 6 1 1 7 Teste de aceitação de usuário 7 7 0 0 8 Testar Software desenvolvido por organizações fora 6 3 2 1 9 Teste de Software controles e a adequação dos procedimentos de segurança 11 9 1 1 10 Testes novas tecnologias 8 5 2 1 Total 129 99 20 9
Total multiplicado 297 40 9 Total da soma de cada
uma das três colunas
396 60 18
Divida por 129 3,30 0,50 0,15
Score de competência
PARTE III
• Preencher o Work Paper 5-3
WorkPaper 5-3 Construindo a competência da equipe de teste
Membro da equipe de teste
Categoria A B C D E 1 Software teste de conceitos e princípios 7 6 4 3 2 2 Construir o ambiente de teste 8 6 5 4 4 3 Gerenciamento de projeto de teste 18 16 11 9 10 4 Planejamento de teste 20 15 14 10 9 5 Executando o plano de teste 16 14 13 11 8
6 Status do teste, análise e relatórios 6 5 1 1 1 7 Teste de aceitação de usuário 7 6 5 2 2 8 Testar Software desenvolvido por organizações fora 3 3 2 1 1 9 Testando Software
controles e a adequação dos procedimentos de segurança
9 8 6 4 6
10 Testes novas tecnologias 5 4 2 3 2