domingo, agosto 31, 2008

Teste de Software

Conceitos Básicos

O teste é uma das disciplinas do desenvolvimento de software e o processo de teste de software foi desenvolvido com base no RUP - Rational Unified Process.

De acordo com o RUP, o desenvolvimento de um software deve seguir determinadas fases.

O RUP é um processo de engenharia de software. Ele oferece uma abordagem baseada em disciplinas para atribuir tarefas e responsabilidades dentro de uma organização de desenvolvimento. Sua meta é garantir a produção de software de alta qualidade.

A figura a seguir representa a arquitetura geral do RUP.

O RUP tem duas dimensões:

  • o eixo horizontal representa o tempo e mostra os aspectos do ciclo de vida do processo à medida que se desenvolve.
  • o eixo vertical representa as disciplinas, que agrupam as atividades de maneira lógica, por natureza.

A primeira dimensão representa o aspecto dinâmico do processo quando ele é aprovado e é expressa em termos de fases, iterações e marcos.

A segunda dimensão representa o aspecto estático do processo, como ele é descrito em termos de componentes, disciplinas, atividades, fluxos de trabalho, artefatos e papéis do processo.

Durante o ciclo de vida do projeto, devem existir pontos de verificação visando a qualidade do produto. O desenvolvimento e a verificação criam um processo repetitivo (iterativo e incremental) aonde o produto vai sendo avaliado e, caso necessário, melhorado, até estar maturado, pronto para ser disponibilizado ao usuário final. Durante estas fases, nos pontos de verificação, podem ser realizados testes, para garantir a conformidade do produto.

A Disciplina de Teste

O teste enfatiza principalmente a avaliação da qualidade do produto, realizada através de várias práticas centrais:

  • Localizar e documentar defeitos na qualidade do software.
  • Avisar de forma geral sobre a qualidade observada no software.
  • Validar as suposições feitas nas especificações de design e requisito através de demonstração concreta.
  • Validar as funções do software conforme projetadas.
  • Verificar se os requisitos foram implementados de forma adequada.

Uma diferença interessante entre o Teste e as outras disciplinas do RUP é que a principal finalidade do Teste é localizar e expor os pontos fracos do software. A realização de testes de software tem por finalidade imprimir qualidade ao produto gerado. Porém, o que é Qualidade ?

O RUP define qualidade da seguinte forma:

...as características que demonstram haver produzido um produto que atinge ou excede os requisitos estabelecidos - conforme avaliado por métricas e critérios acordados - e que é produzido por um processo também acordado

Métodos de Teste

Existem várias metodologias e classificações para testes, segundo a metodologia do modelo RUP, podemos dividir os métodos de teste em:

Método da Caixa Branca (Estrutural) – tem por objetivo determinar defeitos na estrutura interna ou no código do software. Os Testes de Unidade, geralmente realizados pelos programadores nos seus códigos, são normalmente classificados em Testes da Caixa Branca.

Método da Caixa Preta (Funcional) – tem por objetivo determinar se os requisitos foram total ou parcialmente satisfeitos pelo software. Verifica apenas os resultados produzidos e não requer conhecimento interno do sistema, apenas conhecimento dos requisitos do negócio. O Teste Funcional é um exemplo de Teste da Caixa Preta.

A figura abaixo apresenta uma visão geral da classificação dos testes:

Estágios de Teste

Os estágios de teste definem o momento do ciclo de vida do software em que são realizados os testes. Dentro dos métodos de teste, são definidos quatro estágios de teste:

Testes da Caixa Branca:

  • Teste de Unidade ou Teste Unitário – este estágio tem foco na verificação dos menores elementos testáveis do software. O implementador executa o teste unitário durante o desenvolvimento da unidade.
  • Teste de Integração – este estágio é executado para garantir que os componentes do modelo de implementação, funcionem corretamente quando combinados. O teste de integração também detecta imperfeições ou erros nas especificações das interfaces.

Testes da Caixa Preta:

  • Teste de Sistema - normalmente é realizado quando o software está funcionando totalmente. Geralmente, o objetivo é o funcionamento dos elementos do sistema de ponta a ponta.
  • Teste de Aceitação - normalmente é a ação de teste final anterior à implantação do software. O objetivo do teste de aceitação é verificar se o software está pronto e pode ser usado pelos usuários finais para executar as funções e as tarefas para as quais o software foi criado.

