Come progettiamo un approccio di prova per i tester inesperti?

3

Siamo in procinto di spostare la nostra origine dati da Mongo a MS SQL Server. La nostra sfida è che abbiamo due tester verdi. Come squadra, stiamo cercando di lavorare con l'approccio di test più sensato.

Abbiamo due origini dati (un MS SQL, un Oracle) che vengono integrate tramite un file flat feed in un MongoDB, che viene utilizzato per presentare i dati di prodotto su un sito web. Il nostro endpoint è convertire il MongoDB in MS SQL.

Abbiamo due pezzi da testare.

  1. Confronto dell'origine dati. Il feed di dati viene caricato in entrambe le origini. Il nostro DBA ha installato Simba MongoDB ODBC con il driver del connettore SQL per permetterci di effettuare confronti side-by-side usando SQL. A mio avviso, il rischio maggiore qui è che il driver esegue il proprio insieme di interpretazioni sulla struttura sottostante dei documenti nell'origine Mongo per presentare i dati come tabelle e, inoltre, le nostre query devono anche ridefinire il dati per essere sicuri di poter confrontare fonti SQL e Mongo.

  2. Confronto della logica di visualizzazione . Gli oggetti dati che guidano le pagine del prodotto sono teoricamente indipendenti dall'origine, ma nel front-end è presente una logica di visualizzazione che potrebbe essere influenzata se il modello di dati SQL e il modello di dati Mongo non sono allineati esattamente - e non lo sono. Abbiamo installato HtmlAgilityPack per confrontare elementi sulle pagine del prodotto usando C #. Non sono sicuro di quali rischi ci siano.

Considerate le considerazioni aggiuntive che:

  • Stiamo spostando il DB Oracle su MS SQL quest'anno e utilizzeremo questo approccio di prova per quel progetto.
  • Abbiamo un disperato bisogno di test automatici per le nostre pagine di prodotto.
  • Abbiamo un piano per normalizzare l'origine del DB SQL in fasi successive al cutover, e quindi per eliminare i feed di dati, che richiedono tutti confronti rigidi di origine dati / visualizzazione.
  • I nostri tester non hanno esattamente esperienza con i dati di test e le interfacce web, e non hanno background di sviluppo che consentano loro di scrivere codice per i test automatizzati.

Le mie preoccupazioni sono che potremmo considerare l'approccio sbagliato perché i tester non hanno esperienza sufficiente per dirci cosa possono fare. Il gruppo dev sa come testare in questo modo , quindi è così che lo stiamo progettando. Non so se questo approccio funzionerà e sarà mantenibile attraverso le versioni del prossimo anno senza un investimento significativo di tempo e risorse non-tester, e se richiede tempo e risorse non-tester, se questo continuo investimento vale la pena se ciò significa i tester finiscono per fare un lavoro che non richiede pensiero.

C'è un altro modo per farlo che potrebbe essere utilizzato dai nostri tester, per consentire loro di avere più controllo sul processo di test, supportare il loro sviluppo delle competenze e fornire anche l'automazione per le versioni future?

    
posta Kit Z. Fox 05.08.2016 - 16:04
fonte

1 risposta

4

Our testers have exactly zero experience with testing data and web interfaces,

Nessun problema reale, ci si abitueranno ...

and also have no development background that will enable them to write code for automated testing

Questo è il tuo problema principale, ma lascia che ti spieghi.

Il test manuale può essere molto utile per le applicazioni UI quando i tuoi tester conoscono bene l'azienda e i requisiti e stai implementando nuove "storie utente" o requisiti uno per uno che devono essere sistematicamente convalidati e controllato per la loro correttezza.

Tuttavia, per quello che hai in mente hai bisogno principalmente di test di regressione - il che significa che dopo un cambiamento "sotto il cofano" a livello di database, devono essere eseguite le parti front-end (idealmente tutte le parti) dell'applicazione, e una deve convalidare che il comportamento della vecchia applicazione è sempre lo stesso. Se il comportamento è "giusto o sbagliato" in senso commerciale sarà di minore importanza durante questa fase. "Giusto" significa in genere "il vecchio comportamento" per definizione.

Ovviamente, questo può essere fatto manualmente: lascia i tuoi tester

  • scrivi un piano di test su come eseguire sistematicamente l'applicazione, in modo da accedere a tutte le tabelle importanti di db e tutte le query importanti verranno eseguite (i tuoi sviluppatori dovrebbero supportare i tester per questo passaggio)

  • permetti loro di eseguire il piano di test passo dopo passo con il vecchio e l'applicazione migrata affiancata, e lasciare che controllino se le due versioni dell'applicazione si comportano esattamente nello stesso modo

Eseguendo questo piano di test poche decine di volte, ogni volta che viene raggiunto un nuovo traguardo durante la migrazione, sarà presto ingombrante. Inoltre, i tuoi sviluppatori potrebbero voler eseguire questi test ancora più frequentemente, ad esempio una volta al giorno. In questa situazione, immagino i tuoi tester scopriranno da soli che sarà molto più logico automatizzare questo processo ripetitivo e noioso. E questo è il punto in cui qualcuno dovrebbe introdurre uno strumento come Selenium o uno strumento di interfaccia utente commerciale per automatizzare l'intero processo: si utilizza la vecchia applicazione per "registrare" alcuni comportamenti previsti, quindi eseguire un replay-and-compare con il nuovo applicazione. Tuttavia, ci sarà sicuramente bisogno di qualche esperienza specifica con gli strumenti di test per farlo funzionare - solo "registrare e riprodurre" (per la mia esperienza) non funzionerà "out of the box". I tester avranno bisogno di esperienza di programmazione, alcuni hanno esperienza su come gestire i dati dei test e su come creare test basati sui dati.

Quindi istruisci i tuoi tester su come utilizzare questi strumenti. Se non hai la certezza che possano imparare come automatizzare i loro test, allora l'unica raccomandazione che posso darti per ottenere un diverso tipo di tester per questo lavoro.

    
risposta data 05.08.2016 - 18:56
fonte

Leggi altre domande sui tag