Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Webgamers. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 142

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

1

Sonntag, 16. Oktober 2016, 12:01

Laravel Test Spezifikation und Ergebnisse

Hier sind ja viele Laravel Fans unterwegs.
Wo findet man den die Test-Spezifikationen und Ergebnisse zu Laravel?
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

BlackScorp

Moderator

Beiträge: 1 270

Wohnort: 127.0.0.1

Danksagungen: 548

  • Nachricht senden

2

Sonntag, 16. Oktober 2016, 12:22

Hier sind ja viele Laravel Fans unterwegs.
Wo findet man den die Test-Spezifikationen und Ergebnisse zu Laravel?

Was meinst du mit Test Spezifikation?
Qualität eines Codes misst man in WTF/Sekunde

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 142

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

3

Sonntag, 16. Oktober 2016, 12:32

Oje.
Wenn man Sicherstellen will das etwas genauso funktioniert wie es soll, dann beschreibt man den Test. Welche Werte verwendet werden, wie das erwartete Ergebnis aussieht und was vielleicht als Randbedingung erfüllt sein muß.

Wenn man eine Klasse in Laravel erweitern will muss man doch wissen ob die Klasse überhaupt so reagiert wie man es erwartet. Ansonsten könnte man ja Parameter-Werte verwenden, die in der aktuellen Implementierung garnicht vorgesehen sind.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

BlackScorp

Moderator

Beiträge: 1 270

Wohnort: 127.0.0.1

Danksagungen: 548

  • Nachricht senden

4

Sonntag, 16. Oktober 2016, 13:00

Oje.
Wenn man Sicherstellen will das etwas genauso funktioniert wie es soll, dann beschreibt man den Test. Welche Werte verwendet werden, wie das erwartete Ergebnis aussieht und was vielleicht als Randbedingung erfüllt sein muß.

Wenn man eine Klasse in Laravel erweitern will muss man doch wissen ob die Klasse überhaupt so reagiert wie man es erwartet. Ansonsten könnte man ja Parameter-Werte verwenden, die in der aktuellen Implementierung garnicht vorgesehen sind.

Nein, in der PHP Welt machst du dir gedanken um funktionalitäten während der Entwicklung. Du Schreibst dir nichts auf. Du machst einen Prototypen und um zu sehen wie ein Framework deiner Meinung nach funktionieren soll, anschließend beginnst du nach dem Test Driven Development Prinzip es zu etnwickeln.

Generell wird gerne in PHP die Frameworks verglichen, viele Entwickler haben spaß dran eine Hello World Applikation zu erstellen und diese dann mit gefakten Requests zu befeuern und die Anzahl der Antworten pro sekunde zu vergleichen. Und dann schöne tabellen aufstellen.

PHP hat zum Beispiel ein Bottleneck, die Datenbank, diese wird bei allen Tests einfach außen vorgelassen, komplexe SQL queries bei denen die Datenbank selbst schwierigkeiten hat, werden garnicht in den Frameworks abgebildet. Oft lässt das ORM des Frameworks das garnicht zu und man muss den Befehl über die exec Methode abfeuern.

Es gibt zum Beispiel das Framework Phalcon, dieser ist in C++ als PHP Erweiterung geschrieben und ist sehr sehr schnell. Hat aber den Nachteil dass man bugs nicht mal eben so ausbessern kann(nicht als PHP Entwickler der kein C++ kann) Dieses Framework würde in den Benchmarks alle anderen Frameworks Alt aussehen lassen, trotzdem nutzt es kaum einer.
Qualität eines Codes misst man in WTF/Sekunde

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 142

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

5

Sonntag, 16. Oktober 2016, 13:09

Nagut.
Test-Driven-Development bedeutet aber das ich Tests geschrieben habe. Und dazu gehört doch die Information mit welchen Test-Werten die Funktionen aufgerufen werden.
Ohne diese Informationen wäre eine Erweiterung der Klassen immer ein Spiel mit dem Feuer. Zumal PHP ja nun nicht bekannt dafür ist besonders strenge Anforderungen an Datentypen zu stellen.

