ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Автоматизация тСстирования ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ПослС Π°Π½Π°Π»ΠΈΠ·Π° Π±Ρ‹Π»ΠΎ принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, состояниС систСмы постоянно мСняСтся ΠΈ Π΄Π»Ρ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ тСст Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ хранСния исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для сравнСния… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Автоматизация тСстирования ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Автоматизация тСстирования ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

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

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

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

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

ЦСль Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ состоит Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ эффСктивного Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° проСктирования ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡ автоматичСских тСстов Π½Π° ΡΡ‚Π°ΠΏΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Для достиТСния поставлСнной Ρ†Π΅Π»ΠΈ Π² Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

Β· ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ тСстируСмыС прилоТСния;

Β· ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΈ тСстирования ΠΈ Π²Ρ‹Π²Π΅ΡΡ‚ΠΈ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ эффСктивности Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ;

Β· ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ срСдствами ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ°ΠΌΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ;

Β· вывСсти Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ эффСктивных автоматичСских тСстов с Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ;

Β· Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Global XB, GCube ΠΈ Thistle.

Β·

Π“Π»Π°Π²Π° 1. ΠžΠ±Π·ΠΎΡ€ срСдств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

1.1 НазначСниС ΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

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

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния просят ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ своих ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ сроки с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ рСсурсами. Π‘ΠΎΠ»Π΅Π΅ 90% Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡΡ€Ρ‹Π²Π°ΡŽΡ‚ Π΄Π°Ρ‚Ρ‹ поставки. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ сроков носит рСгулярный Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ для 67% Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² 91% случаСв ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ Π² ΡΡ€ΠΎΠΊ. Компании Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ свои расходы. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π° ΡΡ‡Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ бизнСс-процСссов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… рСсурсов.

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

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

Рис. 1 Π­Ρ„Ρ„Π΅ΠΊΡ‚ ΠΎΡ‚ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡ срСдств автоматичСского тСстирования [4]

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

Β· УчастиС тСстСра Π² Ρ€Π°Π±ΠΎΡ‚Π΅ скрипта Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ настройка окруТСния ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° тСстовых Π΄Π°Π½Π½Ρ‹Ρ….

Β· Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ сцСнарии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ привСсти Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ сравнСниС содСрТимого Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ пСрСустановку ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Β· Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌ. Π’ ΠΈΠ΄Π΅Π°Π»Π΅ Π»ΡŽΠ±ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ скрипта ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… тСстах.

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

Из ΠΌΠΈΠ½ΡƒΡΠΎΠ² стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ скриптов ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ довольно ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ поддаСтся Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

1.2 ΠžΠ±Π·ΠΎΡ€ срСдств Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

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

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для тСстирования Global XB, GCube ΠΈ Thistle ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ»ΠΈΡΡŒ спСцификой этих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Π΅:

1. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ .Net ΠΈ ASP.NET. Для эффСктивной Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ инструмСнт тСстирования ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ автоматичСскиС тСсты ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль прилоТСния для Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

2. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языка Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ VBScript. Π’ ΡΠ²ΡΠ·ΠΈ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ тСстируСмоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ написано Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ VB.Net, для обСспСчСния Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π±Ρ‹Π»ΠΎ принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ автоматичСских тСстов Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ VBScript.

3. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с ΡΠΈΡΡ‚Π΅ΠΌΠ°ΠΌΠΈ контроля вСрсий. Π’ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠΈΠ΅ΡΡ процСссы ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ. Для обСспСчСния качСства ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΠΎΡΡ‚ΠΈ вСрсиями компания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ систСму контроля вСрсий ΠΎΡ‚ Microsoft Visual Studio Team Foundation Server. Π’ ΡΠ²ΡΠ·ΠΈ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ автоматичСскиС тСсты ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° прилоТСния, ΠΈ Π² Ρ†Π΅Π»ΡΡ… обСспСчСния ΠΈΡ… ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π° ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΠΎΡΡ‚ΠΈ, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ ΠΊ ΡΡ€Π΅Π΄ΡΡ‚Π²Π°ΠΌ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ·Π½Π°Π½ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌ.

4. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° рСгрСссионного, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ тСстирования. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ тСстов ΠΈ Π»ΠΎΠ³Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ запусков, Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ модСлирования Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡƒΡ‚Π΅ΠΌ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

