Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс

corner case

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «corner case» Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

Corner case β€” A corner case (or pathological case) is a problem or situation that occurs only outside of normal operating parameters – specifically one that manifests itself when multiple environmental variables or conditions are simultaneously at extreme… … Wikipedia

Corner Gas β€” The Corner Gas logo Format Comedy Created by Brent Butt Starring Brent Butt … Wikipedia

Corner Boys β€” The Wire episode Episode no. Season 4 Episode 8 … Wikipedia

Case Vacanze Caputo β€” (Montelepre,Π˜Ρ‚Π°Π»ΠΈΡ) ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ отСля: АдрСс: Via Madonna Del Carmine 43, 90040 Montelepre … ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΎΡ‚Π΅Π»Π΅ΠΉ

Corner solution β€” A corner solution is a special solution to an agent s maximization problem in which the quantity of one of the arguments in the maximized function is zero. The more usual solution will lie in the non zero interior at the point of tangency between … Wikipedia

Corner transfer matrix β€” In statistical mechanics, the corner transfer matrix describes the effect of adding a quadrant to a lattice. Introduced by Rodney Baxter in 1968 as an extension of the Kramers Wannier row to row transfer matrix, it provides a powerful method of… … Wikipedia

Corner detection β€” Feature detection Output of a typical corner detection algorithm … Wikipedia

Corner kick β€” A picture of the exact moment the blue white team s corner kick is taken. A corner kick is a method of restarting play in a game of association football. It was first devised in Sheffield under the Sheffield Rules 1867. It was adopted by the… … Wikipedia

Corner β€” For other uses, see Corner (disambiguation). A corner is the place where two lines meet at an angle, and a concave corner of intersecting walls is generally thought to be the least beneficial position to be in a life or death situation. From this … Wikipedia

Corner β€” Recorded in the spellings of Corner and Cornner, this interesting name is English Medieval but from two quite distinct French origins. The first is from the word cornier meaning an angle or corner, and as such was introduced into England after… … Surnames reference

Case’s Corner Historic District β€” Infobox nrhp | name =Case s Corner Historic District nrhp type = hd caption = location= Weston, Massachusetts lat degrees = 42 lat minutes = 21 lat seconds = 29 lat direction = N long degrees = 71 long minutes = 17 long seconds = 55 long… … Wikipedia

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

corner case

1 corner case

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

Corner case β€” A corner case (or pathological case) is a problem or situation that occurs only outside of normal operating parameters – specifically one that manifests itself when multiple environmental variables or conditions are simultaneously at extreme… … Wikipedia

Corner Gas β€” The Corner Gas logo Format Comedy Created by Brent Butt Starring Brent Butt … Wikipedia

Corner Boys β€” The Wire episode Episode no. Season 4 Episode 8 … Wikipedia

Case Vacanze Caputo β€” (Montelepre,Π˜Ρ‚Π°Π»ΠΈΡ) ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ отСля: АдрСс: Via Madonna Del Carmine 43, 90040 Montelepre … ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΎΡ‚Π΅Π»Π΅ΠΉ

Corner solution β€” A corner solution is a special solution to an agent s maximization problem in which the quantity of one of the arguments in the maximized function is zero. The more usual solution will lie in the non zero interior at the point of tangency between … Wikipedia

Corner transfer matrix β€” In statistical mechanics, the corner transfer matrix describes the effect of adding a quadrant to a lattice. Introduced by Rodney Baxter in 1968 as an extension of the Kramers Wannier row to row transfer matrix, it provides a powerful method of… … Wikipedia

Corner detection β€” Feature detection Output of a typical corner detection algorithm … Wikipedia

Corner kick β€” A picture of the exact moment the blue white team s corner kick is taken. A corner kick is a method of restarting play in a game of association football. It was first devised in Sheffield under the Sheffield Rules 1867. It was adopted by the… … Wikipedia

Corner β€” For other uses, see Corner (disambiguation). A corner is the place where two lines meet at an angle, and a concave corner of intersecting walls is generally thought to be the least beneficial position to be in a life or death situation. From this … Wikipedia

Corner β€” Recorded in the spellings of Corner and Cornner, this interesting name is English Medieval but from two quite distinct French origins. The first is from the word cornier meaning an angle or corner, and as such was introduced into England after… … Surnames reference

