0% acharam este documento útil (0 voto)
0 visualizações17 páginas

DEPURAÇÃO E TESTE DE PROGRAMAS

Este documento discute linguagens de programação e programas de computador. Começa definindo programação de computador como o processo de escrever código ou instruções a serem executadas por um computador. Em seguida, fornece definições e exemplos de diferentes tipos de programas de computador, incluindo programas interativos, programas em lote, sistemas operacionais, aplicações, sistemas, plataformas e sistemas embarcados. O documento prossegue definindo linguagens de programação e descrevendo linguagens de baixo nível, como linguagem de máquina e linguagem de montagem, bem como linguagens de alto nível, como linguagens procedurais, orientadas a objetos e linguagens naturais. Ele também discute linguagens de médio nível e fornece exemplos de algumas das linguagens de programação mais comumente usadas, como Python, Java e C.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
0 visualizações17 páginas

DEPURAÇÃO E TESTE DE PROGRAMAS

Este documento discute linguagens de programação e programas de computador. Começa definindo programação de computador como o processo de escrever código ou instruções a serem executadas por um computador. Em seguida, fornece definições e exemplos de diferentes tipos de programas de computador, incluindo programas interativos, programas em lote, sistemas operacionais, aplicações, sistemas, plataformas e sistemas embarcados. O documento prossegue definindo linguagens de programação e descrevendo linguagens de baixo nível, como linguagem de máquina e linguagem de montagem, bem como linguagens de alto nível, como linguagens procedurais, orientadas a objetos e linguagens naturais. Ele também discute linguagens de médio nível e fornece exemplos de algumas das linguagens de programação mais comumente usadas, como Python, Java e C.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 17

UNIVERSIDADE KYAMBOGO

FACULDADE DE ENGENHARIA

DEPARTAMENTO DE ENGENHARIA ELÉTRICA E ELETRÔNICA

ENGENHARIA

BACHAREL EM ENGENHARIA EM MECATRÔNICA


E ENGENHARIA BIOMÉDICA

TEMB 3101: MICROELETRÔNICA

NAME:MAKAFU JOSEPH JAMES

REGISTRATION NUMBER: 19/U/BIO/178/GV

DOCENTE: Senhor KIBUUKA JULIUS

DATE:1ST/08/2022

1
PROGRAMANDO
Computer programming is the process of writing a code or set of instructions to be interpreted
e executado por um computador ou outro dispositivo eletrônico.

Programa de computador
Um programa de computador é uma sequência de instruções que um computador pode interpretar e executar.

Os programas de computador podem ser caracterizados como interativos ou em lote em termos do que os impulsiona e
como eles correm continuamente.

Programas interativos. Esses programas recebem dados de um usuário interativo ou possivelmente


de outro programa que simula um usuário interativo. Um interpretador de comandos ou um
Navegadores da web são exemplos de um programa interativo.
Batch programs.These programs run, do their work and then stop. A batch program can be
iniciado diretamente por um usuário, ou pode ser invocado para rodar por um programa interativo. Um programa
o que calcula e imprime a folha de pagamento de uma empresa é um exemplo de um programa em lote. Trabalhos de impressão
também são programas em lote.

1. Sistemas Operacionais

Um sistema operacional é um programa de computador que fornece um ambiente padrão para os usuários e
para rodar outros programas de computador. Por exemplo, Linux, Android, iOS e Windows são
sistemas operacionais.

2. Aplicação

Um aplicativo é qualquer programa de computador que é escrito principalmente para as pessoas usarem. Isso inclui
categorias amplas como produtividade de escritório, software empresarial e software de mídia.

3. Sistemas

Sistemas são programas de computador que são projetados principalmente para automação, ao invés de agir.
como uma ferramenta para as pessoas usarem. Por exemplo, um sistema de pagamento que realiza processamento de transações

para compras.

2
4. Plataformas

As plataformas são ambientes para construir sistemas e aplicativos para a nuvem ou um determinado
dispositivo.

5. Sistemas Embarcados

Sistemas embarcados são computadores e programas de computador que são incorporados em dispositivos do dia a dia

