Ja, du hast richtig gehört - das stimmt! In der IT-Community ist die Meinung fest verwurzelt, dass all diese Tests Ihnen irgendwie helfen, aber ist es wirklich so? Haben Sie versucht, kritisch zu denken und diese konventionelle Weisheit selbst zu analysieren? Hipster entwickeln eine Reihe von Paradigmen - TDD, BDD, SDA, Verkehrspolizei -, um die Illusion hektischer Aktivitäten zu erzeugen und ihr Gehalt irgendwie zu rechtfertigen. Aber denken Sie darüber nach, was passieren wird, wenn Sie (oder Ihre Programmierer) Ihre ganze Zeit ausschließlich dem Schreiben von Code widmen? Es gibt eine separate Richtung und ganze Abteilungen zum Testen. Sie zwingen Programmierer nicht, Anforderungen zu schreiben, oder? Warum sollten sie dann Tests schreiben? Ich bitte alle, die zustimmen und nicht zustimmen, in den Beitrag zu gehen, wo ich Ihnen klar zeigen werde, dass Unit- (und Integrationstests) ein großes Übel sind!
Woher kamen die Tests?
In der Antike gab es überhaupt keine Tests. Es gab nicht einmal eine solche Richtung, ganz zu schweigen von Begriffen wie Block (Einheit) und Integrationstests. Und über alle Arten von e2e und, Gott vergib mir, Pipelines schweige ich im Allgemeinen. Und das alles, weil es tatsächlich noch nichts zu testen gab. In diesen Jahren versuchten Softwareentwickler nur, die ersten Computer zu erstellen.
Wie wir alle wissen, waren die ersten Computer gigantisch groß, wogen mehrere zehn Tonnen und kosteten mehr als Ihr Apple MacBook Pro Retina 4k 32 GB RAM 1 TB SSD Touch Bar USB Typ C. Und damals hatten Entwickler wirklich Angst, dass während der Arbeit etwas schief gehen könnte. Ich denke, Sie kennen die Entstehungsgeschichte des Begriffs "Bug" - wenn nicht plötzlich, dann lesen Sie es , es ist sehr interessant. Und da Programmierer vor allem Angst hatten, kamen sie auf Unit-Tests.
Die Zeiten haben sich geändert, auch die Computer haben sich geändert. Das Testen hat sich ebenfalls geändert. Neben Unit-Tests entstand auch ein ganzer Bereich, der später als Qualitätssicherung bekannt wurde.
Aber auch die Entwickler haben sich geändert. Heutzutage wird es lächerlich zu glauben, dass jemand Angst hat, ein Programm auszuführen, da dies den Server in Brand setzen könnte. Im Jahr 2020 haben Programmierer keine Angst davor, ihre Programme zu starten. Und wenn es keine Angst gibt, warum testen?
Moderne Realitäten
Ich wiederhole meine Frage: Wenn Ihr MacBook (oder Xiaomi) aufgrund eines Fehlers im Code nicht explodiert, warum dann testen? Sie starten einfach und genießen das Ergebnis. Erwarten Sie Ihre Empörung über die hohen Kosten von Fehlern für den Kunden - lassen Sie die Tests von speziell geschulten Personen durchführen.
. , . - . . -, Quality Assurance – , ¯\_(ツ)_/¯
, Software Development, Unmistakable Development. .
-, : «, , ». ? ?
. – . . , , , ?
: « » - .
, master, , . pull request , – . , , .
:
, .
, . , , , , . , -, .
.
– . – . ? .
, . , . , . , .
, , . , QA , . , – , .
– . .
Unit-testing, Integration Testing, End 2 End, Pipelines, CI, CD – , ? , , .
. , , e2e , . – .
- CI CD – . devops, . - , - , – .
. , – . – . – bash. … , .
Delivery In Time
: DIT – Delivery In Time. ( ****), . . , , . DIT , – , . , . , : – , – , . , , .
DIT . , ( ), . . , , Quality Assurance . .
:
– ?
– .
– .
– … , 1000 .
. , .
, DIT , , . , . - (, , , ), .
: – , . - , , , . .
, . .
- , (, , ) . , , - . , ? , , .
. , . , – . , , , .
. , , . , ? , , , ? , . , - . – .
. (, 2 ) – . , , . , , . . .
, ? . . , .
. . – , – . - , . , . .
!
, , :)
, . , . , . , , 15%. . , .
? / 80%? - 30? – , ?
, . , , :)
Und die Gelegenheit nutzen: Wenn Sie dieses Format gefallen hat, dann lade ich Sie zu meinem Blog von einem schlechten Entwickler (oft Lügen) öffentlich VK , wo ich von Zeit zu Zeit ähnlich sarkastische Beiträge zu veröffentlichen, die oft unbequem sind hier zu posten.