

Lassen Sie uns über die Unterschiede zwischen China und den Vereinigten Staaten in der Softwareentwicklung sprechen (am Beispiel von TikToks „Schwerpunkt auf Qualitätssicherung und Lichttests')
In einem Unternehmen mit 100.000 Mitarbeitern gibt es keine Unit-Tests oder Code-Reviews und wir verlassen uns nur auf die Qualitätssicherung, aber das ist der „effektive“ Weg!
Viele chinesische Auslandsunternehmen erobern schnell Märkte im Ausland. Beispielsweise wurde TikTok im Jahr 2021 die meistbesuchte Internet-Website der Welt und übertraf damit den ursprünglichen Spitzenreiter Google, das zu Alphabet aus den Vereinigten Staaten gehört.
Die von den Chinesen geschaffene Internetplattform hat die amerikanische Plattform, die schon immer die Welt dominiert hat, übertroffen. Dies ist eine Entwicklung von sehr substanzieller und symbolischer Bedeutung.
Da gleichzeitig der Einfluss chinesischer Technologieunternehmen von Tag zu Tag zunimmt, sind viele Menschen neugierig auf die Arbeitskultur chinesischer Unternehmen und möchten verstehen, was diesen Erfolg antreibt.
Kürzlich hat ein Chinesisch-Amerikaner, der mehr als ein Jahr für ein chinesisches Unternehmen in den USA (TikTok) gearbeitet hat (zuvor arbeitete er bei Snapchat und Facebook), auf YouTube ein Video mit dem Titel „5 verrückte Dinge über die Arbeit für TikTok (warum)“ gepostet Wir kündigten unsere PM- und Ingenieurjobs)“, fasste er die Erfahrungen, die er von chinesischen Unternehmen gemacht hatte, in fünf Aspekten zusammen.
YouTube 地址: https://www.youtube.com/watch?v=RNUrZFkHXlo
Seine Ansichten haben auf Twitter eine große Anzahl von Menschen angezogen, die sich für China und die Vereinigten Staaten oder chinesische Technologie interessieren. Netizens glauben, dass der Beitrag die Unterschiede in der Ingenieurskultur zwischen China und den Vereinigten Staaten genau beschreibt habe diese Ansichten übersetzt:
Erster Punkt: Viele westliche Unternehmen schreiben Unit-Tests, und jeder weiß, dass dies eine sehr grundlegende Sache ist. Aber die chinesischen Ingenieure hier müssen keine Unit-Tests schreiben! Jeder Code-Commit erfordert manuelle Tests durch die QA-Abteilung, und das Team testet jeden Code-Commit manuell, bevor er ihn festschreibt.
Sie denken vielleicht, das ist völlig verrückt. Warum nicht Unit-Tests schreiben? Der Einsatz der Qualitätssicherung zum Testen bedeutet eigentlich, dass von Ingenieuren erwartet wird, dass sie sich auf die Funktionalität konzentrieren und schnell beginnen, während das Schreiben von Tests vollständig der Qualitätssicherung überlassen wird.
Und eine weitere schockierende Sache ist, dass Zusammenführungsanträge ebenfalls keiner Genehmigung bedürfen. In einem Unternehmen mit 100.000 Mitarbeitern (dies ist kein kleines Start-up) gibt es keine Unit-Tests und keine Codeüberprüfungen, sondern verlässt sich nur auf die Qualitätssicherung, aber das ist der „effektive“ Weg! Es gab keine größeren Ausfälle.
Chinesische Unternehmen verfügen tendenziell über mehr Produktteams und sind eher geneigt, sich auf Betriebsteams zu verlassen, um das Geschäftswachstum voranzutreiben. Dies unterscheidet sich von der passiven und datengesteuerten Wachstumsidee in den Vereinigten Staaten. Der Hauptunterschied zwischen chinesischen und amerikanischen Technologieunternehmen besteht darin, dass chinesische Unternehmen stärker auf Arbeitskräfte angewiesen sind. Dieser Vorteil ist auch der Hauptgrund dafür, dass chinesische Unternehmen schnell neue Märkte erobern können.
Zweiter Punkt: In chinesischen Unternehmen kommt es selten zu Einzelgesprächen, da die Skalierbarkeit zu schlecht ist. Innerhalb jedes Teams gibt es kaum eine weitere Segmentierung, sodass die Interaktion mit mehr Kollegen erforderlich ist. Ich sehe oft ein typisches Top-Down-Meeting, das länger als 90 Minuten dauert und an dem mehr als 60 Personen gleichzeitig teilnehmen. In den meisten Fällen spricht eine Person vorne, während der Rest die Besprechungsunterlagen durchsieht. Es kommt selten zu offenen Gesprächen oder Diskussionen, wie sie in europäischen und amerikanischen Unternehmen üblich sind.
Der dritte Punkt: Um zu verhindern, dass Headhunter Menschen abwerben, wird hier auf eine klare Organisationsstruktur verzichtet. Die Organisationsstruktur ist sehr flach, einige technische Manager müssen mehr als 200 Leistungsbeurteilungsberichte bearbeiten (ohne Abteilung!), und einige Berichtseinreicher wissen nicht einmal, wie ihr direkter Vorgesetzter aussieht.
Der vierte Punkt: In Bezug auf Prozess und Ausführung gibt es in chinesischen Unternehmen nicht viel Scheiße. Jeder ist damit beschäftigt, mit gesenktem Kopf zu arbeiten und nur selten Klatsch zu verbreiten oder moralische Urteile zu fällen. Andererseits sind chinesische Unternehmen in der Prozessgestaltung noch nicht ausgereift genug. Kollegen im Dokumentations- und Verbesserungsteam sind schwer zu motivieren, egal wie gut sie arbeiten. Niemand überprüft den Code der Ingenieure.
Punkt 5: In Sachen Work-Life-Balance braucht das amerikanische Team nicht 996, sondern es ist erforderlich, sich an die chinesische Zeitzone anzupassen. Es ist wirklich schwer und es ist auch der Hauptgrund für Abwanderung. Alle PMs, mit denen ich zu tun hatte, sind nach einem Jahr gegangen.
Die Zahl der Doktoranden in MINT (Naturwissenschaften, Technik, Ingenieurwesen und Mathematik) ist in China viermal so hoch wie in den Vereinigten Staaten, aber es gibt weniger technische Stellen als in den Vereinigten Staaten, sodass die Konkurrenz hier größer ist als in den Vereinigten Staaten Staaten nennen diese Situation „interne Rolle“. Chinesische Kollegen haben Angst, ihre technologischen Vorteile zu verlieren und von der gesellschaftlichen Entwicklung abgehängt zu werden, sodass sie mit enormer Arbeitsenergie ausbrechen könnten.
Reden wir über menschliche Qualitätssicherung
Man kann sagen, dass China und die Vereinigten Staaten in den Bereichen Technologie und Internetinnovation in den letzten Jahren erfolgreich mithalten konnten Markt, was zumindest zeigt, dass sie gewisse Wettbewerbsvorteile haben.
Allerdings können wir anhand der Beschreibung von Lucas auch einige Unterschiede im Softwareentwicklungsprozess zwischen China und den Vereinigten Staaten erkennen. Amerikanische Unternehmen legen beispielsweise großen Wert auf die detaillierten Spezifikationen technischer Dokumente und Nutzungsdokumente in der Softwareentwicklung, konzentrieren sich auf Code-Einreichungs- und Überprüfungsprozesse und legen besonderen Wert auf Unit-Tests. Sie verlassen sich nicht auf Arbeitskräfte, sondern auf die Entwicklung Prozess, um die endgültige Qualität sicherzustellen.
Der Aufstieg von Internetunternehmen hat viele Software-Design-, Entwicklungs- und Release-Modelle verändert.
In Bezug auf Unit-Tests ist die Qualitätssicherung (QA) im traditionellen Entwicklungsprozess im Allgemeinen dafür verantwortlich, das Programm per Black-Box-Test zu testen, bestimmte Parameter beim Aufruf der Schnittstelle zu übergeben und dann zu überprüfen, ob der Schnittstellenantwortwert bestimmte Erwartungen erfüllt . Unit-Tests sind eine Art White-Box-Test, bei dem Tester die Struktur des zu testenden Programms verstehen müssen, um Testfälle zur Überprüfung der Logik jedes Programmzweigs zu erstellen.
Letzteres ist natürlich eine größere Herausforderung, und es ist unmöglich, die Arbeit schnell abzuschließen, indem man sich auf gestapelte Arbeitskräfte wie Black-Box-Tests verlässt, sodass Unit-Tests zu einer langsameren Lieferung führen. Um den Veröffentlichungszyklus zu beschleunigen, hat sich die Arbeitsteilung in unserer Praxis schrittweise geändert. Entwickler konzentrieren sich auf die Erstellung von Funktionen, während sich Unternehmensleiter auf die Bereitstellung konzentrieren und die Testarbeit der Entwickler ignoriert.
Entwicklungs- und QS-Tests sind ein klassisches Thema, das seit langem Aufmerksamkeit erregt. Verschiedene Unternehmen haben unterschiedliche Methoden. Derzeit sind die Unterschiede zwischen chinesischen und amerikanischen Softwareentwicklungsteams recht groß. Google ist ein Beispiel dafür, dass Google keine „riesige“ Testabteilung hat, sondern dass einige Testarbeiten an Entwickler delegiert werden. In dem Artikel „Wie Google testet“ schreibt James: „Testen und Entwickeln erfolgen gleichzeitig.“ Schreiben Sie dann mehr Code und testen Sie weiter Das Codieren oder vor dem Codieren ist kein separater Prozess, sondern ein Teil der Entwicklung. Wenn Sie ein qualitativ hochwertiges Produkt haben möchten, müssen Sie es eng miteinander verknüpfen Sie sind nicht voneinander zu unterscheiden. Qualität kommt von der Entwicklung, nicht vom Testen.“
Bei Google stellen Tester hauptsächlich „sicher, dass Entwickler automatisierte Frameworks und zugehörige Prozesse testen können“. Der Schlüsselgedanke zur Lösung des Problems, dass sich Entwickler auf andere verlassen, besteht darin, nicht zu viele Tester im Team zu haben. Vor mehr als zehn Jahren lag das Entwicklungs- und Testverhältnis bei Google bei 10:1 und später rief es sogar den Slogan „Go to QA“. Im Artikel „The Day the QA Department Died“ halten Google-Experten Unit-Tests sogar für einen QA-Killer:
Unit-Tests sind eine Möglichkeit, ein bestimmtes Stück Code zu testen, um sicherzustellen, dass es ordnungsgemäß funktioniert und in die Software passt Puzzle. Es gibt Hinweise darauf, dass Sie über 90 % Ihres Codes mit Unit-Tests überprüfen können, und im Gegensatz zu den manuellen Testtools der Qualitätssicherung können richtig erstellte, automatisierte Unit-Tests mit Ihrer Codebasis weiterentwickelt werden und Code in Echtzeit testen.
Im Jahr 2017 kündigte Google die Absage der GTAC an, einer Testtechnologiekonferenz, die seit zehn Jahren stattfand, mit der Begründung, dass „sie sich mehr um die Verbesserung der technischen Effizienz als um automatisierte Testtechnologie kümmern.“ Die praktische Umsetzung von Engineering-Effizienz spiegelt sich in der Regel darin wider, dass „Entwickler, die ihre Entwicklungsarbeit abschließen, auch alle Test-, Online-, Betriebs- und Wartungsarbeiten durchführen müssen“ und alle erforderlichen vollständigen Links für Entwickler bereitstellen. „One-Stop“-Work-Road-Toolchain-Unterstützung. Aber die Methode, die Google zuvor befürwortet hat und die ausschließlich auf Entwicklung basiert, um die Qualität sicherzustellen, scheint genau das Gegenteil der von Lucas erwähnten „Vertrauen auf Qualitätssicherung“ zu sein. Inländische Internetunternehmen sind in den letzten Jahren rasant gewachsen. Im jährlichen Internetbericht von Mary Meeker von Anfang 2018 machte China die Hälfte der Top-20-Internetunternehmen mit Marktkapitalisierung/-bewertung aus. Inländische Internetunternehmen legen Wert auf Innovationen bei Geschäftsmodellen, und der Softwareentwicklungsprozess hat im Vergleich zu herkömmlicher Software begonnen, einige Veränderungen zu erfahren. Beispielsweise ist die Iterationsgeschwindigkeit wichtiger als das Fehlen von Problemen. Wenn ein Problem auftritt, ist es wichtiger, es so schnell wie möglich zu lokalisieren, es schnell zu beheben und die Auswirkungen zu reduzieren schnellste Iterationsgeschwindigkeit zu entwickeln und dann Benutzerfeedback zu sammeln, um dies zu bestimmen. Ob oder wie die Funktion des Produkts geändert werden soll; Verzicht auf den „Test“-Link, der zu einer verzögerten Lieferung führen kann ... Es ist nur so, dass es für uns schwierig ist Machen Sie deutlich, ob es sich bei diesem technischen Vorteil um eine Verbesserung handelt oder um etwas, das eine schrittweise Änderung durch alle erfordert. Vielleicht können wir durch die Kombination fortschrittlicher Managementmethoden und -techniken in der europäischen und amerikanischen Softwareindustrie und die vollständige Nutzung der Vorteile und des Fachwissens chinesischer Entwickler das allgemeine Softwareentwicklungsniveau besser verbessern. Weitere Kenntnisse zum Thema Programmierung finden Sie unter:Google glaubt, dass Entwickler saubereren Code schreiben und qualitativ hochwertigere Software mit weniger Fehlern erstellen werden, wenn die Testverantwortung auf Entwickler verlagert wird. Es hängt alles davon ab, wie das Unternehmen organisiert ist, um die Kosten zu senken, ohne die Qualität zu beeinträchtigen.
Programmiervideos
! !
Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Was halten Sie von Furmark? 1. Stellen Sie den „Ausführungsmodus“ und den „Anzeigemodus“ in der Hauptoberfläche ein, passen Sie auch den „Testmodus“ an und klicken Sie auf die Schaltfläche „Start“. 2. Nach einer Weile sehen Sie die Testergebnisse, darunter verschiedene Parameter der Grafikkarte. Wie wird Furmark qualifiziert? 1. Verwenden Sie eine Furmark-Backmaschine und überprüfen Sie das Ergebnis etwa eine halbe Stunde lang. Die Temperatur liegt im Wesentlichen bei etwa 85 Grad, mit einem Spitzenwert von 87 Grad und einer Raumtemperatur von 19 Grad. Großes Gehäuse, 5 Gehäuselüfteranschlüsse, zwei vorne, zwei oben und einer hinten, aber nur ein Lüfter ist installiert. Sämtliches Zubehör ist nicht übertaktet. 2. Unter normalen Umständen sollte die normale Temperatur der Grafikkarte zwischen „30-85℃“ liegen. 3. Auch wenn die Umgebungstemperatur im Sommer zu hoch ist, beträgt die normale Temperatur „50-85℃“

