Quali funzionalità dovrebbero essere testate tramite test dell'interfaccia utente automatizzato?

12

Recentemente un consulente ci ha detto che se una funzionalità può essere verificata solo tramite test UI automatizzati (ad esempio Selenium, Coded UI), esiste un problema architettonico sottostante. Anche se questa affermazione potrebbe essere un po 'estrema, è sulla stessa falsariga della piramide di test in cui i test dell'interfaccia utente dovrebbero truccarsi una piccola parte della suite di test automatizzata complessiva.

Quindi, quali tipi di funzionalità dovrebbero avere un test dell'interfaccia utente automatizzato? Un sistema con un'architettura cogente avrà ancora caratteristiche che possono essere verificate solo tramite test dell'interfaccia utente, o questi test serviranno solo come "riserva" per una suite di test di unità e di servizio?

    
posta mragh 15.01.2013 - 22:37
fonte

3 risposte

10

Presumibilmente hai una sorta di architettura che collega pulsanti e altri widget alle azioni: fai clic su Salva e la funzione di salvataggio dovrebbe essere chiamata, ecc.

Supponendo di avere una buona copertura dei test delle azioni stesse tramite test di unità o integrazione, l'obiettivo del test dell'interfaccia utente automatizzato è quello di assicurare che i widget stiano facendo tutte le chiamate appropriate alle azioni sottostanti.

In altre parole, convalidano che l'interfaccia utente rifletta correttamente lo stato del modello e sia correttamente collegata al controller.

L'altro componente è quando alcune logiche di business sono nel codice dell'interfaccia utente. Ad esempio, forse hai bisogno di determinati caratteri in un campo password. Devi testare queste caratteristiche in qualche modo, dal momento che potrebbe essere difficile o impossibile farlo attraverso i test unitari.

    
risposta data 15.01.2013 - 23:10
fonte
3

Quali funzionalità dovrebbero essere testate tramite test dell'interfaccia utente automatizzato?

Tutte le funzionalità ui.

Dovresti testare

  • Tutte le funzioni che gli utenti possono fare.
  • Funzioni che gli utenti fanno in tutti i browser (e versioni di) in cui le fanno.
  • Sia felice (facendo la cosa giusta ad ogni passo) vs triste (l'utente fa errori) percorsi.
  • Dati validi e non validi.
  • Numeri grandi e piccoli.
  • Tutti i ruoli e i ruoli delle funzioni specifici per il ruolo.
  • Interfacce utente e amministratore.
  • Tenta di intromettersi.
  • La creazione e l'aggiornamento dei dati funzionano come previsto.
  • Elimina il lavoro ed elimina i dati del database associato in altre tabelle.
  • Utenti stile tastiera e mouse.
  • Diversi dispositivi o simulatori di - pc, telefoni, ipad, ecc.
risposta data 16.01.2013 - 00:49
fonte
0

Non esiste una funzionalità che può essere testata solo tramite test dell'interfaccia utente automatizzati. Strumenti come il selenio imitano semplicemente il comportamento di un essere umano, senza annoiare l'essere umano fino al punto di suicidarsi. Chiedi a te stesso (o al tuo consulente) una domanda: " Come potrebbe un programma testare gli aspetti dell'interfaccia utente che una persona non può? " La prossima domanda è: " Se sì, perché ti interesserebbe quello che fanno? ? "

D'altra parte, se hai questa caratteristica, beh, sì, direi che hai un problema di architettura di base. : -)

    
risposta data 16.01.2013 - 00:14
fonte

Leggi altre domande sui tag