Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС

Π’ΠΈΠ΄Ρ‹ тСстирования ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ

Π‘Π»ΠΎΡ‡Π½ΠΎΠ΅ (ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅, unit testing) тСстированиС Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ понятноС для программиста. ЀактичСски это тСстированиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ класса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² изоляции ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

НС всякий класс Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ unit тСстами. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ тСстируСмости ΠΈ зависимости класса Π΄Π΅Π»Π°Ρ‚ΡŒ явными. Π§Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ TDD ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡŽ, которая прСдписываСт сначала ΠΏΠΈΡΠ°Ρ‚ΡŒ тСст, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΊΠΎΠ΄ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ тСстируСмого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π’ΠΎΠ³Π΄Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° получаСтся тСстируСмой. РаспутываниС зависимостСй ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Dependency Injection. Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ зависимости явно сопоставляСтся интСрфСйс ΠΈ явно опрСдСляСтся ΠΊΠ°ΠΊ инТСктируСтся Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ β€” Π² конструктор, Π² свойство ΠΈΠ»ΠΈ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄.

Для осущСствлСния unit тСстирования ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ. НапримСр, NUnit ΠΈΠ»ΠΈ тСстовый Ρ„Ρ€Π΅ΠΉΠΌΡ„ΠΎΡ€ΠΊ ΠΈΠ· Visual Studio 2008. Для возмоТности тСстирования классов Π² изоляции ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Mock Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ. НапримСр, Rhino Mocks. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎ интСрфСйсам автоматичСски ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ для классов-зависимостСй, задавая Ρƒ Π½ΠΈΡ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

По unit Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ написано ΠΌΠ½ΠΎΠ³ΠΎ статСй. МнС ΠΎΡ‡Π΅Π½ΡŒ нравится MSDN ΡΡ‚Π°Ρ‚ΡŒΡ Write Maintainable Unit Tests That Will Save You Time And Tears, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈ понятно рассказываСтся ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ тСсты, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ становится ΠΎΠ±Ρ€Π΅ΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС, Π½Π° ΠΌΠΎΠΉ взгляд, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТноС для понимания. Π•ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ β€” это тСстированиС взаимодСйствия Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… классов, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… вмСстС ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Однако ΠΊΠ°ΠΊ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ понятно. МоТно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² тСстирования. Но это Ρ‡Ρ€Π΅Π²Π°Ρ‚ΠΎ.

Если ΠΊ Π½Π΅ΠΌΡƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΊ unit-Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² тСстах зависимости Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ mock-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Для Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ покрытия Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ тСстов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… сочСтаний Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ β€” это полиномиальная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, unit-тСсты Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ осущСствляСтся взаимодСйствиС (см. тСстированиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π±Π΅Π»ΠΎΠ³ΠΎ ящика). Из-Π·Π° этого послС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ взаимодСйствиС оказалось Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π² Π½ΠΎΠ²Ρ‹ΠΉ класс, тСсты Ρ€ΡƒΡˆΠ°Ρ‚ΡΡ. НуТно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ½Π²Π°Π·ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΆΠ΅ ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠ°ΠΊ ΠΊ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ систСмному Ρ‚ΠΎΠΆΠ΅ Π½Π΅ получаСтся. Π’ этом случаС Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ тСстов Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ°Π»ΠΎ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ всСх ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ взаимодСйствий. БистСмноС тСстированиС слишком высокоуровнСвоС.

ИдСя простая. Π£ нас Π΅ΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΡ…. Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ эти знания Π² тСкстовый Ρ„Π°ΠΉΠ». Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ спСцификация ΠΊ тСстовым Π΄Π°Π½Π½Ρ‹ΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ записано, ΠΊΠ°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ВСстированиС ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ соотвСтствиС спСцификации ΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

ΠŸΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ…ΠΈΡ‚Ρ€ΠΎΠ΅ ΠΈ с ΠΊΡƒΡ‡Π΅ΠΉ матСматичСских расчСтов. Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Π» Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΌΡƒ трСбуСтся ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΌΡ‹ напишСм ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Π³Π΄Π΅ запишСм всякиС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠΉΠ΄Π΅Ρ‚ наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

1) Допустим Π² присланных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… Π΅ΡΡ‚ΡŒ нСсколько Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ². Π’ΠΎΠ³Π΄Π° Π² спСцификации ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ:

$SectionNames = Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅, ВСкст ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

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

$IsCoverable = true

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… спСцификаций потрСбуСтся Π΄Π²ΠΈΠΆΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ считывал спСцификации ΠΈ провСрял ΠΈΡ… соотвСтствиС повСдСнию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π― Ρ‚Π°ΠΊΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ написал ΠΈ остался Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ. Π‘ΠΊΠΎΡ€ΠΎ Π²Ρ‹Π»ΠΎΠΆΡƒ Π΄Π²ΠΈΠΆΠΎΠΊ Π² Open Source. (UPD: Π’Ρ‹Π»ΠΎΠΆΠΈΠ»)

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