como um aspirador de pó ou uma garrafa de água.

O que é uma Linguagem de Programação?

Uma linguagem de programação é uma linguagem de computador que é usada por programadores (desenvolvedores) para

comunicar-se com computadores. É um conjunto de instruções escritas em qualquer linguagem específica (C, C++,
Java e Python) para realizar uma tarefa específica.

Uma linguagem de programação é principalmente usada para desenvolver aplicativos de desktop, sites e móveis.

aplicações.

Tipos de linguagens de programação

Linguagem de programação de baixo nível


A linguagem de baixo nível é uma linguagem de programação dependente da máquina (0s e 1s). O processador

executa programas de baixo nível diretamente sem a necessidade de um compilador ou interpretador, então os programas
escrito em linguagem de baixo nível pode ser executado muito rapidamente.

A linguagem de baixo nível é dividida em duas partes -

i. Linguagem de Máquina

A linguagem de máquina é um tipo de linguagem de programação de baixo nível. Também é chamada de código de máquina.

ou código objeto. Não requer um tradutor para converter os programas porque os computadores
entender diretamente os programas de linguagem de máquina.

A vantagem da linguagem de máquina é que ela ajuda o programador a executar os programas.


mais rápido do que a linguagem de programação de alto nível.

3
ii. Linguagem de Montagem

A linguagem de montagem (ASM) também é um tipo de linguagem de programação de baixo nível que é projetada para

processadores específicos. Representa o conjunto de instruções de forma simbólica e compreensível para os humanos

forma. Ele usa um montador para converter a linguagem de montagem em linguagem de máquina.

A vantagem da linguagem de montagem é que ela requer menos memória e menos tempo de execução para
execute um programa.

Linguagem de programação de alto nível


Linguagem de programação de alto nível (HLL) é projetada para desenvolver software amigável ao usuário

programas e sites. Esta linguagem de programação requer um compilador ou interpretador para


traduzir o programa para linguagem de máquina (executar o programa). A principal vantagem de um
a linguagem de alto nível é que é fácil de ler, escrever e manter.

Linguagem de programação de alto nível inclui Python, Java, JavaScript, PHP, C#, C++, Objective
C, COBOL, Perl, Pascal, LISP, FORTRAN e Swift linguagem de programação.

Uma linguagem de alto nível é dividida em três partes -

i.Linguagem de programação orientada a procedimentos

A linguagem de Programação Orientada a Procedimentos (POP) é derivada da programação estruturada e


baseado no conceito de chamada de procedimento. Ele divide um programa em pequenos procedimentos chamados rotinas

ou funções.

A linguagem de programação orientada a procedimentos é usada por um programador de software para criar um

programa que pode ser realizado utilizando um editor de programação como IDE, Adobe
Dreamweaver, ou Microsoft Visual Studio.

A vantagem da linguagem POP é que ela ajuda os programadores a rastrear facilmente o fluxo do programa
e o código pode ser reutilizado em diferentes partes do programa.

C, FORTRAN, Basic, Pascal, etc.

4
ii. Linguagem de Programação Orientada a Objetos

A linguagem de Programação Orientada a Objetos (POO) é baseada em objetos. Nesta programação


A linguagem, programas são divididos em pequenas partes chamadas objetos. É usada para implementar o mundo real.

entidades como herança, polimorfismo, abstração, etc. no programa para tornar o programa
reutilizável, eficiente e fácil de usar.

A principal vantagem da programação orientada a objetos é que OOP é mais rápida e fácil de executar.
manter, modificar, assim como depurar.

Nota: A linguagem de programação orientada a objetos segue uma abordagem de baixo para cima.

Exemplo: C++, Java, Python, C#, etc.

iii. Linguagem natural

A linguagem natural é parte das línguas humanas, como o inglês, russo, alemão e japonês.
É usado por máquinas para entender, manipular e interpretar a linguagem humana. É usado por
desenvolvedores para realizar tarefas como tradução, sumarização automática, Entidade Nomeada
Reconhecimento de Entidade Nomeada (NER), extração de relacionamentos e segmentação de tópicos.

