Dativ. Частина 1

Dativ — це давальний відмінок у німецькій мові, який використовується для позначення:
1. Об’єкта дії — особи або предмета, якому щось дають, показують, говорять тощо.
2. Отримувача дії.
3. Супроводу, напрямку, походження, часу (через прийменники).
4. У деяких випадках — стану або обставини.

Dativ і питання

На які питання відповідає Dativ?
1. Wem? — Кому?
2. Wo? — Де? (з деякими прийменниками)
3. Seit wann? — З якого часу?
4. Mit wem? — З ким?

Dativ та визначені артиклі

Артикль / РідNominativDativ
der (чол. рід)der Manndem Mann
die (жін. рід)die Frauder Frau
das (сер. рід)das Kinddem Kind
die (множина)die Bücherden Bücher

Dativ та невизначені артиклі

Артикль / РідNominativDativ
ein (чол. рід)ein Hundeinem Hund
eine (жін. рід)eine Katzeeiner Katze
ein (сер. рід)ein Kindeinem Kind

Дієслова та Dativ

ДієсловоПерекладПрикладПереклад
helfenдопомагатиIch helfe meiner Mutter.Я допомагаю своїй мамі.
dankenдякуватиWir danken dem Lehrer.Ми дякуємо вчителю.
gehörenналежатиDas Auto gehört dem Mann.Авто належить чоловікові.
folgenслідуватиEr folgt dem Hund auf dem Weg.Він слідує за собакою по дорозі.
gratulierenвітатиIch gratuliere dir zum Geburtstag.Я вітаю тебе з днем народження.
ДієсловоПерекладПрикладПереклад
vertrauenдовірятиIch vertraue meinem Freund.Я довіряю своєму другові.
gefallenподобатисьDie Musik gefällt mir.Мені подобається музика.
passenпасуватиDas Kleid passt ihr.Сукня їй пасує.
schmeckenсмакуватиDer Kuchen schmeckt uns gut.Торт нам смакує.
antwortenвідповідатиWir antworten dem Lehrer.Ми відповідаємо вчителю.

Приклади речень з Dativ

НімецькоюТранслітераціяПереклад
Ich helfe dem Kind.Іх хельфе дем Кінд.Я допомагаю дитині.
Er gibt der Frau das Buch.Ер ґібт дер Фрау дас Бух.Він дає жінці книгу.
Wir danken unserem Vater.Вір данкен унзером Фатер.Ми дякуємо нашому батькові.
Ich antworte meiner Schwester.Іх антворте майнер Швестер.Я відповідаю сестрі.
Du hilfst deinem Freund.Ду хільфст дайнем Фройнд.Ти допомагаєш своєму другові.

Dativ з прийменниками

Прийменники, які завжди вимагають Dativ: mit, nach, bei, seit, aus, von, zu, gegenüber
ПрийменникПерекладПрикладПереклад
mitзIch fahre mit dem Bus.Я їду автобусом.
nachпісля, до (міста)Wir fahren nach Berlin.Ми їдемо до Берліна.
beiуIch bin bei meinen Großeltern.Я в бабусі з дідусем.
seitз (моменту часу)Er wohnt seit einem Jahr hier.Він живе тут вже рік.
ausз (походження)Sie kommt aus der Schweiz.Вона родом зі Швейцарії.
vonвід, зDas Geschenk ist von ihm.Подарунок від нього.
zuдоIch gehe zu dem Arzt.Я йду до лікаря.
gegenüberнавпротиDie Schule liegt dem Park gegenüber.Школа знаходиться навпроти парку.

Dativ з прийменниками місця