БистСмноС тСстированиС

БистСмноС β€” это тСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ. Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² это, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€ΡƒΡ‡Π½ΠΎΠ΅ тСстированиС β€” запустил, ΠΏΠΎΡ‰Π΅Π»ΠΊΠ°Π», убСдился, Ρ‡Ρ‚ΠΎ (Π½Π΅) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. МоТно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. К Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ β€” это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΡŽ MVC ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° β€” Passive View (Π²ΠΎΡ‚ Π΅Ρ‰Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ вариациям MVC ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°) ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ взаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с GUI Π² ΠΊΠΎΠ΄Π΅. Π’ΠΎΠ³Π΄Π° систСмноС тСстированиС сводится ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Presenter классов, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ View. Но Ρ‚ΡƒΡ‚ Π΅ΡΡ‚ΡŒ нюанс. Если Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Presenter классы Π² контСкстС систСмного тСстирования, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС зависимостСй ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡ‚ΡŒ mock ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. И Ρ‚ΡƒΡ‚ появляСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ привСдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π½ΡƒΠΆΠ½ΠΎΠ΅ для Π½Π°Ρ‡Π°Π»Π° тСстирования состояниС. Π’ упомянутой Π²Ρ‹ΡˆΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Scenario Driven Tests ΠΎΠ± этом говорится ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

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

БистСмноС тСстированиС

22.1. Π—Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ†Π΅Π»ΠΈ систСмного тСстирования

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ систСмного тСстирования Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ„Π°Π·Ρƒ ΠΏΡ€ΠΈΠ΅ΠΌΠΎ-сдаточных испытаний (для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π½Π° Π·Π°ΠΊΠ°Π·) ΠΈΠ»ΠΈ Π² Ρ„Π°Π·Ρƒ Π°Π»ΡŒΡ„Π°- ΠΈ Π±Π΅Ρ‚Π°-тСстирования (для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм ΠΎΠ±Ρ‰Π΅Π³ΠΎ примСнСния).

БистСмноС тСстированиС проводится Π² нСсколько Ρ„Π°Π·, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… провСряСтся ΠΎΠ΄ΠΈΠ½ ΠΈΠ· аспСктов повСдСния систСмы, Ρ‚.Π΅. проводится ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² систСмного тСстирования. ВсС эти Ρ„Π°Π·Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡ‚Π΅ΠΊΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π» посвящСн Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ особСнностСй ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² систСмного тСстирования Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„Π°Π·Π΅.

22.2. Π’ΠΈΠ΄Ρ‹ систСмного тСстирования

ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ систСмного тСстирования:

Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ для провСдСния пСрСчислСнных Π²ΠΈΠ΄ΠΎΠ² тСстирования ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π²Π° класса Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π½Π΅Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ трСбования явно ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ систСма Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ прСобразования Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅. ΠΠ΅Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ трСбования ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ свойства систСмы, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π΅ связанныС с Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°ΠΊΠΈΡ… свойств ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π½Π° запрос ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 2 сСкунд), врСмя бСспСрСбойной Ρ€Π°Π±ΠΎΡ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 10000 часов ΠΌΠ΅ΠΆΠ΄Ρƒ двумя сбоями), количСство ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ допускаСт Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ нСдСлю Ρ€Π°Π±ΠΎΡ‚Ρ‹ (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 100), ΠΈ Ρ‚.ΠΏ.

Рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²ΠΈΠ΄ тСстирования ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ систСмного тСстирования ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это дСлаСтся для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ тСстирования. Основная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ здСсь Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ систСмы ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ зависимостСй ΠΎΠ΄Π½ΠΈΡ… Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… (эффСкт «Ρ‡Π΅Ρ‚Π½ΠΎΠ³ΠΎ числа ошибок»).

ВСстированиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π”Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ тСстирования Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ систСма обСспСчиваСт Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… запросов. ВСстированиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ выполняСтся ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… уровнях Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° систСму, Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… конфигурациях оборудования. Π’Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚Ρ€ΠΈ основных Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы: количСство ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… систСмой ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… сСссий), количСство свободных систСмных рСсурсов, количСство свободных Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… рСсурсов.

ВСстированиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ позволяСт Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста Π² систСмС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² условиях ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ систСмных рСсурсов. Π’ этом случаС ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ тСстирования проводится Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ выдСлСния ΠΈ распрСдСлСния рСсурсов систСмы.

ВсС трСбования, относящиСся ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя числовыС ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’.Π΅., Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ «Π‘истСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π½Π° запрос ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ» являСтся Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ для тСстирования. Напротив, Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ «Π’рСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π½Π° запрос ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 2 сСкунды» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ протСстировано.

Π’ΠΎ ΠΆΠ΅ самоС относится ΠΈ ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ тСстирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ тСстирования ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈ систСмного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (количСство Ρ†ΠΈΠΊΠ»ΠΎΠ² процСссора, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ памяти, количСство свободных систСмных рСсурсов ΠΈ Ρ‚.ΠΏ.). Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½Ρ‹ скоростныС характСристики тСстируСмой систСмы (количСство ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ запросов, Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ запроса, Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Ρ‚.ΠΏ.).

