You are on page 1of 18

პროგრამული უზრუნველყოფის ტესტირება

6-2 გაკვეთილი
ტესტირების ტექნიკები

ტესტირების ტექნიკების სწორი შერჩევა და გამოყენება საშუალება


გვაძლევს სწრაფად და ხარისხიანად გავტესტოთ პროგრამული
პროდუქტი.

მაგ:

სილაბუსის მიხედვით ტესტირების ტექნიკები იყოფა:

● Black-box
● White-box
● Experienced based
Decision Table Testing
Decision Table testing
● ესეც არის ტესტირების ერთ-ერთი ტექნიკა, მაგრამ წინა ორი ტექნიკისგან იმით განსხვავდება, რომ თუ ექვივალენტური
კლასების და ზღვრული მნიშვნელობებით ტესტირებისას ვცდილობდით გაგვეტესტა პროდუქტი მინიმალური ტესტ-
ქეისების რაოდენობით და დროს გვიზოგავდა, Decision Table ტექნიკა გამოიყენება იმისთვის, რომ ტესტირებისას
ვეცადოთ მაქსიმალურად არ გამოგვრჩეს რომელიმე გასატესტი სცენარი და მნიშვნელობა .
● გამოიყენება რთული ბიზნეს ლოგიკის ტესტირების სცენარების შემუშავებისთვის.
● Decision Table კარგი გზაა აღმოვაჩინოთ ყველა შესაძლო კკომბინაცია ‘Input’ და ‘Output’ პირობას შორის.
● ცხრილებში მოცემულია ისეთი პირობები, რომელთა კომბინაციაც იძლევა განსხვავებულ შედეგებს და მოთხოვნებში
გამოიყენება პირობები(if/else)

Decision Table ტექნიკაში input(შემავალი) და output(გამომავალი)


პარამეტრების ჩაწერა ხდება ცხრილის სახით:
● ცხრილში პირველ ადგილზე იწერება
მოთხოვნები/პირობები/Conditions. თითოეულ მოთხოვნას/პირობას
ვწერთ ცალკე ხაზზე, ამ პირობებს აქვს პარამეტრები/მნიშვნელობები.
● მეორე ადგილზე იწერება მნიშვნელობები/Parameters. .Მნიშვნელობები
შეიძლება იყოს არა მხოლოდ ჭეშმარიტი/მცდარი (True/False), არამედ
ნებისმიერი მნიშვნელობა.
● ხოლო ქვემოთ იწერება ქმედებები/Action/Expected result.
Decision Table Testing
Decision Table testing

ამოცანა 1 : სტიპენდის საზღვარგარეთ

სტუდენტი, ვისაც შეიძლება სტიპენდია დაენიშნოს უნდა


აკმაყოფილებდეს შემდეგ პირობებს:
● უნდა სწავლობდეს უნივერსიტეტში,
● და მას უნდა ჰყავდეს მშობლები, რომელთა წლიური
შემოსავალი არ უნდა აღემატებოდეს 30000 ევროს,
● თუ სტუდენტი ცხოვრობს სახლიდან მოშორებით, მაშინ იგი
მიიღებს კიდევ დამატებით თანხას სტიპენდიასთან ერთად.

რამდენი პირობა გვაქვს:


Decision Table Testing
Decision Table testing
ცხრილი:
Decision Table Testing
Decision Table testing

ამოცანა 2:
განვიხილოთ მოთხოვნა, რომელიც მომხმარებელს სთხოვს შეავსოს სესხის განაცხადი უკონტაქტოდ.
შევსებული ინფორმაციის საფუძველზე უნდა მოხდეს განაცხადის განხილვა, დაუარება ან ბანკში ვიზიტის შეთავაზება
დავუშვათ, რომ სესხის თანხა არის 5000ლარი.

განცხადებას აქვს შემდეგი ბიზნესის წესები:


★ თუ ხართ დასაქმებული და ყოველთვიური ანაზღაურება მეტია ან ტოლია 750 ლარზე, მაშინ თქვენი სესხის დამტკიცდება
განიხილება.
★ თუ ხართ დასაქმებული და ყოველთვიური ანაზღაურება 250 ლარიდან-750 ლარამდეა, მაშინ ფილიალის მისვლა
დაგჭირდებათ აპლიკაციის განსახილველად.
★ თუ ხართ დასაქმებული და თქვენი ყოველთვიური ანაზღაურება 250 ლარზე ნაკლებია, მაშინ თქვენი სესხი უარს
მიიღებენ.
★ თუ არ ხართ დასაქმებული და თქვენი ყოველთვიური შემოსავალი 750 ლარზე მეტი ან ტოლია, მაშინ ფილიალის
მონახულება გჭირდებათ.
★ თუ არ ხართ დასაქმებული და თქვენი ყოველთვიური ანაზღაურება 750 ლარზე-ზე ნაკლებია, შესაბამისად, თქვენი სესხი
უარს იტყვის
Decision Table Testing
Decision Table testing

ცხრილი:
State Transition Testing
State Transition Testing

● ეს არის Black box-ის დიზაინის ტექნიკა, როდესაც ხდება სისტემის ქმედებების შემოწმება სხვადასხვა მდგომარეობის
დროს. ხდება ერთი მდგომარეობის გადასვლა /ცვლილება მეორე მდგომარეობად.
● Transition - ეს არის კომპონენტების ან სისტემების ორ მდგომარეობას შორის გადასვლა .
● გვხვდება როგორც დიაგრამები, ასევე ცხრილებიც.
● ამგვარი ტესტირება ძირითადად გამოიყენება მოწყობილობების ტესტირებისას
● დიაგრამები გვიჩვენებს მხოლოდ ვალიდურ გადასვლებს
● სისტემის ქცევები დამოკიდებულია ერთმანეთზე
● გამოიყენება რდესაც პროდუქტში გვაქვს ვორქფლოუ, სტატუსების ცვლილებები …
● ტესტები ისე უნდა იყოს შედგენილი, რომ ფარავდეს ყველა მდგომარეობებას და მდგომარეობის შორის გადასვლებს
თანმიმდევრლად
● ტესტებით ვფარავთ ნაბჯების თანმიმდევრობას
● ეს ტექნიკა უზრუნველყოფს, რომ არ დავკარგოთ რაიმე გაუტესტავი მდგომარეობის ცვლილება, ანუ ეს ტექნიკა აფართოებს
ჩვენს სატესტო დაფარვას.
State Transition Testing
State Transition Testing

დიაგრამაზე გვხვდება შემდეგი ელემენტები:


● საწყისი წერტილი
● მდგომარეობა, რომელშიც სსტემა
ელოდება რაიმე ქნედებას
● გადასვლები - ერთი მდგომარეობიდან
მეორეში
● მოვლენა, რომელიც იწვევს მდგომარეობის
ცვლილებას
● ქმედება, რომელიც ხდება ცვლილების
შედეგად
● დასასრული
State Transition Testing
მაგალითი:
State Transition Testing
State Transition Testing

მაგალითი:
● ბანკომატიდან თანხის გამოტანა
Use Case Testing
Use Case Testing

● Use case-ებს ქმნიან პროდაქტ ოუნერები, ბიზნეს ანალიტიკოსები, ან იუზერები და არა ტესტერები.
● ბიზნეს სცენარის ფარგლებში ვიწერთ ნაბიჯების თანმიმდევრობას.

● Use case ეს არის ბიზნეს სცენარი და მაქვს ყოველთვის აქვს გარკვეული ბიზნეს მიზანი, რისთვის სჭირდება ეს
მომხმარებელს.
● ბიზნეს სცენარის ფარგლებში ვიწერთ ნაბიჯების თანმიმდევრობას.

● Use case არ აგვერიოს user story-ში. იუზერ სთორი ეს არის მოთხოვნა ჩაწერილი გარკვეულ ფორმატში ეჯაილ
ფრეიმვორკში: მე როგორც მომხმარებელს მინდა მქონდეს შესაძლებლობა იმისა, რომ ვაკეთო რაღაც, იმისთვის, რომ ….
Use Case Testing

Use Case -ის ნიმუში:

აქვს შემდეგი პარამეტრები:


