ソフトウェア開発における中国と米国の違いについて話してみましょう(TikTokの「QAと軽テスト重視」を例に)
従業員数 10 万人の企業では、単体テストもコードレビューもなく、QA のみに頼っていますが、これが「効果的な」方法です。
多くの中国海外企業が急速に海外市場を占拠しています。たとえば、TikTokは2021年に、当初のリーダーである米国アルファベット傘下のGoogleを超え、世界で最もアクセス数の多いインターネットWebサイトとなった。
中国人が作ったインターネットプラットフォームは、常に世界を支配してきたアメリカのプラットフォームを超え、実質的かつ象徴的な意味を持つ発展である。
同時に、中国のテクノロジー企業の影響力が日に日に増大するにつれ、多くの人が中国企業の労働文化に興味を持ち、何がこの成功の原動力となっているのかを理解したいと考えています。
最近、米国の中国企業 (TikTok) で 1 年以上働いている中国系アメリカ人 (以前は Snapchat と Facebook で働いていた) が、YouTube に「働くことについての 5 つのおかしなこと」というビデオを投稿しました。 for Tiktok (なぜ私たちが PM とエンジニアリングの仕事を辞めたのか)』では、中国企業から学んだ経験を 5 つの側面にまとめています。
YouTube 地址: https://www.youtube.com/watch?v=RNUrZFkHXlo
彼の見解は、中国と米国、あるいは中国のテクノロジーに興味を持つ多くの人々を Twitter 上で惹きつけました。ネチズンは、この投稿がエンジニアリングの違いを正確に説明していると信じました。中国と米国の文化について、次の点を翻訳しました:
最初の点: 多くの西側企業が単体テストを作成しますが、これが非常に基本的なことであることは誰もが知っています。もの。しかし、ここの中国人エンジニアは単体テストを書く必要がありません。すべてのコードのコミットは QA 部門による手動テストに依存し、チームは各コードのコミットをコミットする前に手動でテストします。
これは完全にクレイジーだと思うかもしれませんが、単体テストを書いてみてはいかがでしょうか?実際、テストに QA を使用するということは、エンジニアが機能に集中して迅速に開始することが期待される一方、テストの作成は完全に QA に任せられることを意味します。
そしてもう 1 つの衝撃的なことは、コードのマージ リクエストには承認が必要ないことです。 10万人の会社(これは小さなスタートアップではありません)では、単体テストもコードレビューもなく、QAに頼るだけですが、これが「働く」方法です。大規模な停電は発生していません。
中国企業は、より多くの製品チームを抱え、ビジネスの成長を推進するために運用チームに依存する傾向が強いですが、これは米国の受動的でデータ主導型の成長の考え方とは異なります。私が気づいた中国とアメリカのテクノロジー企業の主な違いは、中国企業は人的資源への依存度が高いことであり、この利点が中国企業が新しい市場を迅速に占有できる主な理由でもあります。
2 点目: 中国企業では拡張性が低すぎるため、1 対 1 の会議はほとんど見られません。各チーム内ではそれ以上の細分化がほとんどないため、より多くの同僚とのやり取りが必要になります。 60 人以上が同時に参加し、90 分以上続く典型的なトップダウンの会議をよく目にします。ほとんどの場合、1 人が前で発言し、残りは会議資料に目を通します。欧米の企業によくあるような、オープンな話し合いや議論はほとんどありません。
3 番目のポイント: ヘッドハンターによる人材の引き抜きを防ぐために、ここでは明確な組織構造システムは発表されていません。組織構造は非常にフラットで、一部のエンジニアリング マネージャーは 200 件を超えるパフォーマンス レビュー レポート (部門なし!) を処理しなければならず、レポート提出者の中には直属の上司がどのような人物なのかさえ知らない人もいます。
4 番目のポイント: プロセスと実行の点では、中国企業では大したことは起こっておらず、誰もが頭を下げて仕事に忙しく、噂話や道徳的な判断をすることはほとんどありません。一方で、中国企業はプロセス設計において十分に成熟していません。文書化および改善チームの同僚は、どれだけうまくやってもやる気を引き出すのが難しいです。エンジニアのコードをレビューする人は誰もいません。
5 番目のポイント: ワークライフバランスの観点から、アメリカチームは 996 を必要としませんが、中国のタイムゾーンに適応する必要があります。それは本当に大変で、それが人員削減の主な原因でもあり、私が対応したPMは全員1年後に辞めてしまいました。
中国には米国の 4 倍の STEM (科学、技術、工学、数学) の博士号取得者がいますが、技術職の数は米国よりも少ないため、中国での競争は中国よりも高いです。アメリカ、誰もが考えるこの状況を「巻き込み」といいます。中国人の同僚は、自分たちが技術的な優位性を失い、社会の発展から取り残されるのではないかと恐れているため、膨大な仕事エネルギーを爆発させることができます。
人間のQAについて話しましょう
中国と米国は、この分野で互いに歩調を合わせてきたと言えます。近年のテクノロジーやインターネットの革新の分野で中国は世界的に発展しており、企業が市場をうまく掌握できれば、少なくとも競争において一定の優位性を持っていることを示すことになる。
しかし、ルーカス氏の説明からは、中国と米国のソフトウェア開発プロセスにおけるいくつかの違いもさらにわかります。例えば、アメリカ企業はソフトウェア開発において技術文書や利用文書の詳細な仕様に細心の注意を払い、コードの提出とレビュープロセスに重点を置き、単体テストにも細心の注意を払っており、人手に頼らず開発に依存しています。最終的な品質を確保するためのプロセス。
インターネット企業の台頭により、多くのソフトウェアの設計、開発、リリース モデルが変化しました。
単体テストに関して言えば、従来の開発プロセスでは、一般的に QA (品質保証) がプログラムのブラックボックス テストを担当し、インターフェイスを呼び出すときに決定されたパラメーターを渡し、インターフェイスの応答値が満たされていることを確認します。ある期待です。単体テストはホワイトボックス テストの一種で、プログラムの各分岐のロジックを検証するテスト ケースを構築するために、テスト担当者がテスト対象のプログラムの構造を理解する必要があります。
明らかに後者の方が難易度が高く、ブラックボックステストのようにマンパワーの蓄積に頼って迅速に作業を完了することは不可能であるため、単体テストは納期の遅れにつながります。リリース サイクルをスピードアップするために、業務の分業は徐々に変化し、開発者は機能の作成に集中し、ビジネス リーダーは配信に集中し、開発者のテスト作業は無視されています。
開発と QA テストは、長い間注目を集めてきた古典的なトピックです。企業ごとに手法が異なり、現時点では中国とアメリカのソフトウェア開発チームの違いは非常に大きいです。 Google はその一例で、テストディレクターの James Whittaker 氏は 2011 年に、Google には「大規模な」テスト部門はなく、テスト作業の一部は開発者に委任されていると述べました。 「How Google Tests」の中で、James は次のように書いています。「テストと開発は同時に行われます。コードを書いたら、すぐにテストしてビルドします。その後、さらにコードを書き、テストを続けます。さらに良いのは、コードを作成するとき、またはコードを作成する前にテストを計画することです。独立したプロセスではなく、開発の一部です。品質はテストと同じではありません。品質を確保するには、製品の場合、開発とテストは、相互に区別できなくなるまで密接に連携する必要があります。品質はテストではなく開発から生まれます。 "
Google では、テスターは主に「開発者が自動フレームワークと関連プロセスをテストできることを確認します」。開発者が他者に依存するという問題を解決するための重要なアイデアは、チームに多数のテスターを配置しないことです。 10 年以上前、Google の開発とテストの比率は 10:1 で、後には「Go to QA」というスローガンを叫ぶようになりました。 「QA 部門が死んだ日」という記事の中で、Google の専門家は、単体テストが QA キラーであるとさえ考えています:
単体テストは、コードの特定の部分をテストして、それが機能することを確認する方法です。そして、それはソフトウェアパズルに適合します。単体テストでコードの 90% 以上をチェックできるという証拠があり、QA の手動テスト ツールとは異なり、適切に構築された自動単体テストはコードベースに合わせて進化し、リアルタイムでコードをテストできます。
2017年、Googleは「自動テスト技術よりエンジニアリング効率の向上を重視している」という理由で10年間開催してきたテスト技術カンファレンスGTACの中止を発表しました。実際のエンジニアリング効率の実装は通常、「開発者が開発作業を完了したことに基づいて、テスト、オンライン、運用と保守のすべての作業も引き受ける必要がある」という事実に反映されており、開発者向けに必要なすべての完全なリンクが提供されています。 「ワンストップ」作業道路ツールチェーンのサポート。 しかし、Googleが以前提唱していた、開発に全面的に依存して品質を確保する手法は、ルーカス氏が述べた「QAへの依存」とはまさに対極にあるように思えます。 国内のインターネット企業は近年急速に台頭しており、2018 年初頭のメアリー ミーカー氏の年次インターネット レポートでは、時価総額/評価額トップ 20 のインターネット企業の半分を中国が占めています。国内のインターネット企業はビジネスモデルの革新を重視しており、ソフトウェアの開発プロセスも従来のソフトウェアと比べて変化し始めています。たとえば、問題がないことよりも反復速度の方が重要です。問題が発生した場合は、できるだけ早く特定して迅速に修復でき、影響を軽減できます。スケジュールどおりに納品することよりもユーザーからのフィードバックの方が重要です。最速のイテレーション速度で開発し、ユーザーのフィードバックを収集してこれを決定する 製品の機能を変更するかどうか、またはどのように変更するか; 納期の遅れにつながる可能性のある「テスト」リンクを放棄する...ただ、それはただのことです。この技術的な利点が改善なのか、それとも全員が徐々に変更する必要があるのか、私たちには明確に言うのは困難です。おそらく、欧米のソフトウェア産業の高度な管理手法や技術を組み合わせ、中国開発者の利点や専門知識を最大限に活用することで、ソフトウェア開発全体のレベルをより向上させることができるでしょう。 プログラミング関連の知識について詳しくは、Google は、テストの責任が開発者に移れば、開発者はよりクリーンなコードを記述し、欠陥の少ない高品質のソフトウェアを構築できると考えています。すべては、品質を損なうことなくコストを削減するために会社がどのように組織されるかにかかっています。
プログラミング ビデオ
をご覧ください。 !ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。
人気の記事
ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
ホットトピック

