QA / QA Automation
Come vedere nel browser quali richieste invia la pagina?
Parla del ciclo di vita di un bug. Si può fare per stati.
Cosa fare se i dati nell'interfaccia utente non corrispondono ai dati nel database?
Quali metodi di accesso esistono nell'app mobile?
Partecipi tu stesso alla progettazione dei test nella fase di analisi dei requisiti, o ti vengono già forniti casi di test pronti per l'automazione?
Cosa puoi dirmi sugli indici nei database?
[nome] ha chiesto: Come è strutturata l'architettura dei tuoi test automatici? Parlami di conftest.py, fixtures, scopes.
Come visualizzare in JUnit il messaggio 'test completati' una volta dopo l'esecuzione di tutti i test?
Cosa farai quando riceverai la nuova versione dell'applicazione?
Quali principi di OOP e SOLID hai applicato nella tua attività come automatizzatore? Fornisci esempi.
Il backend per le notifiche push non è ancora stato implementato, ma gli sviluppatori hanno chiesto di verificare se la build può accettare notifiche push. Come si possono inviare notifiche push di test?
Qual è la differenza tra i cookie e la cache?
Cos'è un deep link nel contesto dei test mobili?
Cosa sono le classi di equivalenza e come si determina la loro partizione?
Cos'è il GIL in Python e perché non funziona con il multithreading per compiti CPU-bound?
Esercizio pratico: analizzare i requisiti per lo schermo della vetrina delle carte (versione mobile) — trovare incongruenze.
Raccontaci il processo di lavoro nel tuo team: come ricevevano i compiti, chi li suddivideva, come rilasciavano, cosa facevano con i test automatici, chi prioritizzava.
Qual è la differenza tra una classe astratta e un'interfaccia?
Hai sviluppato un framework da zero? Puoi raccontare quale stack hai usato e come era strutturata la soluzione architettonica?
Esiste un metodo API REST del servizio di trasferimento di una certa somma da un utente bancario a un altro tramite ID: GET /api/transfer?money={money}&from={uid}&to={uid} L'obiettivo è creare casi di test per questo metodo. Esempio di caso di test: Chiamare il metodo con i parametri money=10.10&from=1&to=2; Comportamento atteso: Chiamare il metodo con i parametri money=10&from=1&to=2; Comportamento atteso: stato 400, saldo invariato, restituire errore di fondi insufficienti Chiamare il metodo con i parametri money=100000&from=1&to=2; Comportamento atteso: stato 200, il saldo 1 diminuirà dell'importo corrente, il saldo 2 aumenterà dell'importo corrente Chiamare il metodo con i parametri money=-10000&from=1&to=2; Comportamento atteso: stato 400, saldo invariato, restituire errore di valore negativo non trasferibile Chiamare il metodo con i parametri money=0&from=1&to=2; Comportamento atteso: stato 400, saldo invariato, restituire errore di valore zero Chiamare il metodo con i parametri money=вавава&from=1&to=2; Comportamento atteso: stato 400, saldo invariato, errore di inserimento di un valore corretto Chiamare il metodo con i parametri money=10000&from=1&to=1; Comportamento atteso: stato 400, saldo invariato, errore di descrizione dettagliata dell'errore