ΠΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΠ‘
Π‘ΡΠ΅Π΄ΡΡΠ²Π° (means) ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π²ΡΠ½ΠΎΡΠ° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠ΄ΠΈΠΊΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡ Π°ΡΠ±ΠΈΡΡΠ°ΠΆΠ΅ΠΌ (arbitration). Π‘Ρ Π΅ΠΌΠ° Π°ΡΠ±ΠΈΡΡΠ°ΠΆΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π°ΡΠ±ΠΈΡΡΠ°. Π’Π΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ (test context), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΠ‘ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π ΠΌΠΎΠ΄Π΅Π»ΡΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ UML-ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈ lU-ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ[1].
-ΠΏΡΠΎΡΠΈΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΠ‘ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ UML-ΠΏΡΠΎΡΠΈΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (UML-ΠΠ’), ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ OMG, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ·ΡΠΊ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π°Π½Π°Π»ΠΈΠ·Π°, ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠΎΠΈΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°Π½Π½ΠΈΡ ΡΡΠ°Π΄ΠΈΠΉ ΠΠ¦ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° UML ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΡΡ (UML based model-driven testing).
ΠΠΎΠ½ΡΠ΅ΠΏΡΡ UML-IIT ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎ ΡΠ΅ΡΡΡΠ΅ΠΌ Π³ΡΡΠΏΠΏΠ°ΠΌ:
- 1) Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ΡΡΠ° — ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠΈΡ, ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΠ°;
- 2) ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠ° — ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ;
- 3) Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠ° — ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠΈΡ, ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Ρ );
- 4) Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ — ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠ²Π°Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ΡΡΠ° (test architecture). ΠΠ»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π²Π΅Π΄Π΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ:
- β’ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ (test context), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ (test cases) Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΡΠ΅ΡΡΠ° (test control) (Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠ°), Ρ. Π΅. Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ;
- β’ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° (System Under Test, SUT) — ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ;
- β’ ΡΠ΅ΡΡ-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (test components) — ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ «ΠΎΠ±ΡΠ°ΡΡΡΡ» Ρ SUT ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΡΠ° (ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ);
- β’ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ (scheduler) — ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠ° ΠΈ ΡΠ΅ΡΡΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΡΠ° Π½Π°Π΄ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΈ Π²ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠ° ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ;
- β’ ΡΡΠ΅Π΄ΡΡΠ²Π° (means) ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π²ΡΠ½ΠΎΡΠ° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠ΄ΠΈΠΊΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡ Π°ΡΠ±ΠΈΡΡΠ°ΠΆΠ΅ΠΌ (arbitration). Π‘Ρ Π΅ΠΌΠ° Π°ΡΠ±ΠΈΡΡΠ°ΠΆΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π°ΡΠ±ΠΈΡΡΠ°.
ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠ° (ΡΠΎΠ±ΡΡΠΈΡ ΡΠ΅ΡΡΠ°, test behaviour). ΠΡΡΠΏΠΏΠ° ΠΏΠΎΠ½ΡΡΠΈΠΉ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈ Π°ΠΊΡΠΎΠ² ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΡΠ΅ΡΡΠ° (test objective). ΠΠ°Π΄Π°ΡΠ° ΡΠ΅ΡΡΠ° ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅Π»Ρ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΡΠΈΠΌΡΠ»ΠΎΠ², Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠΉ ΠΎΡΠ·ΡΠ²ΠΎΠ² ΠΎΡ SUT, ΡΠ΅ΡΡΠΎΠ²ΡΡ Π·Π°ΠΏΡΡΠΊΠΎΠ², ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ UML — Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ (interaction diagrams), ΠΌΠ°ΡΠΈΠ½Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΠ°Π»ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π½ΠΎΡΠΌΠ°ΡΠΈΠ²Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ (ΡΠΎΠ±ΡΡΠΈΠΉ). UML-IIT Π²Π²ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠ°. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΈΠΏΠΈΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ).
Π Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ°ΠΊΠΈΠΌ ΠΏΠΎΠ½ΡΡΠΈΡΠΌ, ΠΊΠ°ΠΊ Π·Π°Π΄Π°ΡΠ° ΡΠ΅ΡΡΠ°, ΡΠ΅ΡΡΠΎΠ²Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, Π²Π΅ΡΠ΄ΠΈΠΊΡ, ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π² ΠΏΡΠΎΡΠΈΠ»Π΅ Π²Π²ΠΎΠ΄ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΠ°, Π²ΡΠΎΠ΄Π΅:
- β’ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠ΅ΠΉ (validation action) — ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΡΠΎΠ²ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ;
- β’ ΠΆΡΡΠ½Π°Π» ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (test log) — Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΆΡΡΠ½Π°Π»ΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ (log action) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ (entry) Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠ° Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°;
- β’ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ (finish action) — Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ) Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π±Π΅Π· Π΅Π³ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ;
- β’ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ determAlt — ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡΡ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅Π»Π΅ΠΉ (guards) Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ determAlt Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ°Π΅Ρ ΡΡΠ°ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ.
ΠΠ°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠ° (test data). UML-ΠΠ’ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΠΈ (wildcards), Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π°Π½Π½ΡΡ (data pools), ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ (data partitions), ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Π΄Π°Π½Π½ΡΡ (data selectors) ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ (coding rules). Wildcards ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΠΎΡΠΈΠ»Ρ Π²Π²ΠΎΠ΄ΠΈΡ wildcards, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (any value) Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π½Π°Π±ΠΎΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΎΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ (ΠΏΠΎΠΏΡΠ°Π½Π½ΠΎΠ³ΠΎ) Π·Π½Π°ΡΠ΅Π½ΠΈΡ (any or omitted values) Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ SUT ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΡΡΠΌΠΈ. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ (ΠΊΠ»Π°ΡΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ) Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . Π‘Π΅Π»Π΅ΠΊΡΠΎΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎΡΠΈΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ΄Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ» ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Ρ SUT.
ΠΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (test time). ΠΠΎΠ²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ UML 2.0:
- β’ ΡΠ°ΠΉΠΌΠ΅ΡΡ (Timers) — Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ;
- β’ Π·ΠΎΠ½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Time zones) — Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠΎΠΉ ΠΆΠ΅ Π·ΠΎΠ½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΡΠ΅ΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ UML 2.0. ΠΡΠΎΡΠΈΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΠ½ΡΠ΅, ΡΠ°ΠΊ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΈ Π΄Π΅ΠΉΡΡΠ²Π΅Π½Π½ΠΎΠΉ.
- [1] Π‘ΠΌ.: ΠΠ½Π΄ΠΎΠ½ Π€. Π. ΠΡΠ½ΠΎΠ²Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. 2007.