Case’s Corner Historic District β€” Infobox nrhp | name =Case s Corner Historic District nrhp type = hd caption = location= Weston, Massachusetts lat degrees = 42 lat minutes = 21 lat seconds = 29 lat direction = N long degrees = 71 long minutes = 17 long seconds = 55 long… … Wikipedia

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ описаниС тСстирования Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… случаСв (corner cases) #51

Comments

daynin commented Feb 9, 2017

Но Π½Π΅ сказано ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. А ΠΈΠΌΠ΅Π½Π½ΠΎ, для любого ΠΊΠΎΠ΄Π° цСлСсообразно ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ кСйсы:

Плюс слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Π½Π΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ тСст ΠΏΠ°Π΄Π°Π΅Ρ‚, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ тСсту Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ нСльзя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΉΡ‚ΠΈ ΠΏΠΎ positive way ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΊΠΎΠ΄Π΅

The text was updated successfully, but these errors were encountered:

dzhiriki commented Feb 9, 2017

ΠŸΡ€ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ тСст Π½Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ написано Π² сСкции ΠΏΡ€ΠΎ TDD. Но Π΄Π°, стоит Π½Π° это большС внимания Π°ΠΊΡ†Π΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

А Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ Ρ‚ΡƒΡ‚ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΡˆΡŒ ΠΏΠΎΠ΄ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ? Если ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ, Ρ‚ΠΎ ΠΎΠ½ΠΎ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅. Или я ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ тСбя понял?

daynin commented Feb 9, 2017

@dzhiriki Π΄Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, я Π½Π΅ совсСм Ρ‚ΠΎΡ‡Π½ΠΎ выразился

А Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ Ρ‚ΡƒΡ‚ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΡˆΡŒ ΠΏΠΎΠ΄ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ?

Π― ΠΈΠΌΠ΅Π» Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ positive way. НапримСр, для sum это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°

Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ кСйсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π°ΠΊ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π½ΠΎ ΠΈ кСйсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅Π²Π΅Ρ€Π½Ρ‹.

dzhiriki commented Feb 9, 2017

Понял. Π”Π°, стоит ΠΏΠΎΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚. А Ρ‚ΠΎ нюансов Ρ‚ΡƒΡ‚ достаточно:

daynin commented Feb 9, 2017

Если ΠΌΡ‹ тСстируСм, Ρ‡Ρ‚ΠΎ 10 ΠΈ 20 Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 30, Ρ‚ΠΎ Π½Π΅Ρ‚ особого смысла Π΄Π΅Π»Π°Ρ‚ΡŒ тСст Π½Π° Π½Π΅ Ρ€Π°Π²Π½ΠΎ 42.

Π•ΡΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰Π΅Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ negative cases. Π›ΡŽΠ΄ΠΈ, ΠΊ соТалСнию, склонны ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ positive way ΠΈ тСсты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ false positive. Извини, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π°Π½Π³Π»ΠΈΡ†ΠΈΠ·ΠΌΠΎΠ², Π½ΠΎ я, Ссли чСстно, Π½Π΅ знаю, ΠΊΠ°ΠΊ это ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Π΅ΠΌΠΊΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎ-русски, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π½Π΅ Π·Π²ΡƒΡ‡Π°Π»ΠΎ странно πŸ™‚

dzhiriki commented Feb 9, 2017

ΠŸΡƒΠ½ΠΊΡ‚Ρ‹, Ρ‡Ρ‚ΠΎ я описал Π²Ρ‹ΡˆΠ΅ Π±Ρ‹Π»ΠΈ адрСсованы Π½Π΅ Ρ‚Π΅Π±Π΅, Π° просто для истории, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ Π½Π΅ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ \ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ. Π’Π°ΠΊ-Ρ‚ΠΎ я понял ΠΎ Ρ‡Π΅ΠΌ Ρ€Π΅Ρ‡ΡŒ πŸ™‚

ΠžΡ„Ρ„Ρ‚ΠΎΠΏ: Π’ΠΈΠ΄Π΅ΠΎ я Π²ΠΈΠ΄Π΅Π». Π’ Β«Π“ΠŸ ΠΈ МРМ» Π±Ρ‹Π»Π° такая ΠΆΠ΅ ΠΈΠ³Ρ€Π°, ΠΊ слову πŸ™‚