ПрийменникЗначенняПрикладПереклад
anна (вертикальній поверхні)Das Bild hängt an der Wand.Картина висить на стіні.
inв (місце, стан)Ich bin in der Schule.Я в школі.
aufна (горизонтальній поверхні)Das Buch liegt auf dem Tisch.Книга лежить на столі.
unterпідDie Tasche liegt unter dem Stuhl.Сумка лежить під стільцем.
nebenпоручDie Lampe steht neben dem Bett.Лампа стоїть біля ліжка.
vorпередIch warte vor dem Haus.Я чекаю перед будинком.
hinterпозадуDer Hund liegt hinter dem Sofa.Собака лежить позаду дивану.
überнадDie Lampe hängt über dem Tisch.Лампа висить над столом.
zwischenміжDer Stuhl steht zwischen dem Tisch und dem Fenster.Стілець стоїть між столом і вікном.
Ці прийменники (an, auf, in, unter, neben, vor, hinter, über, zwischen) можуть вживатися як з Dativ (Wo?), так і з Akkusativ (Wohin?), залежно від питання:    
• Wo? – Dativ (де? – місце)    
• Wohin? – Akkusativ (куди? – напрямок)

Dativ у множині

У Dativ множини до іменника часто додається закінчення -n (якщо слово вже не має -n)
НімецькоюТранслітераціяПереклад
Ich gebe den Kindern das Spiel.Іх ґебе ден Кіндерн дас Шпіль.Я даю дітям гру.
Wir helfen den Studenten.Вір хельфен ден Штудентен.Ми допомагаємо студентам.
Er dankt den Lehrern.Ер данкт ден Лерерн.Він дякує вчителям.

Dativ у питальних реченнях

НімецькоюТранслітераціяПереклад
Wem gibst du das Buch?Вем ґібст ду дас Бух?Кому ти даєш книгу?
Mit wem gehst du ins Kino?Міт вем ґейст ду інс Кіно?З ким ти йдеш у кіно?
Seit wann lernst du Deutsch?Зайт ван лернст ду Дойч?З якого часу ти вивчаєш німецьку?
Bei wem wohnst du?Бай вем вонст ду?У кого ти живеш?

Для додаткової візуалізації є відео.

Beruf (професія)

  • Handwerk (Ремесло)
  • Gesundheitsberufe (Професії в галузі охорони здоров’я)
  • Ingenieurwesen (Інженерія)
  • Wirtschaft und Management (Економіка та управління)
  • Bildung und Soziales (Освіта та соціальна сфера)
  • Kunst und Kultur (Мистецтво і культура)

Handwerk (Ремесло)

Ця категорія охоплює традиційні технічні та практичні професії, які часто вимагають проходження професійного навчання (Ausbildung) і майстерності.

Klempner (сантехнік)

Elektriker (електрик)

Zimmermann (столяр/тесляр)

Інші: Maler (маляр), Schlosser (слюсар), Maurer (каменяр/муляр), Bäcker (пекар).

Gesundheitsberufe (Професії в галузі охорони здоров’я)

Це одна з найважливіших і найбільш регламентованих галузей, де часто потрібна спеціалізована освіта та ліцензія.

  • Arzt/Ärztin (лікар)
  • Krankenschwester / Pflegefachkraft (медсестра / медичний працівник)
  • Pharmazeut (фармацевт)
  • Інші: Physiotherapeut (фізіотерапевт), Hebamme (акушерка), Zahnarzt (стоматолог), Psychologe (психолог).

Ingenieurwesen (Інженерія)

Сфера, що включає висококваліфіковані технічні спеціальності з акцентом на точні науки, інновації та технології.

  • Ingenieur (інженер)
  • Techniker (технік)
  • Інші: Maschinenbauingenieur (інженер-механік), Elektroingenieur (електроінженер), Bauingenieur (інженер-будівельник), IT-Spezialist (ІТ-фахівець).

Wirtschaft und Management (Економіка та управління)

Ця категорія охоплює професії, пов’язані з організацією, плануванням і фінансовим управлінням підприємств.

  • Manager (менеджер)
  • Buchhalter (бухгалтер)
  • Kaufmann/Kauffrau (комерсант, підприємець)
  • Інші: Controller (контролер фінансів), Personalreferent (спеціаліст з персоналу), Bankkaufmann (банківський службовець).

Bildung und Soziales