5. РаспрСдСлСнноС тСстированиС. Одна ΠΈΠ· Π·Π°Π΄Π°Ρ‡ тСстирования — рСгрСссионноС тСстированиС — Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большого количСства рСсурсов, поэтому инструмСнт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ интСрфСйс для обСспСчСния распрСдСлСнного тСстирования с Ρ†Π΅Π»ΡŒΡŽ сокращСния ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚.

Богласно Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ критСриям послС провСдСния исслСдования Ρ€Ρ‹Π½ΠΊΠ° срСдств Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ HP Quality Center, TestComplete, Selenium, NUnit, Rational Robot ΠΈ SilkTest максимально ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°Π½Ρ‹ Π΄Π²Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°: HP Quality Center ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Hewlett Packard ΠΈ TestComplete ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ AutomatedQA.

На ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ TestComplete Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ инструмСнта Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ повлияло Π΄Π²Π° Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°:

1. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ HP Quality Center ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Hewlett Packard Ρƒ Mercury Interactive Π² 2006 Π³ΠΎΠ΄Ρƒ ΠΈ ΡΠ²Π»ΡΠ΅Ρ‚ся всСго лишь ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½Ρ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π½Π° Π½ΠΎΠ²ΡƒΡŽ сфСру Ρ€Ρ‹Π½ΠΊΠ°. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя компания AutomatedQA спСциализируСтся ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии для тСстирования ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ свои ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹.

2. НСсмотря Π½Π° Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΎΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ TestComplete Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹Π³ΠΎΠ΄Π½Ρ‹ΠΌ.

Π“Π»Π°Π²Π° 2. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ автоматичСского тСстирования

2.1 Record-Run script

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

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

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

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ простой, Π½ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ автоматичСский тСст, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ поставлСнной Π·Π°Π΄Π°Ρ‡Π΅.

2.2 Data-Driven Testing

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

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

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

НаиболСС распространСнными источниками Π΄Π°Π½Π½Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

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

2. Ρ‚Π°Π±Π»ΠΈΡ†Π° Π΄Π°Π½Π½Ρ‹Ρ… (Excel). Π’Π°ΠΊΠΆΠ΅ прСдоставляСт возмоТности чтСния ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ скрипта, Π½ΠΎ Ρ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ограничСниями.

автоматизация тСстированиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ скрипт

2.3 Object-Driven Testing

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

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

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

2.4 Π’Ρ‹Π²ΠΎΠ΄

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

Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Global XB, GCube ΠΈ Thistle Π±Ρ‹Π» Π²Ρ‹Π²Π΅Π΄Π΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ планирования автоматичСских тСстов:

1. Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ тСстируСмоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

2. ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€ΡƒΡ‡Π½Ρ‹Π΅ тСсты

3. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящиС для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ тСсты

4. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ источник тСстовых Π΄Π°Π½Π½Ρ‹Ρ…

5. Π‘ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сцСнарий выполнСния скрипта

6. Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ описаны ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ классами.

Π“Π»Π°Π²Π° 3. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ рСализация

3.1 Global XB

ОписаниС прилоТСния

Global XB — это комплСксноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для брокСрских ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. Π’ Π½Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ страховых ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…, страховщиках, ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π°Ρ…, Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ, Π°ΡƒΠ΄ΠΈΡ‚, взаимодСйствиС с Π²Π½Π΅ΡˆΠ½ΠΈΠΌΠΈ систСмами Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΎΠ±ΠΎΡ€ΠΎΡ‚Π°, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Учитывая ΠΎΠ±Ρ‰ΠΈΠΉ объСм Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния, Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚авляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° Π·Π°Π΄Π°Ρ‡Π°, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ явно ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΡƒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΡƒ.

Global XB прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹, содСрТащиС статистичСскиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΡΠΎΡΡ‚оянии систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ страховых полисов ΠΈΠ»ΠΈ объСмС ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ врСмя. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выводится Π² Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…: Π² Π²ΠΈΠ΄Π΅ страницы HTML ΠΈΠ»ΠΈ Π² Ρ„Π°ΠΉΠ» Excel. ΠŸΡ€ΠΈ создании ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π²Π»ΠΈΡΡŽΡ‰ΠΈΠΉ Π½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° систСмы Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Ρ€Π΅Π³Ρ€Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ выпускС Π½ΠΎΠ²ΠΎΠΉ вСрсии прилоТСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ.

ΠŸΠ΅Ρ€Π΅Π΄ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π»Π° поставлСна Π·Π°Π΄Π°Ρ‡Π° ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ автоматичСский тСст, максимально ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ тСстированиС Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°.