Для провСдСния тСстирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ трСбуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ систСмы ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… для сСанса Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΉ. ВСстовоС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π΅Ρ‰Π΅ ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π° Ρ‚Π°ΠΊΠΎΠΌ тСстовом стСндС Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ модСлирования Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ уровня доступных рСсурсов.

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

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ тСория тСстирования

Π’ тСстировании Π½Π΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ Π² Ρ„ΠΈΠ·ΠΈΠΊΠ΅, ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ„Ρ€Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ становятся Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ процСссы ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ основныС опрСдСлСния Ρ‚Π΅ΠΎΡ€ΠΈΠΈ тСстирования.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ основным понятиям

ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (Software Testing) β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° соотвСтствия Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² повСдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, проводимая Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ тСстов, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ЦСль тСстирования β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° соотвСтствия ПО ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹ΠΌ трСбованиям, обСспСчСниС увСрСнности Π² качСствС ПО, поиск ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ выявлСны Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ°Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Для Ρ‡Π΅Π³ΠΎ проводится тСстированиС ПО?

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ тСстирования

QC (Quality Control) β€” ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ качСства ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° β€” Π°Π½Π°Π»ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² тСстирования ΠΈ качСства Π½ΠΎΠ²Ρ‹Ρ… вСрсий выпускаСмого ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

К Π·Π°Π΄Π°Ρ‡Π°ΠΌ контроля качСства относятся:

К Π·Π°Π΄Π°Ρ‡Π°ΠΌ обСспСчСния качСства относятся:

ВСрификация ΠΈ валидация β€” Π΄Π²Π° понятия тСсно связаны с процСссами тСстирования ΠΈ обСспСчСния качСства. К соТалСнию, ΠΈΡ… часто ΠΏΡƒΡ‚Π°ΡŽΡ‚, хотя отличия ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ достаточно сущСствСнны.

ВСрификация (verification) β€” это процСсс ΠΎΡ†Π΅Π½ΠΊΠΈ систСмы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ Π»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ этапа Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ условиям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ сформулированы Π² Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»Π΅.

Валидация (validation) β€” это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ соотвСтствия Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ПО оТиданиям ΠΈ потрСбностям ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π΅Π³ΠΎ трСбованиям ΠΊ систСмС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ аэробус А310, Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Π»ΠΊΠΈ вставали Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«Ρ‚ΠΎΡ€ΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅Β», ΠΊΠΎΠ³Π΄Π° шасси ΠΊΠΎΡΠ½ΡƒΠ»ΠΈΡΡŒ Π·Π΅ΠΌΠ»ΠΈ. Π—Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° шасси Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒΡΡ, Ρ‚ΠΎ Π·Π°ΠΊΡ€Ρ‹Π»ΠΊΠΈ ставим Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«Ρ‚ΠΎΡ€ΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅Β». Но Π²ΠΎΡ‚ Π²ΠΎ врСмя испытаний Π² Π’Π°Ρ€ΡˆΠ°Π²Π΅ самолСт выкатился Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ полосы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ‹Π»Π° мокрая ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ. Он ΠΏΡ€ΠΎΡΠΊΠΎΠ»ΡŒΠ·ΠΈΠ», Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π±Ρ‹Π» крутящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈ ΠΎΠ½ΠΈ, Π·Π°ΠΊΡ€Ρ‹Π»ΠΊΠΈ, ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈΡΡŒ. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Β«Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈΒ» β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сработала, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Β«Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈΒ» β€” Π½Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ измСнСния давлСния Π² ΡˆΠΈΠ½Π°Ρ… ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π»ΠΈΡΡŒ Π·Π°ΠΊΡ€Ρ‹Π»ΠΊΠΈ.

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО, ΠΌΠΎΠΆΠ½ΠΎ условно Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹:

Π­Ρ‚Π°ΠΏΡ‹ тСстирования:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ стадии:

ВрСбования

ВрСбования β€” это спСцификация (описаниС) Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ.
ВрСбования ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π±Π΅Π· Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ тСхничСской стороны Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

ΠžΡ‚Ρ‡Ρ‘Ρ‚ ΠΎ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π΅ (bug report) β€” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ любом нСдостаткС Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ΠΈΠ»ΠΈ систСмС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠ»ΠΈ систСму ΠΊ нСвозмоТности Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Атрибуты ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΎ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π΅:

Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Π±Π°Π³Π°

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС

Severity vs Priority

Π‘Π΅Ρ€ΡŒΡ‘Π·Π½ΠΎΡΡ‚ΡŒ (severity) ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΡƒΡ‰Π΅Ρ€Π±Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ наносится ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ сущСствованиСм Π΄Π΅Ρ„Π΅ΠΊΡ‚Π°. Severity выставляСтся тСстировщиком.

