Você está na página 1de 11

UNIVERSIDADE CATÓLICA DE MOÇAMBIQUE

Faculdade de Ciências Sociais e Políticas

Curso: Tecnologias de Informação – 4º Ano Laboral

Cadeira: Testagem e Validação

Tema:
Técnicas de verificação, validação e testes usados no processo de desenvolvimento de
Software

Discente:
Lourenço do Rosário Línder
Docente:
Msc. Timóteo Samo

Quelimane, Abril de 2020


Índice
1. Introdução .............................................................................................................................. 1

2. Metodologia ........................................................................................................................... 1

3. Objectivos .............................................................................................................................. 2

3.1. Geral ................................................................................................................................ 2

3.2. Específicos ...................................................................................................................... 2

4. Revisão bibliográfica ............................................................................................................. 3

4.1. Técnicas de vv&t ................................................................................................................ 3

4.2. Técnicas estáticas ............................................................................................................ 3

4.2.1. Classificação de defeitos .............................................................................................. 4

4.3. Técnicas dinâmicas ............................................................................................................. 5

4.4. Tipos de testes caixa branca ................................................................................................ 6

4.5. Testes caixa preta ................................................................................................................ 7

4.5.1. Tipos de testes caixa preta ............................................................................................ 7

5. Conclusão............................................................................................................................... 8

6. Bibliografia ............................................................................................................................ 9
1. Introdução
Engenheiros de software buscam qualidade (e desenvolvem atividades de garantia de qualidade
e de controle de qualidade) aplicando métodos e medidas técnicas sólidas, conduzindo revisões
técnicas formais e efetuando teste de software bem planejado

A definição de VV&T - Validação, Verificação e Teste - abrange muitas das atividades


relacionadas com a Garantia da Qualidade de Software. Validação é uma atividade que tem
como objetivo assegurar que o produto final corresponda aos requisitos do software (Estamos
construindo o produto certo?). Verificação é uma atividade que tem como objetivo assegurar
consistência, completitude e corretitude do produto em cada fase e entre fases consecutivas do
ciclo de vida do software (Estamos construindo corretamente o produto?). Teste é uma
atividade que tem como objetivo examinar o comportamento do produto através de sua
execução.

2. Metodologia

Para a materialização do presente trabalho foi recorrido o uso de internet (e-books


disponibilizados de forma gratuita nos sites/blogs e portais).

1
3. Objectivos

3.1. Geral
 Conhecer as técnicas de verificação, validação e testes usados no processo de
desenvolvimento de Software.
3.2. Específicos
 Conhecer os diferentes tipos de técnicas de VV&T;
 Identificar os tipos de classificação dos testes;
 Compreender as Técnicas de VV&T para aplicar no contexto prático.

2
4. REVISÃO BIBLIOGRÁFICA

4.1. TÉCNICAS DE VV&T

O Teste de Software é um elemento crítico para a qualidade do produto, pois representa a


revisão final da especificação, projeto e geração de código. Embora durante todo o processo de
desenvolvimento de software sejam utilizadas técnicas, métodos e ferramentas a fim de evitar
que erros sejam introduzidos no produto, a atividade de teste continua sendo de fundamental
importância para a eliminação dos erros que persistem [Maldonado, 1991].

A atividade de teste é conduzida, em geral, em três etapas aplicadas sequencialmente: o Teste


de Unidade, o Teste de Integração e o Teste de Sistema, sendo que variações são identificadas
no contexto de software Orientado a Objetos (OO).

No Teste de Unidade o objetivo é identificar erros de lógica e de implementação em cada


unidade do software, separadamente.

No Teste de Integração o objetivo é verificar se as unidades, que já foram testadas


isoladamente, quando colocadas em conjunto, continuam funcionando de forma adequada. Ou
seja, a partir dos módulos testados no nível de unidade, constrói-se a estrutura dos programas,
que foram determinadas na fase de projeto, para verificar se não há erros de interface entre os
módulos.
No Teste de Sistema o objetivo é verificar se todos os elementos do sistema foram
adequadamente integrados e realizam as funções esperadas.

Segundo Damasceno. As técnicas de Verificação e Validação podem ser divididas em estáticas


e dinâmicas (p. 14):

4.2. Técnicas estáticas:


Nas técnicas estáticas, a avaliação de um produto de software é realizada por um grupo de
revisores, com intuito de identificar defeitos. Elas podem ser:

a) Revisões Técnicas e Walkthroughs: Indicadas para todas as fases do ciclo de


desenvolvimento de software.

 Revisões Técnicas: permitem avaliar um produto de software para terminar a sua


adequação ao uso pretendido. Identificar discrepância entre especificações e padrões
aprovados.

3
 Walkthroughs: permitem também avaliar um produto de software. O objetivo é
identificar anomalias, melhorar o produto, considerar alternativas de implementação e
avaliar conformidade a padrões e especificações.

b) Inspeções: na perspectiva de Damasceno, as inspeções são indicadas para a fase de


codificação. Segundo o mesmo autor, as inspeções têm por objetivo detectar identificar
anomalias no produto de software.

As técnicas de inspeções de software devem ser aplicadas em todas as fases do ciclo de


desenvolvimento de software. Para Damasceno isso justifica-se porque os defeitos podem
ocorrer em códigos, arquitetura, requisitos, especificações e documentação em geral.

Nas técnicas de inspeções cheguei a conclusão que é importante começar muito cedo a aplicar
as técnicas durante o ciclo do software, visto que os defeitos podem começar na própria
arquitectura do software (o tipo de arquitetura utilizado pode comprometer a implementação
do software).

De seguida, Damasceno apresenta 3 tipos e 3 formas de classificar os defeitos indentificados


no desenvolvimento de software (p. 16):