РСшСниС

Алгоритм Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° основан Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅. ΠšΠ»ΠΈΠ΅Π½Ρ‚ (тСстируСмоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅) посылаСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ запрос, сСрвСр ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ, запускаСт Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΡƒΡŽ Ρ…Ρ€Π°Π½ΠΈΠΌΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ тСст для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности ΠΎΡ‚Ρ‡Π΅Ρ‚Π° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Β· Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Β· ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ список ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²

Β· Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚

Β· Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ поля

Β· Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°

Β· Π”ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

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

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, остаСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ всСх Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΏΠΎΠ»Π΅ΠΉ, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сСрвСру ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Ρ‡Π΅Ρ‚ гСнСрируСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹Ρ… ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… хранится Π² Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… MySQL 2008. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 4 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ листинг ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π΄Π°Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ Π±Π°Π·Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ интСрфСйса ADODB. Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, для создания ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свой Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ выбираСтся Ρ‚ΠΈΠΏ поля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½Π° вводится (см. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3). Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ поля ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΠ»ΡΠΌΠΈ Ρ‚ΠΈΠΏΠ° CustomEx ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 5.

Для покрытия большСго количСство случаСв Π±Ρ‹Π»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π²Π° сцСнария создания ΠΎΡ‚Ρ‡Π΅Ρ‚Π°: со ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌΠΈ значСниями ΠΈ Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ всСх ΠΏΠΎΠ»Π΅ΠΉ случайными значСниями. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 6 приводится Π±Π»ΠΎΠΊ-схСма ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ скрипта.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния тСста опрСдСляСтся ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌΡƒ элСмСнту Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° HTML страницы, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅, Ρ‚. Π΅. Π² ΡΠ»ΡƒΡ‡Π°Π΅, Ссли сСрвСр Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ отсутствуСт, ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ся Π² Ρ„Π°ΠΉΠ» Excel Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

НазваниС ΠΎΡ‚Ρ‡Π΅Ρ‚Π°

Π‘Ρ‚Ρ€ΠΎΠΊΠ° запроса со ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌΠΈ значСниями

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Π‘Ρ‚Ρ€ΠΎΠΊΠ° запроса со ΡΠ»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΌΠΈ значСниями

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Анализ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

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

Π’ ΡΠΈΠ»Ρƒ Π½Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ Π±Ρ‹Π»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° содСрТимого ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

На ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ скрипта понадобилось 20 часов. Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя выполнСния скрипта Π½Π° Π±Π°Π·Π΅, содСрТащСй 130 ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², составляСт 4 часа. Запуск скрипта ΠΈ Π°Π½Π°Π»ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² тСстирования Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 30 ΠΌΠΈΠ½ΡƒΡ‚. На ΠΏΠΎΠ»Π½ΠΎΠ΅ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ тСстированиС ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Π΅ ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π΄ΠΎ 8 часов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, расходы Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΎΠΊΡƒΠΏΠ°ΡŽΡ‚ΡΡ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

3.2 GCube

ΠžΠ±Π·ΠΎΡ€ прилоТСния

GCube — это Π²Π΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ для страховых ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ (см. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 7) с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΊΠ°ΠΊ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ASP.NET ΠΈ MySQL. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π³ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, сотрудники страховой ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ страховыС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹. На ΠΎΡΠ½ΠΎΠ²Π΅ стандартных ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ — схСмы, спСцифичныС для Π³Ρ€ΡƒΠΏΠΏ ΡƒΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡Π΅Π½Π½Ρ‹Ρ… посрСдников, Π°Π³Π΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² со ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΈ Ρ‚Скстом, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ вопросы Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ сайта ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ схСмы расчСта ΠΏΡ€Π΅ΠΌΠΈΠΉ. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС этого процСсса Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ этого Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ статуса ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ² ΠΎ ΡΡ‚Ρ€Π°Ρ…ΠΎΠ²Π°Π½ΠΈΠΈ, расчСт ΠΏΡ€Π΅ΠΌΠΈΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ‚. Π΄.).

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Π½ΠΎΠ²ΡƒΡŽ систСму Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ страхового процСсса. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ пСрСнос Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΡΡ‚Π°Ρ€ΠΎΠΉ систСмы Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π”Π°Π½Π½Ρ‹Π΅ Π±Ρ‹Π»ΠΈ прСдоставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Excel, ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»ΠΎ принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… посрСдством TestComplete. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ страховых Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΎ ΠΏΠΎΠ»Π½ΠΎΡ‚Ρƒ ΠΈ Π½Π΅ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… структурС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½ΠΎΠ²ΠΎΠΉ систСмы Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ страхования. Π’Π°ΠΊΠΆΠ΅ созданныС для пСрСноса Π΄Π°Π½Π½Ρ‹Ρ… скрипты ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ рСгрСссионного тСстирования.

