Maison titres Parlons des différences entre la Chine et les États-Unis en matière de développement de logiciels (en prenant comme exemple « l'accent mis sur l'assurance qualité et les tests légers » de TikTok)

Parlons des différences entre la Chine et les États-Unis en matière de développement de logiciels (en prenant comme exemple « l'accent mis sur l'assurance qualité et les tests légers » de TikTok)

Mar 03, 2022 am 09:27 AM
测试 软件开发

Dans une entreprise de 100 000 personnes, il n'y a pas de tests unitaires ni de revue de code, et nous nous appuyons uniquement sur le QA, mais c'est la méthode « efficace » !

De nombreuses entreprises chinoises étrangères occupent rapidement les marchés étrangers. Par exemple, en 2021, TikTok est devenu le site Internet le plus visité au monde, dépassant le leader initial, Google, propriété de l'américain Alphabet.

La plateforme Internet créée par les Chinois a dépassé la plateforme américaine qui a toujours dominé le monde. Il s'agit d'un développement d'une signification très substantielle et symbolique.

Dans le même temps, alors que l'influence des entreprises technologiques chinoises augmente de jour en jour, de nombreuses personnes sont curieuses de connaître la culture de travail des entreprises chinoises et souhaitent comprendre ce qui motive ce succès.

Récemment, un Sino-Américain qui travaille pour une entreprise chinoise aux États-Unis (TikTok) depuis plus d'un an (il a déjà travaillé chez Snapchat et Facebook) a posté une vidéo sur YouTube "5 choses folles à propos de travailler pour TikTok (pourquoi nous avons quitté nos emplois de PM et d'ingénieur)", résumant l'expérience qu'il a acquise auprès des entreprises chinoises sous cinq aspects.

Parlons des différences entre la Chine et les États-Unis en matière de développement de logiciels (en prenant comme exemple « laccent mis sur lassurance qualité et les tests légers » de TikTok)

YouTube 地址:
https://www.youtube.com/watch?v=RNUrZFkHXlo
Copier après la connexion

Ses opinions ont attiré un grand nombre de personnes sur Twitter intéressées par la Chine et les États-Unis ou par la technologie chinoise. Les internautes pensent que le message décrit avec précision les différences de culture d'ingénierie entre la Chine et les États-Unis. ont traduit ces points de vue :

Premier point : De nombreuses entreprises occidentales écrivent des tests unitaires, et tout le monde sait que c'est une chose très basique. Mais les ingénieurs chinois ici n'ont pas besoin d'écrire des tests unitaires ! Chaque validation de code compte sur des tests manuels effectués par le service QA, et l'équipe teste manuellement chaque validation de code avant de la valider.

Vous pensez peut-être que c'est complètement fou, pourquoi ne pas écrire des tests unitaires ? Utiliser l'assurance qualité pour les tests signifie en réalité que les ingénieurs doivent se concentrer sur la fonctionnalité et démarrer rapidement, tandis que l'écriture des tests est entièrement laissée à l'assurance qualité.

Et une autre chose choquante est que les demandes de fusion ne nécessitent pas non plus d'approbation. Dans une entreprise de 100 000 personnes (ce n'est pas une petite start-up), il n'y a pas de tests unitaires ni de revues de code, on s'appuie uniquement sur l'assurance qualité, mais c'est la méthode « efficace » ! Il n’y a pas eu de pannes majeures.

Les entreprises chinoises ont tendance à avoir plus d'équipes de produits et sont plus enclines à s'appuyer sur des équipes opérationnelles pour stimuler la croissance de leur entreprise ; cela est différent de l'idée de croissance passive et basée sur les données des États-Unis. La principale différence que j'ai remarquée entre les entreprises technologiques chinoises et américaines est que les entreprises chinoises sont plus dépendantes de la main-d'œuvre. Cet avantage est également la principale raison pour laquelle les entreprises chinoises peuvent rapidement occuper de nouveaux marchés.

Deuxième point : Dans les entreprises chinoises, il est rare de voir des réunions en tête-à-tête car la scalabilité est trop faible. Il y a peu de segmentation supplémentaire au sein de chaque équipe, ce qui nécessite une interaction avec davantage de collègues. Je vois souvent une réunion typique, descendante, qui dure plus de 90 minutes, à laquelle participent plus de 60 personnes en même temps. Dans la plupart des cas, une personne parle devant pendant que les autres parcourent les documents de la réunion. Il existe rarement le type de pourparlers ou de discussions ouvertes qui sont courants dans les entreprises européennes et américaines.

