Funktionstestning med pytest

Introduktion till testning i Python

Alexander Levin

Data Scientist

Vad är ett funktionstest

Funktion

  • en funktionalitet i ett mjukvarusystem.
  • uppfyller ett specifikt användarbehov.

Funktioner

  • är bredare än enheter.
  • Slutanvändaren kan använda funktioner.

Funktionstestning

  • en metod för mjukvarutestning.
  • verifierar beteendet hos en specifik funktion.
  • Exempel:
    • Kontroll av datafördelning
    • Rapportframtagning
Introduktion till testning i Python

Enheter vs. funktioner: persondator

Enheter:

  • Varje enskild tangent
  • Pixlar på skärmen
  • LED-dioder
  • Block på disken

Funktioner:

  • Tangentbord
  • Skärm
  • Belysning
  • Filsystem
Introduktion till testning i Python

Varför använder vi funktionstester

Funktionstestning hjälper till:

  • Att testa saker på nivån för användarens interaktion med ett system.

Omfånget är bredare än enheter:

  • En enhet fungerar inte – det betyder inte att funktionen är FEL.

Omvänt gäller också:

  • Alla enheter fungerar som förväntat – det betyder inte att funktionen är OK.
Introduktion till testning i Python

Exempel på funktionstest: inställning

Inställning och definition av funktionskod:

# Setup
import pandas as pd
import pytest

df = pd.read_csv('laptops.csv')

# Filter feature
def filter_data_by_manuf(df, manufacturer_name):
    filtered_df = df\
        [df["Manufacturer"] == manufacturer_name]
    return filtered_df
Introduktion till testning i Python

Exempel på funktionstest: testning

Testkod:

# Feature test function
def test_unique():
    manuf_name = 'Apple'
    filtered = filter_data_by_manuf(df, manuf_name)
    assert filtered\
        ['Manufacturer'].nunique() == 1
    assert filtered\
        ['Manufacturer'].unique() == [manuf_name]
Introduktion till testning i Python

Sammanfattning

Funktionstestning – en metod för mjukvarutestning som verifierar beteendet hos en specifik funktion.

Funktioner är bredare än enheter:

  • Om en tangent är en enhet, är tangentbordet en funktion.

Funktionstestning hjälper till att säkerställa att användarna får exakt vad de förväntar sig.

För att skapa funktionstester behöver man utforma testfall.

Nyckeln till att designa funktionstester – att förstå vad funktionerna är i ett specifikt system.

Introduktion till testning i Python

Nu kör vi en övning!

Introduktion till testning i Python

Preparing Video For Download...