Der „Inaction Test“ des neuen Fantasy-Märchen-MMORPG „Zhu Xian 2“ startet am 23. April. Was für eine neue Märchen-Abenteuergeschichte wird auf dem Kontinent Zhu Die Six Realm Immortal World, eine Vollzeitakademie zur Kultivierung von Unsterblichen, ein freies Leben zur Kultivierung von Unsterblichen und jede Menge Spaß in der Welt der Unsterblichen warten darauf, von den unsterblichen Freunden persönlich erkundet zu werden! Der Vorab-Download von „Wuwei Test“ ist jetzt möglich. Sie können sich zum Herunterladen auf die offizielle Website begeben. Der Aktivierungscode kann nach dem Vorab-Download und der Installation verwendet werden abgeschlossen. „Zhu Als Blaupause wird der Spielhintergrund festgelegt

Funktionstests überprüfen die Funktionsfunktionalität durch Black-Box- und White-Box-Tests, während die Codeabdeckung den Teil des Codes misst, der von Testfällen abgedeckt wird. Verschiedene Sprachen (wie Python und Java) verfügen über unterschiedliche Test-Frameworks, Abdeckungstools und Funktionen. Praktische Fälle zeigen, wie man Unittest und Coverage von Python sowie JUnit und JaCoCo von Java für Funktionstests und Coverage-Bewertung verwendet.

