Testning

Fallstudie: Bygga programvara i Python

Mark Pedigo

Principal Data Scientist

Färdplan

Färdplan som visar vilka delar av projektet vi har slutfört och vad vi börjar med nu.

Fallstudie: Bygga programvara i Python

Varför automatiserad testning?

  • Automatisk, mjukvarustyrd testning
  • Kräver ingen mänsklig inblandning
  • Från enkla kontroller till heltäckande tester

En robot som testar kod

Fallstudie: Bygga programvara i Python

Fördelar med automatiserad testning

  • Förbättrad kodkvalitet
  • Riskminskning
  • Bättre användarupplevelse
Fallstudie: Bygga programvara i Python

Vad gör enhetstester?

  • Enskilda komponenter eller funktioner testas individuellt
  • Fokus på applikationens minsta delar
  • Verifierar förväntat utdata givet indata

Ett förstoringsglas som granskar block

Fallstudie: Bygga programvara i Python

Vad är pytest-biblioteket?

  • Populärt testramverk för Python
  • Stöder enhetstestning
  • Känt för enkelhet, flexibilitet och funktionsrikedom
Fallstudie: Bygga programvara i Python

Fördelar med pytest

  • Enkelhet och läsbarhet
  • Kraftfulla fixtures
  • Integreras med andra verktyg
Fallstudie: Bygga programvara i Python

Enhetstest – exempel

# math.py
def add(a, b):
  return a + b
# test_math.py
import pytest
def test_add():
    assert add(2, 3) == 5
    assert add(-1, 1) == 0
    assert add(0, 0) == 0
    assert add(-5, -7) == -12

Kör i konsolen:

pytest test_math.py

===== test session starts ===== collected 1 item test_math_functions.py . [100%] ====== 1 passed in 0.03s ======
Fallstudie: Bygga programvara i Python

Nu kör vi en övning!

Fallstudie: Bygga programvara i Python

Preparing Video For Download...