ΠŸΠ΅Ρ€Π΅Π΄ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π»Π° поставлСна Π·Π°Π΄Π°Ρ‡Π° Ρ‡Π΅Ρ€Π΅Π· интСрфСйс прилоТСния занСсти Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… прилоТСния ΠΎΠΊΠΎΠ»ΠΎ 1200 ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² страхования Π² 5 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… схСмах. Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»Π΅Π½ΠΎ Π΄Π²Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… трСбования ΠΊ ΡΠΊΡ€ΠΈΠΏΡ‚Ρƒ:

Β· Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ процСсс ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π±Π΅Π· ошибок. ΠŸΡ€ΠΈ любой ошибкС Π±Π°Π·Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Π° ΠΈ ΠΏΡ€ΠΎΡ†Π΅ΡΡ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π·Π°Π½ΠΎΠ²ΠΎ с ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ восстановлСния.

Β· ПослС прСдоставлСния ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ миграция Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π΄Π½Π΅ΠΉ.

Π­Ρ‚ΠΈ трСбования тСсно связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π±Π΅Π·ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ скрипта Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ нСобходимости Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π±Π°Π·Ρ‹ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ тСстовых случаСв.

РСшСниС

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Excel. Π­Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ интСрфСйса ADODB. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 8 ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ запроса ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ· Π½ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Scripting. Dictionary, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉΡΡ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ скрипта.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ добавлСния страхового ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ всСх страниц сайта с Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. Π‘Ρ…Π΅ΠΌΡ‹ страхования Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ»Π΅ΠΉ Π½Π° Π΄Π²ΡƒΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… страницах, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ содСрТаниС ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° страниц зависит ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π½Π΅Π΅. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ скрипт Π±Ρ‹Π» сдСлан зависимым ΠΎΡ‚ Ρ‚Сстовых Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ принимаСтся Π·Π° Π°ΠΊΡΠΈΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ Excel Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ ошибок ΠΈ ΠΏΡ€ΠΈ использовании ΠΈΡ… Π² Ρ€ΡƒΡ‡Π½ΠΎΠΌ тСстировании страховыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ Π±Ρ‹ созданы ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ страницы. Бозданная срСдствами ASP.Net страница гСнСрируСтся динамичСски, Ρ‡Ρ‚ΠΎ практичСски ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π΅Π΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ Ρ‚ΠΈΠΏΠ° «ctl00_ctl00_cphBody_QuoteInnards_ctl09_rpt_ctl00_popupSubQuestions_ClaimssPanel_tcTabledData_gdvTabbledData_ctl02_rptSubQuestions_ctl00_QuestionAnswerString_I». ПослС изучСния структуры страниц ΠΈ ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π±Ρ‹Π»ΠΎ принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ внСсти Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄ прилоТСния, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ рядом с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΏΠΎΠ»Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Span Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ опрСдСляСтся Π² Π΄Π²Π° этапа: сначала производится поиск ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° Span, Π·Π°Ρ‚Π΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° получаСтся имя искомого поля.

Поля Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° ΠΏΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏ ΠΏΠΎ ΡΠ²ΠΎΠΉΡΡ‚Π²Π°ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ заполнСния поля. Класс, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 9.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ скрипт выполнял заявлСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΡΠΎΠΎΡ‚вСтствовал Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ скорости создания страховых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Однако, ΠΈΠ·-Π·Π° спСцифики Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π΅Π±-прилоТСниями Ρ‡Π΅Ρ€Π΅Π· интСрфСйс, пСрвая вСрсия скрипта часто Π²Ρ‹Π΄Π°Π²Π°Π»Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ страницами ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ обновлСния страницы. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΄Π²Π°ΠΆΠ΄Ρ‹ Π±Ρ‹Π» ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π»ΠΎΠ³ΠΈΠΊΠΈ оТидания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅. Автору ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ стандартных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², прСдоставляСмых Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, вслСдствиС ΠΈΡ… Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ свои, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ запросам ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния.