Le troisième point : Afin d'éviter que les chasseurs de têtes ne débauchent les gens, un système de structure organisationnelle clair n'est pas annoncé ici. La structure organisationnelle est très plate, avec certains responsables de l'ingénierie devant gérer plus de 200 rapports d'évaluation des performances (sans division !), et certains soumettant des rapports qui ne savent même pas à quoi ressemble leur patron immédiat.

Le quatrième point : En termes de processus et d'exécution, il n'y a pas beaucoup de merde dans les entreprises chinoises. Tout le monde est occupé à travailler la tête baissée et répand rarement des ragots ou porte des jugements moraux. D’un autre côté, les entreprises chinoises ne sont pas suffisamment matures en matière de conception de processus. Les collègues de l'équipe de documentation et d'amélioration sont difficiles à motiver, peu importe leurs performances. Personne ne révise le code des ingénieurs.

Point 5 : En termes d'équilibre travail-vie personnelle, l'équipe américaine n'a pas besoin du 996, mais elle doit s'adapter au fuseau horaire chinois. C’est vraiment difficile, et c’est la principale raison de l’attrition. Tous les PM avec lesquels j’ai eu affaire sont partis au bout d’un an.

Le nombre de doctorats en STEM (sciences, technologies, ingénierie et mathématiques) en Chine est quatre fois supérieur à celui des États-Unis, mais il y a moins de postes techniques qu'aux États-Unis, donc la concurrence ici est plus élevée qu'aux États-Unis. Les États appellent cette situation « rôle interne ». Les collègues chinois ont peur de perdre leurs avantages technologiques et d'être laissés pour compte par le développement social, ce qui les incite à déployer une énorme énergie de travail.

Parlons de l'assurance qualité humaine

On peut dire que la Chine et les États-Unis ont suivi le rythme dans les domaines de la technologie et de l'innovation Internet ces dernières années. Les entreprises chinoises étrangères peuvent réussir à s'emparer du marché. marché, ce qui montre au moins qu'ils disposent de certains avantages face à la concurrence.

Cependant, nous pouvons également constater certaines différences dans le processus de développement de logiciels entre la Chine et les États-Unis à partir de la description de Lucas. Par exemple, les entreprises américaines accordent une grande attention aux spécifications détaillées des documents techniques et des documents d'utilisation dans le développement de logiciels, se concentrent sur les processus de soumission et de révision du code, et accordent également une attention particulière aux tests unitaires. Elles ne s'appuient pas sur la main-d'œuvre mais sur le développement. Processus pour garantir la qualité finale.

La montée en puissance des sociétés Internet a modifié de nombreux modèles de conception, de développement et de publication de logiciels.

En termes de tests unitaires, dans le processus de développement traditionnel, d'une manière générale, l'assurance qualité (assurance qualité) est chargée de tester le programme en boîte noire, de transmettre certains paramètres lors de l'appel de l'interface, puis de vérifier que la valeur de réponse de l'interface répond à certaines attentes. . Les tests unitaires sont une sorte de test en boîte blanche, qui oblige les testeurs à comprendre la structure du programme testé, afin de construire des cas de test pour vérifier la logique de chaque branche du programme.

Évidemment, ce dernier est plus difficile, et il est impossible de terminer le travail rapidement en s'appuyant sur une main-d'œuvre empilée comme les tests en boîte noire, donc les tests unitaires entraîneront une livraison plus lente. Afin d'accélérer le cycle de publication, la division du travail dans notre pratique a progressivement changé. Les développeurs se concentrent sur la création de fonctionnalités, tandis que les dirigeants d'entreprise se concentrent sur la livraison et que le travail de test des développeurs est ignoré.

Le développement et les tests d'assurance qualité sont un sujet classique qui attire l'attention à long terme. Différentes entreprises ont des méthodes différentes. À ce stade, les différences entre les équipes de développement de logiciels chinoises et américaines sont assez grandes. Google en est un exemple. Son directeur des tests, James Whittaker, a déclaré en 2011 que Google ne disposait pas d'un « énorme » département de tests, mais qu'une partie du travail de test était déléguée aux développeurs. Dans l'article « Comment Google teste », James écrit :

