Sei sulla pagina 1di 73

Disciplina Engenharia de Software I

UNIDADE I

Verificao e Validao

Professora: Jenifer Vieira


1

Objetivos
Compreender diferenas entre verificao e
validao de software.
Importncia do processo de verificao e
validao.
Revises.
Inspees.
Exerccios de Fixao.

Algum j testou algum software?

Quais foram os
maiores
desafios?
3

Quais motivaes para realizao de Teste?

As falhas causam
prejuzos financeiros

As falhas causam a
perda de confiana do
cliente

.....
4

Mas... por que algumas empresas no testam?


Teste um processo
caro

Desconhecem
a relao
custo/benefcio

Desconhecem
tcnicas de teste
adequadas

Dificuldade em
implantar um processo
de teste

S se preocupam
com teste na fase
final do projeto

Processo de Verificao e Validao V&V


Processo
composto
de
atividades que asseguram que o
software cumpra com suas
especificaes e atenda as
necessidades dos usurios.

Processo de Verificao e Validao V&V


Objetivo:
Assegurar que o software cumpra as suas especificaes
e atenda s necessidades dos usurio/cliente.

Quando acontece:
Ao longo do processo de desenvolvimento.
Requisitos.
Inspees de Cdigo.
Teste de Produto.

Verificao e Validao V&V


De acordo com Boehm (1979)
Verificao
Estamos construindo corretamente o produto ?
O software est de acordo com suas especificaes.

Validao
Estamos construindo o produto correto?
O sistema atende s expectativas do cliente/usurio.

As especificaes do software nem sempre esto de


acordo com as expectativas dos usurios.

Processo de Verificao e Validao V&V

Verificao se preocupa com a


construo correta do software,
analisando se o programa atende a
sua especificao.
Validao se destina a mostrar que o
programa realiza o que o usurio
necessita, o que foi solicitado.
9

Quais os objetivos da V & V?


Descobrir defeitos em um sistema.
Avaliar se o sistema til.
Avaliar se o sistema pode ser utilizado em
determinadas situaes operacionais.

10

Modelo em V

11

Modelo em V

12

Modelo em V
Projeto prematuro de Testes:
Ao projetar testes, problemas so encontrados;
Problemas encontrados cedo so baratos de corrigir;
Problemas mais significativos so encontrados
primeiro;
No h trabalho adicional;
Projeto de testes pode impactar os requisitos!

13

Modelo em V

14

Modelo em V

15

Verificao e Validao SWEBOK (Software


Engineering Body of Knowledge)
Dentre as 10 reas de conhecimento, Verificao e
Validao est presente na Qualidade de Software, na
sub-rea de Processo de Gerncia de Qualidade.
Se existe a Garantia de Qualidade de SW, porque
existiu um esforo da Verificao e Validao.
Avaliar produtos (finais ou intermedirios) de software ao
longo de todo o ciclo de produtos.
Garantir que os requisitos de software atendam aos
usurios.

16

Verificao e Validao MPS.BR


Dentre os 7 nveis do modelo, a Verificao e Validao
esto localizados no nvel D (4 Nvel de maturidade),
chamado Largamente Definido.
Verificao: Confirmar que cada servio e/ou produto de
trabalho do processo ou do projeto reflete
apropriadamente os requisitos especficos.
Validao: Conformar que um produto ou componente
do produto atender a seu uso pretendido quando
colocado no ambiente par qual foi desenvolvido.

17

Verificao e Validao CMMI


Dentre os 5 nveis do modelo, a Verificao e Validao
esto localizados no nvel 3 nvel de maturidade,
chamado Definido.
Verificao: KPA Assegurar que os produtos de
trabalho selecionados satisfazem seus requisitos
especificados.
Validao: KPA Demonstrar que o produto ou
componentes do produto satisfazem seu uso pretendido
quando colocado no ambiente pretendido.

18

Tcnicas de V& V - Reviso


Uma reviso uma leitura crtica do artefato e
de sua documentao, anotando:
os problemas encontrados.
dvidas e dificuldades de compreenso.
possibilidades de melhorias.

