ტესტირების ავტომატიზაცია

ლექტორის შესახებ:

თამარ მუმლაძე

განათლება: კომპიუტერული მეცნიერებები

არაფორმალური განათლება:
Frontend Development – BTU;
Manual Testing – TBC Academy;
Scratch -ვიზუალური პროგრამირება – Oxford University

სამუშაო გამოცდილება:
ტესტირების ავტომატიზაციის ჩაფთერლიდი – თიბისი ბანკი ლექტორი, მენტორი – თიბისი და ედუტექ აკადემია

მოკლე აღწერა:

სილაბუსი:

#კურსის შინაარსიძირითადი მიგნებები
1 . ტესტირების მიზანი და ტიპები
-ტესტირების მიზანი
-STLC -ტესტირების სასიცოცხლო ციკლი
-ტესტირების ტიპები, გეგმა, გაშვება, დიზაინი, ბაგის რეპორტი
-ტესტირების პირამიდა
-ტესტ ქეისი , ტესტ სცენარი
-ავტომატური და მანუალური ტესტირება, მიზანი 
-დადებითი და უარყოფითი მხარეები

დავალება:
გვაქვს დავალება რომ გავტესტოთ პროექტი 0-დან, რომელი ტესტირების ტიპებს შევადგენდით, როგორი სტრატეგიით და რატომ? 
შედეგების გაზიარება – დისკუსია
ავტომატიზაცია

ტესტირების პირამიდა

ტესტ ქეისი



2.ეჯაილში მუშაობა და ტესტერი როგორც გუნდის ნაწილი
-ეჯაილი
-სქრამი
-კანბანი
-SDLC (პროდუქტის სასიცოცხლო ციკლი)
-გუნდის მუშაობის პროცესი
-დადებითი და უარყოფითი მხარეები

დავალება:
იქნება თამაში, სადაც როლები იქნება განაწილებული და პროდუქტის რაიმე, კონკრეტული თვისება დაინერგება

სქრამი

ტესტერის როლი


3.  Version Control Systems
-რა არის version control systems
-ტიპები
-გიტი
-გიტის საფუძვლები
-Branching strategies
-მოწინავე ტექნიკები

დავალება:
 გააკეთონ დამოუკიდებლად 1 რეპოზიტორია, შექმნან ბრენჩები და ემუშაონ ერთმანეთს
რეპოზიტორი

კომიტი

ბრენჩი

4.ინტელიჯ აიდეა და ჯავას საფუძვლები
-ინტელიჯ აიდეა როგორც თული
-კონფიგურაციები
-ჯავას მუშაობის მექანიზმი (JDK,JRE)
-კომპილაცია და რანინგი
-მონაცემთა ტიპები
-ოპერატორები
-კოლექციები

დავალება:
დავალებაში იქნება ცვლადების ერთმანეთთან ინტერაქტივის გარჩევა, კოლექციების არსებითი განსხვავებების პრაქტიკაში გადმოტანა
ცვლადი

კოლექცია
5. ჯავას საფუძვლები
-კლასები
-აბსტრაქტული კლასი ვს ინტერფეისი
-ველები
-მეთოდები
-ფექიჯები და იმპორტები
-maven

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

კლასი

მეთოდი


6. ობიექტზე ორიენტირებული 
-ობიექტზე ორიენტირებული პროგრამირება –  პრინციპები
-Solid – პრინციპები

დავალება:
დამოუკიდებლად შევქმნათ ყველა პრინციპის მაგალითი და მოვიფიქროთ ,რაიმე პროდუქტზე რა ფუქნციონალში იქნებოდა გამოყენება
ინკაფსულაცია

მემკვიდრეობითობა

პოლიმორფიზმი

7. ჯავას მოწინავე ტექნიკები
-Exception handling
-ჯენერიკები
-ლამბდა
-Debugging 
-Googling

დავალება:
შეიჯბრება, იქნება ამოცანები და გუგლის დახმარებით უნდა გადაჭრან და იპოვონ გადაწყვეტები
ანიმაცია
Hover

უკანა ფონი
background
8. Data driven testing -მონაცემებზე დამოკიდებული ტესტირება
-მონაცემებზე დამოკიდებული ტესტირება
-მიზანი
-ბაზების განსაზღვრება
-Mysql-ის გამართვა
-SQL-ის სინტაქსი

დავალება:
სქლზე ქუერების შექმნა განსხვავებული ამოცანებით, შედეგების ერთმანეთში გაცვლა და გარჩევა
CRUD

ბაზა

სერვერი

ცხრილი

DDT
9.Data driven testing -მონაცემებზე დამოკიდებული ტესტირება
-ბაზების მონაცემების მანიპულაცია intelij-დან
-ConnectionString – Statement types
-ექსელთან მუშაობა

დავალება:
ექსელის ფაილიდან წამოღებული ინფორმაციის ჩაწერა ბაზაში, გაფილტვრა , გამოყოფა და გამოყენება
Statement

მაკავშირებელი სტრინგი
10. სელენიუმის საფუძვლები
-Dev tools -ის გამოყენება
-სელენიუმის საფუძვლები
-Web driver
-Web Elements locators and basic functions

