> 헤드라인 > 본문

소프트웨어 개발에서 중국과 미국의 차이점에 대해 이야기해 보겠습니다. (TikTok의 'QA 및 가벼운 테스트 강조'를 예로 들어)

青灯夜游
풀어 주다: 2022-03-03 09:52:26
앞으로
3378명이 탐색했습니다.

10만명 규모의 회사에서는 단위 테스트나 코드 리뷰도 없고 QA에만 의존하는데 이게 "효과적인" 방법이에요!

많은 중국 해외 기업들이 해외 시장을 빠르게 점유하고 있습니다. 예를 들어, 2021년에 TikTok은 미국의 Alphabet이 소유한 최초의 리더인 Google을 제치고 세계에서 가장 많이 방문한 인터넷 웹사이트가 되었습니다.

중국인이 만든 인터넷 플랫폼은 항상 세계를 지배해왔던 미국 플랫폼을 능가했습니다. 이는 매우 실질적이고 상징적인 의미의 발전입니다.

동시에 중국 기술 기업의 영향력이 날로 증가함에 따라 많은 사람들이 중국 기업의 근무 문화에 대해 궁금해하고 이러한 성공의 원동력이 무엇인지 알고 싶어합니다.

최근 미국 내 중국 기업(TikTok)에서 1년 이상 근무한 중국계 미국인(이전에는 Snapchat 및 Facebook에서 근무)이 YouTube에 'TikTok에서 일하는 데 대한 5가지 미친 점(왜? 우리는 PM과 엔지니어링 일을 그만뒀다)”라며 중국 기업에서 배운 경험을 다섯 가지 측면으로 요약했다.

소프트웨어 개발에서 중국과 미국의 차이점에 대해 이야기해 보겠습니다. (TikTok의 QA 및 가벼운 테스트 강조를 예로 들어)

YouTube 地址:
https://www.youtube.com/watch?v=RNUrZFkHXlo
로그인 후 복사

그의 견해는 중국과 미국 또는 중국 기술에 관심이 있는 많은 트위터 사람들의 관심을 끌었습니다. 네티즌들은 이 게시물이 중국과 미국 간의 공학 문화의 차이를 정확하게 설명하고 있다고 믿습니다.

첫 번째 요점: 많은 서구 회사들이 단위 테스트를 작성하고 있으며 이것이 매우 기본적인 것임을 모두가 알고 있습니다. 하지만 여기 중국 엔지니어들은 단위 테스트를 작성할 필요가 없습니다! 모든 코드 커밋은 QA 부서의 수동 테스트에 의존하며 팀은 각 코드 커밋을 커밋하기 전에 수동으로 테스트합니다.

이것이 완전히 미친 짓이라고 생각할 수도 있습니다. 단위 테스트를 작성해 보는 것은 어떨까요? 실제로 테스트를 위해 QA를 사용한다는 것은 엔지니어가 기능에 집중하고 신속하게 시작해야 하는 반면 테스트 작성은 전적으로 QA에 맡겨진다는 것을 의미합니다.

그리고 또 다른 충격적인 점은 병합 요청에도 승인이 필요하지 않다는 것입니다. 10만 명 규모의 회사(소규모 스타트업이 아님)에서는 단위 테스트도 코드 리뷰도 없이 QA에만 의존하는데 이것이 '효과적인' 방법입니다! 큰 정전은 발생하지 않았습니다.

중국 기업은 더 많은 제품 팀을 보유하는 경향이 있으며 비즈니스 성장을 추진하기 위해 운영 팀에 의존하는 경향이 있습니다. 이는 미국의 수동적이고 데이터 중심 성장 아이디어와 다릅니다. 제가 느낀 중국과 미국 기술 기업의 가장 큰 차이점은 중국 기업이 인력에 대한 의존도가 더 높다는 점입니다. 이러한 장점은 중국 기업이 새로운 시장을 빠르게 선점할 수 있는 핵심 이유이기도 합니다.

두 번째 포인트: 중국 기업에서는 확장성이 너무 떨어지기 때문에 일대일 회의가 거의 없습니다. 각 팀 내에는 추가적인 세분화가 거의 없으므로 더 많은 동료와의 상호 작용이 필요합니다. 나는 종종 90분 이상 지속되고 60명 이상의 사람들이 동시에 참여하는 전형적인 하향식 회의를 봅니다. 대부분의 경우 한 사람이 앞에서 말하고 나머지는 회의 자료를 살펴봅니다. 유럽과 미국 기업에서 흔히 볼 수 있는 공개 대화나 토론은 거의 없습니다.

