Domanda

Stiamo scegliendo quale sistema per i test di accettazione automatizzati iniziare a utilizzare (cambiare) nella nostra azienda.Attualmente la maggior parte dei casi di test di backend sono scritti dal nostro ex tester in Python e per i nuovi tester è difficile utilizzarlo e mantenerlo;per l'interfaccia utente utilizziamo il file Struttura robotica.

Vorrei usare qualcosa di standard in modo che i nuovi "tipici tester dalla strada" possano iniziare a usarlo e tuttavia dovrebbe essere abbastanza flessibile.

Nei miei lavori precedenti i tester utilizzavano SoapUI o anche Apache JMeter con scripting Groovy, ma per qualche motivo alle persone nella mia attuale azienda non piace.

Stiamo considerando Fitness o struttura robotica.

Requisiti:

  • dovrebbe essere utilizzato sia per il backend (API REST, alcuni controlli DB) che per i test dell'interfaccia utente
  • dovrebbe utilizzare un linguaggio semplice in modo che anche i non programmatori/tester possano comprendere i casi di test (i proprietari del prodotto dovrebbero essere in grado di vedere se tutti i criteri di accettazione sono coperti)
  • dovrebbe supportare l'integrazione con Jenkins
  • Dovrebbe supportare il versioning dei casi di test in modo che per una particolare versione del prodotto possiamo anche verificare i casi di test pertinenti in questo momento utilizziamo TestRail (Gestione dei casi di test SW);quindi sarebbe carino se si integrasse con esso (almeno è possibile programmarlo in modo da inviare lì i risultati dei test) o lo sostituisse completamente

Ho giocato velocemente con Fitnesse e la forma tabellare mi sembra piuttosto brutta.Inoltre a prima vista il documento non è eccezionale (non ho trovato possibili "comandi", ad es.asserzioni, alcuni loop) e documentazione per es.il RestFixture è anche peggio (nessuno).

Inoltre non ho visto alcun dispositivo per i controlli DB.Quindi alla fine è necessario coinvolgere uno sviluppatore per programmare e mantenere alcuni dispositivi personalizzati, il che a me sembra peggio che utilizzare la nostra suite di test Python sviluppata internamente.

Qualche idea, esperienza?

Grazie, Radek

PS:Ho posto questa domanda anche nel forum QA, ma è molto meno attivo di StackOverflow, quindi mi spiace per questa duplicazione.

È stato utile?

Soluzione

Non posso parlare dell'uso del fitness, ma struttura del robot soddisfa tutte le cose che chiedi e altro ancora.Lo scelgo per i miei progetti per i seguenti motivi:

  1. È possibile utilizzare un unico strumento (e quindi un unico formato di reporting) per SAPONE- E RIPOSOservizi basati su database, convalida del database, test dell'interfaccia utente basato sul Web, e persino test delle applicazioni desktop.Può essere utilizzato anche per l'integrazione e i test unitari, sebbene spesso esistano strumenti migliori per questo lavoro.
  2. È possibile utilizzare i test robot per implementare test manuali utilizzando il file Dialoghi libreria o una libreria personalizzata.Ho notato un aumento significativo della produttività dei tester quando eseguivano test manuali scritti in robot rispetto a quando eseguivano test simili scritti in Microsoft Word.Sfortunatamente non c'è molto scritto sul web su questa potente funzionalità, ma puoi ottenere lo stesso tipo di reporting, controllo della versione, tagging, ecc.funzionalità per tutti i test di accettazione, sia manuali che automatizzati.
  3. Se investi tempo nella creazione di una buona libreria di parole chiave, i test possono essere facilmente leggibili (e scrivibili!) da chi non è tester
  4. C'è un plugin robot per jenkins che semplifica la navigazione dei risultati dei test
  5. Le suite di test del framework robot lo sono file di testo semplice, in modo che possano essere sottoposti a versione insieme al codice.
  6. L'output del test è un file XML molto semplice da comprendere e analizzare.Può anche generare output in stile xunit per l'integrazione con altri strumenti.Robot è inoltre dotato di strumenti per convertire questo file XML in registri e report di facile comprensione.IL interfaccia di ascolto semplifica l'acquisizione o lo streaming dei risultati dei test in tempo reale.
  7. Ce ne sono un numero crescente di strumenti e plugin dell'editor che funzionano con Robot, in modo che i membri del tuo team possano utilizzare gli strumenti con cui si sentono più a loro agio.
  8. Il robot lo è molto estensibile -- le librerie di parole chiave possono essere scritte in quasi tutti i linguaggi -- nativamente in Python, così come in Java se esegui con jython o nei linguaggi .NET se esegui con IronPython.E con il interfaccia della libreria remota, puoi scrivere parole chiave in qualsiasi linguaggio in grado di aprire un socket e fungere da server.

Per quanto riguarda gli incontri per le prove DB, ne esiste uno generico libreria di database basata su Java, e uno generico libreria di database basata su Python che può connettersi praticamente a qualsiasi database comune.C'è anche una biblioteca specifica con cui parlare MongoDB.

In relazione alla domanda che avevi sul controllo delle versioni, il robot ha un'interfaccia molto potente meccanismo di etichettatura che potresti trovare utile.Potresti, ad esempio, taggare tutti i test con la versione del prodotto a cui sono associati.Quindi, controlla tutto tranne che utilizzare i robot opzioni della riga di comando per selezionare solo i test contrassegnati con una particolare versione.Come vantaggio collaterale del tagging, i report suddividono le statistiche pass/fail per tag.

Robot non è un sistema di test perfetto, ma è molto buono.Direi che esistono molti framework di test ugualmente buoni, ma non sono sicuro che ce ne siano oggettivamente migliori.Sicuramente per le cose che hai elencato che sono importanti per te, robot framework fa tutto ciò di cui hai bisogno.

Altri suggerimenti

Sono stato in uno scenario quasi simile prima. Abbiamo dovuto decidere tra RF, Firene e IBM's Staf / Stax

Abbiamo scelto Robot Framework e ha funzionato bene.

    .
  1. dovrebbe essere utilizzato sia per il backend (API di riposo, alcuni controlli DB) e UI Test - Per il riposo, RF Richieste Libreria insieme a varie librerie DB possono essere utilizzate insieme. .
  2. dovrebbe usare un linguaggio semplice così anche non programmatore / tester può Comprendere i casi di test (i proprietari di prodotti dovrebbero essere in grado di vedere Se tutti i criteri di accettazione sono coperti) - RF è destinato a fare proprio questo.
  3. Dovrebbe supportare l'integrazione con Jenkins - RF ha un Jenkins Plugin
  4. dovrebbe supportare la versione dei casi di test in modo che per un particolare Versione del prodotto che possiamo anche verificare casi di test pertinenti in questo momento - RF Tag funzionalità funzionerà bene per questo
  5. esiste un framework robot API , quindi è abbastanza programmabile come da I requisiti di integrazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top