A principal vantagem da linguagem natural é que ela ajuda os usuários a fazer perguntas sobre qualquer assunto e

responda diretamente em segundos.

3. Linguagem de programação de médio nível

A linguagem de programação de médio nível está entre a linguagem de programação de baixo nível e
linguagem de programação de alto nível. Também é conhecida como linguagem de programação intermediária

e pseudo-linguagem.

As vantagens de uma linguagem de programação de nível médio são que ela suporta os recursos de uma linguagem de alto nível.

programação, é uma linguagem amigável ao usuário, e intimamente relacionada à linguagem de máquina e humana

língua.

C, C++, linguagem

5
Linguagem de Programação Mais Comumente Usada

Existem dezenas de linguagens de programação usadas pelas indústrias. Algumas das mais amplamente utilizadas

As linguagens de programação estão listadas abaixo -

1. Linguagem de Programação Python

Python é uma das linguagens de programação mais amplamente utilizadas e amigáveis. É um software de código aberto
e uma linguagem de programação fácil de aprender desenvolvida na década de 1990. É usada principalmente em Máquinas

aprendizado, inteligência artificial, Big Data, aplicações de desktop baseadas em GUI e Robótica.

Vantagens

Python é fácil de ler, fácil de entender e fácil de escrever.

Ele se integra com outras linguagens de programação como C, C++ e Java.

Python executa código linha por linha, então é fácil para o programador encontrar o erro que
ocorreu no código.

Python é independente de plataforma, o que significa que você pode escrever o código uma vez e executá-lo em qualquer lugar.

Desvantagens

Python não é adequado para desenvolver aplicativos móveis e jogos.

Python trabalha com o interpretador. É por isso que é mais lento do que outras linguagens de programação.

linguagens como C e C++.

2. Linguagem de programação Java

Java é uma linguagem simples, segura, independente de plataforma, confiável e neutra em relação à arquitetura de alto nível.

programming language developed by Sun Microsystems in 1995. It is mainly used to develop


banco, varejo, tecnologia da informação, android, big data, comunidade de pesquisa, web e desktop
aplicações.

6
Vantagens

Java é fácil de escrever, compilar, aprender e depurar em comparação com outras linguagens de programação

línguas.

Ele fornece a capacidade de executar o mesmo programa em diferentes plataformas.

É uma linguagem de programação altamente segura porque em Java não existe o conceito de
ponteiros explícitos.

É capaz de realizar várias tarefas ao mesmo tempo.

Desvantagens

Java consome mais memória e é mais lento que outras linguagens de programação como C ou
C++

Não oferece uma função de backup.

3. Linguagem de Programação C

C é uma linguagem de programação de computador popular, simples e flexível de propósito geral. Dennis M
Ritchie o desenvolve em 1972 na AT&T. É uma combinação de programação de baixo nível
linguagem assim como uma linguagem de programação de alto nível. É usada para projetar aplicações como
Editores de texto, Compiladores, Dispositivos de rede e muitos mais.

Vantagens

A linguagem C é fácil de aprender.

É uma programação rápida, eficiente, portátil, fácil de estender, poderosa e flexível.


idioma.

É usado para realizar cálculos e operações complexas, como o MATLAB.

Desvantagens

Na linguagem de programação C, é muito difícil encontrar os erros.


7
C não suporta os conceitos de construtores, destrutores, abstração, polimorfismo,
encapsulamento e namespace como OOPs.

4. Linguagem de Programação C++

C++ é uma das milhares de linguagens de programação que usamos para desenvolver software. C. É
semelhante à linguagem de programação C, mas também inclui alguns recursos adicionais, como
tratamento de exceções, programação orientada a objetos, verificação de tipo, etc.

Vantagens

C++ é uma linguagem de programação estruturada simples e portátil.

Suporta recursos de POO, como Abstração, Herança e Encapsulamento.

Oferece uma abstração de alto nível e é útil para uma linguagem de programação de baixo nível, e
mais eficiente para uso geral.

C++ é mais compatível com a linguagem C.

Disadvantages

A linguagem de programação C++ não é tão segura em comparação com outras linguagens de programação