„Operation Delta“ wird heute (7. März) einen groß angelegten PC-Test mit dem Namen „Codename: ZERO“ starten. Letztes Wochenende veranstaltete dieses Spiel in Shanghai eine Offline-Flashmob-Erlebnisveranstaltung, und 17173 hatte auch das Glück, zur Teilnahme eingeladen zu werden. Dieser Test liegt etwas mehr als vier Monate seit dem letzten Test zurück, was uns neugierig macht, welche neuen Highlights und Überraschungen wird „Operation Delta“ in so kurzer Zeit mit sich bringen? Vor mehr als vier Monaten habe ich „Operation Delta“ in einer Offline-Verkostung und der ersten Beta-Version erlebt. Damals öffnete das Spiel nur den „Dangerous Action“-Modus. Allerdings war die Operation Delta für ihre Zeit bereits beeindruckend. Im Kontext der großen Hersteller, die in den Markt für mobile Spiele strömen, ist ein solcher FPS mit internationalen Standards vergleichbar

Der Aufstieg der künstlichen Intelligenz treibt die rasante Entwicklung der Softwareentwicklung voran. Diese leistungsstarke Technologie hat das Potenzial, die Art und Weise, wie wir Software erstellen, zu revolutionieren, mit weitreichenden Auswirkungen auf jeden Aspekt von Design, Entwicklung, Tests und Bereitstellung. Für Unternehmen, die in den Bereich der dynamischen Softwareentwicklung einsteigen möchten, bietet das Aufkommen der generativen künstlichen Intelligenz-Technologie beispiellose Entwicklungsmöglichkeiten. Durch die Integration dieser Spitzentechnologie in ihre Entwicklungsprozesse können Unternehmen die Produktionseffizienz erheblich steigern, die Markteinführungszeit von Produkten verkürzen und hochwertige Softwareprodukte auf den Markt bringen, die sich im hart umkämpften digitalen Markt abheben. Laut einem McKinsey-Bericht wird erwartet, dass der Markt für generative künstliche Intelligenz bis 2031 voraussichtlich 4,4 Billionen US-Dollar erreichen wird. Diese Prognose spiegelt nicht nur einen Trend wider, sondern zeigt auch die Technologie- und Geschäftslandschaft.

