Sobes.tech
Junior — Middle

Come viene effettuato il processo di verifica del software tramite screenshot?

sobes.tech AI

Risposta dell'AI

La verifica del software tramite screenshot è un metodo di testing visivo in cui l'aspetto attuale dell'interfaccia dell'applicazione viene confrontato con un'immagine di riferimento. Questo approccio viene spesso utilizzato per individuare regressioni visive.

Il processo generalmente include i seguenti passaggi:

  1. Acquisizione automatica o manuale di screenshot di schermate o componenti specifici dell'applicazione.
  2. Salvataggio delle immagini di riferimento, considerate corrette.
  3. In test successivi, si scatta un nuovo screenshot dello stesso elemento.
  4. Confronto tra il nuovo screenshot e quello di riferimento utilizzando strumenti speciali che rilevano differenze (ad esempio, a livello di pixel).
  5. Se le differenze superano una soglia stabilita, il test viene considerato fallito e si analizzano le modifiche visive.

Esempio di utilizzo in automazione con Python e le librerie Selenium e Pillow:

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  # Differenze presenti
    return True  # Gli screenshot corrispondono

# Nel test si scatta uno screenshot e si confronta
browser = webdriver.Chrome()
browser.get('https://example.com')
browser.save_screenshot('current.png')

if not compare_screenshots('baseline.png', 'current.png'):
    print('Modifiche visive rilevate!')
else:
    print('Conformità visiva confermata.')

browser.quit()

In questo modo, la verifica tramite screenshot aiuta a controllare l'aspetto e gli elementi dell'interfaccia utente, particolarmente utile in caso di cambiamenti di design o test cross-browser.