Wenn es per TDD entwickelt worden ist, wären diese Tests, die ja bei TDD die Basis wären die Spezifikation. Wie gut und sinnvoll die sind ist ja erstmal egal. Und zu diesen Tests muss es ja auch results geben. Gerade wenn bestimmte Werte bei einem Funktionsaufruf nicht zulässig sind sollte das ja irgendwo dokumentiert sein und auch geprüft werden das die entsprechende Funktion das erkennt.

Na wie man das halt so macht.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

BlackScorp

Moderator

Beiträge: 1 270

Wohnort: 127.0.0.1

Danksagungen: 548

  • Nachricht senden

6

Sonntag, 16. Oktober 2016, 13:36

Nagut.
Test-Driven-Development bedeutet aber das ich Tests geschrieben habe. Und dazu gehört doch die Information mit welchen Test-Werten die Funktionen aufgerufen werden.
Ohne diese Informationen wäre eine Erweiterung der Klassen immer ein Spiel mit dem Feuer. Zumal PHP ja nun nicht bekannt dafür ist besonders strenge Anforderungen an Datentypen zu stellen.

Wenn es per TDD entwickelt worden ist, wären diese Tests, die ja bei TDD die Basis wären die Spezifikation. Wie gut und sinnvoll die sind ist ja erstmal egal. Und zu diesen Tests muss es ja auch results geben. Gerade wenn bestimmte Werte bei einem Funktionsaufruf nicht zulässig sind sollte das ja irgendwo dokumentiert sein und auch geprüft werden das die entsprechende Funktion das erkennt.

Na wie man das halt so macht.

Naja die Werte stehen nicht gesondert auf einer Liste sondern sind in den Tests direkt drin, das hat den Grund dass man nicht zwei Listen parallel pflegen muss.

Es gibt ein Testrunner https://travis-ci.org/laravel/framework der startet die Tests in allen haupt PHP Versionen und sagt ob die Tests in einer PHP Version fehlschlagen. Diese Tests kann man lokal ausführen und ein Bericht dazu generieren lassen, dieser Bericht zeigt die Testabdeckung und zeigt an ob automatisiert in jedes if/else/catch usw ausgeführt wurde.

Wegen Datentypen, das hat sich seit neustem geändert. Ein Entwickler kann seit der version 7 die Datentypen forcieren. Ich kann ein Modul entwickeln, und dort die Grundlegenden Datentypen erwarten in form von Typehints, die Person die das Modul dann nutzt, muss sicher stellen dass er die richtigen datentypen übergibt. PHP ist mittlerweile ein Hybrid aus funktionaler programiersprache , objekt orientierter programmiersprache, dynamische typisierung und statische. Frei nach dem Motto "Nichts ist wahr, alles ist erlaubt"
Qualität eines Codes misst man in WTF/Sekunde

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 142

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

7

Sonntag, 16. Oktober 2016, 13:45

Nur 2500 Tests?
Wo findet man denn den Test-Code?
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

BlackScorp

Moderator

Beiträge: 1 270

Wohnort: 127.0.0.1

Danksagungen: 548

  • Nachricht senden

8

Sonntag, 16. Oktober 2016, 13:57

Naja Laravel und auch andere Frameworks bestehen aus Komponenten.

und 2500 tests sind ordentlich, ein Framework ist keine Raketentechnik ;)


Das eigentliche Framework hat hier seine Tests

https://github.com/laravel/framework/tree/5.3/tests

in C++ hast du ja meistens dein Test und Source getrennt, in PHP geht das leider noch nicht. Wenn du also ein Projekt installierst, kriegst es auch mit den Tests mit obwohl du es nur nutzen willst :D
Qualität eines Codes misst man in WTF/Sekunde

Zerotask

Schüler

Beiträge: 88

Wohnort: Karlsruhe

Danksagungen: 16

  • Nachricht senden

9

Sonntag, 16. Oktober 2016, 14:05

Nur 2500 Tests?

24,5k

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 142

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

10

Sonntag, 16. Oktober 2016, 14:12

OK (2456 tests, 5541 assertions)

Steht am ende des Logs.
Ich denke mal das der Computer sich da nicht verzählt hat.

Na ich habe mal in die Tests hineingeschaut. Sowas würde bei uns bestenfalls als Smoke-Test durchgehen.

