Featuretesten met pytest

Introductie tot testen in Python

Alexander Levin

Data Scientist

Wat is een featuretest

Feature

  • functionaliteit van een softwaresysteem.
  • voldoet aan een specifieke gebruikersbehoefte.

Features

  • zijn ruimer dan units.
  • End-users gebruiken features.

Featuretesten

  • testmethode voor software.
  • verifieert het gedrag van een specifieke feature.
  • Voorbeelden:
    • Controle dataverdeling
    • Rapportage voorbereiden
Introductie tot testen in Python

Units vs. features: pc

Units:

  • Elke afzonderlijke knop
  • Pixels op het scherm
  • LED-diodes
  • Blokken op de schijf

Features:

  • Toetsenbord
  • Scherm
  • Verlichting
  • Bestandssysteem
Introductie tot testen in Python

Waarom featuretests gebruiken

Featuretesten helpt:

  • Testen op het niveau van gebruikersinteractie met het systeem.

De scope is ruimer dan units:

  • Eén kapotte unit betekent niet dat de feature NIET oké is.

Andersom:

  • Alle units werken, maar de feature kan alsnog niet oké zijn.
Introductie tot testen in Python

Voorbeeld featuretest: setup

Setup en featurecode definiëren:

# 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
Introductie tot testen in Python

Voorbeeld featuretest: testen

Code testen:

# Featuretest-functie
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]
Introductie tot testen in Python

Samenvatting

Featuretesten: testmethode om het gedrag van een specifieke feature te verifiëren.

Features zijn ruimer dan units:

  • Is een knop een unit, dan is het toetsenbord een feature.

Featuretesten helpt te borgen dat gebruikers krijgen wat ze verwachten.

Voor featuretests maak je testcases.

De sleutel tot goede featuretests: begrijp de features in het systeem.

Introductie tot testen in Python

Laten we oefenen!

Introductie tot testen in Python

Preparing Video For Download...