Анализ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипт ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ справился с ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Π² ΡΡ€ΠΎΠΊ ΠΈ Π±Π΅Π· ошибок. ПослС стабилизации Π»ΠΎΠ³ΠΈΠΊΠΈ скрипта Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ страхового ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 7 ΠΌΠΈΠ½ΡƒΡ‚. Π—Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° Ρ‚Ρ€Π΅Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… тСсты Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π½Π° ΠΏΡ€ΠΎΡ‚яТСнии Π΄Π²ΡƒΡ… суток, Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ…ΠΎΠ΄Π΅ выполнСния снимались ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 12 часов.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1 ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΠΈ часов Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ скрипта ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 220 часов, Π½Π΅ ΡΠΌΠΎΡ‚ря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ врСмя выполнСния скрипта ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΏΡ€ΠΈ этом с 80 Π΄ΠΎ 140 часов.

Рис. 2. Π“Ρ€Π°Ρ„ΠΈΠΊ зависимости Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния скрипта ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ, ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹, написанныС Π² Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для рСгрСссионного тСстирования, ΠΈ Π΅ΠΆΠ΅ΠΌΠ΅ΡΡΡ‡Π½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° Ρ€Π΅Π³Ρ€Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС Π½Π° 30%.

3.3 Thistle

ΠžΠ±Π·ΠΎΡ€ прилоТСния

Как ΠΈ GCube, Thistle — это Π²Π΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ для страховых ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. Однако, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ схоТими ΠΏΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΡΡ‚ΠΈ, ΠΎΠ½ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Основная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Thistle Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π°ΡΡ‡Ρ‘Ρ‚Π΅ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΏΠΎ ΡΡ‚Ρ€Π°Ρ…ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Π’ Π΄Π°Π½Π½ΠΎΠ΅ врСмя Thistle находится Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, постоянно Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ схСмы страхования ΠΈ ΠΏΠΎ Ρ‚рСбованиям Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅. Π’ ΡΠ²ΡΠ·ΠΈ с ΡΡ‚ΠΈΠΌ рСгулярно Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Ρ€Π΅Π»ΠΈΠ·Ρ‹ прилоТСния, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ рСгрСссионного тСстирования.

ΠŸΠ΅Ρ€Π΅Π΄ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π»Π° поставлСна Π·Π°Π΄Π°Ρ‡Π° ΠΏΡƒΡ‚Π΅ΠΌ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ тСстирования ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ рСсурсов Π½Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ рСгрСссионного тСстирования. Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ систСмы расчётов. К Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ»ΠΈΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ трСбования:

Β· ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ всСх ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ схСм

Β· Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ с Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ скрипт ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹Π΅ схСмы

Β· ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ тСстСра ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

РСшСниС

ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ этой Π·Π°Π΄Π°Ρ‡ΠΈ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ GCube, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ использованиС Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Excel Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ внСшнСго источника хранСния тСстовых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ‹ стабилизации скрипта ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

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

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

Π‘Ρ‹Π»ΠΎ установлСно, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠ»Π΅ содСрТится Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ структуры:

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π˜ΠΊΠΎΠ½ΠΊΠ° (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ) НазваниС поля ПолС Ρ‚ΠΈΠΏΠ° Input

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)

Рис. 3 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ поля НазваниС поля всСгда присутствуСт Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ слуТит для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎ ΡΠ°ΠΉΡ‚Ρƒ. ΠŸΡ€ΠΈ этом имя всСх элСмСнтов Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ составляСтся ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, порядкового Π½ΠΎΠΌΠ΅Ρ€Π° элСмСнта Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ ΠΈ Ρ‚ΠΈΠΏΠ° элСмСнта.

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

НазваниС поля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ скрипт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ управляСмым Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ значСниями.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта поля ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ всСго двумя функциями: GetByLabel ΠΈ GetByName, листинг ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 11.

Анализ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

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

Π’ Π½Π°ΡΡ‚оящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ΄Π° автоматичСскими тСстами для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° составляСт ΠΎΠΊΠΎΠ»ΠΎ 10%. ВСдутся Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡŽ Π½ΠΎΠ²Ρ‹Ρ… тСстов, Ρ‡Ρ‚ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½ΠΎ Π΄ΠΎ 20−25%. Π’Π°ΠΊΠΆΠ΅ вСдСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ скрипта Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π». ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½Π°Ρ ΠΎΡ†Π΅Π½ΠΊΠ° покрытия ΠΊΠΎΠ΄Π° Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этих Ρ€Π°Π±ΠΎΡ‚ составляСт 50−60%.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