daynin commented Jan 18, 2018

Π’ #65 Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π» Ρ€Π°Π·Π΄Π΅Π» «Testing», этот issue ΡƒΠΆΠ΅ Π½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ВСстированиС Π³Π»Π°Π·Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°: инструмСнты, ΠΌΠΈΡ„Ρ‹, ситуации

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс

Π•Π²Π³Π΅Π½ΠΈΠΉ Π‘Π°Ρ„Ρ€ΠΎΠ½ΠΎΠ², Senior Developer, DataArt

«ВСстированиС ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° β€” для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡ… отсутствиС!Β»
ЭдсгСр ДСйкстра

ВСстированиС β€” это прикладная, стандартизированная, инТСнСрная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, которая ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ отраслСй чСловСчСской ΠΆΠΈΠ·Π½ΠΈ. ВСстированиС, ΠΊΠ°ΠΊ философия, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, сущСствуСт Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ дольшС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΌΡ‹ Π²Ρ‹ΠΊΠΎΠ²Π°Π»ΠΈ ΠΌΠ΅Ρ‡. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ достаточно Π»ΠΈ острым ΠΎΠ½ получился, Π΅Π³ΠΎ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°ΡŽΡ‚. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ эпохи Π΄Π°ΠΆΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ΅, скаТСм, Ρ€Π°Π±Π΅.

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½ΠΎ?

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс
Рис. 1. Π€ΠΎΡ€ΠΌΠ° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ количСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π΅Π΅ заполнСния.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ такая ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² тСстировании. На рисункС ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΏΠΎΠ»Π΅ΠΉ. Π’ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… полях ΠΌΠΎΠΆΠ½ΠΎ ввСсти ΠΎΡ‚ 1 Π΄ΠΎ 255 Π±ΡƒΠΊΠ², Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΠΎΡ‚ 1 Π΄ΠΎ 20 символов. МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ строки пустыми. Π’Π½ΠΈΠ·Ρƒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ число Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ, Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰Π΅Π΅ количСство элСмСнтарных частиц Π²ΠΎ всСлСнной. Π― Π΄ΡƒΠΌΠ°ΡŽ, это ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ кСйсы Π½Π΅Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ. Π”Π° ΠΈ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, нСцСлСсообразно.

Π’ΠΈΠΏΡ‹ ошибок Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс
Рис. 2. Π‘Ρ…Π΅ΠΌΠ° распрСдСлСния ошибок ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ, согласно Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠ½ΠΈΠ³ΠΈ Π‘Ρ‚ΠΈΠ²Π° МакконнСлла Β«Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄Β».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 25% ΠΎΠ±Ρ‰Π΅Π³ΠΎ объСма приходится Π½Π° структурныС ошибки. Они Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π΅Ρ‰Π΅ Π½Π° этапС проСктирования, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создаСтС структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ манипуляций с Π½ΠΈΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ создаСтС Π½Π΅ΠΊΠΈΠΉ Β«ΠΊΠ»Π΅ΠΉΒ», ΡΠΊΡ€Π΅ΠΏΠ»ΡΡŽΡ‰ΠΈΠΉ эти структуры. Π­Ρ‚ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ пласт Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ошибок.

Π”Π°Π»Π΅Π΅ ΠΈΠ΄ΡƒΡ‚ ошибки Π΄Π°Π½Π½Ρ‹Ρ…, связанныС с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ‚. Π΄. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° находится Π½Π° послСднСм мСстС. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ, создав Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΠΎΡ‡Π΅Π½ΡŒ слоТно Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс
Рис. 3. РаспрСдСлСниС ошибок ΠΏΠΎ стадиям Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘Ρ…Π΅ΠΌΠ° Π‘Ρ‚ΠΈΠ²Π° МакконнСлла.

На этап конструирования ΠΈ проСктирования приходится основной пласт ошибок ΠΈ Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ². Π—Π΄Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ извСстноС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠŸΠ°Ρ€Π΅Ρ‚ΠΎ: 80 % Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ лишь Π² 20 % вашСго ΠΊΠΎΠ΄Π°. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΊΠΎΡ€Π½Π΅Ρ€-кСйсы. Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с матСматичСской, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с финансовой Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ошибок ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΈ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠΈ чисСл ΠΈ Ρ‚. ΠΏ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π°ΡˆΠΈΡ… кСйсов Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π½ΠΎ основная Ρ‡Π°ΡΡ‚ΡŒ Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² нСбольшом участкС ΠΊΠΎΠ΄Π°.