Це сфера, що формує суспільство, вимагає високої відповідальності та емоційного інтелекту.

  • Lehrer (вчитель)
  • Erzieher (вихователь)
  • Sozialarbeiter (соціальний працівник)

Kunst und Kultur (Мистецтво і культура)

Професії для творчих особистостей, які реалізують себе через мистецтво, дизайн або сценічне мистецтво.

  • Künstler (художник)
  • Musiker (музикант)
  • Designer (дизайнер)
  • Інші: Schauspieler (актор), Autor (письменник), Regisseur (режисер), Fotograf (фотограф).

Як описати свою професію

Ich bin [Beruf]. — Я [професія].
Наприклад: “Ich bin Lehrer.” — Я вчитель.

Ich arbeite als [Beruf]. — Я працюю як [професія].
Наприклад: “Ich arbeite als Ingenieur.” — Я працюю інженером.

Ich habe als [Beruf] gearbeitet. — Я працював(ла) як [професія].
Наприклад: “Ich habe als Arzt gearbeitet.” — Я працював лікарем.

Словник

НімецькаТранслітерація (кирилицею)Переклад
der Berufдер Беруфпрофесія
die Arbeitді Арбайтробота
der Jobдер Джобробота (неформально)
die Berufserfahrungді Беруфсерфарундосвід роботи
das Stellenangebotдас Штеллєнанґеботвакансія
der Arbeitnehmerдер Арбайтнемепрацівник
der Arbeitgeberдер Арбайтґебероботодавець
die Vollzeitді Фольцайтповний робочий день
die Teilzeitді Тайльцайтнеповний робочий день
der Selbstständigeдер Зельбштштендіґесамозайнятий
der Angestellteдер Анґештелтеслужбовець
der Freiberuflerдер Фрайберуфлефахівець (на самозайнятості)
das Praktikumдас Практікумстажування
die Bewerbungді Бевербунзаявка, резюме
das Vorstellungsgesprächдас Форштеллунґсґешпрехспівбесіда
das Handwerkдас Хандверкремесло
das Ingenieurwesenдас Інженьорвезенінженерія
die Wirtschaft und das Managementді Віртшафт унд дас Менеджментекономіка та управління
der Lehrerдер Леревчитель
der Künstlerдер Кюнстлехудожник
der Arztдер Арцтлікар
die Krankenschwesterді Кранкеншвестермедсестра
der Pharmazeutдер Фармацойтфармацевт
der Programmiererдер проґрамірепрограміст
der Zimmermannдер Циммерманстоляр
der Elektrikerдер Електрікеелектрик
der Klempnerдер Клемпнесантехнік
der Buchhalterдер Бухгалтебухгалтер
der Managerдер Менеджеменеджер
der Praktikantдер Практікантстажер
die Ausbildungді Аусбілдунпрофесійна освіта
das Studiumдас Штудіумвища освіта
die Arbeitszeitді Арбайтсцайтробочий час
der Urlaubдер Урлаубвідпустка
die Kündigungді Кюндіґунзвільнення
die Teamfähigkeitді Тімфеіхкайтздатність працювати в команді
die Selbstständigkeitді Зельбштштендіґкайтздатність працювати самостійно
die Kommunikationsfähigkeitді Комунікаціонсфеіхкайткомунікабельність

Приклади

