2010-10-04 13 views
9

Sono nuovo di C# 4.0 e WPF e sto per avviare una nuova applicazione.C# - WPF: strategie di test

Provenendo da un mondo C++/MFC, sono interessato a testare le strategie utilizzate con le tecnologie più recenti.

Per esempio:

  • Unit Testing
  • Test funzionale
  • UI Test
  • altro?

Qualsiasi consiglio sarebbe apprezzato.

Grazie.

risposta

4

Come Larry ha dichiarato che il framework di test UI bianco può essere utilizzato per l'UI di test WPF.Questo post spiega più in dettaglio -

applicazioni di test WPF con il quadro Bianco UI Test: http://blogs.msdn.com/b/john_daddamio/archive/2008/04/04/testing-wpf-applications-with-the-white-ui-test-framework.aspx

hanno anche un'occhiata a questo articolo per sapere come automatizzare i test dell'interfaccia utente:

automatizzare i test dell'interfaccia utente in WPF Applicazioni: http://msdn.microsoft.com/en-us/magazine/dd483216.aspx

squadra Xaml ha messo a punto un XAML Compliance Suite per verificare XAML (non ho provato io stesso però) -

http://blogs.msdn.com/b/llobo/archive/2010/07/07/xaml-compliance-suite-v1.aspx

Vari strumenti di terze parti sono disponibili anche per testare l'applicazione WPF, come questa di AutomatedQA -

AutomatedQA's TestComplete è un testo automatizzato completo strumento ng che aiuta i team QA di automatizzare la loro funzionali, unità, la regressione e di altri tipi di test per una vasta gamma di tipi di applicazioni, tra cui Windows Presentation Foundation (WPF) applicazioni.

http://www.automatedqa.com/products/testcomplete/testing-wpf-apps/

Vorrei anche suggerire di passare attraverso WPF Guida alle applicazioni di qualità da MS

Questo documento fornisce una panoramica delle test Windows Presentation Foundation (WPF) le applicazioni e controlli .

http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx#intro

3

Dai uno sguardo allo White. Dal loro sito:

Bianco Automatizzare le finestre delle applicazioni https://white-project.googlecode.com/svn/

Bianco è un framework per l'automazione di applicazioni rich client basata su Win32, WinForms, WPF, Silverlight e le piattaforme di SWT (Java). È basato su .NET e non richiede l'uso di alcun linguaggio di scripting proprietario. I test/programmi di automazione che utilizzano White possono essere scritti con qualsiasi linguaggio .NET, IDE e strumenti che stai già utilizzando. Il bianco fornisce un'API coerente orientata agli oggetti, che nasconde la complessità della libreria di Microsoft UIAutomation (su cui è basato il bianco) e dei messaggi di Windows. Vengono rilasciate solo versioni stabili di White, quindi tutte le versioni sono pronte per la produzione.

+0

questo è più test di sistema, quindi test di unità –

+0

corretto, ho deciso di provare a rispondere a quello che ho considerato l'area più difficile da testare/meno testata nella maggior parte dei progetti. La tua risposta sul test unitario è azzeccata. MVVM è una buona aggiunta. –

3

In questi giorni la maggior parte delle persone che si preoccupano test di unità di WPF tendono a utilizzare il design pattern Model-View-ViewModel (MVVM). Questo è un tag sullo stackoverflow su di esso.

Ciò consente di testare la maggior parte del codice (inclusa la maggior parte della logica dell'interfaccia utente) senza che WPF si intrometta.

Per il test di sistema vedere le altre risposte a queste domande.

1

Come già accennato, il pattern MVVM (o anche il pattern Model-View-ViewModel-Presenter) è un buon inizio. Ti consentono di testare separatamente e separatamente i diversi problemi dell'applicazione.

Un buon strumento per la parte di test dell'unità è Moq. Lo uso molto.

Inoltre, faccio spesso test di accettazione da ViewModel al modello e al presentatore.Quindi posso assicurare che tutti gli strati lavorino insieme. Questo è un compromesso tra test dell'interfaccia utente e test dell'unità. Ha il vantaggio che i test vengono eseguiti più velocemente e pertanto vengono eseguiti più spesso.

Se si desidera verificare automaticamente il corretto collegamento dei dati tra View e ViewModel, è necessario verificare Guia. Ti consente di creare un'istanza e testare direttamente un singolo UserControl.

0

Mi interessa molto la vista che sembra giusta. Ciò significa test unitari. Per me, la tecnica migliore è SOLO testare la vista in una singola unità di test, ovvero

model + view = result.

L'utilità di verifica open source ApprovalTests (www.approvaltests.com o nuget) testerà facilmente le viste Wpf.

Potete vederlo in azione qui: http://www.youtube.com/watch?v=Xc_ty03lZ9U

io consiglierei di guardare il video di WinForms prima, però, come va in più della teoria di come testare vista in generale: http://www.youtube.com/watch?v=hKeKBjoSfJ8

Il il codice stesso apparirà come

var model = CreateModel(); 
var yourWpfView = new YourWpfView(model); 
WpfApprovals.Verify(yourWpfView); 

e prenderà uno screenshot e lo confronterà con un maestro d'oro.