19

Reviso
Atividade na qual um
artefato de software pode
ser observado pela equipe
do
projeto,
gerentes,
usurios, clientes ou outras
partes interessadas.

20

Objetivo da Reviso
Garantir que o artefato de software esteja em
conformidade com suas especificaes.

Verificar se seu desenvolvimento esta de acordo


com os planos, padres e diretrizes aplicveis
para o projeto.

21

Por que fazer Revises?


Segundo vrios autores a reviso quando
praticada encontra de 60% a 80% do total dos
problemas encontrados
Yourdon diz que se economiza aproximadamente
40% do custo total de desenvolvimento quando
se pratica revises.

22

Formas para realizar uma Reviso


Reviso pelo prprio autor(desktop checking).
Reviso por colega (peer review).
Revises Progressiva.

23

Reviso pelo prprio autor(desktop checking)


O autor l e anota todos os problemas encontrados
para, depois, remov-los.
Inconvenientes:
o autor tende a ler o que acha que est escrito e no o
que est de fato escrito.
erros de entendimento no so observveis.
sujeito sndrome da ideia fixa.

24

Reviso por colega (peer review)


Um dos colegas do autor l e anota todos os
problemas encontrados.
formulrio para anotaes.
ningum deve ficar ofendido com as anotaes.
o que est em jogo a qualidade do artefato!

25

Revises progressivas
Seleciona-se um conjunto de colegas que faro a
reviso.
cada um com uma determinada especialidade.
cada colega l e anota todos os problemas encontrados
dentro de sua especialidade.
a seguir passa a diante para o prximo colega da lista.

26

Realizao de Revises - Prs


Simplicidade.
Eficcia.
apesar de informais, revises tendem a encontrar um nmero
significativo de problemas.
quando feitas por pessoas treinadas em aspectos formais (prova
da corretude) podem ser muito mais eficazes.

Eficincia
em uma nica reviso identifica-se uma quantidade grande de
problemas.

Baixo custo
algumas coisas podem ser automatizadas.

27

Realizao das Revises - Contras


Informalidade
a qualidade da reviso depende excessivamente dos revisores (proficincia,
cultura?)

Dificuldade em determinar a confiabilidade da reviso


qual a percentagem dos problemas existentes que tendem a ser
encontrados?
qual a gravidade dos problemas encontrados?

Confiabilidade depende do rigor adotado pelo revisor


frequentemente no repetvel (ambguo)
a falta de treinamento dos revisores amplifica os problemas decorrentes da
informalidade

28

Tcnicas de V& V - Inspees


1920 - Inspeo do produto: Teve origem na linha
de montagem. Os produtos intermedirios e o produto
final so examinados para se detectarem defeitos.

1976 Inspeo de Software


Inspeo de Fagan o mais influente trabalho sobre inspeo.
Quase um sinnimo de Inspeo.
Fagan tem sido usado por diferentes indstrias e em diferentes
artefatos de software.
formada por seis etapas.

29

Inspees - Histria
Inspeo de software um tipo particular de reviso
que possui um processo de deteco de defeitos bem
definido.

De forma resumida, o processo de inspeo envolve


o
planejamento
da
inspeo,
indivduos
(representantes
do
cliente,
da
empresa
desenvolvedora e consultores) revisando um
determinado artefato, um encontro em equipe para
discutir e registrar os defeitos.

30

Objetivos das Inspees


Verificar se o artefato de software satisfaz as
especificaes e est de acordo com os padres
aplicveis.
Identificar desvios.
Coletar dados de engenharia de software como
defeito e esforo.

31

Exemplos de artefatos

especificaes
modelos
projetos
cdigo
casos de teste
processos de desenvolvimento
planos
padres
arquivos de auxlio para o usurio
documentao para o usurio
teses, dissertaes ...

32

Por que fazer Inspeo?


67% do total de defeitos durante
desenvolvimento so detectados na Inspeo.

82% de todos os defeitos achados durante a


