Qual è il miglior strumento di test per le applicazioni basate su Swing?[Chiuso]

StackOverflow https://stackoverflow.com/questions/79891

  •  09-06-2019
  •  | 
  •  

Domanda

Anche se proviamo a impostare tutti i test unitari consentiti dal tempo per le nostre applicazioni, trovo sempre carente la quantità di test a livello di interfaccia utente.Ci sono molte opzioni là fuori, ma non sono sicuro di quale sarebbe un buon punto di partenza.

Qual è il tuo strumento di test unitario preferito per testare le applicazioni Swing?Perché ti piace?

È stato utile?

Soluzione

Da parte nostra, testiamo SWING GUI con FESTA.Si tratta di un adattatore sul classico robot oscillante, ma ne facilita notevolmente l'utilizzo.

In combinazione con TestNG, abbiamo trovato un modo semplice per simulare azioni "umane" attraverso la GUI.

Altri suggerimenti

Se l'applicazione di destinazione ha componenti personalizzati, lo consiglio vivamente Maratona per automatizzare i tuoi test.

Mi è stato affidato il compito di automatizzare un'applicazione con diversi estremamente componenti personalizzati complicati, scritti internamente da zero.Ho seguito un processo di revisione durato due mesi, durante il quale ho deciso quale strumento di test utilizzare, da un elenco di quasi 30 strumenti di test disponibili, sia commerciali che FOSS.

Era il soltanto strumento di test in grado di automatizzare con successo i nostri particolari componenti personalizzati;dove Rational Functional Tester di IBM, TestPartner di Microfocus, QF-Test, Abbot e FEST fallito.

Da allora sono riuscito a integrare con successo i test con Cruise Control in modo che vengano eseguiti al completamento di ogni build dell'applicazione.

Una parola di avvertimento:
1) è piuttosto approssimativo nel modo in cui gestisce JTables.Ho risolto il problema scrivendo la mia classe proxy per loro.
2) Non supporta ancora la registrazione/riproduzione delle azioni di trascinamento.

Considera la Maratona (http://www.marathontesting.com/Home.html)--test sono scritti in Jython, quindi è facile scrivere qualsiasi tipo di predicato in base allo stato dell'oggetto.

Ho avuto la possibilità di provare QF-TEST una volta.È commerciale, ma offre molte funzionalità.Magari dagli un'occhiata: http://www.qftest.de/en/index.html

Puoi provare a usare Cetriolo E Scambista per scrivere test di accettazione funzionale in inglese semplice per applicazioni GUI Swing.Swinger utilizza Netbeans Jemmy libreria sotto il cofano per gestire l'app.

Cucumber ti consente di scrivere test come questo:

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"

Guarda questo Video dimostrativo di scambisti per vederlo in azione.

Posso consigliare vivamente QFTest.L'ho usato per il mio prodotto commerciale e funziona molto bene con quasi zero codice (la mia app richiede l'uso delle API client Java per alcune cose).Gestisce bene l'identificazione dei componenti swing ed è abbastanza tollerante nei confronti degli aggiornamenti alla GUI (il ridimensionamento, il riposizionamento e l'aggiunta di componenti non interrompono i test esistenti).Ho apportato importanti aggiornamenti alla funzionalità e i miei test funzionano ancora.

È costoso, ma penso che si ripagherà in un paio di mesi.

Prima di QFTest ho provato:

1) Automatedqa: ottimo strumento, ma incentrato su Windows e non comprende Swing.Simile a Test rapido Pro.

2)UISpec4J - Dopo aver dedicato 50 ore settimanali a questo, ho avuto problemi con la fragilità e l'arcano codice Java che produceva.Usarlo era semplicemente troppo arduo: provare a eseguire il debug/aggiornamento di centinaia di righe di Java eseguendo una sequenza di una dozzina di operazioni della GUI semplicemente non funzionava per il mio cervello.Alla fine ho evitato di scrivere i test perché era molto più complicato che scrivere effettivamente l'app stessa!

Mi piace Jemmy, la libreria scritta per testare Netbeans.

Non una risposta, ma un perfezionamento.

La registrazione e la riproduzione è la cosa sbagliata da desiderare.I team devono essere in grado di scrivere test prima che il codice sia scritto.Altrimenti, i programmatori finiscono il loro lavoro e aspettano mentre i tester si affrettano a registrare i test (interrotti dalle correzioni quando individuano problemi).

In un tipo di configurazione BDD/TDD/ATDD, hai davvero bisogno di un qualche tipo di strumento che ti consenta di eseguire script di test per codice che non è stato ancora scritto, specificando i nomi degli elementi dell'interfaccia utente e simili.

Esistono strumenti che funzionano per i test non a cascata?

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