Градация Π‘Π΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΠΈ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π° (Severity):

Градация ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π΄Π΅Ρ„Π΅ΠΊΡ‚Π° (Priority):

ВСстовыС срСды

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„Π°Π·Ρ‹ тСстирования

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ тСстирования ПО

Π’ΠΈΠ΄ тСстирования β€” это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ активностСй, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° тСстированиС Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… характСристик систСмы ΠΈΠ»ΠΈ Π΅Ρ‘ части, основанная Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… цСлях.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС

Автор ΠΊΠ½ΠΈΠ³ΠΈ «A Practitioner’s Guide to Software Test Design», Lee Copeland, выдСляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ тСст-Π΄ΠΈΠ·Π°ΠΉΠ½Π°:

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ тСстирования

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС

ВСстированиС Π±Π΅Π»ΠΎΠ³ΠΎ ящика β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ тСстирования ПО, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ внутрСнняя структура/устройство/рСализация систСмы извСстны тСстировщику.

Богласно ISTQB, тСстированиС Π±Π΅Π»ΠΎΠ³ΠΎ ящика β€” это:

ВСстированиС Ρ‡Ρ‘Ρ€Π½ΠΎΠ³ΠΎ ящика β€” Ρ‚Π°ΠΊΠΆΠ΅ извСстноС ΠΊΠ°ΠΊ тСстированиС, основанноС Π½Π° спСцификации ΠΈΠ»ΠΈ тСстированиС повСдСния β€” Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° тСстирования, основанная Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с внСшними интСрфСйсами тСстируСмой систСмы.

Богласно ISTQB, тСстированиС Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ящика β€” это:

ВСстовая докумСнтация

ВСст ΠΏΠ»Π°Π½ (Test Plan) β€” это Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описываСт вСсь объСм Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, начиная с описания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, стратСгии, расписания, ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² Π½Π°Ρ‡Π°Π»Π° ΠΈ окончания тСстирования, Π΄ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ оборудования, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ†Π΅Π½ΠΊΠΈ рисков.

ВСст ΠΏΠ»Π°Π½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ вопросы:

Π§Π°Ρ‰Π΅ всСго Ρ‡Π΅ΠΊ-лист содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ дСйствия, Π±Π΅Π· ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π§Π΅ΠΊ-лист ΠΌΠ΅Π½Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½.

ВСстовый сцСнарий (test case) β€” это Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ шагов, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… условий ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ тСстируСмой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π΅Ρ‘ части.

Атрибуты тСст кСйса:

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

ВСория тСстирования ПО просто ΠΈ понятно

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! Π”Π°-Π΄Π°, ΠΏΡ€ΠΎ тСстированиС ПО Ρ‚ΡƒΡ‚ ΡƒΠΆΠ΅ ΠΊΡƒΡ‡Π° статСй. Π—Π΄Π΅ΡΡŒ я просто Π±ΡƒΠ΄Ρƒ ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ…Π²Π°Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… источников (Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ всС основноС Π±Ρ‹Π»ΠΎ сразу Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС, ΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ). ΠŸΡ€ΠΈ этом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ казалась слишком Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠΉ, информация Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна Π±Π΅Π· излишнСй Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ нСобходимая ΠΈ достаточная для прохоТдСния собСсСдования (согласно ΠΌΠΎΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ), рассчитанноС Π½Π° стаТСров/Π΄ΠΆΡƒΠ½ΠΎΠ² (ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, эта информация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ для ΠΎΠ±Ρ‰Π΅Π³ΠΎ понимания ΠΏΠΎΠ»Π΅Π·Π½Π° ИВ-Ρ€Π΅ΠΊΡ€ΡƒΡ‚Π΅Ρ€Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ проводят ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ΅ собСсСдованиС ΠΈ ΠΏΠΎΠΏΡƒΡ‚Π½ΠΎ Π·Π°Π΄Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΊΠΎΠ»ΠΎ-тСхничСскиС вопросы).

ΠžΠ‘ΠΠžΠ’ΠΠ«Π• Π’Π•Π ΠœΠ˜ΠΠ«

ВСстированиС ПО (Software Testing) β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° соотвСтствия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, проводится Π½Π° Π½Π°Π±ΠΎΡ€Π΅ тСстов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выбираСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π§Π΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π² тСстировании:

ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚ (Test Management)

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ тСстов (Test Design) β€” этап, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ тСстовыС сцСнарии (тСст кСйсы), Π² соотвСтствии с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π½Π΅Π΅ критСриями. Π’.Π΅., опрСдСляСтся, КАК Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² (Test Analysis)

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ тСстирования

тСхничСская: прСдоставлСниС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ состоянии ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

коммСрчСская: ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Π»ΠΎΡΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ, Ρ‚.ΠΊ. любой ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ влияСт Π½Π° Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

ВСрификация (verification)

Валидация (validation)

БоотвСтствиС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° трСбованиям (спСцификации)