como Java ou Python.

C++ não pode suportar coleta de lixo.

É difícil depurar aplicações web grandes e complexas.

5. Linguagem de Programação C#

C# (pronunciado como C sharp) é uma linguagem de programação moderna, de uso geral e orientada a objetos.

linguagem usada com serviços Web baseados em XML na plataforma .NET. É principalmente projetada para
melhorar a produtividade em aplicativos web. É mais fácil de aprender para aqueles usuários que têm conhecimento suficiente

conhecimento de linguagens de programação comuns como C, C++ ou Java.

Vantagens

8
C# é uma linguagem de programação moderna, segura em tipos, fácil, rápida e de código aberto que é
facilmente integrado com o Windows.

A manutenção do C# (C sharp) é menor do que a da linguagem de programação C++.

C# é uma linguagem de programação puramente orientada a objetos.

C# inclui uma forte capacidade de backup de memória. É por isso que evita o problema de
vazamento de memória.

Desvantagens

C# é menos flexível porque é completamente baseado no framework Microsoft .Net.

In C#, it is difficult to write, understand, debug, and maintain multithreaded applications.

6. Linguagem de Programação JavaScript

JavaScript é um tipo de linguagem de script que é usada tanto no lado do cliente quanto no lado do servidor.
Foi desenvolvido na década de 1990 para o navegador da web Netscape Navigator. Ajuda programadores a
criar sites dinâmicos, servidores, aplicativos móveis, gráficos animados, jogos e mais.

Vantagem

Pode ser usado para diminuir o tempo de carregamento do servidor.

Ele tem a capacidade de criar sites atraentes, dinâmicos, e interfaces ricas.

JavaScript é uma linguagem de programação simples, versátil e leve.

JavaScript e sua sintaxe são fáceis de entender.

Desvantagem

JavaScript é completamente baseado no navegador.

Não suporta herança múltipla.

É menos seguro em comparação com outras linguagens de programação.


9
DEPURAÇÃO.
A depuração é o processo de identificar um problema, isolar a fonte do problema e, em seguida,
corrigindo o problema ou encontrando uma maneira de contorná-lo.

Para evitar o funcionamento incorreto de um software ou sistema, a depuração é utilizada para encontrar e resolver

bugs ou defeitos.

Um inseto.

A software bug is an error, flaw or fault in a computer program or system that causes it to
produzir um resultado incorreto ou inesperado, ou comportar-se de maneiras não intencionais.

Tipos de insetos.

1. Erros funcionais

Este é um tipo abrangente de erro que acontece sempre que o software não se comporta como previsto.
exemplo, se o usuário final clicar no botão “Salvar”, mas os dados inseridos não forem salvos, isso é um
erro funcional. Após alguma investigação, um testador de software pode identificar um culpado mais específico
por trás do erro e reclassificá-lo como um tipo diferente de bug.

2. Erros de sintaxe

Um erro de sintaxe ocorre no código-fonte de um programa e impede que o programa seja


compilado corretamente. Esse tipo de erro é muito comum e normalmente ocorre quando há um ou
mais caracteres faltantes ou incorretos no código. Por exemplo, um único parêntese faltando poderia
causar um erro de sintaxe.

Compilar programas geralmente indica onde ocorreu um erro de sintaxe para que o programador possa
conserte-o.

3. Logic errors

Um erro de lógica representa um erro no fluxo do software e faz com que o software se comporte
incorretamente. Esse tipo de erro pode fazer com que o programa produza uma saída incorreta, ou até mesmo
travar ou colidir. Ao contrário dos erros de sintaxe, os erros de lógica não impedem que um programa seja compilado.

Um erro de lógica comum é o loop infinito. Devido a um código mal escrito, o programa repete um
sequência sem fim até que trave ou pare devido a intervenção externa, como o usuário fechando um
janela do navegador ou desligando a energia.

10
4. Erros de cálculo

Sempre que o software retorna um valor incorreto - seja um que o usuário final vê ou um que é
passou para outro programa— isso é um erro de cálculo. Isso pode acontecer por várias razões:

O software está usando o algoritmo errado para calcular o valor.


