Sobes.tech
Junior — Middle

Wie erfolgt der Überprüfungsprozess der Software mit Hilfe von Screenshots?

sobes.tech KI

Antwort von AI

Software-Tests mit Screenshots sind eine visuelle Testmethode, bei der das aktuelle Erscheinungsbild der Anwendungsschnittstelle mit einem Referenzbild verglichen wird. Dieser Ansatz wird häufig verwendet, um visuelle Regressionen zu erkennen.

Der Prozess umfasst in der Regel folgende Schritte:

  1. Automatisches oder manuelles Erfassen von Screenshots bestimmter Bildschirme oder Komponenten der Anwendung.
  2. Speichern der Referenzbilder, die als korrekt gelten.
  3. Bei späteren Tests wird ein neuer Screenshot desselben Elements gemacht.
  4. Vergleich des neuen Screenshots mit dem Referenzbild mithilfe spezieller Werkzeuge, die Unterschiede erkennen (z.B. auf Pixelbasis).
  5. Wenn die Unterschiede einen festgelegten Schwellenwert überschreiten, gilt der Test als fehlgeschlagen und visuelle Änderungen werden analysiert.

Beispiel für die Verwendung in der Automatisierung mit Python und der Selenium- und Pillow-Bibliothek:

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  # Unterschiede vorhanden
    return True  # Screenshots stimmen überein

# Im Test wird ein Screenshot gemacht und verglichen
browser = webdriver.Chrome()
browser.get('https://example.com')
browser.save_screenshot('current.png')

if not compare_screenshots('baseline.png', 'current.png'):
    print('Visuelle Änderungen erkannt!')
else:
    print('Visuelle Übereinstimmung bestätigt.')

browser.quit()

Auf diese Weise hilft die Überprüfung mit Screenshots, das Erscheinungsbild und die UI-Elemente zu kontrollieren, was besonders bei Designänderungen oder Cross-Browser-Tests nützlich ist.