« Les tests et le développement se déroulent simultanément. Écrivez du code, testez et construisez immédiatement. Ensuite, écrivez plus de code, continuez à tester. Mieux Oui, planifiez vos tests quand vous l'êtes. le codage ou avant le codage. Les tests ne sont pas un processus distinct, ils font partie du développement. La qualité n'est pas la même chose que les tests ; si vous voulez avoir un produit de haute qualité, vous devez le développer et les tests sont étroitement liés. ils ne peuvent pas être distingués les uns des autres. La qualité vient du développement, pas des tests. »

Chez Google, les testeurs « s'assurent principalement que les développeurs disposent de cadres automatisés et de processus associés » à tester. L’idée clé pour résoudre le problème des développeurs s’appuyant sur les autres est de ne pas avoir un grand nombre de testeurs dans l’équipe. Il y a plus de dix ans, le ratio de développement et de test de Google était de 10 : 1, et plus tard, il a même crié le slogan « Go to QA ». Dans l'article "The Day the QA Department Died", les experts de Google considèrent même les tests unitaires comme un tueur en matière de QA :

Les tests unitaires sont un moyen de tester un morceau de code spécifique pour s'assurer qu'il fonctionne correctement et s'intègre dans le logiciel. puzzle. Il est prouvé que vous pouvez vérifier plus de 90 % de votre code avec des tests unitaires et, contrairement aux outils de test manuels de QA, des tests unitaires automatisés correctement construits peuvent évoluer avec votre base de code, testant le code en temps réel.

Google estime que lorsque les responsabilités en matière de tests seront transférées aux développeurs, ceux-ci écriront un code plus propre et créeront des logiciels de meilleure qualité avec moins de défauts. Tout dépend de la manière dont l'entreprise s'organise pour réduire les coûts sans compromettre la qualité.

En 2017, Google a annoncé l'annulation du GTAC, une conférence sur les technologies de test qui se tenait depuis dix ans, car « ils sont plus préoccupés par l'amélioration de l'efficacité de l'ingénierie que par la technologie des tests automatisés ». La mise en œuvre de l'efficacité de l'ingénierie dans la pratique se reflète généralement dans le fait que « sur la base des développeurs qui terminent leur travail de développement, ils doivent également entreprendre tous les travaux de test, en ligne, d'exploitation et de maintenance », en fournissant tous les liens complets nécessaires aux développeurs. Prise en charge « à guichet unique » de la chaîne d'outils des routes de travail.

Mais la méthode préconisée précédemment par Google repose entièrement sur le développement pour garantir la qualité semble être exactement le contraire de la « dépendance à l'égard de l'assurance qualité » évoquée par Lucas.

Les sociétés Internet nationales ont connu une croissance rapide ces dernières années. Dans le rapport Internet annuel de Mary Meeker début 2018, la Chine représentait la moitié des 20 principales sociétés Internet avec une capitalisation/valorisation boursière. Les sociétés Internet nationales mettent l'accent sur l'innovation dans les modèles commerciaux et le processus de développement de logiciels a commencé à subir certains changements par rapport aux logiciels traditionnels. Par exemple, la vitesse d'itération est plus importante que l'absence de problèmes. Si un problème survient, il peut être localisé le plus rapidement possible, réparé rapidement, et l'impact est réduit plus important que la livraison dans les délais. vitesse d'itération la plus rapide à développer, puis recueillir les commentaires des utilisateurs pour déterminer si ou comment modifier la fonction du produit ; abandonner le lien « test » qui peut entraîner un retard de livraison...

C'est juste que c'est difficile pour nous de le faire. dire clairement si cet avantage technique est une amélioration ou quelque chose qui nécessite un changement progressif de chacun. Peut-être qu'en combinant les méthodes et techniques de gestion avancées des industries européennes et américaines du logiciel et en tirant pleinement parti des avantages et de l'expertise des développeurs chinois, nous pourrons mieux améliorer le niveau global de développement logiciel.