Β· Π˜Π·ΡƒΡ‡Π΅Π½Ρ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ тСстирования ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящиС для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования;

Β· ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· спСцифики Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π²Π΅Π±-прилоТСниями ΠΈ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ эффСктивноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡŽ автоматичСских тСстов Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡ контроля качСства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°;

Β· Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ скриптов — ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ AutomatedQA TestComplete;

Β· Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΏΠ»Π°Π½ обСспСчСния качСства для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Global XB, GCube ΠΈ Thistle. Π’ ΡΠΎΠΎΡ‚вСтствии с ΠΏΠ»Π°Π½ΠΎΠΌ Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π°Π±ΠΎΡ€ автоматичСских тСстов для Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π’ Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚ Π½Π°Π΄ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π±Ρ‹Π»ΠΎ создано 3 ΠΏΠ°ΠΊΠ΅Ρ‚Π° автоматичСских тСстов, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ 3000 тСстовых случаСв. Π’ Π½Π°ΡΡ‚оящСС врСмя всС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ… тСстов Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 500 Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ², вслСдствиС Ρ‡Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ «ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ Π² Ρ€Π΅Π»ΠΈΠ·Π΅» ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ Π½Π° 42%.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΎΠΌ ΠΎΡ‚ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ стало сокращСниС Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° Ρ‚СстированиС:

Β· ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Global XB Π² Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ — 25%;

Β· ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ GCube 20%

Β· ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Thistle Π±ΠΎΠ»Π΅Π΅ 30%

1. Π­Π»Ρ„Ρ€ΠΈΠ΄ Дастин, Π”ΠΆΠ΅Ρ„Ρ„ Рэшка, Π”ΠΆΠΎΠ½ Пол Π•. ΠœΠΎΠ»ΠΎΠ΄Ρ†ΠΎΠ²Π°, М. Павлов. АвтоматизированноС тСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ация. // Москва, Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ «Π›ΠžΠ Π˜», 2003

2. Mark Fewster, Dorothy Graham. Software Test Automation. Effective use of test execution tools. // New York, ACM Press, 1999

3. И. Π’ΠΈΠ½Π½ΠΈΡ‡Π΅Π½ΠΊΠΎ. Автоматизация процСссов тСстирования. // БПб, «ΠŸΠΈΡ‚Π΅Ρ€», 2005

4. Π’. ПолСвой. Как Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСстированиС ΠŸΠž? // Cnews, 2007.

5. Π’. П. ΠšΠΎΡ‚Π»ΡΡ€ΠΎΠ², Π’. Π’. Коликова. ΠžΡΠ½ΠΎΠ²Ρ‹ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. // БПб, Π‘ΠΈΠ½ΠΎΠΌ. Лаборатория Π·Π½Π°Π½ΠΈΠΉ, 2006.

6. Борис Π‘Π΅ΠΉΠ·Π΅Ρ€. ВСстированиС Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ящика. Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΡΠΈΡΡ‚Π΅ΠΌ. // БПб: ΠŸΠΈΡ‚Π΅Ρ€, 2004.

7. Π“Π΅Π½Π½Π°Π΄ΠΈΠΉ АлпаСв. Π£Ρ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ TestComplete. http://tctutorial.ru/

8. ΠŸΠ°Π½ΠΊΡ€Π°Ρ‚ΠΎΠ² ВячСслав. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² Π°Π½Π°Π»ΠΈΠ·Π° систСм Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ тСстирования. http://www.it4business.ru/

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1

Π‘ΠΊΡ€ΠΈΠΏΡ‚, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ тысячу ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ интСрфСйс прилоТСния.

Sub add1000docs

For i = 1 To 1000

Set PremiumProperties = Aliases.Global.WaitWinFormsObject («PremiumProperties», 100 000)

PremiumProperties.WinFormsObject («btnProduceDocs»).ClickButton

Set produceDocs = Aliases.Global.ProduceDocs

Call produceDocs. WinFormsObject («grdList»).Click (15, 111)

produceDocs.WinFormsObject («btnOK»).ClickButton

Next

End Sub

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ прилоТСния Global XB.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Ρ„ΠΎΡ€ΠΌΡ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 4

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ…, содСрТащихся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Public Function GetReports

Set Reports = CreateObject («Scripting.Dictionary»)

