Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Как Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ Π² GoogleΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 19

Автор Π£ΠΈΡ‚Ρ‚Π°ΠΊΠ΅Ρ€ .

β€” ΠΎΠ±Π° тСста ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΠΎΡ€Ρ‚Ρƒ для Π΅Π΄ΠΈΠ½ΠΎΠ»ΠΈΡ‡Π½ΠΎΠ³ΠΎ получСния сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°;

β€” ΠΎΠ±Π° тСста ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΡ‚ΡŒ;

β€” ΠΎΠ΄ΠΈΠ½ тСст создаСт ΠΈ заполняСт Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ пытаСтся ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚Ρƒ ΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ сбои Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² самих тСстах, Π½ΠΎ ΠΈ Π² сосСдних тСстах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ систСмС, Π΄Π°ΠΆΠ΅ Ссли эти Π΄Ρ€ΡƒΠ³ΠΈΠ΅ тСсты ΡΠΎΠ±Π»ΡŽΠ΄Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°. Наша систСма ΡƒΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ситуации ΠΈ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Ρ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅Π² тСстов-Π±ΡƒΠ½Ρ‚Π°Ρ€Π΅ΠΉ.

Если ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³, тСст Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΅Π΄ΠΈΠ½ΠΎΠ»ΠΈΡ‡Π½ΠΎ Π½Π° Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ машинС. Но это лишь Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ВсС Ρ€Π°Π²Π½ΠΎ придСтся ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ зависимости ΠΎΡ‚ критичСских рСсурсов. НапримСр, эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ:

β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ тСст Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ свободный ΠΏΠΎΡ€Ρ‚ Ρƒ систСмы выполнСния тСстов, Π° тСстируСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° динамичСски ΠΊ Π½Π΅ΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ;

β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ тСст создаСт всС ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, созданной ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ систСмой ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для Π½Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ тСстов;

β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ тСст Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со своим экзСмпляром Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС с Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ систСмой выполнСния тСстов дирСкториями ΠΈ ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ.

РСбята, отвСтствСнныС Π·Π° сопровоТдСниС систСмы выполнСния тСстов Google, довольно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описали свою срСду выполнСния тСстов. Π˜Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ называСтся Β«Π­Π½Ρ†ΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΠ΅ΠΉ тСстирования GoogleΒ», ΠΈ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° всС вопросы ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ рСсурсы доступны тСстам Π²ΠΎ врСмя выполнСния. «ЭнциклопСдия тСстирования» составлСна ΠΊΠ°ΠΊ стандартизированный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π³Π΄Π΅ Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² Β«Π΄ΠΎΠ»ΠΆΠ΅Π½Β» ΠΈ Β«Π±ΡƒΠ΄Π΅Ρ‚Β» ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ энциклопСдии ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ΡΡ Ρ€ΠΎΠ»ΠΈ ΠΈ обязанности тСстов, исполнитСлСй тСстов, систСм хостинга, Ρ€Π°Π½Ρ‚Π°ΠΉΠΌ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм ΠΈ Ρ‚.Π΄.

Вряд Π»ΠΈ всС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ Google Ρ‡ΠΈΡ‚Π°Π»ΠΈ Β«Π­Π½Ρ†ΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡŽ тСстирования». Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ…, ΠΈΠ»ΠΈ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΠ± ΠΈ ошибок, ΠΈΠ»ΠΈ постоянно Π½Π°Ρ‚Ρ‹ΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Ρ€Π΅Ρ†Π΅Π½Π·Π΅Π½Ρ‚ΠΎΠ² ΠΈΡ… ΠΊΠΎΠ΄Π°. Они ΠΈ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ общая срСда выполнСния тСстов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ всС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Google. Π§Ρ‚ΠΎΠ±Ρ‹ это ΡƒΠ·Π½Π°Ρ‚ΡŒ, достаточно Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² ΡΠ½Ρ†ΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡŽ. Им нСизвСстно, Ρ‡Ρ‚ΠΎ этот Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ β€” главная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ тСсты Π²Π΅Π΄ΡƒΡ‚ сСбя Π² ΠΎΠ±Ρ‰Π΅ΠΉ срСдС Ρ€ΠΎΠ²Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π½Π° Π»ΠΈΡ‡Π½ΠΎΠΉ машинС написавшСго тСст ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°. ВСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ Π΄Π°ΠΆΠ΅ самых слоТных систСм ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π΅ΠΌΠΈ, ΠΊΡ‚ΠΎ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚. ВсС ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π·Π°Ρ‡Π΅ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

ВСстированиС Π½Π° скоростях ΠΈ Π² ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… Google