Durante o processo de inspeção alguns defeitos podem ser identificados. Os tipos de defeitos
podem ser caracterizados como:

 Incorreção: Implementação incorreta da especificação do cliente/usuário.


 Ausência: verificação de requisito especificado que não foi incorporado no produto.
 Extra: verificação de requisito não especificado e incorporado no produto.

4.2.1. Classificação de Defeitos

Para Damasceno, outra forma de ver os defeitos é pelo tipo de danos que eles podem causar no
software, e classifica os defeitos por:

 Pequenos: Podem ser corrigidos rapidamente e não causam mau funcionamento do


software. Exemplos: defeitos de digitação, omissões em textos eu precisam ser
esclarecidos para seu entendimento e demais.
 Grandes: São defeitos relativos às especificações que podem causar mau
funcionamento do software. Exemplos: ausência de funções, problemas de interfaces e
demais.

4
 Muito sério: São defeitos que podem comprometer o projeto ocasionando o reprojeto
total (ou quase) e a recodificação do software.

Antes de abordar sobre as técnicas Estáticas Damasceno fez perceber que é importante
identificar o tipo e classificar os defeitos para poder aplicar as técnicas dinâmicas supra
mencionadas de uma forma que possa ajudar a resolver os problemas encontrados no processo
de desenvolvimento de software.

4.3. Técnicas dinâmicas

Segundo Damasceno, a avaliação usando as técnicas dinâmica é feita através de testes que
podem ser:

 estruturais (Teste Caixa Branca) ou


 funcionais (Teste Caixa Preta).

Para realizar os primeiros testes, a boa prática diz que se deve verificar inicialmente se a menor
unidade de software está funcionando de acordo com as suas especificações. Nestes são
realizados os testes estruturais.

Após a verificação das unidades, parte-se para os testes funcionais para verificar o software
como um todo.

Neste epigrafo conclui que devemos usar as técnica de acordo a sua grandeza, por mais que o
software seja complexo, iremos dividir em menor unidade e fazer um teste especifico, deste
modo estaremos a realizar os testes estruturais. Após isso, podemos fazer uma verificação
global usando os testes funcionais.

Damasceno apresenta algumas características dos testes caixa branca que são(p. 20) :

 O projeto de casos de teste usa a estrutura de controle procedimental do software (fluxo


de controle) para derivar casos de teste.
 Deve garantir que todos os caminhos independentes dentro de um módulo tenham sido
exercitados pelo menos uma vez.
 Devem exercitar todas as decisões lógicas para valores falsos ou verdadeiros.
 Devem executar todos os laços em suas fronteiras e dentro de limites operacionais.
 Devem exercitar as estruturas de dados internas para garantir a sua validade.

5
4.4. Tipos de Testes Caixa Branca

Os tipos mais comuns são (funcionais):


Teste de integração:
 Testar um conjunto de módulos;
 Verificação do funcionamento com foco nas interfaces;
 A referencia utilizada é a especificação do projeto;
 Teste realizado pela equipe de desenvolvimento.
Teste de validação:
 Verificar o software como um todo;
 Verificar se todas as exigências funcionais, comportamentais e de desempenho foram
atendidas.
 A referencia utilizada é a especificação de requisitos funcionais e não funcionais;
 Teste realizado pela equipe de desenvolvimento.

Teste de sistema:

 Medir o sistema em diferentes cenários verificado se todos os elementos do sistema


(hardware, software, banco de dados e pessoas) foram adequadamente integrados e
realizam as funções requeridas.
 A referencia utilizada é a especificação de requisitos;
 Realizado por uma equipe independente ou um usuário do sistema.

Outros testes de sistema:


 Teste de recuperação: Força o sistema a apresentar falhas de diversas maneiras e
verifica se a recuperação (reiniciação do sistema e recuperação de dados) é
adequadamente executada.
 Teste de proteção: verifica se todos os mecanismos de proteção embutidos em um
sistema funcionam contra acessos indevidos.
 Teste de estresse: confrontar com situações anormais (altas exigências de recursos de
dados, alto número de interrupções, alta taxa de entrada de dados, alta busca de dados
em disco e demais.)
 Teste de desempenho: teste do software no contexto de um sistema integrado (tempos
envolvidos, ciclos de processador, interrupções e demais).

6
4.5. TESTES CAIXA PRETA

Os testes Caixa Preta atendem às seguintes características principais:


 Concentram-se nos requisitos funcionais do software.
 São uma abordagem complementar aos testes estruturais.

4.5.1. Tipos de Testes Caixa Preta

Os tipos mais comuns são (estrutural):


 Teste de unidade: o objetivo é testar os módulos isoladamente verificando o
funcionamento conjunto dos algoritmos e as estruturas de dados.
 A referencia utilizada é a especificação de módulos, um documento detalhado de cada
módulo do software.
 Teste realizado por um programador.
 A referencia utilizada é a especificação de módulos, um documento detalhado de cada
módulo do software.
 Teste realizado por um programador.

7
5. Conclusão
Ao longo do trabalho conclui que os teste de software permitem corrigir os demais defeitos que
podem gerar grande custo a posterior se não for corrigido cedo. E uma importante razão do
teste é a prevenção de defeitos, ou seja, o teste permite melhorar a qualidade do software
detectando os defeitos no software.

8
6. Bibliografia

Damasceno, J. Engenharia de Software (Teste de Software). Recuperado em :


https://pt.slideshare.net/JoeldsonCostaDamasce/teste-de-software-processo-de-verificao-e-
validao

Maldonado, J.C.( 1991) "Critérios Potenciais Usos: Uma Contribuição ao Teste Estrutural de
Software". Tese de Doutorado, DCA-FEE-UNICAMP, Campinas, Brasil.

Você também pode gostar