დასახხელება,
ნომერი,
მიზანი,
მომხმარებლის როლი (შეიძლება მეტი მახასიათებლებიც),
შეიძლება ჰქონდეს წინაპირობა,
რამდენიმე ტიპის სცენარები:
ძირითადი პოზიტიური(main scenario),
ალტერნატიული ნაბიჯები (alternative steps).
Use Case Testing
Use case განვხილოთ ბანკომატის გამოყენების მაგალითზე:
● ბიზნეს მიზანი არის - ბანკომატიდან თანხის მიღებ.
● ძირითადი სცენარი: ეს იქნება პოზიტიური ნაბიჯები, რა უნდა გავაკეთო, რომ მივიღო თანხა. Ძირითადი სცენარი იქნება გამოვიტანო
თანხა პირდაპირ, ყოველგვარი გადახვევის გარეშე, არ შევხედო ბალანსს.
1. ნაბიჯი: მოვათავსოთ ბარათი
2. ნაბიჯი: ავირჩიოთ ენა
3. ნაბიჯი: სისტემა ახდენს ბარათის ვალიდაციას და გვეკითხება პინს,
4. ნაბიჯი: შევიყვანო პინ-კოდი
5. ნაბიჯი: პინ-კოდის ვალიდაცია
6. ნაბიჯი: თანხის გამოტანა/ბალანსის შემოწმება/სხვა ოპერაციები, ძირითადი ქმედება აქ იქნება ბალანსის გამოტანა, მაგრამ 6a
იქნება ბალანსის შემოწმება(ეს იქნება ალტერნატიული გზა და ამაზე ცალკე იქნება იუზ ქეისები). აქ უნდა დავწეროთ, იხილეთ
იუზ ქეისი 6a.
7. ნაბიჯი: ავირჩიოთ თანხის გამოტანა
8. ნაბიჯი: შეგვყავს სასურველი თანხა და გამოგვაქვს.

● ალტერნატიული ნაბიჯი იქნება: გარკვეულ ეტაპზე შეიძლება გავაკეთო ლოგ-აუთი, შეიძლება გადავწყვიტო, რომ შევამოწმო ბალანსი,

● შეცდომები - exception, ნეგატიური სცენარები, არასწორი ქმედების შედეგად გამოსული შეცდომები, მაგ, პირველ ნაბიჯზე თუ
არასწორად შევიყვან პინ-კოდს - exceptio 1, თუ მეორედაც არასწორად შევიყვანთ-exception 2
Key Notes

● ყველა მეთოდის გამოყენების აუცილებლობა არ არის, პირობიდან გამომდინარე უნდა განისაზღვროს


● Black-Box ტესტირების მიდგომები ყველა ფაზაში შესაძლებელია გამოვიყენოთ
● მეთოდების გამოყენება გვაძლევს საშულებას მეტი ხარვეზის აღმოჩენის
ამოცანა 1
თუ ტემპერატურა ჩამოვა 18 გრადუსის ქვემოთ, გატბობა ჩაირთვება.
როცა ტემპერატურა მიაღწევს 21 გრადუსს, გათბობა გამოირთვება.
ჩამოთვლილთაგან რომელი სატესტო მნიშვნელობებით გატესტავდით ვალიდურ ექვივალენტურ
კლასებს?
--------18--------21-------------
1. 15, 19 და 25 გრადუსი
2. 17, 18 და 21 გრადუსი
3. 18, 20 და 22 გრადუსი
ამოცანა 2
სიჩქარის კონტროლის სისტემას აქვს შემდეგი მახასიათებლები:
● თუ თქვენ მოძრაობთ 50 კმ/სთ ან ნაკლებით, არაფერი არ მოხდება,
● თუ თქვენ მოძრაობთ 50 კმ/სთ მეტით, მაგრამ 55 კმ/სთ და მასზე ნაკლები სიჩქარით, მაშინ მიიღებთ
გაფრთხილებას,
● თუ თქვე მოძრაობთ 55 კმ/სთ მეტით, მაგრამ 60კმ/სთ და მასზე ნაკლები სიჩქარით, მაშინ დაჯარიმდებით,
● თუ თქვენ მოძრაობთ 60 კმ/სთ-ზე მეტი სიჩქარით, ჩამოგართმევენ მართვის მოწმობას

ქვემოთ ჩამოთვლილთაგან რომელია ყველაზე სწორი ჩამონათვალი 2 ზღვრული მნიშვნელობით გასატესტად?

1. 0. 49, 50, 54, 59, 60. ---50|51-----55|56-----60|61----


2. 50, 55, 60
3. 49, 50, 54, 55, 60, 62.
4. 50. 51. 55. 56. 60. 61.

You might also like