A figura abaixo apresenta uma visão geral dos estágios de teste dentro do processo de desenvolvimento de uma aplicação.

Tipos de Teste

Continue lendo…

domingo, agosto 17, 2008

Como dizia o velho deitado...

* A pressa é inimiga da conexão!
* Amigos, amigos, senhas à parte.
* Antes só do que em chats aborrecidos!
* Arquivo dado não se olha o formato!
* Diga-me qual a sala de chat que você freqüenta e te direi quem és!
* Para todo bom provedor uma senha basta.
* Não adianta chorar sobre o arquivo deletado.
* Em briga de namorados virtuais, não se mete o mouse!
* Em casa de programador, o espeto é de par trançado!
* Em terra off-line, quem tem 486 é rei!
* Hacker que ladra, não morde!
* Mais vale um arquivo no HD do que dois baixando...
* Mouse sujo se limpa em casa!
* Melhor prevenir que formatar.
* O barato sai caro e lento...
* Programa velho é que faz site bom...
* Quando a esmola é demais, o santo desconfia que veio algum vírus
anexado!
* Quando um não quer dois não teclam!
* Quem ama um 486, Pentium 4 lhe parece!
* Quem clica seus males multiplica!
* Quem com vírus infecta, com vírus será infectado!
* Quem envia o que quer, recebe o que não quer!
* Quem não tem banda larga, caça com modem!
* Quem nunca errou, que aperte a primeira tecla!
* Quem semeia e-mails, colhe SPAM!
* Quem tem dedo vai a Roma.com !
* Um é pouco, dois é bom, três é chat!
* Vão-se os arquivos e ficam os back-ups!
* Não deletei, não sei quem deletou e tenho raiva de quem deleta!
* O back-up morreu de velho!
* É nos menores chips que se encontram as melhores informações!
* Vírus no winchester dos outros é refresh!

Continue lendo…

sábado, agosto 16, 2008

Data Byte

Dia 15 de Agosto de 2008... essa data representa um marco na minha carreira como instrutor.

Na verdade, nunca pensei em ser um instrutor de informática, já passou na minha cabeça, de ao chegar lá perto dos 45 ou 50 anos, querer ser um professor de faculdade, isso já pensei, mas por que? Simples, até lá, tenho a expectativa de ter uma grande vivência prática e conhecimento no mercado de TI, que é onde gosto de atuar... por outro lado, sei que para isso muitos pré-requisitos são necessários, e não digo isso apenas me referindo a uma pós graduação ou mestrado (o mais ideal, é claro!). Mas, são necessárias coisas mais interessantes a serem passadas para os alunos, não é simplesmente estudar uma coisa teórica... tem que ter um fundamento prático, uma vivência, um "algo mais"... e esse algo mais, é claro, ainda não tenho... mas quero ter...

Foi então, que me surgiu a oportunidade na Data Byte, uma situação inesperada, mas muito legal...

A princípio, não estava muito confiante não, pois não tenho prática como professor, nunca dei aulas antes... mas estava indo, conversando, negociando... e me preparando, até que uma coisa surpreendente para mim, não esperava que passasse por um "treinamento de didática" antes de entrar na empresa... e foi exatamente isso que aconteceu, tive a ótima oportunidade de fazer um curso "intensivo" com uma Professora (com P maiúsculo mesmo) da Escola... o nome dela é Ludimila, parabéns pela motivação, pela dedicação, e pelo trabalho que tem desempenhado!!!

É claro que não existe um curso para ser professor de informática, na verdade não se ensina a ser professor, com exceção do curso de pedagogia que é claro, é focado nisso, mas creio que o mais importante é a pessoa ter uma certa desenvoltura, facilidade de comunicação, e claro, tem que dominar algum assunto, principalmente aquele que vai ministrar...

Bom, é isso, a partir dessa data... estou engrossando o caldo... e espero que seja um diferencial, espero que possa transmitir boas idéias, e fazer o "algo mais" para os alunos, o objetivo, é como aprendi, dar a "Aula Show"... e essa aula, deve ser melhorada constantemente... por isso, vou dar tudo de mim, pois estou gostando do desafio, é algo que tenho certeza que vai me acrescentar, tanto profissionalmente, quanto pessoalmente...

Vamos que vamos... e vamos de cabeça! Desafios estão ai para isso mesmo, e eu adoro novos desafios... vamos ver como me saio nesse.

Continue lendo…
 
BlogBlogs.Com.Br