Testování funkcí pomocí pytest

Úvod do testování v Pythonu

Alexander Levin

Data Scientist

Co je test funkce

Funkce

  • funkcionalita softwarového systému.
  • splňuje konkrétní požadavek uživatele.

Funkce

  • jsou širší než jednotky.
  • Koncový uživatel může funkce využívat.

Testování funkcí

  • metoda testování softwaru.
  • ověřuje chování konkrétní funkce.
  • Příklady:
    • Kontrola distribuce dat
    • Příprava reportu
Úvod do testování v Pythonu

Jednotky vs. funkce: osobní počítač

Jednotky:

  • Každé jednotlivé tlačítko
  • Pixely na obrazovce
  • LED diody
  • Bloky na disku

Funkce:

  • Klávesnice
  • Obrazovka
  • Podsvícení
  • Souborový systém
Úvod do testování v Pythonu

Proč používáme testy funkcí

Testování funkcí pomáhá:

  • Testovat věci v rozsahu interakce uživatele se systémem.

Rozsah je širší než u jednotek:

  • Nefunkční jednotka neznamená, že funkce NENÍ v pořádku.

Naopak:

  • Všechny funkční jednotky nezaručují, že funkce je v pořádku.
Úvod do testování v Pythonu

Příklad testu funkce: nastavení

Nastavení a definice kódu funkce:

# 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
Úvod do testování v Pythonu

Příklad testu funkce: testování

Testovací kód:

# 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]
Úvod do testování v Pythonu

Shrnutí

Testování funkcí – metoda testování softwaru, která ověřuje chování konkrétní funkce.

Funkce jsou širší než jednotky:

  • Pokud je tlačítko jednotka, pak klávesnice je funkce.

Testování funkcí zajišťuje, že uživatelé dostanou přesně to, co očekávají.

Vytváření testů funkcí vyžaduje definování testovacích případů.

Klíč k návrhu testů funkcí – pochopit, co jsou funkce v daném systému.

Úvod do testování v Pythonu

Pojďme procvičovat!

Úvod do testování v Pythonu

Preparing Video For Download...