Sobes.tech
Junior — Middle

Hoe wordt het verificatieproces van de software uitgevoerd met behulp van schermafbeeldingen?

sobes.tech AI

Antwoord van AI

Softwarecontrole met behulp van schermafbeeldingen is een visuele testmethode waarbij het huidige uiterlijk van de gebruikersinterface van de applicatie wordt vergeleken met een referentieafbeelding. Deze aanpak wordt vaak gebruikt om visuele regressies te detecteren.

Het proces omvat meestal de volgende stappen:

  1. Automatisch of handmatig vastleggen van schermafbeeldingen van bepaalde schermen of componenten van de applicatie.
  2. Opslaan van de referentiebeelden die als correct worden beschouwd.
  3. Bij latere tests wordt een nieuwe schermafbeelding van hetzelfde element gemaakt.
  4. Vergelijking van de nieuwe schermafbeelding met de referentie met behulp van speciale tools die verschillen detecteren (bijvoorbeeld op pixelniveau).
  5. Als de verschillen een bepaalde drempel overschrijden, wordt de test als mislukt beschouwd en worden de visuele wijzigingen geanalyseerd.

Voorbeeld van gebruik in automatisering met Python en de Selenium- en Pillow-bibliotheken:

from selenium import webdriver
from PIL import Image, ImageChops

def compare_screenshots(img1_path, img2_path):
    img1 = Image.open(img1_path)
    img2 = Image.open(img2_path)
    diff = ImageChops.difference(img1, img2)
    if diff.getbbox():
        return False  # Verschillen gevonden
    return True  # Schermafbeeldingen komen overeen

# Tijdens de test wordt een schermafbeelding gemaakt en vergeleken
browser = webdriver.Chrome()
browser.get('https://example.com')
browser.save_screenshot('current.png')

if not compare_screenshots('baseline.png', 'current.png'):
    print('Visuele wijzigingen gedetecteerd!')
else:
    print('Visuele overeenstemming bevestigd.')

browser.quit()

Op deze manier helpt de controle met schermafbeeldingen om het uiterlijk en de UI-elementen te controleren, vooral nuttig bij ontwerpwijzigingen of cross-browser testen.