inspeo referem-se a design e cdigo.

33

Por que fazer Inspeo?


Uma nica sesso de inspeo pode encontrar um
nmero considervel de erros.
Verses incompletas do sistema podem ser
inspecionadas sem nenhum custo adicional.
Pode considerar padres de qualidade mais amplos
de um programa como conformidade com padres,
portabilidade e facilidade de manuteno.

34

Por que fazer Inspeo?


Mais de 60% dos erros de um programa podem ser
encontrados usando inspees informais (Fagan,
1986).
Uma abordagem mais formal pode encontrar at 90%
dos erros (Mills, et al., 1987).
Tempo e custo gasto no processo de inspeo
recuperado
com
a
diminuio
das atividades de debugging.

35

Inspeo de Programa
Processo formal realizado por uma equipe a partir
de um checklist de defeitos pr-definido.
Objetivo: inspecionar cada linha de cdigo a
procura de defeitos ou no cumprimento de
padres.

36

Realizao de Inspees
Prs
processo formal realizado sistematicamente com
resultados confiveis.
de 60% a 90% dos erros de um programa podem ser
encontrados em um nica reviso.

Contras
Resistncia ao uso pessoal especializado aumenta o
custo do projeto.

37

Analisadores automticos de programas


So ferramentas que processam o cdigo fonte do
programa e chamam a ateno do verificador para
anomalias, como sees no utilizadas e variveis no
inicializadas/utilizadas.

Amplamente utilizadas pelas equipes de inspeo.

38

Realizao de anlise automatizada - Vantagens


Equipe pode se focar mais na verificao manual da
funcionalidade / algoritmo.
O uso da ferramenta resulta em completude e
consistncia.
Economiza esforo.
Encontra defeitos que no so possveis de serem
encontrados manualmente.
39

Inspees de Software
Podem ser utilizadas em todas as fases do processo
de desenvolvimento do software.
Ferramentas para anlise automtica do cdigo ou
documentos podem ser utilizadas.
Verificao
podem
pela
utilizao
formais.

ser
de

auxiliadas
mtodos

40

Participantes
Em geral produtos de trabalho devem ser
inspecionados por:
O autor de algum documento antecessor.
Pares do autor do produto inspecionado.
Algum que usar o produto inspecionado como
entrada para outro produto de trabalho.

41

Participantes
Em uma inspeo, cada um dos participantes recebe um ou
mais papeis e responsabilidades.
Os papeis de uma inspeo tipicamente so distribudos em

Autor.
Moderador.
Leitor.
Escritor.
Inspetor.
Coordenador das Inspees.

42

Papeis
Autor
Criador ou mantenedor do produto de trabalho a ser
inspecionado.
Solicita ao Coordenador das Inspees um Moderador.
Entrega o produto de trabalho e documentos
associados aos participantes.
Identifica junto ao moderador os outros participantes
da inspeo.
Esclarece as dvidas relativas ao produto a ser
inspecionado.
Determina o tempo de preparao para a inspeo.
43

Papeis
Moderador
Usa o checklist de moderador para auxiliar nas
inspees.
Planeja o cronograma com o autor e lidera a inspeo.
Identifica junto ao autor os outros participantes da
inspeo.
Revisa o tempo de preparao definido pelo autor.
Determina o status do produto de trabalho.
Entrega o sumrio completo da inspeo ao
Coordenador das Inspees.
o Facilitador da Inspeo.
44

Papeis
Leitor
Faz a leitura de partes no produto de trabalho
inspecionado, de maneira a fazer com que o time de
inspeo apresente comentrios, no-conformidades
ou questionamentos.

45

Papeis
Escritor
Registra e classifica as
encontradas durante a inspeo.

no-conformidades

Inspector
Examina o produto de trabalho antes da reunio de
inspeo para encontrar defeitos e desvios.
Registra o tempo de preparao.
Participa da reunio de inspeo para identificar
defeitos, desvios e sugerir melhorias.
46