БоотвСтствиС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° потрСбностям ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Π”Π΅Ρ„Π΅ΠΊΡ‚ (Π±Π°Π³) β€” это нСсоотвСтствиС фактичСского Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ:

Error β€” это ошибка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ пытаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ½Ρ‹ΠΌ способом (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π²ΠΎΠ΄ΠΈΡ‚ Π±ΡƒΠΊΠ²Ρ‹ Π² поля, Π³Π΄Π΅ трСбуСтся Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρ‹). Π’ качСствСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСдусмотрСны Ρ‚Π°ΠΊΠΈΠ΅ ситуации ΠΈ Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ сообщСниС ΠΎΠ± ошибкС (error message).

Bug (defect) β€” это ошибка программиста (ΠΈΠ»ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π° ΠΈΠ»ΠΈ Π΅Ρ‰Ρ‘ ΠΊΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ участиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ΄Ρ‘Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ. НапримСр, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° построСна Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ соотвСтствуСт Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ Π½Π΅Ρ‘ оТидаСтся.

Failure β€” это сбой Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ систСмы (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΈ Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹ΠΌ Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠΌ).

Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Π±Π°Π³Π°

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС

Π‘Π΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΡŒ (Severity) β€” Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ влияниС Π΄Π΅Ρ„Π΅ΠΊΡ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ прилоТСния. ВыставляСтся тСстировщиком.

Градация Π‘Π΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΠΈ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π°

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ (Priority) β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΡΡ‚ΡŒ выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ»ΠΈ устранСния Π΄Π΅Ρ„Π΅ΠΊΡ‚Π°. Π§Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Ρ‚Π΅ΠΌ быстрСС Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π΅Ρ„Π΅ΠΊΡ‚. ВыставляСтся ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ, Ρ‚ΠΈΠΌΠ»ΠΈΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ.

ΠΠ•ΠšΠžΠ’ΠžΠ Π«Π• Π’Π•Π₯НИКИ Π’Π•Π‘Π’-Π”Π˜Π—ΠΠ™ΠΠ

Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎΠ΅ Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (Equivalence Partitioning) β€” это Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» (часто Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ) раздСляСтся Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ эквивалСнтных ΠΏΠΎ своСму влиянию Π½Π° систСму Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠ Π˜ΠœΠ•Π : Π΅ΡΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΡ‚ 1 Π΄ΠΎ 10, выбираСтся ΠΎΠ΄Π½ΠΎ Π²Π΅Ρ€Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 5) ΠΈ ΠΎΠ΄Π½ΠΎ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° β€” 0.

Анализ Π“Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Boundary Value Analysis) β€” это Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ повСдСния ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π½Π° ΠΊΡ€Π°ΠΉΠ½ΠΈΡ… (Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ…) значСниях Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Если Π±Ρ€Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ ΠŸΠ Π˜ΠœΠ•Π : Π² качСствС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для ΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ тСстирования бСрСтся минимальная ΠΈ максимальная Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ (1 ΠΈ 10), ΠΈ значСния большС ΠΈ мСньшС Π³Ρ€Π°Π½ΠΈΡ† (0 ΠΈ 11). BVA ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ полям, записям, Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΈΠ»ΠΈ ΠΊ любого Ρ€ΠΎΠ΄Π° сущностям ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ ограничСния.

Π”ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· (Domain Analysis Testing) β€” это Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° основана Π½Π° Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΏΠΎΠ΄Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹, с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° для тСстирования.

ΠŸΡ€Π΅Π΄ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π½ΠΈΠ΅ ошибки (Error Guessing β€” EG). Π­Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° тСстировщик ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ свои знания систСмы ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ спСцификации Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Β«ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒΒ» ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… условиях систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° / БлСдствиС (Cause/Effect β€” CE). ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ΡΡ Π²Π²ΠΎΠ΄ условий, для получСния ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ систСмы (слСдствиС).

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ использования (Use Case Testing) β€” Use Case описываСт сцСнарий взаимодСйствия Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ участников (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ β€” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ систСмы).

Π˜ΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰Π΅Π΅ тСстированиС (Exhaustive Testing β€” ET) β€” подразумСваСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

ΠŸΠΎΠΏΠ°Ρ€Π½ΠΎΠ΅ тСстированиС (Pairwise Testing) β€” это Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° формирования Π½Π°Π±ΠΎΡ€ΠΎΠ² тСстовых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² систСмС, которая позволяСт сущСствСнно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство тСст-кСйсов. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для тСстирования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ², сортировок. Π­Ρ‚ΠΎΡ‚ интСрСсный ΠΌΠ΅Ρ‚ΠΎΠ΄ заслуТиваСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ внимания ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассматриваСтся Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎ ссылкС (Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ инструмСнты для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ примСнСния PT ).

ВСстированиС Π½Π° основС состояний ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² (State-Transition Testing) β€” примСняСтся для фиксирования Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ описания Π΄ΠΈΠ·Π°ΠΉΠ½Π° прилоТСния.