세 번째 요점: 헤드헌터의 밀렵을 방지하기 위해 여기에는 명확한 조직 구조 시스템이 발표되지 않았습니다. 조직 구조는 매우 수평적입니다. 일부 엔지니어링 관리자는 200개가 넘는 성과 검토 보고서(부서 없이!)를 처리해야 하고 일부 보고서 제출자는 직속 상사가 어떻게 생겼는지조차 모릅니다.

네번째 포인트: 중국 기업은 프로세스나 실행 면에서 별로 똥이 없습니다. 다들 머리 숙이고 일하느라 바빠서 가십을 퍼뜨리거나 도덕적인 판단을 내리는 일이 거의 없습니다. 반면 중국 기업은 프로세스 설계가 충분히 성숙되지 않았습니다. 문서화 및 개선 팀의 동료들은 아무리 잘해도 동기를 부여하기가 어렵습니다. 아무도 엔지니어의 코드를 검토하지 않습니다.

포인트 5: 일과 삶의 균형 측면에서 미국 팀은 996이 필요하지 않지만 중국 시간대에 적응해야 합니다. 정말 힘들고, 제가 상대했던 PM들이 모두 1년 만에 떠나는 것이 이직의 주된 이유이기도 합니다.

중국의 STEM(과학, 기술, 공학, 수학) 박사 학위 수는 미국의 4배이지만 기술 직위는 미국보다 적기 때문에 경쟁률이 미국보다 높습니다. 국가 사람들은 이러한 상황을 "내부 롤"이라고 부릅니다. 중국 동료들은 기술 우위를 잃고 사회 발전에 뒤쳐질 것을 두려워해 엄청난 업무 에너지를 터뜨릴 수 있다.

휴먼 QA에 대해 이야기해보자

최근 몇 년간 중국과 미국은 기술과 인터넷 혁신 분야에서 서로 보조를 맞춰왔다고 할 수 있습니다. 이는 적어도 경쟁에서 특정 이점이 있음을 보여줍니다.

그러나 루카스의 설명을 보면 중국과 미국의 소프트웨어 개발 프로세스에서 몇 가지 차이점을 더 확인할 수 있습니다. 예를 들어, 미국 기업은 소프트웨어 개발 시 기술 문서 및 사용 문서의 세부 사양에 큰 관심을 기울이고, 코드 제출 및 검토 프로세스에 중점을 두고 있으며, 단위 테스트에도 특별한 관심을 기울입니다. 인력에 의존하지 않고 개발에 의존합니다. 최종 품질을 보장하는 프로세스.

인터넷 회사의 등장으로 인해 많은 소프트웨어 설계, 개발 및 출시 모델이 바뀌었습니다.

단위 테스트 측면에서 보면 전통적인 개발 프로세스에서 일반적으로 QA(품질 보증)는 프로그램 블랙박스 테스트를 담당하고 인터페이스 호출 시 특정 매개변수를 전달한 다음 인터페이스 응답 값이 특정 기대치를 충족하는지 확인합니다. . 단위 테스트는 일종의 화이트박스 테스트로, 테스터가 테스트 중인 프로그램의 구조를 이해하고 프로그램의 각 분기 논리를 검증하기 위한 테스트 케이스를 구성해야 합니다.

분명히 후자가 더 까다롭고, 블랙박스 테스트처럼 쌓인 인력에 의존해서는 빠르게 작업을 완료하는 것이 불가능하므로 단위 테스트로 인해 배송이 느려집니다. 릴리스 주기를 가속화하기 위해 업무 분업이 점진적으로 바뀌었습니다. 개발자는 기능 생성에 집중하는 반면, 비즈니스 리더는 제공에 집중하고 개발자의 테스트 작업은 무시됩니다.

개발 및 QA 테스트는 오랫동안 관심을 받아온 고전적인 주제입니다. 회사마다 방법이 다릅니다. 이 시점에서 중국과 미국 소프트웨어 개발 팀의 차이는 상당히 큽니다. Google의 테스트 책임자인 James Whittaker는 2011년에 Google에 "거대한" 테스트 부서가 없으며 대신 일부 테스트 작업이 개발자에게 위임되었다고 말했습니다. James는 "Google 테스트 방법" 기사에서 다음과 같이 썼습니다.