НімецькаТранслітерація (кирилицею)Переклад
Ich bin Lehrer.Іх бін Лере.Я вчитель.
Mein Vater ist Arzt.Майн Фатер іст Арцт.Мій батько — лікар.
Ich arbeite als Ingenieur.Іх Арбайте алс Інженьор.Я працюю інженером.
Sie ist Krankenschwester.Зі іст Кранкеншвестер.Вона медсестра.
Er arbeitet in einer großen Firma.Ер арбайтет ін айнер ґроссен Фірма.Він працює в великій компанії.
Wir suchen einen Praktikanten.Вір зухен айнен Практікантен.Ми шукаємо стажера.
Ich mache ein Praktikum in einer Bank.Іх махе айн Практікум ін айнер Банк.Я проходжу стажування в банку.
Sie ist eine gute Managerin.Зі іст айне ґуте Менеджерін.Вона хороший менеджер.
Er ist Selbstständig.Ер іст Зельбстштендіґе.Він самозайнятий.
Wir haben eine Bewerbung geschickt.Вір хабен айне Бевербун гешікт.Ми надіслали заявку.
Der Arzt arbeitet im Krankenhaus.Дер Арцт Арбайтет ім Кранкенхаус.Лікар працює в лікарні.
Die Firma stellt neue Mitarbeiter ein.Ді Фірма штелльт ноє Мітарбайтер айн.Компанія набирає нових працівників.
Ich bin noch Student.Іх бін нох Штудент.Я ще студент.
Er ist Freiberufler.Ер іст Фрайберуфле.Він працює на себе.
Hast du eine Ausbildung als Elektriker gemacht?Хаст ду айне Аусбілдун алс Електріке ґемахт?Ти проходив професійну освіту як електрик?

Діалог

НімецькаТранслітерація (кирилицею)Переклад
A: Was bist du von Beruf?А: Вас біст ду фон Беруф?А: Хто ти за професією?
B: Ich bin Arzt. Und du?Б: Іх бін Арцт. Унд ду?Б: Я лікар. А ти?
A: Ich bin Lehrer. Arbeitest du in einem Krankenhaus?А: Іх бін Лере. Арбайтест ду ін айнем Кранкенхаус?А: Я вчитель. Ти працюєш у лікарні?
B: Ja, ich arbeite im Krankenhaus.Б: Я, іх арбайте ім Кранкенхаус.Б: Так, я працюю в лікарні.
A: Was machst du dort?А: Вас махст ду дорт?А: Що ти там робиш?
B: Ich behandle Patienten.Б: Іх бехандле Паціентен.Б: Я лікую пацієнтів.
A: Klingt interessant!А: Клінґт інтересант!А: Звучить цікаво!
B: Ja, es macht Spaß, Menschen zu helfen.Б: Я, ес махт Шпас, Меншен цу хельфен.Б: Так, мені подобається допомагати людям.
A: Ich arbeite als Lehrer.А: Іх Арбайте алс Лере.А: Я працюю вчителем.
B: Das ist auch ein sehr wichtiger Beruf.Б: Дас іст аух айн зер віхтіґе Беруф.Б: Це також дуже важлива професія.
A: Ja, aber manchmal ist es schwer, die Schüler zu motivieren.А: Я, абер маншмаль іст ес швер, ді Шюле цу мотівірен.А: Так, але іноді важко мотивувати учнів.
B: Das glaube ich! Aber du machst einen tollen Job.Б: Дас ґлаубе іх! Абер ду махст айнен толен Джоб.Б: Вірю! Але ти робиш чудову роботу.

Для додаткової візуалізації є відео.

Akkusativ. Частина 2

Welche — “який/яка/яке/які”

Слово welche — це питальний або означальний займенник. Воно поводиться як прикметник, тобто відмінюється за родом, числом і відмінком.

Welche в Akkusativ

Ось як змінюється welche в знахідному відмінку:
Рід / ЧислоFrage (Питання)
der (чол.)Welchen Film magst du? – Який фільм тобі подобається?
die (жін.)Welche Pizza willst du? – Яку піцу ти хочеш?
das (сер.)Welches Buch liest du? – Яку книгу ти читаєш?
die (множ.)Welche Bücher liest du? – Які книжки ти читаєш?
Чоловічий рід змінює форму на welchen у знахідному відмінку. Інші — залишаються такими самими, як у називному.

Приклади з “welche” та Akkusativ

НімецькоюТранслітераціяПереклад
Welchen Film siehst du?Вельхен філм зіст ду?Який фільм ти дивишся?
Ich sehe den neuen Film.Іх зее ден нойєн філм.Я дивлюся новий фільм.
Welche Bluse kaufst du?Вельхе блузе кауфст ду?Яку блузку ти купуєш?
Ich kaufe die rote Bluse.Іх кауфе ді роте Блузе.Я купую червону блузку.
Welches Auto möchtest du?Вельхес Ауто мьохтест ду?Яке авто ти хотів би?
Ich möchte das schwarze Auto.Іх мьохте дас шварце Ауто.Я хотів би чорне авто.