Π’Π°Π±Π»ΠΈΡ†Π° принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ (decision table) β€” инструмСнт для упорядочСния бизнСс-Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ для систСм со слоТной Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ прСдставлСн Π½Π°Π±ΠΎΡ€ условий, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС тСстированиС. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмноС Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

Π’Π˜Π”Π« Π’Π•Π‘Π’Π˜Π ΠžΠ’ΠΠΠ˜Π―

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎ цСлям

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ тСстированиС (functional testing) рассматриваСт Π·Π°Ρ€Π°Π½Π΅Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ основываСтся Π½Π° Π°Π½Π°Π»ΠΈΠ·Π΅ спСцификации ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈΠ»ΠΈ систСмы Π² Ρ†Π΅Π»ΠΎΠΌ, Ρ‚.Π΅. провСряСтся ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния.

ΠΠ΅Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ тСстированиС (non-functional testing) β€” тСстированиС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈΠ»ΠΈ систСмы, Π½Π΅ относящихся ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ВСстированиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса (GUI Testing) β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° интСрфСйса Π½Π° соотвСтствиС трСбованиям (Ρ€Π°Π·ΠΌΠ΅Ρ€, ΡˆΡ€ΠΈΡ„Ρ‚, Ρ†Π²Π΅Ρ‚, consistent behavior).

ВСстированиС удобства использования (Usability Testing) β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄ тСстирования, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° установлСниС стСпСни удобства использования, обучаСмости, понятности ΠΈ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π² контСкстС Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… условий. Бостоит ΠΈΠ·: UX β€” Ρ‡Ρ‚ΠΎ испытываСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΎ врСмя использования Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΈ UI β€” инструмСнт, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡŽ Β«ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ β€” Π²Π΅Π±-рСсурс».

ВСстированиС бСзопасности (security testing) β€” это стратСгия тСстирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ бСзопасности систСмы, Π° Ρ‚Π°ΠΊΠΆΠ΅ для Π°Π½Π°Π»ΠΈΠ·Π° рисков, связанных с обСспСчСниСм цСлостного ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Π·Π°Ρ‰ΠΈΡ‚Π΅ прилоТСния, Π°Ρ‚Π°ΠΊ Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ², вирусов, нСсанкционированного доступа ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.

Π˜Π½ΡΡ‚Π°Π»Π»ΡΡ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС (installation testing) Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ установки ΠΈ настройки, Π° Ρ‚Π°ΠΊΠΆΠ΅ обновлСния ΠΈΠ»ΠΈ удалСния прилоТСния.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС (Configuration Testing) β€” ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ тСстирования, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… конфигурациях систСмы (заявлСнных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ…, ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… конфигурациях ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ Ρ‚.Π΄.)

ВСстированиС Π½Π° ΠΎΡ‚ΠΊΠ°Π· ΠΈ восстановлСниС (Failover and Recovery Testing) провСряСт тСстируСмый ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния способности ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚.Π΅. ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, послС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… сбоСв, Π²ΠΎΠ·Π½ΠΈΠΊΡˆΠΈΡ… Π² связи с ошибками ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΎΡ‚ΠΊΠ°Π·Π°ΠΌΠΈ оборудования ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ связи (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΊΠ°Π· сСти).

ВСстированиС Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (localization testing) β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π² соотвСтствии с Π΅Π΅ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½Ρ‹ΠΌΠΈ особСнностями.

ВСстированиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (performance testing) β€” ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ потрСблСния рСсурсов Π² условиях Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сцСнариСв использования ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ.

НагрузочноС тСстированиС (load testing) β€” ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ сбор ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-тСхничСской систСмы ΠΈΠ»ΠΈ устройства Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° внСшний запрос с Ρ†Π΅Π»ΡŒΡŽ установлСния соотвСтствия трСбованиям, ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹ΠΌ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ систСмС (устройству).

ВСстированиС ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ надСТности (Stability / Reliability Testing) β€” это ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности прилоТСния ΠΏΡ€ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ (многочасовом) тСстировании со срСдним ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

БтрСссовоС тСстированиС (Stress Testing) позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ насколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ систСма Π² Ρ†Π΅Π»ΠΎΠΌ работоспособны Π² условиях стрСсса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ интСнсивности выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π΄ΠΎ ΠΎΡ‡Π΅Π½ΡŒ высоких Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСрвСра) ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ систСмы ΠΊ Ρ€Π΅Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚.Π΅. ΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ послС прСкращСния воздСйствия стрСсса.

ОбъСмноС тСстированиС (Volume Testing) β€” тСстированиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ проводится для получСния ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ объСмов Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… прилоТСния.

ВСстированиС ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ (scalability testing) β€” тСстированиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ измСряСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСти ΠΈΠ»ΠΈ систСмы, ΠΊΠΎΠ³Π΄Π° количСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… запросов увСличиваСтся ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ.

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎ позитивности сцСнария

ΠŸΠΎΠ·ΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ β€” тСст кСйс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ провСряСт, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