Einführung Kontinuierliche Integration (CI) und kontinuierliche Bereitstellung (CD) sind Schlüsselpraktiken in der modernen Softwareentwicklung, die Teams dabei helfen, hochwertige Software schneller und zuverlässiger bereitzustellen. Jenkins ist ein beliebtes Open-Source-CI/CD-Tool, das den Build-, Test- und Bereitstellungsprozess automatisiert. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP eine CI/CD-Pipeline mit Jenkins einrichten. Jenkins einrichten Jenkins installieren: Laden Sie Jenkins von der offiziellen Jenkins-Website herunter und installieren Sie es. Projekt erstellen: Erstellen Sie im Jenkins-Dashboard ein neues Projekt und benennen Sie es entsprechend Ihrem PHP-Projekt. Quellcodeverwaltung konfigurieren: Konfigurieren Sie das Git-Repository Ihres PHP-Projekts als Jenkin

Maven ist ein Open-Source-Projektmanagementtool, das häufig für Aufgaben wie die Erstellung, das Abhängigkeitsmanagement und die Dokumentenfreigabe von Java-Projekten verwendet wird. Wenn wir Maven für die Projekterstellung verwenden, möchten wir manchmal die Testphase ignorieren, wenn wir Befehle wie mvnpackage ausführen, was in einigen Fällen die Build-Geschwindigkeit verbessert, insbesondere wenn ein Prototyp oder eine Testumgebung schnell erstellt werden muss. In diesem Artikel wird anhand spezifischer Codebeispiele detailliert beschrieben, wie die Testphase in Maven ignoriert werden kann. Warum Sie das Testen während der Projektentwicklung oft ignorieren sollten

Lernen Sie, Java-Testklassen zu schreiben: Ein vollständiger Leitfaden vom Anfänger bis zum Meister. In den letzten Jahren hat sich Java zu einer der beliebtesten Programmiersprachen entwickelt. Ob es um die Entwicklung mobiler Anwendungen, das Schreiben von Back-End-Diensten oder die Verarbeitung großer Datenmengen geht, Java ist überall. Das Schreiben von qualitativ hochwertigem Code ist das Ziel eines jeden exzellenten Java-Entwicklers. Tests sind ein wesentlicher Bestandteil der Sicherstellung der Codequalität. Durch das Schreiben von Testklassen können wir die Korrektheit und Stabilität des Codes sicherstellen, das Auftreten von Fehlern reduzieren und die Zuverlässigkeit und Wartbarkeit der Software verbessern. Dieser Artikel begleitet Sie von den ersten Schritten