Sobes.tech

QA / QA Automation

Di cosa è composta una richiesta HTTP?

Middle
222

Cos'è una matrice di tracciabilità e come si forma?

Middle
222

Cos'è la cache, cosa sono i cookie?

Middle
215

API REST: come creare un servizio mock? Fornisci esempi di strumenti.

Middle
204

Con quale scopo viene utilizzato l'ORM nei test e in quali casi è meglio non usarlo?

Middle
202

La Programmazione Orientata agli Oggetti (OOP) è un approccio allo sviluppo di software in cui il codice è organizzato sotto forma di oggetti Incapsulamento L’incapsulamento è l’unione di dati e metodi che lavorano con questi dati all’interno di una stessa classe, oltre alla restrizione dell’accesso diretto allo stato interno dell’oggetto. In parole semplici: l’oggetto gestisce i propri dati, e il codice esterno interagisce con esso tramite metodi. Astrazione L’astrazione consiste nel evidenziare solo le caratteristiche importanti dell’oggetto e nel nascondere i dettagli della sua implementazione. In parole semplici: all’utente importa cosa fa l’oggetto, non come lo fa esattamente. Polimorfismo Il polimorfismo è la capacità di oggetti con implementazioni diverse di usare un’interfaccia comune. Nei test, questo aiuta a scrivere codice universale che funziona con diversi tipi di dati o classi. Esempio in Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Bau!" class Cat(Animal): def make_sound(self): return "Miao!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Bau! animal_sound(cat) # Miao! Ne test automatizzati, il polimorfismo è utile per: - Creare metodi di verifica universali - Implementare diverse strategie di test tramite un’interfaccia - Supportare diverse versioni di API/UI senza modificare i test Ereditarietà L’eredità è un meccanismo che permette a una nuova classe di usare automaticamente una classe esistente, ereditandone proprietà e metodi. In parole semplici: la nuova classe riutilizza il codice della classe genitore e lo amplia se necessario. Git 1. Sistemi di controllo di versione. Locale, centralizzato, distribuito. 2. Concetti di base. Repository, indice, commit, puntatori, branch, copia di lavoro. 3. Lavorare con il repository. Comandi: init, clone, status 4. Creare un commit. Comandi: add, commit. 5. Creare, visualizzare, cambiare tra branch, eliminare. Comandi: branch, checkout, log, diff. 6. Annullare modifiche. Comandi: restore, rm, checkout, revert. 7. Unire modifiche tra branch. Comandi: merge, cherry-pick, rebase. 8. Lavorare con il repository remoto. Comandi: fetch, pull, push. 9. Lavorare con GitHub, fork e Pull Requests.

Middle
185

A cosa servono ORDER BY e GROUP BY in SQL? Quali funzioni di aggregazione hai usato nel lavoro?

Middle
175

Qual è la differenza tra i metodi PUT e PATCH e quali sono le loro caratteristiche di funzionamento?

Middle
167

Come si risolve il problema della corsa dei messaggi in Kafka?

Middle
161

Quali informazioni vengono trasmesse nelle intestazioni della richiesta HTTP?

Middle
159

Parla del ciclo di vita di un bug. Si può fare per stati.

Middle
158

Cos'è il tracciamento dei messaggi e come aiuta a localizzare un difetto in un'architettura a microservizi?

Middle
144

In quali casi ha senso usare l'asincronia e in quali no? Come implementi l'asincronia nei test?

Middle
140

Come implementare una soft assert in pytest per più verifiche in un test, in modo che il test non fallisca al primo errore, ma esegua tutte le verifiche?

Middle
137

Qual è la differenza tra un iteratore e un generatore?

Middle
127

Qual è la differenza tra i test Smoke, Sanity e Regression?

Middle
114

Come intercettare e modificare la risposta dell'API in Playwright per testare l'interfaccia utente?

Middle
112