Papeis
Coordenador das Inspees
Responsvel pelas mtricas de inspeo do projeto.
Mantm os registros das inspees conduzidas e dados
do sumrio de cada inspeo.
Gera relatrios de inspeo.

47

Processo de Inspeo de Software


Planejamento

Viso Geral

Preparao
Individual
Reunio
de Inspeo

Retrabalho

Acompanhamento

48

Processo de Inspeo de Software


Mas antes de iniciar essencial:
Especificao completa do cdigo disponibilizada.
Membros da equipe familiarizados com padres
organizacionais.
Verso atualizada e compilada do cdigo tenha sido
distribuda entre a equipe de revisores.

49

Processo de Inspeo de Software


Planejamento

Viso Geral

Preparao
Individual
Reunio
de Inspeo

Retrabalho

Acompanhamento

50

Processo de Inspeo de Software


Planejamento
Selecionar a equipe de inspeo.
Organizar uma sala de reunio.
Assegurar que o material a ser inspecionado e suas
especificaes estejam completos.

51

Processo de Inspeo de Software


Planejamento

Viso Geral

Preparao
Individual

Reunio
de Inspeo

Retrabalho

Acompanhamento

52

Processo de Inspeo de Software


Viso Geral
Programa a ser inspecionado apresentado a equipe
de inspeo.
Autor do cdigo descreve o que o programa se destina
a fazer.

53

Processo de Inspeo de Software


Planejamento

Viso Geral

Preparao
Individual
Reunio
de Inspeo

Retrabalho

Acompanhamento

54

Processo de Inspeo de Software


Preparao Individual
Cada membro da equipe estuda a especificao e o
programa.
Membros procuram e anotam defeitos encontrados.

55

Processo de Inspeo de Software


Planejamento

Viso Geral

Preparao
Individual
Reunio
de Inspeo

Retrabalho

Acompanhamento

56

Processo de Inspeo de Software


Reunio de Inspeo
Deve ser uma reunio curta e no deve ultrapassar duas
horas.
Deve enfocar a deteco de defeitos, conformidadade
aos padres e programao de baixa qualidade.
A equipe no deve sugerir como corrigir os defeitos e
nem recomendar mudanas em outros componentes.
Checklists podem ser utilizados.

57

Processo de Inspeo de Software


Checklists
Devem ser desenvolvidas por cada organizao e
devem ter como base padres e prticas locais.
Exemplos de checagens:
Defeitos de entrada/sada
Todas as variveis de entrada so utilizadas?
Todas as variveis de sada tm um valor associado?
Entradas inesperadas podem fazer com que os dados sejam
corrompidos?

Defeitos de gerenciamento de excees


Todas as possveis condies de erro foram.
levadas em conta?
58

Processo de Inspeo de Software


Planejamento

Viso Geral

Preparao
Individual
Reunio
de Inspeo

Retrabalho

Acompanhamento

59

Processo de Inspeo de Software


Retrabalho
Autor do programa faz as mudanas para
corrigir os problemas identificados.

60

Processo de Inspeo de Software


Planejamento

Viso Geral

Preparao
Individual
Reunio
de Inspeo

Retrabalho

Acompanhamento

61

Processo de Inspeo de Software


Acompanhamento
Moderador deve decidir se uma nova inspeo de
cdigo completa deve ser realizada.
Caso no seja necessrio ento o programa liberado
pelo moderador e aprovado.

62

Comparao entre Reviso e Inspeo


Item
Objetivos

Reviso

Inspeo

Avalia

a conformidade
com as especificaes
Garante a integridade

Qualificao dos
participantes

Experts

tcnicos
Membros da equipe

Poder decisrio

A equipe de Reviso pede


liderana da equipe de
Projeto ou Gerncia para
levar as recomendaes
adiante

Detectar

e identificar defeitos
Documentao dos defeitos
Verificar resoluo

Inspetores formalmente treinados

A equipe declara informa o resultado (Aceite/


Re-trabalho/Verificao/ Re-inspeo)

63