НСгативноС β€” тСст кСйс ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 1 Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€) ΠΈ ставит Ρ†Π΅Π»ΡŒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций; ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ тСстировании часто Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎ знанию систСмы

ВСстированиС Π±Π΅Π»ΠΎΠ³ΠΎ ящика (White Box) β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ тСстирования ПО, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‚.Π΅. внутрСнняя структура/устройство/рСализация систСмы извСстны тСстировщику.

ВСстированиС сСрого ящика β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ тСстирования ПО, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ частичный доступ ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (комбинация White Box ΠΈ Black Box ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²).

ВСстированиС Ρ‡Ρ‘Ρ€Π½ΠΎΠ³ΠΎ ящика (Black Box) β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ тСстирования ПО, Ρ‚Π°ΠΊΠΆΠ΅ извСстный ΠΊΠ°ΠΊ тСстированиС, основанноС Π½Π° спСцификации ΠΈΠ»ΠΈ тСстированиС повСдСния β€” Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° тСстирования, которая Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ доступа (ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ частичного) ΠΊ систСмС, Ρ‚.Π΅. основываСтся Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с внСшним интСрфСйсом тСстируСмой систСмы.

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎ исполнитСлям тСстирования

ΠΠ»ΡŒΡ„Π°-тСстированиС β€” являСтся Ρ€Π°Π½Π½Π΅ΠΉ вСрсиСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, тСстированиС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ проводится Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°; ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вСроятно частичноС ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

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

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎ ΡƒΡ€ΠΎΠ²Π½ΡŽ тСстирования

ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠ΅) тСстированиС (Unit Testing) проводится самими Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ‚.ΠΊ. ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ ΠΊΠΎΠ΄Ρƒ, для тСстирования ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ логичСски Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта (модуля) систСмы Π² ΠΊΠΎΠ΄Π΅, провСряСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΈΡ‰Π΅Ρ‚ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ Π² частях прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ протСстированы ΠΏΠΎ-ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, классы, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚.Π΄.).

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС (Integration Testing) Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ коррСктности взаимодСйствия Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Π² Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅, Ρ‚.Π΅. провСряСтся взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ систСмы послС провСдСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ тСстирования.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

Π‘Π½ΠΈΠ·Ρƒ Π²Π²Π΅Ρ€Ρ… (Bottom Up Integration) ВсС Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. ПослС Ρ‡Π΅Π³ΠΎ собираСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для провСдСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ тСстирования. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ считаСтся ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Ссли всС ΠΈΠ»ΠΈ практичСски всС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ уровня, Π³ΠΎΡ‚ΠΎΠ²Ρ‹. Π’Π°ΠΊΠΆΠ΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ тСстирования ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ готовности прилоТСния.

Π‘Π²Π΅Ρ€Ρ…Ρƒ Π²Π½ΠΈΠ· (Top Down Integration) Π’Π½Π°Ρ‡Π°Π»Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ всС высокоуровнСвыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΈ постСпСнно ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅. ВсС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π·Π°Π³Π»ΡƒΡˆΠΊΠ°ΠΌΠΈ с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ готовности ΠΎΠ½ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ.

Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ Π²Π·Ρ€Ρ‹Π² (Β«Big BangΒ» Integration) ВсС ΠΈΠ»ΠΈ практичСски всС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ вмСстС Π² Π²ΠΈΠ΄Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠΉ систСмы ΠΈΠ»ΠΈ Π΅Π΅ основной части, ΠΈ Π·Π°Ρ‚Π΅ΠΌ проводится ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆ для сохранСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Однако Ссли тСст кСйсы ΠΈ ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ записаны Π½Π΅ Π²Π΅Ρ€Π½ΠΎ, Ρ‚ΠΎ сам процСсс ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ сильно ослоТнится, Ρ‡Ρ‚ΠΎ станСт ΠΏΡ€Π΅Π³Ρ€Π°Π΄ΠΎΠΉ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ тСстирования ΠΏΡ€ΠΈ достиТСнии основной Ρ†Π΅Π»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ тСстирования.

БистСмноС тСстированиС (System Testing) β€” это ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π² систСмС Π² Ρ†Π΅Π»ΠΎΠΌ. ΠŸΡ€ΠΈ этом Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ использованиС рСсурсов систСмы, нСпрСдусмотрСнныС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ уровня, Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ, нСпрСдусмотрСнныС сцСнарии использования ΠΈ Ρ‚.Π΄., ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ характСристики качСства систСмы β€” Π΅Π΅ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС (Release Testing). Π”Π°ΠΆΠ΅ Ссли систСма удовлСтворяСт всСм трСбованиям, Π²Π°ΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° удовлСтворяСт Π½ΡƒΠΆΠ΄Π°ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ выполняСт свою Ρ€ΠΎΠ»ΡŒ Π² срСдС своСй эксплуатации. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½ΠΎ провСсти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС ΠΊΠ°ΠΊ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ шаг Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ этого, тСстированиС Π² срСдС эксплуатации позволяСт Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΈ Π½Π΅Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами, смСТными Π² области бизнСса ΠΈΠ»ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΈ элСктронных окруТСниях ΠΈ Π΄Ρ€. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ Π½Π° стадии внСдрСния β€” критичная ΠΈ дорогостоящая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎ исполнСнию ΠΊΠΎΠ΄Π°