Pour plus de connaissances sur la programmation, veuillez visiter : Vidéos de programmation ! !

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que pensez-vous de furmark ? - Comment furmark est-il considéré comme qualifié ? Que pensez-vous de furmark ? - Comment furmark est-il considéré comme qualifié ? Mar 19, 2024 am 09:25 AM

Que pensez-vous de furmark ? 1. Définissez le « Mode d'exécution » et le « Mode d'affichage » dans l'interface principale, ajustez également le « Mode de test » et cliquez sur le bouton « Démarrer ». 2. Après avoir attendu un moment, vous verrez les résultats du test, y compris divers paramètres de la carte graphique. Comment Furmark est-il qualifié ? 1. Utilisez une machine à pâtisserie Furmark et vérifiez les résultats pendant environ une demi-heure. Elle oscille essentiellement autour de 85 degrés, avec une valeur maximale de 87 degrés et une température ambiante de 19 degrés. Grand châssis, 5 ports de ventilateur de châssis, deux à l'avant, deux en haut et un à l'arrière, mais un seul ventilateur est installé. Tous les accessoires ne sont pas overclockés. 2. Dans des circonstances normales, la température normale de la carte graphique doit être comprise entre « 30 et 85 ℃ ». 3. Même en été, lorsque la température ambiante est trop élevée, la température normale est de « 50 à 85 ℃.

Rejoignez une nouvelle aventure Xianxia ! Le pré-téléchargement de 'Zhu Xian 2' 'Wuwei Test' est maintenant disponible Rejoignez une nouvelle aventure Xianxia ! Le pré-téléchargement de 'Zhu Xian 2' 'Wuwei Test' est maintenant disponible Apr 22, 2024 pm 12:50 PM

Le « Test d'inaction » du nouveau MMORPG féerique fantastique « Zhu Xian 2 » sera lancé le 23 avril. Quel genre de nouvelle histoire d'aventure féerique se produira sur le continent Zhu Xian des milliers d'années après l'œuvre originale ? Le monde immortel des six royaumes, une académie à plein temps pour cultiver des immortels, une vie libre pour cultiver des immortels et toutes sortes de divertissements dans le monde immortel attendent que les amis immortels l'explorent en personne ! Le pré-téléchargement "Wuwei Test" est maintenant ouvert. Les amis fées peuvent accéder au site officiel pour télécharger. Vous ne pouvez pas vous connecter au serveur de jeu avant le lancement du serveur. Le code d'activation peut être utilisé après le pré-téléchargement et l'installation. est terminé. "Zhu Xian 2" "Inaction Test" horaires d'ouverture : 23 avril 10h00 - 6 mai 23h59 Le nouveau chapitre d'aventure de conte de fées de la suite orthodoxe de Zhu Xian "Zhu Xian 2" est basé sur le roman "Zhu Xian" comme un modèle basé sur la vision du monde de l'œuvre originale, l'arrière-plan du jeu est défini.

Quelles sont les différences entre les tests fonctionnels et la couverture dans différentes langues ? Quelles sont les différences entre les tests fonctionnels et la couverture dans différentes langues ? Apr 27, 2024 am 11:30 AM

Les tests fonctionnels vérifient la fonctionnalité des fonctions via des tests en boîte noire et en boîte blanche, tandis que la couverture du code mesure la partie du code couverte par les scénarios de test. Différents langages (tels que Python et Java) ont des cadres de test, des outils de couverture et des fonctionnalités différents. Des cas pratiques montrent comment utiliser Unittest et Coverage de Python et JUnit et JaCoCo de Java pour les tests de fonctions et l'évaluation de la couverture.

Le nouveau roi des FPS domestiques ! Le champ de bataille « Opération Delta » dépasse les attentes Le nouveau roi des FPS domestiques ! Le champ de bataille « Opération Delta » dépasse les attentes Mar 07, 2024 am 09:37 AM

"Opération Delta" lancera aujourd'hui (7 mars) un test PC à grande échelle appelé "Codename: ZERO". Le week-end dernier, ce jeu a organisé un événement d'expérience flash mob hors ligne à Shanghai, et 17173 a également eu la chance d'être invité à participer. Ce test remonte à un peu plus de quatre mois depuis le dernier, ce qui nous rend curieux, quels nouveaux points forts et surprises l'Opération Delta apportera-t-elle en si peu de temps ? Il y a plus de quatre mois, j'ai expérimenté « l'Opération Delta » lors d'une séance de dégustation hors ligne et la première version bêta. A cette époque, le jeu n'ouvrait que le mode "Action Dangereuse". Pourtant, l’opération Delta était déjà impressionnante pour l’époque. Dans un contexte où les grands constructeurs se ruent sur le marché du jeu mobile, un tel FPS comparable aux standards internationaux