Concluso
Atravs da Reviso e Inspeo busca-se revelar as
falhas do software antes do mesmo entrar no
ambiente de produo, minimizando e otimizando
os custos com manuteno. A utilizao de
abordagens baseadas em testes busca aumentar a
qualidade do software.

64

Atividade
Questo 01) Julgue as afirmativas. Justifique sua resposta.
1.1 Testes devem ser realizados para mostrar a inexistncia
de defeitos.
1.2 O processo de verificao e validao deve ser
independente do processo de desenvolvimento, porm
integrado.
1.3 Verificao e validao so tcnicas de teste.
1.4 A equipe de teste pode ser formada por profissionais
menos experientes e qualificados.

65

Sites Recomendados - Brasileiros


Softex
http://www.softex.br/
TestExpert
http://www.testexpert.com.br/
Associao Brasileira de Melhoria em Tecnologia da Informao
http://www.abramti.org.br/
Qualidade de Software
http://qualidadesoftware.org.br/
Qualidade de Software
http://qualidade-de-software.blogspot.com/

66

Sites Recomendados - Certificaes


Certificao Brasileira de Teste de Software (CBTS)
http://www.alats.org.br/Default.aspx?tabid=198
Brazilian Software Testing Qualification Board
http://www.bstqb.org.br/
Instituto Brasileiro de Qualidade em Testes de Software
http://www.ibqts.com.br/
Certified Software Quality Analyst (CSQA)
http://www.softwarecertifications.org/
Software Quality Engineer Certification CSQE
http://www.asq.org/certification/software-qualityengineer/index.html
ISEB Foundation Certificate in Software Testing
http://www.bcs.org/server.php?show=nav.7179
67

Sites Recomendados - Certificaes


ISEB Practitioner Certificate in Software Testing
http://www.bcs.org/server.php?show=nav.6956
The Certified Software Tester (CSTE)
http://www.softwarecertifications.org/
Certified Test Manager (CTM)
http://www.testinginstitute.com/ctm.php
Certified Software Test Professional (CSTP)
http://www.testinginstitute.com/cstp.php
American Software Testing Qualifications Board
http://www.astqb.org/

68

Sites Recomendados - Revistas


StickyMinds Software Quality & Test
http://www.stickyminds.com/
Software Test & Performance Magazine
http://www.stpmag.com/
SDTimes Magazine
http://www.sdtimes.com/index.html
The Rational Edge
http://www-128.ibm.com/developerworks/rational/rationaledge/
Professional Tester Magazine
http://www.professionaltester.com/
Free Software Magazine for the Free Software World
http://www.freesoftwaremagazine.com/
69

Sites Recomendados - Ferramentas


Software QA Testing and Test Tool Resources
http://www.aptest.com/resources.html
Web Site Test Tools and Site Management Tools
http://www.softwareqatest.com/qatweb1.html
Open Source Software Testing Tools, News and Discussion
http://opensourcetesting.org/
Open Source Testing Tools in Java
http://java-source.net/open-source/testing-tools
Software QA and Testing Resource Center
http://www.softwareqatest.com/qattls1.html
70

Atividade
Questo 01) Com o objetivo de realizar uma inspeo de
programa, escolha uma ferramenta de programao que
voc conhea e gere um checklist de erros comuns (no de
sintaxe) a serem buscados em um programa durante o
processo de inspeo.

71

Atividade
Questo 02) comum durante o desenvolvimento de
sistemas, realizar os testes at que o oramento
destinado aos testes termine. Ento, o sistema
entregue aos clientes. Discuta a tica desta
abordagem.

72

Referncias
SOMMERVILLE, Ian. Engenharia de Software. So Paulo:
Addisson-Wesley, 2007.
PRESSMAN, Roger S. Engenharia de Software. So Paulo:
Makron Books, 2006.
CRAIG, R.D. Systematic Software Testing. New York: Artech
House, 2002.
Jeff Tian. Software Quality Engineering - Testing, Quality
Assurance, and Quantifiable Improvement. IEEE Computer
Society. John Wiley & Sons, Inc. 2005.

73

Potrebbero piacerti anche