БтатичСскоС тСстированиС β€” процСсс тСстирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ проводится для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ практичСски любого Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. НапримСр, ΠΏΡƒΡ‚Π΅ΠΌ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° (code review). Анализ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Ρ‚Π°ΠΊ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств. ЦСлью Π°Π½Π°Π»ΠΈΠ·Π° являСтся Ρ€Π°Π½Π½Π΅Π΅ выявлСниС ошибок ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅. Π’Π°ΠΊΠΆΠ΅ ΠΊ этому Π²ΠΈΠ΄Ρƒ относится тСстированиС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, спСцификаций ΠΈ ΠΏΡ€ΠΎΡ‡Π΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ДинамичСскоС тСстированиС проводится Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ систСмС, Ρ‚.Π΅. с осущСствлСниСм запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° прилоТСния.

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎ Ρ…Ρ€ΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ выполнСния

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅/ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅Π΅ тСстированиС (re-testing/confirmation testing) β€” тСстированиС, Π²ΠΎ врСмя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ тСстовыС сцСнарии, Π²Ρ‹ΡΠ²ΠΈΠ²ΡˆΠΈΠ΅ ошибки Π²ΠΎ врСмя послСднСго запуска, для подтвСрТдСния ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΠΈ исправлСния этих ошибок, Ρ‚.Π΅. провСряСтся исправлСниС Π±Π°Π³ΠΎΠ².

РСгрСссионноС тСстированиС (regression testing) β€” это тСстированиС послС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄ прилоТСния (ΠΏΠΎΡ‡ΠΈΠ½ΠΊΠ° Π΄Π΅Ρ„Π΅ΠΊΡ‚Π°, слияниС ΠΊΠΎΠ΄Π°, миграция Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π΅Π± сСрвСр ΠΈΠ»ΠΈ сСрвСр прилоТСния), для подтвСрТдСния Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ эти измСнСния Π½Π΅ внСсли ошибки Π² областях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π»ΠΈΡΡŒ измСнСниям, Ρ‚.Π΅. провСряСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ исправлСниС Π±Π°Π³ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π² ΠΊΠΎΠ΄Π΅ прилоТСния, Π½Π΅ повлияли Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ПО ΠΈ Π½Π΅ Π²Ρ‹Π·Π²Π°Π»ΠΈ Π½ΠΎΠ²Ρ‹Ρ… Π±Π°Π³ΠΎΠ².

ΠŸΡ€ΠΈΡ‘ΠΌΠΎΡ‡Π½ΠΎΠ΅ тСстированиС провСряСт соотвСтствиС систСмы потрСбностям, трСбованиям ΠΈ бизнСс-процСссам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π”ΠžΠšΠ£ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

ВрСбования β€” это спСцификация (описаниС) Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ. ВрСбования ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π±Π΅Π· Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ тСхничСской стороны Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ:

ΠŸΠΎΠ»Π½ΠΎΡ‚Π° β€” Π² Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ вся нСобходимая для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ информация.

ΠΠ΅ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ β€” Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΈΠΌ трСбованиям ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ.

ΠΠ΅Π΄Π²ΡƒΡΠΌΡ‹ΡΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ β€” Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ (Ρ‚Π΅ΡΡ‚ΠΎΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡ‚ΡŒ) β€” Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΉ Π²Π΅Ρ€Π΄ΠΈΠΊΡ‚, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ всС Π² соотвСтствии с трСбованиями ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ β€” Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ трСбования Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ (количСствСнная ΠΎΡ†Π΅Π½ΠΊΠ° стСпСни значимости трСбования).

ВСст ΠΏΠ»Π°Π½ (Test Plan) β€” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ вСсь объСм Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ:

Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ?

Как Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ тСстированиС?

Когда Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ тСстированиС?

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π½Π°Ρ‡Π°Π»Π° тСстирования.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ окончания тСстирования.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ тСст-ΠΏΠ»Π°Π½ пСрСчислСны Π² стандартС IEEE 829.

ΠΠ΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ тСст-ΠΏΠ»Π°Π½Π° являСтся Traceability matrix β€” ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° соотвСтствия Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ (МБВ) β€” это Ρ‚Π°Π±Π»ΠΈΡ†Π°, содСрТащая соотвСтствиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ (functional requirements) ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… тСстовых сцСнариСв (test cases). Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ располоТСны трСбования, Π° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ… строк β€” тСстовыС сцСнарии. На пСрСсСчСнии β€” ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π°Ρ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΎ тСстовым сцСнариСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки. МБВ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для покрытия ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° тСстами.

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

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

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