A cálculo tem uma incompatibilidade de tipo de dados.
Os desenvolvedores codificaram o cálculo ou a transferência de valor para outro programa
incorretamente.

Embora esse tipo de erro possa ser caro em certos contextos—como no setor bancário, onde uma informação incorreta
o cálculo pode resultar na perda de dinheiro—perseguir o erro de cálculo é tipicamente apenas
uma questão de matemática.

5. Bugs de nível de unidade

Os bugs de software em nível de unidade são os mais comuns. Eles também são tipicamente os mais fáceis de corrigir.

Depois que seu software é inicialmente codificado, você precisa ver como ele funciona por meio de testes unitários—
tomar uma pequena seção lógica de código e verificar se ela funciona conforme o planejado. É aqui que
vários tipos de bugs de máquina de estado, erros de cálculo e bugs de lógica básica são frequentemente
descoberto.

6. Bugs de integração em nível de sistema

Esse tipo de erro ocorre quando dois ou mais programas de subsistemas separados interagem
erroneamente. Muitas vezes, os dois conjuntos de código são escritos por desenvolvedores diferentes. LaVine explica que
mesmo quando há um conjunto sólido de requisitos para os desenvolvedores seguirem, geralmente há algum nível
da interpretação necessária ou detalhes que são negligenciados, causando a interação entre dois
peças de software para falhar.

Bugs de integração em nível de sistema são mais difíceis de corrigir porque você está lidando com mais de uma peça
do software, então a complexidade aumenta enquanto a visibilidade geral diminui,” diz LaVine. “Isso
A classe de bug é frequentemente causada por coisas como troca de bytes, análise de mensagens ou estouro de memória.
questões.

7. Bugs fora dos limites

LaVine observa que esses tipos de bugs de software aparecem quando o usuário final interage com o
software de maneiras que não eram esperadas. Isso geralmente ocorre quando o usuário define um parâmetro fora
os limites do uso pretendido, como inserir um número significativamente maior ou menor do que o codificado
por ou ao inserir um tipo de dados inesperado, como texto onde deveria haver um número.

11
O processo de depuração:
1. Reproduza o problema.

2. Describe the bug. Try to get as much input from the user to get the exact reason.

3. Capture a instantânea do programa quando o bug aparecer. Tente obter todos os valores das variáveis.

e estados do programa naquela época.

4. Analise a instantânea com base no estado e na ação. Com base nisso, tente encontrar a causa de
o inseto.

5. Corrija o erro existente, mas também verifique se nenhum novo erro ocorre.

Abordagens de Depuração:

Método de força bruta: É o método de depuração mais comum, mas é o menos eficiente.
método. Nesta abordagem, instruções de impressão são inseridas ao longo do programa para imprimir o
valores intermediários na esperança de que alguns dos valores impressos ajudem a identificar o
declaração em erro. Esta abordagem torna-se mais sistemática com o uso de um depurador simbólico
também é chamado de depurador de código-fonte.

Retrocesso: Esta também é uma abordagem bastante comum. Nesta abordagem, começando a partir de
declaração na qual um sintoma de erro foi observado, o código-fonte é rastreado para trás
até que o erro seja descoberto. Infelizmente, à medida que o número de linhas de código a serem rastreadas aumenta
aumenta, o número de caminhos de retorno potenciais aumenta.

Método de eliminação de causas: Nesta abordagem, assim que uma falha é observada, os sintomas da
falhas são notadas. Com base nos sintomas da falha, as causas que poderiam ter contribuído para o
o sintoma se desenvolve e os testes são realizados para eliminar cada um. Uma técnica relacionada de
A identificação do erro a partir do sintoma do erro é a análise da árvore de falhas do software.

4. Fatiamento de programas: Esta técnica é semelhante ao retrocesso. Na abordagem de retrocesso, um


frequentemente tem que examinar um grande número de declarações. No entanto, o espaço de busca é reduzido por
definindo fatias. Uma fatia de um programa para uma variável específica e em uma declaração específica é a
conjunto de linhas de origem que precedem esta declaração e podem influenciar o valor dessa variável. Programa
a fatiamento aproveita o fato de que um erro no valor de uma variável pode ser causado pela
declarações das quais depende dos dados.