furmark についてどう思いますか? 1. メインインターフェイスで「実行モード」と「表示モード」を設定し、「テストモード」も調整して「開始」ボタンをクリックします。 2. しばらく待つと、グラフィックス カードのさまざまなパラメータを含むテスト結果が表示されます。ファーマークはどのように資格を取得しますか? 1. ファーマークベーキングマシンを使用し、約 30 分間結果を確認します。室温 19 度、ピーク値は 87 度で、基本的に 85 度前後で推移します。大型シャーシ、シャーシ ファン ポートが 5 つあり、前面に 2 つ、上部に 2 つ、背面に 1 つありますが、ファンは 1 つだけ取り付けられています。すべてのアクセサリはオーバークロックされていません。 2. 通常の状況では、グラフィックス カードの通常の温度は「30 ~ 85℃」である必要があります。 3. 周囲温度が高すぎる夏でも、通常の温度は「50〜85℃」です

新作ファンタジー妖精MMORPG『朱仙2』の「武威試験」が4月23日より開始されます。原作から数千年後の朱仙大陸で、どのような新たな妖精冒険物語が繰り広げられるのでしょうか?六界の不滅の世界、フルタイムの不滅のアカデミー、自由な不滅の生活、そして不滅の世界のあらゆる種類の楽しみが、不滅の友人たちが直接探索するのを待っています! 「Wuwei Test」の事前ダウンロードが開始されました。Fairy friends は公式 Web サイトにアクセスしてダウンロードできます。サーバーが起動する前に、アクティベーション コードは事前ダウンロードとインストール後に使用できます。完成されました。 『朱仙2』「不作為試験」開催時間:4月23日10:00~5月6日23:59 小説『朱仙』を原作とした朱仙正統続編『朱仙2』の新たな童話冒険篇原作の世界観をベースにゲーム背景を設定。