Wenn ich bis jetzt schwankend war was die Nutzung von Slimframework oder Laravel angeht, dann hat sich das doch nu endlich erledigt.

Danke BlackScorp für deine Hilfe. War wie immer eine Freude.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »simbad« (16. Oktober 2016, 14:18)


Zerotask

Schüler

Beiträge: 88

Wohnort: Karlsruhe

Danksagungen: 16

  • Nachricht senden

11

Sonntag, 16. Oktober 2016, 14:17

Ach, du meintest die Tests innerhalb eines Tests. Ich dachte die Anzahl der Tests sind gemeint.

BlackScorp

Moderator

Beiträge: 1 270

Wohnort: 127.0.0.1

Danksagungen: 548

  • Nachricht senden

12

Sonntag, 16. Oktober 2016, 14:31

Nur 2500 Tests?

24,5k

link? woher hast du 24,5k?
Qualität eines Codes misst man in WTF/Sekunde

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 142

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

13

Sonntag, 16. Oktober 2016, 14:41

Ach egal. Er hat wahrscheinlich zu jeder PHP-Version die Tests addiert. Wenn man dann 10 unterschiedliche PHP Versionen unterstützt, dann sind das halt 10mal soviele.
Ist ja auch wurscht was der da erzählt. Ich höre nur auf BlackScorp.

Es mag wohl sein das das keine Raumschiffe sind die damit fliegen. Aber wenn ich eine Web-Software ausliefere bin ich für das einwandfreie Funktionieren der Software verantwortlich. Und da interessiert es den Kunden nun mal nicht ob der Fehler in meinem Code oder im Code eines Frameworks liegt.
Er muss behoben werden und kostet somit Geld.

Deswegen wundere ich mich halt warum das sowenige Tests sind.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

Zerotask

Schüler

Beiträge: 88

Wohnort: Karlsruhe

Danksagungen: 16

  • Nachricht senden

14

Sonntag, 16. Oktober 2016, 19:46

Ist ja auch wurscht was der da erzählt. Ich höre nur auf BlackScorp.

Kannst du dich nicht normal ausdrücken? Musst du ständig so blöd rüberkommen?


Zitat

link? woher hast du 24,5k?

Wie zuvor geschrieben hatte ich gedacht, dass die Anzahl der Tests, also Test-Jobs gemeint sind; hatte nicht innerhalb eines Test-Jobs geschaut, wie viel getestet wird. ^^

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 142

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

15

Sonntag, 16. Oktober 2016, 19:52

Ist ja auch wurscht was der da erzählt. Ich höre nur auf BlackScorp.

Kannst du dich nicht normal ausdrücken? Musst du ständig so blöd rüberkommen?
Wieso? Ist das was ich schreibe unverständlich?
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

Zerotask

Schüler

Beiträge: 88

Wohnort: Karlsruhe

Danksagungen: 16

  • Nachricht senden

16

Sonntag, 16. Oktober 2016, 19:56

Es ist unverschämt und unhöflich. Traurig, dass es dir anscheinend nicht selbst auffällt.

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 142

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

17

Sonntag, 16. Oktober 2016, 20:07

Es ist ehrlich. Und da ich mir das Recht auf eine eigene Meinung vorbehalte, habe ich auch kein Problem damit zu sagen was ich denke. Die Wortwahl unterstreicht lediglich meine persönliche Sicht der Dinge. Es muss nicht jedem gefallen. Ich habe diesen Thread mit einer konkrete Frage gestartet und diese Frage ist an sich beantwortet.
Dein einziger Einwurf bestand in einer Korrektur einer Zahl. Hurra. Du hast einen Fehler in einem meiner Posts gefunden.

Es ist mir grundsätzlich egal was du schreibst, weil es in einer Vielzahl der Fälle inhaltslos ist. Du bringst keine Argumente sondern ziehst dich auf absolutistische Aussagen zurück. Schreibformen in Befehlsform dominieren dabei und sind in einem Forum grundsätzlich unangebracht.

Wenn du mal was schreibst was Inhalt hat, dann kriegste von mir auch ne vernünftige Antwort.

Der Thread kann geschlossen werden, weil die Frage beantwortet ist.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

Ähnliche Themen

Social Bookmarks