Прикметники та Akkusativ

Після ВИЗНАЧЕНОГО артикля (der/die/das → den/die/das)
Рід / ЧислоАртикль + прикметник + іменник
Чоловічийden großen Hund
Жіночийdie schöne Blume, die große Blume
Середнійdas kleine Kind, das große Kind
Множинаdie neuen Bücher, die großen Bücher
Прикметники мають -en для чоловічого роду (den) та множини, -e для жіночого й середнього.
Після НЕВИЗНАЧЕНОГО артикля (ein/eine/ein)
Рід / ЧислоАртикль + прикметник + іменник
Чоловічийeinen guten Freund
Жіночийeine nette Frau
Середнійein interessantes Buch
Множина— (невизначений артикль не вживається)
Для чоловічого роду — прикметник має закінчення -en, для жіночого — -e, для середнього додаємо ще й s.
Без артикля
Рід / ЧислоПрикметник + іменник
Чоловічийguten Kaffee
Жіночийstarke Meinung
Середнійkaltes Wasser
Множинаfrische Tomaten

Приклади речень в Akkusativ з прикметниками

НімецькоюТранслітераціяПереклад
Ich sehe den roten Ball.Іх зее ден ротен баль.Я бачу червоний м’яч.
Sie hat eine schöne Wohnung.Зі хат айне шьоне вонун.Вона має гарну квартиру.
Wir trinken kalten Tee.Вір трінкен кальтен Тее.Ми п’ємо холодний чай.
Er liest ein spannendes Buch.Ер ліст айн шпанендес Бух.Він читає захопливу книжку.

Застосування Akkusativ з дієсловами

НімецькоюТранслітерація кирилицеюПереклад українською
Ich sehe den Hund.Іх зее ден Хунд.Я бачу собаку.
Du hörst den Vogel.Ду хьорст ден Фоґель.Ти чуєш птаха.
Wir kaufen einen Apfel.Вір кауфен айнен Апфель.Ми купуємо яблуко.
Sie liest das Buch.Зі ліст дас Бух.Вона читає книгу.
Ich finde den Film spannend.Іх фінде ден Філм шпаненд.Я вважаю цей фільм захоплюючим.
Sie trägt eine Tasche.Зі треґт айне Таше.Вона несе сумку.
Wir besuchen unsere Freunde.Вір безухен унзере Фройнде.Ми відвідуємо наших друзів.
Sie liebt ihren Hund.Зі лібт ірен Хунд.Вона любить свою собаку.
Ich brauche einen Kulgelschreiber.Іх браухе айнен Куґельшрайбе.Мені потрібна ручка.
Er fragt den Lehrer.Ер фраґт ден Лерер.Він питає вчителя.

Застосування Akkusativ з дієсловами та прийменниками

НімецькоюТранслітерація кирилицеюПереклад українською
Er fährt durch die Stadt.Ер ферт дюрх ді Штат.Він їде через місто.
Ich kaufe einen Apfel für meinen Bruder.Іх кауфе айнен Апфель фюр майнен Бруде.Я купую яблуко для мого брата.
Sie schreibt einen Brief für ihre Mutter.Зі шрайбт айнен Бріф фюр іре Муте.Вона пише листа для своєї мами.
Wir spielen heute gegеn die Nachbarn.Вір шпілєн хойте ґеґен ді Нахбарн.Сьогодні ми граємо проти сусідів.
Wir sitzen um den Tisch.Вір зітсен ум ден Тіш.Ми сидимо навколо столу.
Ich warte bis den Abend.Іх варте біс ден Абенд.Я чекаю до вечора.

Застосування Akkusativ з питальними словами