Π’Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, примСняСтС Π»ΠΈ Π²Ρ‹ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΠΈΠ»ΠΈ ΡŽΠ½ΠΈΡ‚-тСстированиС, нСльзя ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΡ€Ρ‹Π² тСстами 50 % ΠΊΠΎΠ΄Π°, Π²Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ 50 % Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ². Если Π²Ρ‹ написали 100 ΡŽΠ½ΠΈΡ‚-тСстов нСльзя ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ качСство вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΏΠΎΠ²Ρ‹ΡΠΈΠ»ΠΎΡΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π΄Π²ΠΎΠ΅. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ мыслит Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΈΠ·ΠΌΡƒ тСстирования, провСряСт самыС Π»Π΅Π³ΠΊΠΈΠ΅ кСйсы. НуТныС Ρ„ΠΎΡ€ΠΌΡ‹ Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ стандартными ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ„Π°ΠΌΠΈΠ»ΠΈΠ΅ΠΉ ΠΈ Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ΄Π΅Ρ‚ дальшС. Он с большой Π΄ΠΎΠ»Π΅ΠΉ вСроятности Π½Π΅ станСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ случаи, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ остаСтся пустым, ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π² Π½Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π±ΠΈΠ»ΠΈ имя Π΄Π»ΠΈΠ½ΠΎΠΉ Π² 255 Π·Π½Π°ΠΊΠΎΠ². НС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ½ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с нСстандартными символами, комбинациями строчных ΠΈ Π·Π°Π³Π»Π°Π²Π½Ρ‹Ρ… Π±ΡƒΠΊΠ².

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

ВСстированиС Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΈ Π±Π΅Π»ΠΎΠ³ΠΎ ящиков

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ тСстирования Π² Π²ΠΈΠ΄Π΅ Π°Π½Π°Π»ΠΈΠ·Π° Π±Π΅Π»ΠΎΠ³ΠΎ, сСрого ΠΈ Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ящиков, интСрСсна Π½Π°ΠΌ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ смотрит Π½Π° собствСнный ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ Π½Π° Π±Π΅Π»Ρ‹ΠΉ ящик. А тСстировщик ΠΈ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ ящик β€” ΠΎΠ½ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π·Π½Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΠΈΡ‡ΠΈ Π²Π°ΠΆΠ½Ρ‹ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

Π‘Π°Π³ Π½Π° сайтС ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ‚ΠΎΠ²Π°Ρ€ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² ΠΊΠΎΡ€Π·ΠΈΠ½Ρƒ, для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€” минорная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Достаточно Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ ΠΈ Ρ€Π°ΡΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ, ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС β€” ΠΈ всС ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Для тСстировщика ΠΈ Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° Ρ‚Π°ΠΊΠΎΠΉ Π±Π°Π³ оказываСтся критичСским, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ позволяСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‚ΠΎΠ²Π°Ρ€.

Но самый интСрСсный ящик β€” сСрый. Π‘ Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚Π΅, ΠΊΠΎΠ³ΠΎ я Π½Π°Π·Ρ‹Π²Π°ΡŽ ΡƒΠΌΠ½Ρ‹ΠΌΠΈ тСстировщиамки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π²Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² ΠΊΠΎΠ΄ ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. Π˜Ρ… интСрСсуСт, ΠΊΠ°ΠΊ происходит Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΈ коммуникация с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

КакиС тСсты ΠΏΠΈΡˆΡƒΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс
Рис. 4. ΠŸΠΈΡ€Π°ΠΌΠΈΠ΄Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования.

Основа ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Ρ‹ β€” ΡŽΠ½ΠΈΡ‚-тСстированиС β€” ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡŽΠ½ΠΈΡ‚-тСстов Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ. Π”Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС Π½Π°ΡˆΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Acceptance Tests ΠΈ нСпосрСдствСнноС UI-тСстированиС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ„ΠΈΡ‡.

F.I.R.S.T