Set objRecordset = CreateObject («ADODB.Recordset»)

Set objRecordset = DBConn.Execute(«Select ReportID, ReportName, ReportFileForExport From [» &Database&" ]. dbo. toReports Where StoredProcedureName ≠ 'NULL'")

i = 1

Do While Not objRecordset. EOF

Set newReport = new Report

newReport.rNumber = i

newReport.rID = objRecordset. Fields (0).Value

newReport.rName = objRecordset. Fields (1).Value

newReport.rExportFile = objRecordset. Fields (2).Value

Reports.Add Reports. Count, GetFilters (newReport)

objRecordset.moveNext

i = i + 1

Loop

Set GetReports = Reports

objRecordset.Close

Set objRecordset = Nothing

End Function

Public Function GetFilters (report)

Set Filters = CreateObject («Scripting.Dictionary»)

Set objRecordset = CreateObject («ADODB.Recordset»)

Set objRecordset = DBConn.Execute(«Select ReportFilterID, FilterType, FilterKey, FilterName From [» &Database&" ]. dbo. toReportFilters Where Visible = 1 and ReportID = «&report.rID)

Do While Not objRecordset. EOF

Set newFilter = new rFilter

newFilter.fID = objRecordset. Fields (0).Value

newFilter.fType = objRecordset. Fields (1).Value

newFilter.fKey = objRecordset. Fields (2).Value

newFilter.fName = objRecordset. Fields (3).Value

report.rFilters.Add report.rFilters.Count, newFilter

objRecordset.moveNext

Loop

Set GetFilters = report

objRecordset.Close

Set objRecordset = Nothing

End Function

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 5

Π§Π°ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° CustomEx

Sub FilterFillTest (report, filterCollection, check)

for each filterItem in report.rFilters.Items

Sleep (1000)

filterItemName = filterItem. getName

if filterItem. fType = «CustomEx» or filterItem. fType = «Custom» then

for i = 0 to filterCollection. ChildCount — 1

set filterBox = filterCollection. Child (i).WinFormsObject («pnlMain»).Child («1»)

if filterBox. get_Name = filterItemName then

set checkBox = filterCollection. Child (i).WinFormsObject («pnlMain»).Child («0»)

if checkBox. Checked = false and check = true then

checkBox.Checked = true

end if

if checkBox. Checked = true then

call report. fillCustomEx (i, filterItemName)

Log.Message (filterItem.fName&" filter filled")

end if

end if

next

end if

End Sub

Sub fillCustomEx (i, filterName)

Sys.Process («TOGlobalPolicy»).ReportWizard.WinFormsObject («pnlMain»).pnlFilters.pnlFilterCollection.Child (i).WinFormsObject («pnlMain»).WinFormsObject (filterName).WinFormsObject («btnSelect»).ClickButton

Sleep (1000)

if Sys.Process («TOGlobalPolicy»).WaitWinFormsObject («RefBookForm», 2000).Exists then

Log.Message («RefBookForm found»)

Sys.Process («TOGlobalPolicy»).WinFormsObject («RefBookForm»).WinFormsObject («grdRef»).Keys («[Down][Enter]»)

elseif Sys.Process («TOGlobalPolicy»).WaitWinFormsObject («AccountsList», 1000).Exists then

Log.Message («AccountsList found»)

Call Sys.Process («TOGlobalPolicy»).WinFormsObject («AccountsList»).WinFormsObject («tabLists»).WinFormsObject («tpClient»).WinFormsObject («grdClients»).Keys («[Down][Enter]»)

Elseif

Sys.Process («TOGlobalPolicy»).WaitWinFormsObject («RiskObjectsList», 1000).Exists then

Log.Message («RiskObjectsList found») Sys.Process («TOGlobalPolicy»).WinFormsObject («RiskObjectsList»).WinFormsObject («grdList»).Keys («[Down][Enter]»)

end if

End Sub

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 6

Π‘Π»ΠΎΠΊ-схСма автоматичСского тСста ΠΏΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π² Global XB

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 7

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ сайта Gcube

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 8

Класс для чтСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡ… Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Excel

Class ExcelData

Public Rows ()

Public Connection

Public SheetName

Public TableName

Public FileName

Public Sub InitDataADODB (FileName, SheetName, TableName, SQLStr)

Me.FileName = FileName

Me.SheetName = SheetName

ConnectString = «Provider=Microsoft.ACE.OLEDB.12.0;» & _

" Data Source=" & chr (34) & FileName & chr (34) & «;» & _

" Extended Properties="" Excel 12.0;HDR=Yes;IMEX=1″ «;»

Set Conn = CreateObject («ADODB.Connection»)

Conn.Open ConnectString

Set Rec = Conn.Execute(SQLStr)

Do while Not Rec. EOF

If IsObject (Rows (0)) Then

Redim Preserve Rows (UBound(Rows)+1)

End If

Set Rows (UBound(Rows)) = CreateObject («Scripting.Dictionary»)

For i = 0 to Rec.Fields.Count-1

If isNull (Rec.Fields (i).Value) Then

val = «»

Else

val = CStr (Rec.Fields (i).Value)

End If

Rows (UBound(Rows)).add Rec. Fields (i).Name, val

Next

j = j+1

Rec.MoveNext

Loop

Conn.Close

End Sub

Sub Class_Initialize

Redim Rows (0)

End Sub

End Class

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 9

Класс, содСрТащий Π² ΡΠ΅Π±Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для поиска ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅.

Class Fill

Sub InputStd (abbrLabel, str)

Sub InputDate (abbrLabel, str)

Sub InputRadio (abbrLabel, bool)

If bool = «» Then Exit Sub

GetInputRadio (abbrLabel, bool).Click

End Sub

Sub InputRadioOther (abbrLabel, bool)

Sub SelectStd (abbrLabel, str)

Property Get GetAbbriviationID (abbrLabel)

Set Abbriviation = Page.SPAN.WaitChild («Item (» &Chr (34)&abbrLabel&Chr (34)&")", 10 000)

If IsEmpty (Abbriviation) Then Log. Error(«Script couldn’t find abbriviation object «&abbrLabel)

GetAbbriviationID = Abbriviation. ID

End Property

Property Get GetInputStd (abbrLabel)

Property Get GetInputDate (abbrLabel)

Property Get GetInputRadio (abbrLabel, bool)

If StrComp (Trim (bool), «Yes», 1) = 0 Then _

ID = GetAbbriviationID (abbrLabel) + 3

If StrComp (Trim (bool), «No», 1) = 0 Then _

ID = GetAbbriviationID (abbrLabel) + 5

For i = 0 to 100

Set Field = Page.INPUT.FindId (ID)

Sleep (100)

If Field. Exists Then

Set GetInputRadio = Page.INPUT.FindId (ID)

Exit For

End If

Next

End Property

Property Get GetInputRadioOther (abbrLabel, bool)

Property Get GetSelectStd (abbrLabel)

End Class

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 10

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ сайта Thistle

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 11

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для поиска ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅

Function GetByLabel (pType, pLabel, cType, cPref, cSuff)

tmpStr = «»

ctlNumber = «»

Set objMatches = Nothing

Set GetByLabel = Nothing

Set re = new RegExp

re.Pattern = «ctld{2}»

re.Global = True

For i = 0 to 3

Set tmpParent = Page. WaitChild (pType, 1000).FindChild («innerText», pLabel)

If tmpParent. Exists Then

Set objMatches = re.Execute(tmpParent.Name)

Exit For

End If

Page.Refresh

Next

If (objMatches Is Nothing) Then Exit Function

For i = 0 to objMatches. Count-2

tmpStr = tmpstr & objMatches. Item (i).Value & «*»

Next

ctlNumber = objMatches. Item (objMatches.Count-1).Value

For i = 0 to 10

Set tmpObject = Page. WaitChild (cType, 10 000).FindChild («idStr», tmpstr & cPref & ctlNumber & cSuff)

If tmpObject. Exists Then

Set GetByLabel = tmpObject

Exit For

End If

Sleep (500)

Page.Refresh

Next

End Function

Function GetByProperty (pType, prop, name)

For i = 0 to 3

Set tmpParent = Page. WaitChild (pType, 1000)

If tmpParent. Exists Then

Set tmpChild = tmpParent. FindChild (prop, name)

If tmpChild. Exists Then

Set GetByProperty = tmpChild

Exit For

Else Set GetByProperty = Nothing

End If

Else Set GetByProperty = Nothing

End If

Page.Refresh

Next

If (GetByProperty Is Nothing) Then Log.Warning («Object not found. Prop: «&prop&». Name: «&name)

End Function

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