Ir para o conteúdo

Testes unitários em FORTRAN

De Wikiversidade

Introdução

[editar | editar código]

Testes unitários são frequentemente vistos como um recurso exclusivo de ecossistemas modernos de desenvolvimento, graças à popularidade de frameworks como JUnit (Java), pytest (Python) e Jest (JavaScript). Essa percepção leva muitos a acreditar que linguagens mais antigas não podem se beneficiar dessa prática. No entanto, a essência dos testes unitários transcende linguagens ou ferramentas: trata-se de uma disciplina fundamental de engenharia de software.

Para provar esse ponto, este tutorial ensinará, sem o uso de nenhum framework, como construir testes unitários básicos em FORTRAN, uma linguagem dos anos 1950 que ainda hoje é amplamente utilizada em aplicações científicas e de alta performance.

Introdução ao FORTRAN

[editar | editar código]

Fortran (Formula Translation) é uma linguagem de programação projetada para computação científica e numérica. Apesar de sua idade, ainda é usada em áreas como meteorologia, física computacional e engenharia devido à sua eficiência em cálculos complexos.

Variáveis

[editar | editar código]

A declaração de variáveis em FORTRAN segue o seguinte formato:

tipo :: nome_variavel
integer :: idade       ! Inteiro
real :: altura         ! Número real
character(len=20) :: nome ! String
logical :: eh_valido   ! Booleano
integer, dimension(10) :: vetor  ! Array de 10 inteiros
real, dimension(5,5) :: matriz   ! Matriz 5x5

Funções

[editar | editar código]

Em FORTRAN, as funções seguem o seguinte formato:

function nome_da_funcao(variavel1, variavel2, ..., variaveln) result(nome_variavel_saida)
   [declarações de variáveis e parâmetros]
   [corpo da função]
end function [nome_da_funcao]

Por exemplo, para uma função que soma dois números:

function soma(a, b) result(res)
    integer :: a, b
    integer :: res
    res = a + b
end function soma

Criação de um programa

[editar | editar código]

Em FORTRAN, a estrutura básica de um programa segue um padrão específico. Embora seja análogo à função main() de linguagens como C e Java, em FORTRAN utilizamos a palavra-chave program, conforme o esquema abaixo:

program <nome_do_programa>
    [declarações de variáveis]
    [corpo do programa]
contains
    [definição das funções internas]
end program <nome_do_programa>

Ou seja, o "Ola, mundo" do FORTRAN seria da seguinte maneira:

program ola_mundo
    print *, "ola, mundo!"
end program ola_mundo

Testes Unitarios e um exemplo em FORTRAN

[editar | editar código]

Apesar de geralmente serem utilizados frameworks que facilitam a implementação de testes unitários, sobretudo em aplicações maiores, é importante lembrar que, de maneira primitiva, testes unitários são simplesmente testes que verificam a funcionalidade de uma unidade de código.

Exemplo de programa que testa uma função de soma:

program teste_soma
    integer :: resultado, esperado

    ! Teste 1: 2 + 3 = 5
    resultado = soma(2, 3)
    esperado = 5

    if (resultado == esperado) then
        print *, "Teste PASSOU: soma(2, 3) = 5"
    else
        print *, "Teste FALHOU: esperado 5, obtido ", resultado
    end if

contains
    function soma(a, b) result(res)
        integer :: a, b
        integer :: res
        res = a + b
    end function soma
end program teste_soma

Conclusão

[editar | editar código]
  • Testes unitários são viáveis em qualquer linguagem, incluindo FORTRAN.
  • A ausência de frameworks não é desculpa para não testar.
  • A prática pode ser implementada com estruturas básicas da linguagem.

Referências

[editar | editar código]

https://pt.wikipedia.org/wiki/Fortran

https://pt.wikipedia.org/wiki/Teste_de_unidade