Sunteți pe pagina 1din 4

UNIVERSITATEA POLITEHNICA BUCUREȘTI

FACULTATEA DE AUTOMATICĂ ȘI CALCULATOARE


DEPARTAMENTUL CALCULATOARE

PROIECT DE DISERTAȚIE
Migrarea de la metodologia Test Driven Development la metodologia
Behavior Driven Development

Iancu Jianu

Coordonator științific:
Ș.l. dr. ing. Cătalin Tudose

BUCUREŞTI

2021
Plan de lucru

Pentru proiectul de diplomă am structurat un plan de lucru in 2


etape, acestea fiind efectiv pașii din titlul disertației. Aplicația de bază
pe care am gândit-o va fi în primă fază începută într-o metodologie de
lucru TDD, iar ulterior când voi considera că este stabilă din punct de
vedere funcțional, voi migra spre BDD pentru o abordare mai
modernă.

Aplicația de bază
O platformă web configurabilă care să rezolve problema asocierii
studenților în cămine și în camere, folosind algoritmi optimi de sortare
si diverse moduri de structurare eficientă și configurabilă a acestora.

Arhitectura aplicației:
• Front-end : HTML, CSS, JavaScript + Thymeleaf pentru integrarea
cu springboot (poate alte framework-uri)
• Back-end: SpringBoot cu server Tomcat integrat pentru localhost
deploy și o bază de date relațională SQL type, limbaj Java

Self-research:
• https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
• https://app.pluralsight.com/search/?q=springboot&m_sort=relevance&que
ry_id=4fab19d5-fc30-4cee-92e6-fdf0b379398e&source=user_typed
• https://app.pluralsight.com/library/courses/aspect-oriented-programming-
spring-aop
• Cursuri Udemy, Coursera, FreeCodeCamp + alte surse (cărți)
Metodologia TDD

Evoluția aplicației de bază după metodologia tdd:


• Brainstorming al funcționalităților necesare – listă de prioritizare
• Creare teste pentru o parte din aceste funcționalități urmărind
modul ideal de funcționare.
• Implementare cod aplicație încât să treacă testele.

Framework tdd:
• JUnit, JMeter, Mockito, Postman – nu toate, ci în funcție de nevoie
• Voi utiliza o varietate de framework-uri pentru a putea crea o
analiză amplă și detaliată

Self-research:
• https://www.digitalocean.com/community/tutorials/build-a-rest-api-with-
django-a-test-driven-approach-part-1
• https://www.xenonstack.com/blog/test-driven-development-java
• https://app.pluralsight.com/library/courses/tdd-junit5
• https://app.pluralsight.com/library/courses/migrating-junit4-junit5-
testing-platform
• Alte surse: filelist, udemy, coursera, programming websites

Metodologia BDD

Evoluția aplicației de bază după metodologia bdd:


• După ce o parte din teste au verificat o serie de funcționalități de
bază – vom crea o noua listă pentru funcționalități ”premium”
• Testele vor fi realizate într-un proiect construit cu un framework
specific – Gauge
• Cu Gauge putem crea ”business layers” în care să analizăm din
punct de vedere obiectiv nevoile și să scriem test case-uri
descriptive în limba română/engleză.

2
• Acestea vor fi evoluate în spate în cod care să testeze
corectitudinea aplicației.

• Putem testa din două puncte de vedere:


▪ Front-end: Gauge, Java – ne va ajuta la verificarea elementelor în pagină,
existența câmpurilor în specificația business etc.
▪ Back-end: Gauge, Python – ne va ajuta în testarea call-urilor restful,
verificarea răspunsurilor atât după codul de status, cât și după response
body-ul întors, găsirea elementelor după executarea unor request-uri în
baza de date etc.

SELF-RESEARCH:
• Proiecte github personale (de la job, unde am învățat acest framework)
• https://docs.gauge.org/?os=windows&language=javascript&ide=vscode

S-ar putea să vă placă și