F.I.R.S.T. β€” мСтодология описания Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ тСсты. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅, Π½ΠΎ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ эти характСристики ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΡ‚Ρ€Π°ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π° автоматичСскиС тСсты. Π•Π΅ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ β€” извСстный дядюшка Π‘ΠΎΠ± β€” Π°Π²Ρ‚ΠΎΡ€ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ программирования.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс
Рис. 5. Π‘Ρ…Π΅ΠΌΠ° TDD-процСсса.

Π”Π²Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡŽΠ½ΠΈΡ‚-тСстирования β€” ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚Ρ‹ TDD ΠΈ BDD. BDD-ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ основываСтся Π½Π° TDD ΠΈ ΠΏΡ€ΠΈΠ·Π²Π°Π½ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ нСбольшиС нСдостатки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² TDD. Бинтаксис BDD-тСстов Π² большСй стСпСни ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° бизнСс ΠΈ понятСн Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ тСхничСски ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ. TDD β€” ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. BDD β€” ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ.

Как выглядит TDD-процСсс?

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ тСст для ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Ρ‰Π΅ Π½Π΅ написан. БоотвСтствСнно, Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π», ΠΊΠΎΠ΄ Π΅Ρ‰Ρ‘ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ. ΠŸΠΎΡ‚ΠΎΠΌ Π²Ρ‹ всС-Ρ‚Π°ΠΊΠΈ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄, запускаСтС тСст ΠΈ ΡƒΠ±Π΅ΠΆΠ΄Π°Π΅Ρ‚Π΅ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ тСст Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π”Π°Π»Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ свой тСст (уточняСтС трСбования, Π΄ΠΎΠ±Π°Π²Π»Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… условий ΠΈ Ρ‚. ΠΏ.). ПослС этого ваш тСст пСрСстаСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΈ Π²Ρ‹ снова ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ нСобходимости ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄. Π­Ρ‚ΠΎΡ‚ процСсс Π·Π°Ρ†ΠΈΠΊΠ»Π΅Π½ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΏΠΎΠΊΠ° ваш тСст Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ критСриям ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ стоят. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ссли Π²Ρ‹ Ρ€Π΅ΡˆΠ°Π΅Ρ‚Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅, ваша Π·Π°Π΄Π°Ρ‡Π° β€” Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΡ€Π½ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ уравнСния. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ написали тСст, ΠΈ ΠΎΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π±Π°Π·Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл. Но Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ комплСксноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ получится, тСст завалится ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ эта схСма Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π² ΠΊΡ€ΠΎΠ²ΠΈ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²: Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΉ, ΠΏΠΎΠΊΠ° ваша Ρ„ΠΈΡ‡Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всСм трСбованиям.

Как выглядит TDD?

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ написан Π½Π° JavaScript, Π½ΠΎ Π΄ΡƒΠΌΠ°ΡŽ, Π² синтаксичСском ΠΏΠ»Π°Π½Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ для PHP ΠΈΠ»ΠΈ Java. ВсС достаточно ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ. ΠžΡ‚ΠΊΡ€Ρ‹Π² тСст, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ протСстированы Π½Π΅ Π±Ρ‹Π»ΠΈ. МоТно Π»Π΅Π³ΠΊΠΎ ΠΈ быстро Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ. И Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ ваша функция.

BDD ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° TDD, Π½ΠΎ отличаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² описании Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для людСй, ΠΌΠ΅Π½Π΅Π΅ ΠΏΠ»ΠΎΡ‚Π½ΠΎ связанных с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ: ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ бизнСс-Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠ².

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΡ€Π½Π΅Ρ€ кСйс
Рис. 6. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΡŽΠ½ΠΈΡ‚-тСстирования.

QUnit β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² jQuery, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡŽΠ½ΠΈΡ‚-тСсты Π² TDD-стилС, с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ assert. Π’Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ qunit.test, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ тСста, ΠΈ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.Π—Π°Ρ‚Π΅ΠΌ запускаСтС Π΅Π³ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ваш ΠΊΠΎΠ΄, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Mocha β€” Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для тСстирования, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты Π² TDD ΠΈ BDD-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ совмСстно с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ TDD-ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² Ρ€Π°Π±ΠΎΡ‚Π΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ тСсты Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Π° ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ (asserts) ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ другая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (Ρ‡Π°Ρ‰Π΅ всСго Chai).

Sinonβ€” инструмСнт для создания Mocks, stubs ΠΈ spies, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‡Π΅Π½ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² соврСмСнных ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Он содСрТит Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ большоС количСство Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π²ΠΎ врСмя создания ΡŽΠ½ΠΈΡ‚-тСстов.