「オペレーション デルタ」は本日(3月7日)より大規模PCテスト「コードネーム:ZERO」を開始する。先週末、上海で本作のオフラインフラッシュモブ体験イベントが開催され、幸運にも17173さんも参加することができました。前回のテストからわずか 4 か月以上しか離れていないため、この短期間で「オペレーション デルタ」がどのような新たなハイライトやサプライズをもたらすのか、興味が湧きます。 4か月以上前、私はオフライン試食会と最初のベータ版で「オペレーション デルタ」を体験しました。当時、ゲームは「危険なアクション」モードのみを開きました。しかし、デルタ作戦は当時としてはすでに印象的なものでした。大手メーカーがモバイルゲーム市場に群がる中、国際基準に匹敵するFPS

人工知能の台頭により、ソフトウェア開発の急速な発展が促進されています。この強力なテクノロジーは、ソフトウェアの構築方法に革命をもたらす可能性があり、設計、開発、テスト、展開のあらゆる側面に広範囲に影響を与えます。動的なソフトウェア開発の分野に参入しようとしている企業にとって、生成人工知能テクノロジーの出現は、前例のない開発の機会を提供します。この最先端のテクノロジーを開発プロセスに組み込むことで、企業は生産効率を大幅に向上させ、製品の市場投入までの時間を短縮し、競争の激しいデジタル市場で目立つ高品質のソフトウェア製品を発売することができます。マッキンゼーのレポートによると、生成人工知能の市場規模は 2031 年までに 4 兆 4,000 億米ドルに達すると予測されています。この予測はトレンドを反映しているだけでなく、テクノロジーとビジネスの状況も示しています。

Maven は、Java プロジェクトの構築、依存関係の管理、ドキュメントのリリースなどのタスクに一般的に使用されるオープンソースのプロジェクト管理ツールです。プロジェクトのビルドに Maven を使用する場合、mvnpackage などのコマンドを実行するときにテスト フェーズを無視したい場合があります。これにより、場合によってはビルド速度が向上します (特にプロトタイプまたはテスト環境を迅速に構築する必要がある場合)。この記事では、Maven でテスト フェーズを無視する方法を、具体的なコード例とともに詳しく説明します。テストを無視すべき理由 プロジェクト開発中は、次のことがよくあります。

はじめに 継続的インテグレーション (CI) と継続的デプロイメント (CD) は、チームが高品質のソフトウェアをより迅速かつ確実に提供するのに役立つ、最新のソフトウェア開発における重要な手法です。 Jenkins は、ビルド、テスト、デプロイメントのプロセスを自動化する人気のオープンソース CI/CD ツールです。この記事では、PHP を使用して Jenkins で CI/CD パイプラインを設定する方法について説明します。 Jenkins のセットアップ Jenkins のインストール: Jenkins の公式 Web サイトから Jenkins をダウンロードしてインストールします。プロジェクトの作成: Jenkins ダッシュボードから新しいプロジェクトを作成し、php プロジェクトに一致する名前を付けます。ソース管理の構成: PHP プロジェクトの git リポジトリを Jenkin として構成します

Go 言語の関数クロージャは単体テストで重要な役割を果たします。 値のキャプチャ: クロージャは外側のスコープ内の変数にアクセスできるため、テスト パラメータをキャプチャしてネストされた関数で再利用できます。テスト コードの簡素化: クロージャは値をキャプチャすることで、ループごとにパラメーターを繰り返し設定する必要性を排除し、テスト コードを簡素化します。可読性の向上: クロージャを使用してテスト ロジックを整理し、テスト コードをより明確で読みやすくします。

機能テストでは、ブラック ボックス テストとホワイト ボックス テストを通じて機能の機能を検証します。一方、コード カバレッジでは、テスト ケースによってカバーされるコードの部分を測定します。言語 (Python や Java など) が異なれば、テスト フレームワーク、カバレッジ ツール、機能も異なります。実際の事例では、関数テストとカバレッジ評価に Python の Unittest と Coverage、Java の JUnit と JaCoCo を使用する方法を示します。