Важливі питання, що вимагають Akkusativ, часто використовуються для з’ясування об’єктів дії
НімецькоюТранслітераціяПереклад
Was siehst du?Вас зіест ду?Що ти бачиш?
Wen rufst du an?Вен руфст ду ан?Кому ти телефонуєш?
Welchen Film möchtest du sehen?Вельхен Філм мьохтест ду зеен?Який фільм ти хочеш подивитись?
Welche Musik hörst du gern?Вельхе Музік хьорст ду герн?Яку музику ти любиш слухати?

Для додаткової візуалізації є відео.

Akkusativ. Частина 1

Що таке Akkusativ?

Akkusativ — це знахідний відмінок, який відповідає на питання:

Кого? Що? (wen? was?)

Він вказує на прямий об’єкт — тобто на те, на що направлена дія дієслова.

Коли вживається Akkusativ?

Коли є прямий об’єкт: Хтось робить щось з кимось / чимось.
НімецькаТранслітераціяПереклад
Ich sehe den Hund.Іх зее ден Хунд.Я бачу собаку.
Sie hat einen Apfel.Зі хат айнен Апфель.Вона має яблуко.
Wir kaufen ein neues Auto.Вір кауфен айн ноєс Ауто.Ми купуємо нову машину.
Er liest das Buch.Ер ліст дас бух.Він читає книгу.
Ich liebe dich.Іх лібе діх.Я люблю тебе.

Зміна артиклів у Akkusativ

Артикль / РідNominativ (хто? що?)Akkusativ (кого? що?)
der (чол. рід)der Mannden Mann
die (жін. рід)die Fraudie Frau
das (сер. рід)das Kinddas Kind
die (множина)die Bücherdie Bücher

Неозначені артиклі

Артикль / РідNominativAkkusativ
ein (чол. рід)ein Hundeinen Hund
eine (жін. рід)eine Katzeeine Katze
ein (сер. рід)ein Kindein Kind

Після яких дієслів вживається Akkusativ?

Більшість перехідних дієслів (тобто тих, що потребують прямого об’єкта):

haben – Ich habe einen Bruder. В мене є брат.

sehen – Er sieht den Film. Він дивиться фільм.

kaufen – Sie kauft eine Tasche. Вона купляє сумку.

finden – Wir finden das Buch. Ми шукаємо книгу.

lieben – Ich liebe dich. Я кохаю тебе.

Кілька додаткових прикладів

НімецькаТранслітераціяПереклад
Ich habe einen Plan.Іх хабе айнен план.В мене є план.
Er sucht das Handy.Ер зухт дас хенді.Він шукає телефон.
Wir hören die Musik.Вір хьорен ді музік.Ми слухаємо музику.
Sie kennen den Lehrer.Зі кенен ден лерер.Вони знають учителя.
Ich brauche einen Stift.Іх браухе айнен штіфт.Мені потрібен олівець.

Прийменники, які завжди вимагають Akkusativ

Ці прийменники завжди вимагають Akkusativ:

  • durch (через)
  • ohne (без)
  • gegen (проти)
  • für (для, за)
  • um (навколо)
  • bis (до)

Кілька прикладів з прийменниками

НімецькаТранслітераціяПереклад
Ich gehe durch den Park.Іх ґее дюрх ден парк.Я йду через парк.
Ich mache das ohne dich.Іх махе дас оне діх.Я роблю це без тебе.
Wir spielen gegen die Mannschaft.Вір шпілєн ґеґен ді маншафт.Ми граємо проти команди.
Das Geschenk ist für meine Mutter.Дас гешенк іст фюр майне муттер.Подарунок для моєї мами.
Die Kinder laufen um den Tisch.Ді кіндер лауфен ум ден тіш.Діти бігають навколо столу.
Ich bleibe bis nächsten Montag.Іх бляйбе біс нехстен Монтаґ.Я залишаюсь до наступного понеділка.

Особові займенники в Akkusativ

NominativAkkusativ
Ich – яMich – мене
Du  – тиDich – тебе
Er – вінIhn – його
Sie – вонаSie – її
Es – воноEs – його
Wir – миUns – нас
Ihr – виEuch – вас
sie/Sie – вони/Виsie/Sie – їх/Вас