Jasmine β€” популярный BDD-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая фактичСски стала стандартом Π² экосистСмС самого распространСнного Javascript-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Angular.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСссы Π² 2 Ρ€Π°Π·Π°

Одна ΠΈΠ· основных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² ИВ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… β€” Π²Π·Π°ΠΈΠΌΠΎΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… ΠΌΠΈΡ€ΠΎΠ²: бизнСса ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Одни хотят быстро ΠΈ красиво, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ хотят ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰Π΅Π΅ описаниС Ρ…ΠΎΡ‚Π΅Π»ΠΊΠΈ. ΠŸΠ΅Ρ€Π΅Π³ΠΎΠ²ΠΎΡ€Ρ‹ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ Π΅Ρ‰Π΅ большС β€” исправлСниС ошибок. Как эффСктивно Π²Ρ‹ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ процСсс, рассказываСт Π·Π°ΠΌ тСхничСского Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Π° ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвиса Β«Π—Π²ΡƒΠΊΒ» ΠšΠΈΡ€ΠΈΠ»Π» Π›Π°Ρ€ΠΈΠ½.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (+тСстированиС) β€” самоС Π΄ΠΎΡ€ΠΎΠ³ΠΎΠ΅ Π·Π²Π΅Π½ΠΎ Π² создании ИВ-Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π»ΡŽΠ±Ρ‹ΠΌ способом.

Если Π·Π°Π΄Π°Ρ‡Π° поступаСт Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ с Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ описаниСм, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π½Π΅ΠΉ Π½Π΅Ρ‚ всСх Use cases ΠΈ Corner cases, Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ массу Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° выяснСниС нюансов. Или Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ Π²ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π΅ΠΌΠΈΠΊΡƒ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ всС, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° свою ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ ΠΌΠΈΡ€Π°, ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ β€œΡ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊ Ρ‚Π°ΠΊ видит”.

Если Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ рСсурсы, Π½Π΅Ρ‚ систСмного Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°, Π»ΠΈΠ±ΠΎ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ вСсь бэклог, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Ρ‹Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ эффСктивно Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Одно ΠΈΠ· Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ β€” Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° стандарта описания Π·Π°Π΄Π°Ρ‡. Π›ΡƒΡ‡ΡˆΠ΅ большС ΠΏΡ€ΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π΄ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‡Π΅ΠΌ Π΄ΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ Π² процСссС исполнСния. Π—Π΄Π΅ΡΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ баланс ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ.

Основа баланса β€” смСщСниС большСй части Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° постановщика/прСдставитСля бизнСса. Π§Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ½ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ„ΠΈΡ‡Ρƒ, Ρ‚Π΅ΠΌ Π²Π΅Ρ€Π½Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅.

Однако часто бизнСс Π½Π΅ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ трСбуСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Π²Π΅Ρ€Π½ΠΎ ΠΈ Π² срок. Как Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ язык?

Бквозь слёзы ΠΈ ΠΏΠΎΡ‚ ΠΌΡ‹ Π² Π—Π²ΡƒΠΊΠ΅ сформировали стандарт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ 90% ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ любой it-Π·Π°Π΄Π°Ρ‡ΠΈ.

Главная Ρ†Π΅Π»ΡŒ β€” Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π» Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Ρ‚ΠΎ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ постановки Π·Π°Π΄Π°Ρ‡ΠΈ. Π’Π°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ.

Для этого Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ аспСкты Π·Π°Π΄Π°Ρ‡ΠΈ:

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ аспСкт.

Для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ опрСдСлСния, Ρ‡Ρ‚ΠΎ трСбуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² постановкС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ SMART:

ΠšΠ°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ пытаСтся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ?

КакиС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ достигнуты Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ?

КакиС тСхнологичСскиС трСбования ΠΈ ограничСния ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅Ρ‚ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ?

Какая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ оТидаСтся?

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ US Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ стСпСни ΠΈΠ³Ρ€Π°ΡŽΡ‚ Ρ€ΠΎΠ»ΡŒ, Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π²ΡˆΡƒΡŽ спСцификациям Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, сцСнариям использования ΠΈ Ρ‚.ΠΏ., ΠΎΠ½ΠΈ всС ΠΆΠ΅ ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ рядом Ρ‚ΠΎΠ½ΠΊΠΈΡ…, Π½ΠΎ критичСских нюансов:

ВСкст самой US Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ/дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² систСмС, Π΅Π³ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ ΠΈ Π²Ρ‹Π³ΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ история случится.

US ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎ критСриям INVEST:

Какой сцСнарий Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ†Π΅Π»ΡŒ?

Π§Ρ‚ΠΎ UC Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

Π§Ρ‚ΠΎ UC Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

Π’ зависимости ΠΎΡ‚ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ ΠΈ слоТности Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ, UC ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов:

Для написания UC ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ CC Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ„ΠΈΡ‡Ρƒ ΠΈ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚/сцСнарий ΠΏΡ€ΠΈ всСвозмоТных комбинациях этих Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ².

Для этого цСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π° пСрСсСчСнии Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ описан Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚/сцСнарий.

Π‘ Ρ‚Π΅ΠΎΡ€ΠΈΠ΅ΠΉ всё понятно, Π½ΠΎ ΠΊΠ°ΠΊ Π΄Π΅Π»ΠΎ обстоит Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅? Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠ΅ описаниС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ сохранСния настроСк прилоТСния.

Π‘ΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ настройки прилоТСния

Π’ Ρ…ΠΎΠ΄Π΅ опроса Π±Ρ‹Π»ΠΎ выявлСно, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π΅Π³ΠΎ послСднСС состояниС (настройки). По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сСрвисами.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ распространСнный UX для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Π‘ΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ настройки прилоТСния Π½Π° сСрвСрной сторонС Π² связкС с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, я Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎ ΠΌΠΎΠΈ настройки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ½Π΅ Π½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ

β€” ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

β€” ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

β€” ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ устанавливаСт настройки прилоТСния.

β€” БистСма сохраняСт настройки.

β€” ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

β€” ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (+ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ устройствС).

β€” БистСма ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ сохранСнныС настройки Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

β€” ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сохранСнныС настройки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со старыми ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅. ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ боль. Как извСстно, Ссли Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ внСдрСния, конвСрсия увСличиваСтся.

Π’Ρ‚ΠΎΡ€ΠΎΠ΅. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство Π·Π°Π΄Π°Ρ‡ для Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎ стандарту, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠ°ΠΊ это Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π’Ρ€Π΅Ρ‚ΡŒΠ΅. ΠŸΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь ΠΏΠΎ стандарту. ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° всС вопросы, внСсти ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π’ΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚Ρ€ΡƒΠ΄, ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния Π½ΠΈΠΆΠ΅.

Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ΅. Π’ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ всС нововвСдСния, ΠΊΠ°ΠΊ экспСримСнт. Если ΠΎΠ½ удался (Π±Ρ‹Π»ΠΈ достигнуты Ρ†Π΅Π»ΠΈ), ΠΎΠ½ приТивСтся сам собой, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ мотивация Ρƒ людСй Π±ΡƒΠ΄Π΅Ρ‚ осознанной. Если Π½Π΅ удался, ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ.

ΠŸΡΡ‚ΠΎΠ΅. Π—Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ нововвСдСния Ρ„Π°ΠΊΡ‚Π°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ Ρ†ΠΈΡ„Ρ€ β€” сравнитС с ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ Π΄ΠΎ внСдрСния. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»Π°ΡΡŒ Π½Π° ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ-Ρ‚ΠΎ, количСство ошибок ΡƒΠΏΠ°Π»ΠΎ Π½Π° ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ-Ρ‚ΠΎ.

КаТдая систСма, находящаяся Π² ΠΏΠΎΠΊΠΎΠ΅, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΈΡ‚ΡŒΡΡ измСнСнию. ΠŸΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… стандартов/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ процСссов Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с сопротивлСниСм. Но ΠΈΠ³Ρ€Π° стоит свСч. Π›ΡƒΡ‡ΡˆΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ β€” это ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ. Если ΠΎΠ½ΠΈ пошли Π²Π²Π΅Ρ€Ρ…, Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Ρ‹ Π½Π° Π²Π΅Ρ€Π½ΠΎΠΌ ΠΏΡƒΡ‚ΠΈ.

Π’ Β«Π—Π²ΡƒΠΊΠ΅Β» послС внСдрСния стандарта ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ качСство Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎΡΡŒ Π² 2 Ρ€Π°Π·Π°. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎΡ‚ всСх участников ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *