Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Jacob Kohl Geändert vor über 8 Jahren
1
Stefan Lieser http://lieser-online.de
2
Wer erstellt regelmäßig Unit Tests?
3
Wer kennt seine Testabdeckung?
4
Wer erstellt Tests um Bugs zu reproduzieren?
5
Wer erstellt Tests vor der Implementierung ?
6
TDD
7
Test Driven Development
8
Test First
9
Revolution!
12
Zeit TestCode
13
Test = hinterher
14
Sprache formt das Denken
15
Sapir-Whorf Hypothese
16
?
17
BDD
18
Behavior Driven Development
19
Evolution
20
Specification First
22
Test Specification
23
Testen?
24
Das machen die Tester!
25
Das kostet zu viel Zeit!
26
Mein Code ist fehlerfrei!
27
Dafür sind wir da!
28
Sollen wir arbeitslos werden?
29
Ihr habt keine Ahnung!
31
TDD Entwicklung
32
Tests für vorhandenen Code
33
Vertrauen
34
Reduktion
35
Dokumentation
36
Offenbarung
37
Verhalten
38
Mockups
40
User Stories
42
Als Shopbenutzer möchte ich Bücher in meinen Warenkorb legen um meine Bestellung besser überblicken zu können.
43
Who What Why
44
Role Gole Motivation
45
Technologie
46
Business Domain
47
Sprache der Domain verwenden
48
Business und Technik verwenden die selbe Sprache! It‘s all behavior
49
Gegeben ein MessageBoardController Wenn die Index Action aufgerufen wird und wenn 10 Nachrichten vorhanden sind Dann sollen die 5 neusten Nachrichten aus dem Repository ermittelt werden
51
Gegeben ein Nachrichten System Wenn es dargestellt wird Dann zeigt es die 5 neusten Nachrichten
52
Als Benutzer des Nachrichten Systems möchte ich die 5 neusten Nachrichten sehen damit die Nachrichten auf meinen Bildschirm passen
53
BDD = Automatisierte Akzeptanztests
54
Unit Tests: Der Code ist richtig. Akzeptanztests: Es ist der richtige Code.
55
Syntax
56
Assert.AreEqual(5, x); Assert.That(x, Is.EqualTo(5)); x.ShouldBeEqualTo(5); x.should_be_equal_to(5);
57
Arrange/Act/Assert
58
Setup/Exercise/Verify
59
[TestFixture] public class ClassicalTDD { private IEmailService emailService; private AuftragsAbwicklung auftragsAbwicklung; private IAuftrag auftrag; [Test] public void AuftragsAbwicklung_sendet_Email_wenn_der_Auftrag_ausgeliefert_wird() { // Arrange emailService = MockRepository.GenerateMock (); auftrag = MockRepository.GenerateStub (); auftragsAbwicklung = new AuftragsAbwicklung(emailService); // Act auftragsAbwicklung.Liefern(auftrag); // Assert emailService.AssertWasCalled(x => x.Send()); auftrag.AssertWasCalled(x => x.Ausgeliefert()); }
60
Context/Specification
61
[Concern(typeof(AuftragsAbwicklung))] public class Wenn_ein_Auftrag_ausgeliefert_wird : InstanceContextSpecification { private IEmailService emailService; private IAuftrag auftrag; protected override void establish_context() { emailService = dependency (); auftrag = dependency (); } protected override AuftragsAbwicklung create_sut() { return new AuftragsAbwicklung(emailService); } protected override void because() { sut.Liefern(auftrag); } [Observation] public void wird_eine_Email_gesendet() { emailService.was_told_to(x => x.Send()); } [Observation] public void wird_der_Auftrag_in_den_Status_Ausgeliefert_versetzt() { auftrag.was_told_to(x => x.Ausgeliefert()); }
62
BDD Frameworks
63
JP Boodhoo http://blog.jpboodhoo.com http://blog.jpboodhoo.com xunit.bddextensions (Björn Rochel) http://code.google.com/p/xunitbddextensions http://code.google.com/p/xunitbddextensions SpecUnit (Scott Bellware) http://code.google.com/p/specunit-net/ http://code.google.com/p/specunit-net/
64
NBehave (Dan North) enthält Behave# und NSpec http://nbehave.org/ http://code.google.com/p/nbehave/http://nbehave.org/http://code.google.com/p/nbehave/ MSpec (Aaron Jensen) http://codebetter.com/blogs/aaron.jensen/archive/2008/09/02/mspec-v0-2.aspxhttp://codebetter.com/blogs/aaron.jensen/archive/2008/09/02/mspec-v0-2.aspx
65
Bildnachweis http://flickr.com/photos/hurleygurley/4338767/sizes/o/ http://flickr.com/photos/nitram75/2532252156/sizes/l/ http://flickr.com/photos/igelchen/228253414/sizes/o/ http://flickr.com/photos/lincolnblues/1413187481/sizes/l/ http://flickr.com/photos/c-o-d/553155111/sizes/l/ http://flickr.com/photos/thesteinbergs/165513589/sizes/l/in/photostream/ http://flickr.com/photos/julianbleecker/426323201/sizes/l/ http://flickr.com/photos/peterpanter/2381811041/sizes/o/ http://flickr.com/photos/mail2pete/3146580621/sizes/l/ http://www.erdgasfahren.ch/fileadmin/user_upload/01_News/Pressebereich/Pressedownloads/ Sonstige/Zafira_Crash_Test.jpg http://flickr.com/photos/moe/8322628/sizes/l/ http://flickr.com/photos/wklemp/2210135334/sizes/l/ http://www.jetbrains.com/resharper/features/unit_testing.html#Unit_Test_Sessions http://flickr.com/photos/dalmet/496531540/sizes/l/ http://flickr.com/photos/alfreddiem/231306790/sizes/o/ http://a.abcnews.com/images/Health/apg_crash_test_070517_ms.jpg http://flickr.com/photos/hisebuse/2148222331/sizes/l/ http://flickr.com/photos/londonannie/2231592618/sizes/l/in/set-72157603821699832/ http://flickr.com/photos/kid_schoko/2542422970/sizes/l/ http://flickr.com/photos/prettydaisies/2369449704/sizes/l/ http://flickr.com/photos/alphachimpstudio/43818104/sizes/l/
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.