Особові займенники в Akkusativ

НімецькаТранслітераціяПереклад українською
Ich sehe dich.Іх зее діх.Я бачу тебе.
Er hört uns.Ер хьорт унс.Він слухає нас.
Wir besuchen sie.Вір безухен зі.Ми відвідуємо їх.
Sie liebt mich.Зі лібт міх.Вона любить мене.

Для додаткової візуалізації є відео.

Path Testing

Path Testing (тестування шляхів) — це метод структурного тестування (white-box testing), при якому тестувальник аналізує всі можливі логічні шляхи через програму з метою створення тестів, що забезпечують максимальне покриття коду. Він базується на аналізі графа потоку управління (Control Flow Graph, CFG) програми.

Основні терміни

1. Граф потоку управління (Control Flow Graph, CFG)

  • Представляє структуру виконання програми у вигляді графа.
  • Вузли (nodes) — окремі інструкції, блоки або умовні оператори.
  • Ребра (edges) — можливі переходи між вузлами, залежно від умов або порядку виконання.

2. Шлях (Path)

  • Це послідовність вузлів і ребер, яка описує можливий маршрут виконання програми від початку до кінця.

3. Типи шляхів:

  • Простий шлях (Simple Path): шлях, у якому вузли не повторюються.
  • Циклічний шлях (Cyclic Path): шлях, що містить цикл (наприклад, while або for).
  • Лінійно незалежний шлях: шлях, що містить хоча б одну нову гілку, якої немає в інших шляхах.
  • Базисний шлях (Basis Path): мінімальний набір незалежних шляхів, що дозволяє досягти повного покриття гілок.

Мета Path Testing

  • Перевірити всі можливі варіанти проходження програми.
  • Виявити:
    • логічні помилки,
    • пропущені гілки або умови,
    • мертвий код,
    • небажані петлі (infinite loops),
    • некоректну обробку умов.

Алгоритм проведення Path Testing

  1. Побудова графа потоку управління (CFG) для цільового фрагменту коду.
  2. Ідентифікація всіх можливих логічних шляхів у графі.
  3. Вибір набору незалежних шляхів (як правило, базисних шляхів).
  4. Створення тестових випадків, які дозволяють пройти ці шляхи.
  5. Виконання тестів і аналіз результатів.

Приклад

def max_of_three(a, b, c):
    if a > b:
        if a > c:
            return a
        else:
            return c
    else:
        if b > c:
            return b
        else:
            return c

Граф потоку управління:

          [Start]
        |
     a > b?
     /    \
   T/      \F
 [a > c?] [b > c?]
   / \      / \
 T/   \F  T/   \F
[a] [c] [b]   [c]

Можливі шляхи:

  1. a > b і a > c → return a
  2. a > b і a <= c → return c
  3. a <= b і b > c → return b
  4. a <= b і b <= c → return c

Для повного покриття шляхів потрібно 4 тест-кейси:

  • max_of_three(5, 2, 1) → шлях 1
  • max_of_three(5, 2, 9) → шлях 2
  • max_of_three(2, 5, 1) → шлях 3
  • max_of_three(2, 5, 9) → шлях 4

Переваги Path Testing

  • Дає високий рівень покриття логіки.
  • Допомагає виявити складні помилки, які не видно при зовнішньому тестуванні.
  • Підходить для критично важливих систем, де важлива точність логіки.

Недоліки

  • Неможливість повністю охопити всі шляхи, якщо програма велика або має багато циклів (може бути нескінченна кількість шляхів).
  • Висока складність, якщо код заплутаний або має багато умовних конструкцій.

Path Testing — це один із найточніших методів тестування програмної логіки.

Він дає змогу:

  • виявити логічні помилки,
  • досягти глибокого покриття коду,
  • забезпечити якість критичних функцій.

Його доцільно використовувати при тестуванні окремих функцій, модулів, алгоритмів або життєво важливих систем, де необхідна висока точність і передбачуваність поведінки.