ტესტირების გეგმა
- რა არის ტესტირების გეგმა?
- რა ინფორმაციას მოიცავს ტესტირების გეგმა
- რატომ არის მნიშვნელოვანი "ტესტირების გეგმის" არსებობა?
- რა უნდა გავითვალისწინოთ ტესტირების გეგმის მომზადებისას?
ტესტირების მართვის პროცესში რამდენიმე მნიშვნელოვანი დოკუმენტი მზადდება. ესენია:
- ტესტირების გეგმა;
- ტესტირების სტატუსის ანგარიში;
- ტესტირების დასრულების ანგარიში.
ამ სტატიაში ვისაუბრებთ ტესტირების გეგმაზე, მის როლზე და საჭიროებაზე ხარისხის მართვის პროცესში.
რა არის ტესტირების გეგმა?
როგორც ზემოთ აღინიშნა, ტესტირების გეგმა ტესტირების მართვის პროცესში შექმნილი დოკუმენტია. "ტესტირების გეგმა" გეგმავს და მართავს ტესტირების პროცესს. კონტექსტის გათვალისწინებით, პროექტს შესაძლოა ჰქონდეს ერთი ან რამდენიმე ტესტირების გეგმა დეველოპმენტისა და ტესტირების სხვადასხვა დონისათვის. მიღებული პრაქტიკაა, როდესაც ტესტირების გემა ტესტირების სხვადასხვა დონისათვის ან ქვე-პროცესისათვის მზადდება, რომელთა გამოყენებაც შესაძლებელია სხვადასხვა პროექტში. ამის მაგალითი შესაძლოა იყოს გეგმა:
- სისტემური ტესტირებისთვის,
- ერთეულის ან კომპონენტის ტესტირებისთვის,
- ინტეგრაციის ტესტირებისთვის,
- არაფუნქციური ტესტირებისთვის,
- ტესტირების განსაზღვრული იტერაციისთვის.
თუ რამდენიმე გეგმა მზადდება მნიშვნელოვანია არსებობდეს დოკუმენტი, რომელიც მათ ერთმანეთთან დააკავშირებს.
ტესტირების გეგმა აღწერს გადაწყვეტილებებს, რომელიც მიღებული იყო დაგეგმვის ეტაპზე და მისი გადახედვა და განახლება მნიშვნელოვანია, იყოს ხარისხის კონტროლის აქტივობის ნაწილი.
რა ინფორმაციას მოიცავს ტესტირების გეგმა
შესავალი
ტესტირების გეგმის შესავალ ნაწილში უნდა აღიწეროს ინფორმაცია დოკუმენტის კონტექსტის, შინაარსისა და სტრუქტურის შესახებ.
მოქმედების სფერო (Scope)
მოქმედების სფერო განსაზღვრავს დოკუმენტის დაფარვის არეალს და აღწერს ყველაფერს რაზეც ვრცელდება ან არ ვრცელდება დოკუმენტი და აწესებს გარკვეულ შეზღუდვებს მისი სარგებლობისთვის. მაგალითად, დოკუმენტის ამ ნაწილში შეიძლება განისაზღვროს, თუ რომელი ტესტირების დონისთვის არის შედგენილი ეს გეგმა, დეველოპმენტის რა ეტაპებზე უნდა მოხდეს მისით ხელმძღვანელობა, რა ტესტირების რომელი მიზნების მისაღწევად არის ის შედგენილი და სხვა.
წყაროები (References)
ტესტირების გეგმაში, წყაროების ნაწილში მოცემულია იმ ყველაფრისა რაც დაკავშირებულია პროექტთან. ეს შეიძლება იყოს:
- ბიზნესის მოთხოვნების დოკუმენტი;
- ბიზნეს ანალიზის დოკუმენტი;
- პროდუქტის დიზაინი;
- მომხმარებლის სახელმძღვანელო;
- პროექტის საწყისი კოდის საცავის მისამართები;
- API დოკუმენტაციის მისამართები;
- გასატესტი პროდუქტის მისამართები. მაგალითად:
- ვებ აპლიკაციის მისამართი;
- ბმულები მობილური აპლიკაციების ჩამოსატვირთად;
- აპლიკაციების სამართავის სისტემის მისამართები.
- ამოცანების და ხარვეზების მართვის პლატფორმა;
- ტესტ ქეისების მართვის სისტემა;
- და სხვა.
წყაროებში თავმოყრილი დოკუმენტები და სხვა არტეფაქტები გამოიყენება ტესტირებისთვის მოსამზადებლად და უშუალოდ ტესტირების პროცესის წარმართვისათვის.
ტესტირების კონტექსტი
ტესტირების გეგმის ეს ნაწილი მოიცავს ინფორმაციას პროექტის შესახებ, რომელიც ტესტირებისთვისაც მზადდება მოცემული დოკუმენტი და მასთან დაკავშირებულ ინფორმაციას, რაც მნიშვნელოვანი შეიძლება იყოს ტესტირების მიზნების განსაზღვრისათვის, ტესტ ქეისების პრიორიტეტიზაციისა და აქტივობებისთვის.
მნიშვნელოვანია აღიწეროს, თუ რა გაიტესტება, რა იქნება სატესტო ობიექტი, რომელი ფუნქციონალი, სისტემის რომელი ვერსიები და ა.შ. ეს საკმაოდ მნიშვნელოვანი ინფორმაციაა, რადგან თუ ტესტირების გეგმა მომზადებულია კონკრეტული ტესტირების დონისთვის ან დეველოპმენტის კონკრეტული იტერაციისთვის, გუნდს უნდა ჰქონდეს მიზნები და მოლოდინები ტესტირებასთან დაკავშირებით, რომელიც აუცილებლად კონკრეტული უნდა იყოს და არა ზოგადი. გარდა ამისა, შესაძლოა პროექტის გეგმაში ან SDLC დოკუმენტში კონკრეტულად იყოს აღწერილი, თუ როდის ხდება პროდუქტის ვერსიის გადატანა ერთი გარემოდან მეორეზე, როგორ ხდება ვერსიაში შესატანი ცვლილებების შერჩევა და ა.შ. შესაბამისად, ის რაც "ტესტირების კონტექსტში" აღიწერება თანხვედრაში უნდა იყოს იმ პროცესებთან რითაც დეველოპმენტ გუნდის სხვა წევრები ხელმძღვანელობენ.
ტესტირების არეალი ერთ-ერთი მნიშვნელოვანი განსასაზღვრი ინფორმაციაა ტესტირების გეგმაში. აქ თავი უნდა მოიყაროს შემდეგმა ინფორმაციამ:
- კონკრეტულად რა გაიტესტება, რა ფუნქციონალი, ბიზნეს მოთხოვნები თუ ინტერფეისები;
- რისი ტესტირება არ მოხდება. ეს მნიშვნელოვანია, თუ ვამზადებთ გეგმას არა მთლიანი პროექტისთვის, არამედ ტესტირების რომელიმე ქვეპროცესისთვის.
- თუ ტესტირება სხვადასხვა გარემოზე მიმდინარეობს, შესაძლოა განისაზღვროს, რომელ გარემოზე რა დონის და ტიპის ტესტირებები წარიმართება.
ამ ინფორმაციის ქონა მნიშვნელოვანია, რათა ტესტირების მიზნებისა, დაფარვისა და შესრულების შესახებ სწორი ინფორმაცია არსებობდეს არა მხოლოდ QA გუნდში, არამედ პროექტში ჩართული და დაკავშირებული ყველა როლისთვის.
დაშვებები და შეზღუდვები
დაშვებები და შეზღუდვები აღწერს ნებისმიერ დაშვებასა თუ შეზღუდვას, რაც უშუალოდ არის დაკავშირებული ტესტირების ძალისხმევასთან. ეს შეიძლება იყოს:
- მარეგულირებელი სტანდარტები, რომლის გამოც სატესტოდ განსაზღვრული ტიპის მონაცემების გამოყენება შესაძლოა შეზღუდული იყოს.
- სახელშეკრულებო პირობები და მოთხოვნები, რამაც შესაძლოა დეველოპმენტის ან ტესტირების განსაზღვრულ ეტაპზე განსაზღვრული სატესტო მოქმედებების შესრულება მოითხოვოს.
- შეზღუდვები, რომელიც გამომდინარეობს პროექტის დროის და ხარჯების შეზღუდვებიდან.
- შეზღუდვები ან დაშვებები, რასაც თანამშრომელთა კვალიფიკაცია განსაზღვრავს.
- შეზღუდვები, რასაც კონკრეტული ინსტრუმენტებისა თუ გარემოების ქონა/არ ქონა იწვევს.
რისკების რეესტრი
რისკების რეესტრი განსაზღვრავს რისკებს, რომელსაც ითვალისწინებ ტესტირების გეგმა. აღწერილი უნდა იყოს თითოეული რისკის გამოვლენის ალბათობა, გავლენის დონე და რეკომენდაციები ამ რისკების თავიდან ასაცილებლად ან მათი გავლენის შესამცირებლად. რისკების რეესტრი შესაძლოა იყოს პროექტის გეგმაში ან რისკების მართვის გეგმის დოკუმენტში და არ იყოს საჭირო მათი ხელახლა აღწერა ტესტირების გეგმის დოკუმენტში.
პროდუქტის და პროექტი რისკები, წარმოადგენენ იმ რისკებს, რომელიც გავლენას ახდენენ ტესტირების პროცესზე. ეს შესაძლოა იყოს დეფექტი ფუნქციონალში, რომლის გამოც შესაძლოა შეუძლებელი იყოს ტესტირების განხორციელება ან პროექტის რისკი, რის გამოც ამოცანების ვადებში შესრულება შეუძლებელი იქნება.
ტესტირების აქტივობები და შეფასებები განსაზღვრავს ყველა საჭირო ტესტირების აქტივობას, აქტივობების თანმიმდევრობას, მათი გამეორების წინაპირობებს, დამოკიდებულებებს აქტივობებს შორის. მაგალითად, როგორ ტარდება ხელახალი ტესტირება ან რეგრესიის ტესტირება. ამასთანავე აღწერს შეფასებებს თითოეული ტესტირების აქტივობისათვის, რომელიც უნდა შესრულდეს ტესტირების გეგმის მიხედვით. საჭიროების შემთხვევაში შესაძლოა აღწერილი იყოს ტესტირებისთვის საჭირო ბიუჯეტი და ხარჯთაღრიცხვა (ეს ინფორმაცია შესაძლოა მოცემული იყოს პროექტის გეგმაში)
თანამშრომლები (Staffing)
ამასთანავე მნიშვნელოვანია განისაზღვროს მოთხოვნები ტესტირებაში ჩასართავი თანამშრომლებისთვის; რაოდენობა, კომპეტენციის დონე თუ სხვა მოთხოვნები. როლების, აქტივობებისა და პასუხისმგებლობების განსაზღვრა მნიშვნელოვანია, რათა არსებობდეს გამჭვირვალე ინფორმაცია პროექტში ჩართული გუნდის წევრების შესახებ. ამასთანავე უნდა განისაზღვროს კვალიფიკაციის ამაღლების საჭიროება თუ გუნდის რომელიმე წევრი ვერ აკმაყოფილებს მოთხოვნებს კონკრეტული აქტივობების შესრულებისათვის.
ტესტირების სტრატეგია
გარდა ზემოთ აღწერილი კომპონენტებისა, ტესტირების გეგმაში უნდა იყოს განსაზღვრული ტესტირების სტრატეგია, რომელიც აღწერს ტესტირების მიდგომებს განსაზღვრული პროექტისათვის ან ტესტირების ქვეპროცესებისათვის. დეტალურად, თუ რას მოიცავს ტესტირების სტრატეგია, განხილული იქნება სხვა სტატიაში.
რატომ არის მნიშვნელოვანი "ტესტირების გეგმის" არსებობა?
ტესტირების გეგმა, გარდა იმისა, რომ კონკრეტულ მიმართულებას აძლევს QA გუნდის წევრებს, თუ როგორ უნდა შეასრულონ დაკისრებული პასუხისმგებლობები, პროექტში ჩართულ თუ მასთან დაკავშირებულ როლებს უქმნის სწორ მოლოდინებს ტესტირებასთან დაკავშირებით. ამ დოკუმენტის შექმნა და გაზიარება პროექტთან დაკავშირებულ ყველა როლთან, შესაძლებელს ხდის ადრეული ეტაპიდანვე სწორად განისაზღვროს ტესტირების მიზნები, მისაღწევი შედგები, პასუხისმგებლობები ხარისხზე, დამოკიდებულებები ტესტირების და დეველოპმენტის აქტივობებს შორის. შედეგად, გუნდში შესაძლებელი გახდება ტესტირებასთან დაკავშირებული სტერეოტიპებისა თუ არასწორი მოლოდინების დამსხვრევა და ხარისხზე გუნდური პასუხისმგებლობის აღება.
მნიშვნელოვანია გვესმოდეს, რომ ტესტირების გეგმა ცოცხალი დოკუმენტია, რომელიც პერიოდულად აუცილებლად უნდა გადაიხედოს და განახლდეს. მისი რეგულარული განახლებით შესაძლებელი ხდება არა მხოლოდ ხარისხის მიღწევა, არამედ ხარისხის შენარჩუნება და მიღწეული ხარისხის გაუმჯობესება. ეს კი საკმაოდ დიდი გამოწვევაა თანამედროვე კომპლექსური ციფრული პროდუქტების შექმნის პროცესში, როდესაც მომხმარებელთან არამხოლოდ ხარისხიანი პროდუქტი უნდა მიიტანო, არამედ უზრუნველყო მისი სწრაფად მიწოდება. ტესტირების პროცესის ორგანიზებულად წარმართვა კი ამ მიზნების მისაღწევად უმნიშვნელოვანესია, რაშიც ტესტირების გეგმის შედგენა უმნიშვნელოვანეს როლს თამაშობს.
რა უნდა გავითვალისწინოთ ტესტირების გეგმის მომზადებისას?
მიუხედავად იმისა, რომ ტესტირების გეგმის დოკუმენტის QA სპეციალისტების სახელმძღვანელო დოკუმენტია, მისი შედგენისას მხედველობაშია მისაღები ციფრული პროდუქტის დეველოპმენტის სასიცოცხლო ციკლის განმსაზღვრელი დოკუმენტები. ეს აუცილებელია, რათა ტესტირების პროცესის სწორად ინტეგრირება მოხდეს დეველოპმენტის პროცესში. აუცილებელია:
- ვიცოდეთ პროექტის გეგმის შინაარსი, რადგან ის განსაზღვრავს ყველა ძირითად აქტივობას და პროცესს პროდუქტის დეველოპმენტისთვის.
- ვიცოდეთ SDLC დოკუმენტის შინაარსი, რადგან ის აღწერს ყველა იმ პროცესსა თუ პრაქტიკას, რითაც დეველოპერები ხელმძღვანელობენ სხვადასხვა პროექტზე მუშაობისას.
ამ ცოდნაზე დაფუძნებით უნდა შევადგინოთ ტესტირების გეგმა. თუმცა არის შემთხვევები როდესაც არსებული პროცესები, აქტივობები და პრაქტიკები, რასაც ტექნიკური გუნდი მიყვება პროდუქტის დეველოპმენტისას არ იძლევა სათანადო ხარისხის უზრუნველყოფის შესაძლებლობას. ასეთ დროს მნიშვნელოვანია დროული კომუნიკაცია პროექტის მენეჯერებთან (Project manager), პროდუქტის მფლობელებთან (Product owner) თუ სხვადასხვა ტექნიკური მიმართულების (Backend, Frontend, DevOps) ხელმძღვანელებთან. ამ კომუნიკაციის მიზანი უნდა იყოს: ა) ვაჩვენოთ არსებული პროცესებისა თუ პრაქტიკების სისუსტეები და რისკები, რაც ხელს უშლის ხარისხიანი პროდუქტის დეველოპმენტს და ბ) შევთავაზოთ გაუმჯობესებები გზები. მნიშვნელოვანია არ მოვითხოვოთ და არ გვქონდეს მოლოდინი, რომ QA გუნდის ყველა მოთხოვნა/რეკომენდაცია ერთბაშად გაითვალისწინონ. გაუმჯობესების პროცესი უნდა დაიგეგმოს ნაბიჯ-ნაბიჯ და კარგად შედგენილი გეგმის შესაბამისად წარიმართოს, პერიოდულად მოხდეს ანალიზი და სათანადო ცვლილებების შეტანა ხარისხისა თუ პროექტის მართვის პროცესებში.
პროდუქტზე მომუშავე სხვადასხვა როლთან თანამშრომლობით, ღია დიალოგითა და ხედვების შესახებ ინფორმაციის გაცვლით შესაძლებელი ხდება სწორი ტესტირების პროცესის ინტეგრირება დეველოპმენტის სასიცოცხლო ციკლში, ხარისხზე პასუხისმგებლობის გადანაწილება და გუნდური ძალისხმევით ხარისხის მიღწევა, შენარჩუნება და გაუმჯობესება.