Possiamo incoraggiare il nostro team di test a collaborare con gli sviluppatori sull'automazione dei test?

5

Sono uno sviluppatore C# e il mio team e io stiamo provando ad avviare automated functional tests . (Si noti che non vogliamo fare Unit Tests ; ci aspettiamo di sviluppare test che testano un punto funzione per test)

Il nostro software ha diversi moduli, ma hanno qualcosa in comune: un input (può essere File, stringa o riga del database) e alcuni output (un file, una riga del database o entrambi in alcuni casi).

Un problema è che la configurazione è archiviata nel database e ci sono MOLTE configurazioni per abilitare il software a funzionare correttamente, e qualcuno potrebbe cambiarlo e influenzare i test.

A mio parere, disponiamo di un incredibile team di test e sto pensando di trovare un modo in cui gli sviluppatori potrebbero sviluppare i test, ma il team di test a volte potrebbe aiutarli a svilupparli.

  • Il team di test sviluppa i test automatici in base ai loro casi di test - è un buon approccio?
  • So che se la creazione degli scenari di test è difficile da fare, allora il team di test non vedrà alcun premio. Quindi, quale è un buon approccio (in C# ) per sviluppare test automatici in cui entrambi i team (sviluppo e test) potrebbero contribuire a migliorarli?
posta Only a Curious Mind 08.03.2016 - 20:10
fonte

4 risposte

2

Come sviluppatore, suppongo che gli sviluppatori possano certamente aiutare i tester a implementare l'automazione dei loro test.

Credo, tuttavia, che sia meglio lasciare i scope , plan dei testers e progettare il loro ambiente di test e casi di test da soli, senza pregiudizi da parte dello sviluppatore.

Separazione delle preoccupazioni. Segregazione di responsabilità.

'HTH,

    
risposta data 09.03.2016 - 06:20
fonte
2

Consiglierei di consultare Cetriolo con Gherkin . Si basa sull'idea che i tester o gli esperti di business possono scrivere test semi-formattati, leggibili dall'uomo e quindi gli sviluppatori creano collegamenti tra questi test e l'applicazione. In una situazione ideale, i binding saranno abbastanza generici, i casi di test possono essere scritti o modificati senza il coinvolgimento dello sviluppatore.

    
risposta data 09.03.2016 - 08:09
fonte
1

C'è molta configurazione - beh, devi semplificarlo per ottenere risultati riproducibili. Ciò significa configurare pacchetti (o profili) preconfigurati di impostazioni di configurazione che possono essere riapplicati in qualsiasi momento.

Quindi puoi sviluppare una serie di configurazioni coerenti per il tuo team di test e consentire loro di ripristinare le cose su una base di riferimento nota.

Per quanto riguarda la tua domanda - non sono quello che fa il team di test lo stesso? Hai chiesto loro di collaborare con te per aiutarti a diventare migliori tester?

    
risposta data 09.03.2016 - 10:14
fonte
1

È possibile adottare una libreria che interrompe i test in due parti: la logica di test di alto livello e l'implementazione di basso livello.

Ad esempio, framework robot ti consente di specificare casi di test usando parole chiave di alto livello. Ho lavorato con successo a un team in cui gli sviluppatori implementano le parole chiave (in python, sebbene supporti il robot .net, java e altri linguaggi) e i tester utilizzano queste parole chiave per creare i propri test.

Non solo questo è un buon modo per sfruttare le capacità di entrambi i tester e sviluppatori, offre ai tester un'opportunità di crescita della carriera perché possono apprendere come utilizzare un linguaggio di programmazione per scrivere le proprie parole chiave.

Esistono altri framework che funzionano in modo simile. Tre che mi vengono in mente facilmente sono cetriolo , specflow (in sostanza, cetriolo per .net) e fitnesse .

    
risposta data 09.03.2016 - 17:17
fonte

Leggi altre domande sui tag