Ferramentas de Depuração

Existem duas ferramentas de depuração. A primeira é um mecanismo de rastreamento que pode ser usado no global
funções no loop de nível superior.

12
A segunda ferramenta é um depurador que não é usado no loop de nível superior normal. Depois de um primeiro programa
Executar é possível voltar para pontos de interrupção, inspecionar valores ou reiniciar certas funções
com argumentos diferentes.

Esta segunda ferramenta só funciona sob UNIX, porque duplica o processo em execução através de um fork.

13
TESTE DE PROGRAMA
O teste é o processo de executar um programa com o objetivo de encontrar erros. Para tornar nosso
o software deve funcionar bem e deve estar livre de erros. Se os testes forem realizados com sucesso, isso removerá todos os

erros do software.

Princípios do Teste: -
Todos os testes devem atender aos requisitos do cliente.

ii. Para que nossos testes de software sejam realizados por um terceiro

iii. Testes exaustivos não são possíveis. Precisamos da quantidade ideal de testes com base no
avaliação de risco do aplicativo.

iv. Todos os testes a serem realizados devem ser planejados antes de sua implementação.

v. Segue a regra de Pareto (regra 80/20) que afirma que 80% dos erros vêm de 20% de
componentes do programa.

vi. Comece testando com pequenas partes e amplie para partes maiores.

Tipos de Teste: -
1. Testes de Unidade

Foca na menor unidade de design de software. Neste, testamos uma unidade individual ou grupo de
unidades inter-relacionadas. Isso é frequentemente feito pelo programador usando entradas de exemplo e observando sua

saídas correspondentes.

2. Teste de Integração

O objetivo é pegar componentes testados em unidade e construir uma estrutura de programa que tenha sido

ditado pelo design. Teste de integração é um teste no qual um grupo de componentes é combinado para
produzir saída.

Integration testing is of four types: (i) Top-down (ii) Bottom-up (iii) Sandwich (iv) Big-Bang

3. Teste de Regressão

14
Toda vez que um novo módulo é adicionado, leva a mudanças no programa. Esse tipo de teste faz
garanta que todo o componente funcione corretamente mesmo após a adição de componentes ao completo
programa.

4. Teste de Fumaça

Este teste é realizado para garantir que o software em teste esteja pronto ou estável para testes adicionais.

É chamado de teste de fumaça, pois o teste inicial é feito para verificar se não pegou fogo ou
fumos ao ligar inicialmente.

5. Teste Alfa

Este é um tipo de teste de validação. É um tipo de teste de aceitação que é realizado antes do
o produto é liberado para os clientes. Isso é feito geralmente por pessoas de Qualidade.

6. Teste Beta

O teste beta é conduzido em um ou mais locais de clientes pelo usuário final do software. Isso
a versão é lançada para um número limitado de usuários para teste em um ambiente em tempo real

7. Teste de Sistema

Este software é testado de forma que funciona bem para os diferentes sistemas operacionais. Está coberto
sob a técnica de teste de caixa-preta. Nisso, focamos apenas na entrada e saída necessárias
sem focar no funcionamento interno.

8. Teste Orientado a Objetos

Este teste é uma combinação de várias técnicas de teste que ajudam a verificar e validar objeto-
software orientado. Este teste é feito da seguinte maneira:

i. Teste de Requisitos,

ii. Design e Análise de Testes,

iii. Teste de Código,

15
iv. Teste de integração,

v. Teste de sistema,

vi. Testes de Usuário.

Ferramentas de teste para teste de programas.

1. Mestre em Testes

2. HPE Teste Funcional Unificado (HP-UFT anteriormente QTP)

3. Teste Completo

4. Ranorex

5. Sahi

6. Watir

7. Conjunto de testes Tosca

8. Telerik Test Studio

9. Katalon Studio

16
https://www.jotform.com/blog/tipos-de-bug-de-software/

https://www.techtarget.com/searchsoftwarequality/definition/debugging/

17

Você também pode gostar