ΠŸΡƒΠ΄ΠΆΠ° Π“ΡƒΠΏΡ‚Π°, ΠœΠ°Ρ€ΠΊ Айви ΠΈ Π”ΠΆΠΎΠ½ ПСникс

БистСмы Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ β€” Π³Π»Π°Π²Π½Ρ‹Π΅ Π³Π΅Ρ€ΠΎΠΈ обСспСчСния работоспособности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Випичная схСма Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° систСм Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ такая.

1. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСднюю копию ΠΊΠΎΠ΄Π°.

2. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всС тСсты.

3. Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ….

4. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ 1.

РСшСниС ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ справляСтся с нСбольшой ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·ΠΎΠΉ, ΠΏΠΎΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠΎΠ΄Π° Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ, Π° тСсты ΠΏΡ€ΠΎΠ³ΠΎΠ½ΡΡŽΡ‚ΡΡ быстро. Π§Π΅ΠΌ большС становится ΠΊΠΎΠ΄Π°, Ρ‚Π΅ΠΌ сильнСС ΠΏΠ°Π΄Π°Π΅Ρ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСм. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ врСмя «чистого» запуска, ΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ³ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ всС большС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ сломаСтся, Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ становится всС слоТнСС.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π² Google происходит быстро ΠΈ с Ρ€Π°Π·ΠΌΠ°Ρ…ΠΎΠΌ. ΠœΡ‹ добавляСм Π² Π±Π°Π·Ρƒ ΠΊΠΎΠ΄Π° всСго Google большС 20 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ, ΠΈ 50% Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π½Π΅ΠΉ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ мСсяц. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ выпуск всСх ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΎΠΏΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π° автотСсты, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ нСсколько Ρ€Π°Π· Π² дСнь, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” Ρ€Π°Π· Π² нСсколько нСдСль.

По ΠΈΠ΄Π΅Π΅, ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎΠΉ Π±Π°Π·Π΅ ΠΊΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΡƒΡ‡Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ сборки Π² состоянии Β«Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ свСта». БистСма Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ с этим. Она Π΄ΠΎΠ»ΠΆΠ½Π° сразу Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, приводящСС ΠΊ сбою тСста, Π° Π½Π΅ просто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Ρ…ΡƒΠΆΠ΅, ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΡ… всС Π² поисках Π½Π°Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»Ρ.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΌΡ‹ построили систСму Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ сборки (рис. 2.6), которая Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ зависимости ΠΈ выдСляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ, Π° ΠΏΠΎΡ‚ΠΎΠΌ выполняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ…. И Ρ‚Π°ΠΊ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния. БистСма построСна Π½Π° инфраструктурС ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… вычислСний Google, которая позволяСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ большоС количСство сборок ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ тСсты сразу ΠΆΠ΅ послС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, ΠΊΠ°ΠΊ наша систСма Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΠΈ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь, Ρ‡Π΅ΠΌ типичная нСпрСрывная сборка. Π’ нашСм сцСнарии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° тСста ΠΈ Ρ‚Ρ€ΠΈ измСнСния, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ эти тСсты. ВСст gmail_server_tests ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΈΠ·-Π·Π° измСнСния 2. Випичная систСма Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ сборки сообщила Π±Ρ‹, Ρ‡Ρ‚ΠΎ ΠΊ сбой случился ΠΈΠ·-Π·Π° измСнСния 2 ΠΈΠ»ΠΈ 3, Π½Π΅ уточняя. ΠœΡ‹ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния, поэтому запускаСм тСсты нСзависимо, Π½Π΅ доТидаясь Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° «сборка–тСстированиС». Анализ зависимостСй сузит Π½Π°Π±ΠΎΡ€ тСстов для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния, поэтому Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π΅ количСство Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ тСста Ρ‚ΠΎ ΠΆΠ΅ самоС.

Рис. 2.6. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ систСм Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

Наша систСма Π±Π΅Ρ€Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ зависимостях ΠΈΠ· спСцификаций сборки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ компилируСтся ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ входят Π² сборку прилоТСния ΠΈ тСста. ΠŸΡ€Π°Π²ΠΈΠ»Π° сборки ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, объСдинив ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ описаниС процСсса сборки. Наша систСма строит Π² памяти Π³Ρ€Π°Ρ„ΠΈΠΊ зависимостСй сборки, ΠΊΠ°ΠΊ Π½Π° рис. 2.7, ΠΈ обновляСт Π΅Π³ΠΎ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ. На основании этой схСмы ΠΌΡ‹ опрСдСляСм всС тСсты, связанныС прямо ΠΈΠ»ΠΈ косвСнно с ΠΊΠΎΠ΄ΠΎΠΌ, вошСдшим Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. ИмСнно эти тСсты Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС сборки. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Рис. 2.7. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ зависимостСй сборки

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… измСнСния Π² ΠΊΠΎΠ΄Π΅, находящихся Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… уровнях Π΄Π΅Ρ€Π΅Π²Π° зависимостСй, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ тСстов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚, Π΄Π°Ρ‚ΡŒ Π»ΠΈ Π·Π΅Π»Π΅Π½Ρ‹ΠΉ свСт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ Gmail ΠΈ Buzz.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ 1: ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΠ±Ρ‰Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅

Для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ сцСнария возьмСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π² common_collections_util, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 2.8.

Рис. 2.8. ИзмСнСниС в common_collections_util.h

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΌΡ‹ пСрСмСщаСмся ΠΏΠΎ линиям зависимостСй Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ. Π’Π°ΠΊ ΠΌΡ‹ Π½Π°ΠΉΠ΄Π΅ΠΌ всС тСсты, зависящиС ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Когда поиск Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, Π° это Π·Π°ΠΉΠΌΠ΅Ρ‚ лишь Π΄ΠΎΠ»ΠΈ сСкунды, Ρƒ нас Π±ΡƒΠ΄ΡƒΡ‚ всС тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Π½Π°Ρ‚ΡŒ, ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ статусы Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² (рис. 2.9).

Рис. 2.9. ВСсты, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ влияСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ 2: ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² зависимом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ возьмСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π² youtube_client (рис. 2.10).

Рис. 2.10. ИзмСнСниС в youtube_client

ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·, ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ влияСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° buzz_client_tests ΠΈ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ статус ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Buzz (рис. 2.11).

Рис. 2.11. Buzz Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ количСство тСстов, прогоняСмых для ΠΎΠ΄Π½ΠΎΠ³ΠΎ измСнСния, Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π² точности Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². УмСньшСниС количСства тСстов для ΠΎΠ΄Π½ΠΎΠ³ΠΎ измСнСния позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всС Π½ΡƒΠΆΠ½Ρ‹Π΅ тСсты для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ зафиксированного измСнСния. Нам становится Π»Π΅Π³Ρ‡Π΅ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ.

Π£ΠΌΠ½Ρ‹Π΅ инструмСнты ΠΈ возмоТности инфраструктуры ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… вычислСний сдСлали систСму Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ быстрой ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ. И ΠΌΡ‹ постоянно стараСмся Π΅Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ, хотя ΠΎΠ½Π° ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² тысячах ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Google, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ быстрСС ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ большС ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ. И β€” Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ β€” наш прогрСсс Π·Π°ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ.

ВСст-сСртификация

Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠŸΠ°Ρ‚Ρ€ΠΈΠΊ ΠšΠΎΡƒΠΏΠ»Π΅Π½Π΄ Π·Π°ΠΌΠ΅Ρ‡Π°Π΅Ρ‚, ΠΊΠ°ΠΊ слоТно Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΌΡ‹ создали ΠΈΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ компанию ΠΈ наняли тСхничСски ΠΏΠΎΠ΄ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… тСстировщиков. А Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‚ΡΠ½ΡƒΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² процСсс, ΠΌΡ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ «ВСст-ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽΒ». ΠžΠ³Π»ΡΠ΄Ρ‹Π²Π°ΡΡΡŒ Π½Π°Π·Π°Π΄, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сыграла Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² становлСнии ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹ тСстирования Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π² Google.

ВСст-сСртификация Π½Π°Ρ‡ΠΈΠ½Π°Π»Π°ΡΡŒ ΠΊΠ°ΠΊ сорСвнованиС. Π‘ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Ссли ΠΌΡ‹ сдСлаСм эту Ρ€Π°Π±ΠΎΡ‚Ρƒ прСстиТной? Π§Ρ‚ΠΎ, Ссли Π½Π°Π³Ρ€Π°ΠΆΠ΄Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ тСстовым ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌ? А Ρ‡Ρ‚ΠΎ, Ссли ΠΌΡ‹ скаТСм, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сСртифицированныС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹? А ΠΌΠΎΠΆΠ΅Ρ‚, Π΅Ρ‰Π΅ ввСсти систСму Π½Π°Π³Ρ€Π°Π΄Π½Ρ‹Ρ… Π±Π΅ΠΉΠ΄ΠΆΠ΅ΠΉ (рис. 2.12), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‰Π΅Π³ΠΎΠ»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ?

Рис. 2.12. Π‘Π΅ΠΉΠ΄ΠΆΠΈ тСст-сСртификации ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° Π²ΠΈΠΊΠΈ-страницах ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²