Tendance transformatrice : l'intelligence artificielle générative et son impact sur le développement de logiciels Tendance transformatrice : l'intelligence artificielle générative et son impact sur le développement de logiciels Feb 26, 2024 pm 10:28 PM

L’essor de l’intelligence artificielle entraîne le développement rapide du développement de logiciels. Cette technologie puissante a le potentiel de révolutionner la façon dont nous construisons des logiciels, avec des impacts considérables sur tous les aspects de la conception, du développement, des tests et du déploiement. Pour les entreprises qui tentent de se lancer dans le domaine du développement dynamique de logiciels, l’émergence de la technologie de l’intelligence artificielle générative leur offre des opportunités de développement sans précédent. En intégrant cette technologie de pointe dans leurs processus de développement, les entreprises peuvent augmenter considérablement l’efficacité de la production, réduire les délais de mise sur le marché des produits et lancer des produits logiciels de haute qualité qui se démarquent sur le marché numérique extrêmement concurrentiel. Selon un rapport de McKinsey, la taille du marché de l’intelligence artificielle générative devrait atteindre 4 400 milliards de dollars d’ici 2031. Ces prévisions reflètent non seulement une tendance, mais montrent également le paysage technologique et commercial.

PHP Jenkins 101 : la seule façon de démarrer avec CI/CD PHP Jenkins 101 : la seule façon de démarrer avec CI/CD Mar 09, 2024 am 10:28 AM

Introduction L'intégration continue (CI) et le déploiement continu (CD) sont des pratiques clés du développement de logiciels modernes qui aident les équipes à fournir des logiciels de haute qualité plus rapidement et de manière plus fiable. Jenkins est un outil CI/CD open source populaire qui automatise le processus de création, de test et de déploiement. Cet article explique comment configurer un pipeline CI/CD avec Jenkins à l'aide de PHP. Configurer Jenkins Installer Jenkins : Téléchargez et installez Jenkins à partir du site Web officiel de Jenkins. Créer un projet : créez un nouveau projet à partir du tableau de bord Jenkins et nommez-le en fonction de votre projet php. Configurer le contrôle de source : configurez le référentiel git de votre projet PHP en tant que Jenkin

Comment désactiver les cas de test dans Maven ? Comment désactiver les cas de test dans Maven ? Feb 26, 2024 am 09:57 AM

Maven est un outil de gestion de projet open source couramment utilisé pour des tâches telles que la construction, la gestion des dépendances et la publication de documents de projets Java. Lorsque nous utilisons Maven pour la construction d'un projet, nous souhaitons parfois ignorer la phase de test lors de l'exécution de commandes telles que mvnpackage, ce qui améliorera la vitesse de construction dans certains cas, en particulier lorsqu'un prototype ou un environnement de test doit être construit rapidement. Cet article détaillera comment ignorer la phase de test dans Maven, avec des exemples de code spécifiques. Pourquoi devriez-vous ignorer les tests Lors du développement d'un projet, il est souvent

Le guide complet des cours de test en Java : tutoriel détaillé du débutant à la maîtrise Le guide complet des cours de test en Java : tutoriel détaillé du débutant à la maîtrise Jan 24, 2024 am 08:12 AM

Apprenez à écrire des cours de test Java : un guide complet du débutant à la maîtrise Ces dernières années, Java est devenu l'un des langages de programmation les plus populaires. Qu'il s'agisse de développement d'applications mobiles, d'écriture de services back-end ou de traitement de Big Data, Java est partout. Écrire du code de haute qualité est la quête de tout excellent développeur Java. Les tests font partie intégrante de la garantie de la qualité du code. En écrivant des classes de test, nous pouvons garantir l'exactitude et la stabilité du code, réduire l'apparition de bogues et améliorer la fiabilité et la maintenabilité du logiciel. Cet article vous guidera dès le début