დავალება: 
ბაზის მონაცემებით საიტზე რეგისტრაცია
ვებ დრაივერი

ლოკატორები
11.  დიზაინ პატერნები
-რა არის დიზაინ პატერნი, რა საჭიროა?
-POM
-Page Factory
-Singleton
-Fluent pattern

დავალება:
მოვიძიოთ დარჩენილი დიზაინის ტიპები, შევადაროთ გავლილს, შევქმნათ ავტომატური ტესტები pom- ის მიხედვით
POM

Design pattern

Fluent

12. სელენიუმის საფუძვლები
-Waits
-Browser Advanced Functions 
-baseTest
-Css/xpath selectors

დავალება: 
ახალი ტექნიკებით მუშაობა პროდუქტზე
ლოდინის ეფექტურობა
13. სელენიუმის მოწინავე ტექნიკები
-Js Executor
-Cookies
-Web tables and form elements

დავალება: 
ცხრილებთან მუშაობა, მონაცემების წამოღება და ბაზაში ჩაწერა
Javascript executor
14. სელენაიდი
-საფუძვლები
-დადებითი და უარყოფითი მხარეები
-ელემენტები
-Fluent Api
-ასერტები
-waits

დავალება:
საიტის გატესტვა სელენაიდის გამოყენებით

15.TestNG – როგორც ფრეიმვორკი
-რა არის ტესტნგ?
-ანოტაციები
-პრიორიტეტიზაცია
-დამოკიდებულებები
-ჯგუფები, სუითები, ლისენერები
-Data providers, factory and etc.

დავალება:
დაიყოფიან ჯგუფებად, აიღებენ თემებს, ჩამოიწერება ქეისები  და ეცდებიან შეუსაბამონ მეთოდებს, მოიგონონ ალტერნატიული შესაძლებლობები, საბოლოო შედეგზე გაარჩიონ ერთად
Testng
16.TestNG
-პარამეტრიზაცია
-პარალელური გაშვება
-რეპორტები
-დატა დრივენ ტესტინგის ანოტაციები

პროექტი:
გავლილი მასალით შექმნიან სცენარებს, ქეისებს და დოკუმენტაციას , არსებული მონაცემებით დაწერენ საჭირო ავტომატურ ტესტებს და დაყოფენ ტესტირების ტიპებად
პარალელიზაცია
17.ვებ სერვისები 
-ვებ სერვისები
-თულები – Swagger, postman
-Dev tools ის გამოყენება (სტატუს კოდი, მეთოდის ტიპი )
-რექვესთების გაშვება

დავალება:
ავაწყოთ მანუალური ტესტები მეთოდებისთვის
ვებ სერვისი

მუშაობის მექანიზმი

18. Rest Assured -საფუძვლები
-Given, when , then
-პარამეტრის ტიპები
-პასუხის დამუშავება
-ლოგირება

დავალება:
გავუშვათ ავტომატური ტესტები რესტ აშურდის გამოყენებით
Functions
19. Rest Assured – მოწინავე ტექნიკები
-სერიალიზაცია , დესერიალიზაცია
-მოდელ კლასები
-ლომბოკი
-ასერტების ბიბლიოთეკები

დავალება:
გამოვიყენოთ მოწინავე ტექნიკები, ტესტქეისების სტრუქტურა დავხვეწოთ 
დავალება 2: ვიპოვოთ დაშვებული შეცდომები პროექტში და ვეცადოთ გასწორებას
დესერიალიზაცია

სერიალიზაცია

ვალიდაცია

20.Rest Assured – მოწინავე ტექნიკები
-სპეციფიკაცები
-რექვესთ მშენებლები

დავალება:
გამოვიყენოთ ოოპის სტრატეგიები, სპეციფიკაციების დახმარებით ავაწყოთ შესაფერისი კოდი
21. Jmeter -საფუძვლები
-Jmeter როგორც ხელსაწყო
-დაყენება
-რა არის პერფომანს ტესტირება და ტიპები
-მცირე რექვესთის შექმნა

დავალება:
შევქმნათ დატვირთვა რომელიმე სერვისზე და შევამოწმოთ წარმადობა
წარმადობა

პერფომანს ტესტირება

22.Jmeter – მოწინავე ტექნიკები
-რეკორდერი
-ყველა ელემენტის გავლა (threads, samples, listeners and etc)
-მოწინავე ტექნიკები (ჰტმლ რეპორტის დაგენერირება და ა.შ)

დავალება:
ავაწყოთ ui-ის პერფომანს ტესტირება და  გამოვიყენოთ სხვადასხვა ტიპის წარმადობის შემოქმება
სრედები
23. თავისუფალი თემა
-Desktop Automation
-Playwright
-Cucumber and etc
24.თავისუფალი თემა
-Appium
-Espresso
-Cypress and etc
ფინალური პროექტი
არსებულ პროექტს დაემატება ბექის და პერფომანსის ტესტირება, და სისრულეში მოვა საერთო პროდუქტის ხარისხის უზრუნველყოფა