"테스트와 개발은 동시에 이루어집니다. 몇 가지 코드를 작성하고 바로 테스트하고 빌드하세요. 그런 다음 더 많은 코드를 작성하고 계속 테스트하세요. 코딩 또는 코딩 전 테스트는 별도의 프로세스가 아니며 개발의 일부입니다.품질은 테스트와 동일하지 않습니다. 품질은 테스트가 아닌 개발에서 나옵니다."

Google에서 테스터는 주로 테스트를 위해 "개발자가 자동화된 프레임워크 및 관련 프로세스를 갖추고 있는지 확인"합니다. 개발자가 다른 사람에게 의존하는 문제를 해결하기 위한 핵심 아이디어는 팀에 많은 수의 테스터를 두는 것이 아닙니다. 10여년 전만 해도 구글의 개발과 테스트 비율은 10:1이었고, 나중에는 "Go to QA"라는 슬로건을 외치기도 했습니다. "QA 부서가 죽은 날"이라는 기사에서 Google 전문가들은 단위 테스트를 QA 킬러로 간주하기도 합니다.

단위 테스트는 특정 코드 조각이 제대로 작동하고 소프트웨어에 적합한지 확인하기 위해 테스트하는 방법입니다. 퍼즐. 단위 테스트를 통해 코드의 90% 이상을 확인할 수 있다는 증거가 있으며, QA의 수동 테스트 도구와 달리 적절하게 구축된 자동화된 단위 테스트는 코드베이스와 함께 발전하여 코드를 실시간으로 테스트할 수 있습니다.

Google은 테스트 책임이 개발자에게 이전되면 개발자가 더 깔끔한 코드를 작성하고 결함이 적은 고품질 소프트웨어를 구축할 것이라고 믿습니다. 이는 모두 품질 저하 없이 비용을 절감하기 위해 회사가 어떻게 조직되어 있는지에 달려 있습니다.

2017년, 구글은 “자동화된 테스트 기술보다 엔지니어링 효율성 향상에 더 관심을 갖는다”는 이유로 10년 동안 개최된 테스트 기술 컨퍼런스인 GTAC를 취소했다고 발표했습니다. 실제로 엔지니어링 효율성의 구현은 일반적으로 "개발자가 개발 작업을 완료한 것을 기반으로 테스트, 온라인, 운영 및 유지 관리의 모든 작업을 수행해야 한다"는 사실에 반영되어 개발자의 작업에 필요한 모든 전체 링크를 제공합니다. "원스톱" 작업 도로 툴체인 지원.

하지만 이전에 Google이 옹호했던 방식은 전적으로 개발에 의존하여 품질을 보장하는 방식은 Lucas가 언급한 "QA에 대한 의존"과 정반대인 것 같습니다.

국내 인터넷 기업은 최근 몇 년간 급속도로 성장했습니다. 2018년 초 Mary Meeker의 연례 인터넷 보고서에서 중국은 시가총액/가치 평가 상위 20개 인터넷 기업 중 절반을 차지했습니다. 국내 인터넷 기업은 비즈니스 모델의 혁신을 강조하고 있으며, 소프트웨어 개발 프로세스는 기존 소프트웨어에 비해 약간의 변화를 겪기 시작했습니다. 예를 들어, 문제가 없는 것보다 반복 속도가 더 중요합니다. 문제가 발생하면 가능한 한 빨리 찾아서 복구할 수 있으며, 영향을 줄이는 것이 일정에 맞춰 배송되는 것보다 더 중요합니다. 가장 빠른 반복 속도를 개발한 다음 이를 결정하기 위해 사용자 피드백을 수집합니다. 제품의 기능을 변경할지 또는 어떻게 변경할지, 배송이 지연될 수 있는 "테스트" 링크를 포기합니다...

단지 저희로서는 어렵습니다. 이러한 기술적 이점이 개선인지 아니면 모든 사람이 점진적으로 변화해야 하는 것인지 명확하게 알려줍니다. 아마도 유럽과 미국 소프트웨어 산업의 선진 관리 방법과 기술을 결합하고 중국 개발자의 장점과 전문성을 최대한 활용함으로써 전반적인 소프트웨어 개발 수준을 더 향상시킬 수 있을 것입니다.

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 비디오를 방문하세요! !

관련 라벨:
원천:toutiao.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!