Heute spricht man oft von agiler Entwicklung.
Was ist agile Entwicklung?
Agile Entwicklung ist eine Softwareentwicklungsfunktion, die auf sich schnell ändernde Anforderungen reagiert. Ihre spezifischen Namen, Konzepte, Prozesse und Terminologie variieren. Im Vergleich zu „ nicht agil “ betonen sie die enge Zusammenarbeit zwischen Programmiererteams und Geschäftsexperten, persönliche Kommunikation (wird als effektiver angesehen als schriftliche Dokumentation) und liefern häufig neue Softwareversionen, kleine und selbstorganisierte Teams für kleine und das Schreiben wertvoller Funktionen sowie Ansätze zur Teamorganisation, die sich an sich ändernde Bedürfnisse anpassen, mit einem stärkeren Fokus auf die Rolle der Menschen in der Softwareentwicklung.
Es gibt jedoch mehrere ähnliche Versionen der agilen TDD-Entwicklungsmethoden, wie z. B. TDD: BDD, DDD und ATDD. Lassen Sie mich diese Methoden kurz vorstellen, bevor ich TDD im Detail vorstelle:
TDD: Testgetriebene Entwicklung
Test Driven Development (TDD) ist ein Softwareentwicklungsprozess, der darauf beruht, Softwareanforderungen in Testfälle umzuwandeln, bevor die Software vollständig entwickelt ist, und die gesamte Softwareentwicklung zu verfolgen, indem Software wiederholt für alle Testfälle getestet wird. Dies ist das Gegenteil davon, zuerst Software zu entwickeln und dann Testfälle zu erstellen. Einige beliebte Modelle unterstützen TDD sehr gut, wie MVC und MVP .
BDD: Verhaltensgesteuerte Entwicklung (Verhaltensgesteuerte Entwicklung)
Behavior Driven Development (BDD) ist ebenfalls ein agiler Softwareentwicklungsprozess. Es fördert die Zusammenarbeit zwischen Entwicklern, Qualitätsprüfern und Kundenvertretern in Softwareprojekten. Es ermutigt Teams, Gespräche und konkrete Beispiele zu nutzen, um ein gemeinsames Verständnis darüber zu formulieren, wie die Anwendung funktionieren sollte. Es stammt aus der testgetriebenen Entwicklung (TDD).
ATDD: Abnahmetestgetriebene Entwicklung
Um die Realisierung von funktionalem Code durch Unit-Testfälle zu fördern, muss das Team erwartete Qualitätsstandards und Akzeptanzregeln definieren und die TDD-Praxis der Entwickler und die Leistung der Tester durch einen klaren und konsistenten Akzeptanztestplan (einschließlich einer Reihe von Test Szenarien). Für Entwickler betont es, wie man das System implementiert und wie man es testet.
DDD: Design des Domänenlaufwerks
DDD bezeichnet Domain Driven Design, also domänengetriebene Entwicklung. DDD baut tatsächlich auf dieser Grundlage auf, weil es sich auf das Service Layer Design konzentriert, sich auf die Geschäftsimplementierung konzentriert, Analytik und Design kombiniert und nicht mehr in einem geteilten Zustand hält, um Kundenanforderungen korrekt und umfassend umzusetzen und ein Geschäftsmodell aufzubauen Skalierbarkeit.
TDD-Implementierungsplan
Durch Tests soll die gesamte Entwicklung gefördert werden, aber testgetriebene Entwicklung ist nicht nur eine einfache Testarbeit, sondern ein Prozess der quantifizierenden Anforderungsanalyse, des Designs und der Qualitätskontrolle.
Entwicklungsprinzipien
Schreiben Sie zuerst den Testcode und dann den Code für die Funktion.
- Schreiben Sie Testcode gemäß dem Anforderungsdokument, um die Funktion nicht zu realisieren;
- Ich möchte nicht mit einem Bissen fett sein. Beim Testen großer Funktionsblöcke sollten Sie diese zum Testen zuerst in kleinere Funktionsblöcke aufteilen;
- Denken Sie daran, keinen Code zu schreiben, um die Funktion zu vervollständigen, verwenden Sie den einfachstmöglichen Code, um die Funktion zu implementieren.
- Wenn die Anforderungen getestet werden können, schreiben Sie Testcode und geben Sie diejenigen auf, die nicht getestet werden können oder der Meinung sind, dass sie nicht getestet werden müssen;
- Bevor Sie einen Funktionscode ändern/hinzufügen, müssen Sie zuerst überlegen, ob Sie Testfälle ändern/hinzufügen möchten;
- Funktions-/Testcode, unangemessene Struktur, doppelter Code usw., refaktorisieren Sie rechtzeitig, nachdem der Test bestanden wurde.
TDD-Entwicklungsprozess
- Analysieren und bestimmen Sie ein Zieltestszenario;
- Fügen Sie einen Einheitentest hinzu, um die Eingabe und Ausgabe des Testszenarios zu überprüfen;
- Führen Sie den Test durch und erhalten Sie das fehlgeschlagene Testergebnis;
- Schreiben Sie den einfachsten Funktionscode, um den Test zu bestehen;
- Führen Sie den Test erneut aus und prüfen Sie, ob der Test erfolgreich ist.
- Code-Refactoring durchführen, einschließlich Funktionscode und Unit-Test-Code;
- Wiederholen Sie die obigen Schritte, bis die Entwicklung abgeschlossen ist.
Vorteile von TDD
- Reduzieren Sie die Belastung für Entwickler . Konzentrieren wir uns durch einen klaren Prozess jeweils nur auf einen Punkt, und die Last des Denkens ist geringer.
- Das Schutznetz . Die Abdeckung vollständiger Unit-Tests bietet ein Schutznetz für den Produktcode, wodurch es einfach wird, geänderten Anforderungen gerecht zu werden oder das Code-Design zu verbessern. Wenn Ihre Projektanforderungen also stabil sind, sofort erledigt werden und keine nachträglichen Änderungen vorgenommen werden, sind die Vorteile von TDD geringer.
- Anforderungen vorab klären . Das Schreiben von Tests kann uns dabei helfen, über die Anforderungen nachzudenken und die Details der Anforderungen im Voraus zu klären, anstatt unklare Anforderungen erst nach der Hälfte des Codes zu entdecken.
- Schnelle Rückmeldung . Viele Leute sagen, dass sich mein Codevolumen erhöht, wenn TDD verwendet wird, sodass die Entwicklungseffizienz abnimmt. Wenn Sie jedoch keine Komponententests haben, müssen Sie sie manuell testen, Sie verbringen viel Zeit damit, Daten vorzubereiten, Apps zu starten, Schnittstellen zu ändern usw., und das Feedback ist langsam. Um genau zu sein, schnelles Feedback ist ein Vorteil von Unit-Tests.
Agile & Scrum-Prinzipien
- Das Agile Manifest und die Zwölf Prinzipien
- Die 10 meistgenannten Grundregeln in Scrum
- Wie funktioniert ein Scrum-Team? — Eine kurze Anleitung
проект перепланировки стоимость [url=stoimost-soglasovaniya-pereplanirovki-kvartiry.ru]stoimost-soglasovaniya-pereplanirovki-kvartiry.ru[/url] .
купить кожзам для обивки мебели [url=http://iskusstvennaya-kozha-dlya-mebeli-kupit.ru/]купить кожзам для обивки мебели[/url] .
сервис накрутки подписчиков тик ток [url=https://www.nakrutkamedia11.com]сервис накрутки подписчиков тик ток[/url] .
seo москва [url=https://prodvizhenie-sajtov-v-moskve215.ru/]seo москва[/url] .
Интернет Партнер [url=http://prodvizhenie-sajtov-v-moskve214.ru/]http://prodvizhenie-sajtov-v-moskve214.ru/[/url] .
продвижение сайтов в москве недорого [url=https://prodvizhenie-sajtov-v-moskve216.ru]продвижение сайтов в москве недорого[/url] .
franshiza [url=https://franshizy17.ru/]franshiza[/url] .
вывод из запоя цена ростов [url=https://ideya.forums.party/viewtopic.php?id=653/]ideya.forums.party/viewtopic.php?id=653[/url] .
каталог франшиз [url=https://franshizy21.ru/]каталог франшиз[/url] .
франшиза для бизнеса [url=www.franshizy19.ru]франшиза для бизнеса[/url] .
самые выгодные франшизы [url=franshizy18.ru]franshizy18.ru[/url] .
вывод из запоя на дому ростов-на-дону [url=http://pelsh.forum24.ru/?1-8-0-00000124-000-0-0-1730725547]http://pelsh.forum24.ru/?1-8-0-00000124-000-0-0-1730725547[/url] .
вывод из запоя срочно ростов [url=http://www.www.bisound.com/forum/showthread.php?p=1217039]http://www.www.bisound.com/forum/showthread.php?p=1217039[/url] .
нарколог на дом вывод из запоя на дому [url=http://www.dubna.myqip.ru/?1-5-0-00000281-000-0-0-1730725783]http://www.dubna.myqip.ru/?1-5-0-00000281-000-0-0-1730725783[/url] .
принудительный вывод из запоя ростов [url=https://spilkuvannya.rolevaya.com/viewtopic.php?id=65]https://spilkuvannya.rolevaya.com/viewtopic.php?id=65[/url] .
вывод из запоя на дому ростов цены [url=http://www.setter.borda.ru/?1-7-0-00000672-000-0-0-1730725091]http://www.setter.borda.ru/?1-7-0-00000672-000-0-0-1730725091[/url] .
принудительный вывод из запоя ростов [url=https://svarog.forum24.ru/?1-0-0-00000223-000-0-0-1730725970]принудительный вывод из запоя ростов[/url] .
вывод. из. запоя. на. дому. ростов. [url=https://www.sportandpolitics.ukrbb.net/viewtopic.php?f=24&t=17802]https://www.sportandpolitics.ukrbb.net/viewtopic.php?f=24&t=17802[/url] .
анонимный вывод из запоя ростов [url=www.my.forum2.net/viewtopic.php?id=172/]анонимный вывод из запоя ростов [/url] .
вывод из запоя ростов на дону на дому [url=https://internetmoney.bestbb.ru/viewtopic.php?id=31698#p87431]вывод из запоя ростов на дону на дому[/url] .
промокод на продамус скидка подключение [url=prodamus-promokod1.ru]prodamus-promokod1.ru[/url] .
Продамус промокод [url=https://forumsilverstars.forum24.ru/?1-2-0-00000162-000-0-0-1731577187/]https://forumsilverstars.forum24.ru/?1-2-0-0000016[/url] .
вывод. из. запоя. на. дому. ростов. [url=gov.ukrbb.net/viewtopic.php?f=3&t=6371]gov.ukrbb.net/viewtopic.php?f=3&t=6371[/url] .
вывод из запоя ростов-на-дону [url=https://superstar.ukrbb.net/viewtopic.php?f=3&t=681/]https://superstar.ukrbb.net/viewtopic.php?f=3&t=681/[/url] .
лучшие онлайн казино [url=http://www.casino-bonus.by]http://www.casino-bonus.by[/url] .
вывод из запоя в ростове-на-дону [url=www.golosa.ukrbb.net/viewtopic.php?f=3&t=7467/]www.golosa.ukrbb.net/viewtopic.php?f=3&t=7467/[/url] .
вывод из запоя ростов и область [url=https://klin.0pk.me/viewtopic.php?id=4405/]klin.0pk.me/viewtopic.php?id=4405[/url] .
Prodamus -промокод на подключение [url=https://forumsilverstars.forum24.ru/?1-2-0-00000162-000-0-0-1731577187/]https://forumsilverstars.forum24.ru/?1-2-0-0000016[/url] .
вывод из запоя на дому ростов [url=aktivnoe.forum24.ru/?1-7-0-00012818-000-0-0-1730648504]вывод из запоя на дому ростов[/url] .
онлайн казино беларусь [url=https://online-kazino.by/]онлайн казино беларусь[/url] .
вывод из запоя ростов на дону на дому [url=rio16.ukrbb.net/viewtopic.php?f=3&t=1115]rio16.ukrbb.net/viewtopic.php?f=3&t=1115[/url] .
вывод. из. запоя. на. дому. ростов. [url=https://www.svstrazh.forum24.ru/?1-3-0-00000230-000-0-0-1730648739]вывод. из. запоя. на. дому. ростов.[/url] .
алкоголизм лечение вывод из запоя ростов [url=www.rodoslav.forum24.ru/?1-4-0-00000568-000-0-0-1730649045]алкоголизм лечение вывод из запоя ростов[/url] .
вывод из запоя на дому ростов круглосуточно [url=familyportal.forumrom.com/viewtopic.php?id=28544#p70286]familyportal.forumrom.com/viewtopic.php?id=28544#p70286[/url] .
наркология вывод из запоя ростов [url=http://forumsilverstars.forum24.ru/?1-2-0-00000146-000-0-0-1730649531/]http://forumsilverstars.forum24.ru/?1-2-0-00000146-000-0-0-1730649531/[/url] .
нарколог на дом вывод из запоя ростов [url=https://www.vip.rolevaya.info/viewtopic.php?id=6895]нарколог на дом вывод из запоя ростов[/url] .
наркология вывод из запоя ростов [url=http://to.iboard.ws/viewtopic.php?id=8058/]http://to.iboard.ws/viewtopic.php?id=8058/[/url] .
вывод. из. запоя. на. дому. ростов. [url=https://zarabotokdoma.creartuforo.com/viewtopic.php?id=11470]https://zarabotokdoma.creartuforo.com/viewtopic.php?id=11470[/url] .
вывод из запоя ростов-на-дону [url=superstar.ukrbb.net/viewtopic.php?f=3&t=680]superstar.ukrbb.net/viewtopic.php?f=3&t=680[/url] .
вывод из запоя ростов на дону стационар [url=tatuheart.ukrbb.net/viewtopic.php?f=8&t=15061]tatuheart.ukrbb.net/viewtopic.php?f=8&t=15061[/url] .
вывод из запоя на дому [url=http://www.stranaua.ukrbb.net/viewtopic.php?f=2&t=59741]http://www.stranaua.ukrbb.net/viewtopic.php?f=2&t=59741[/url] .
вывод из запоя стационарно ростов [url=https://www.kryto.ukrbb.net/viewtopic.php?f=3&t=1161]вывод из запоя стационарно ростов[/url] .
как купить среднее образование [url=https://1oriks-diplom199.ru/]как купить среднее образование[/url] .
нарколог вывод из запоя ростов [url=https://www.advance2.ukrbb.net/viewtopic.php?f=2&t=775]https://www.advance2.ukrbb.net/viewtopic.php?f=2&t=775[/url] .
наркология вывод из запоя ростов [url=klin.0pk.me/viewtopic.php?id=4399]наркология вывод из запоя ростов[/url] .