ტესტირების გეგმა

ტესტირების მართვის პროცესში რამდენიმე მნიშვნელოვანი დოკუმენტი მზადდება. ესენია:

ამ სტატიაში ვისაუბრებთ ტესტირების გეგმაზე, მის როლზე და საჭიროებაზე ხარისხის მართვის პროცესში.

რა არის ტესტირების გეგმა?

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

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

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

რა ინფორმაციას მოიცავს ტესტირების გეგმა

შესავალი

ტესტირების გეგმის შესავალ ნაწილში უნდა აღიწეროს ინფორმაცია დოკუმენტის კონტექსტის, შინაარსისა და სტრუქტურის შესახებ.

მოქმედების სფერო (Scope)

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

წყაროები (References)

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

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

ტესტირების კონტექსტი

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

მნიშვნელოვანია აღიწეროს, თუ რა გაიტესტება, რა იქნება სატესტო ობიექტი, რომელი ფუნქციონალი, სისტემის რომელი ვერსიები და ა.შ. ეს საკმაოდ მნიშვნელოვანი ინფორმაციაა, რადგან თუ ტესტირების გეგმა მომზადებულია კონკრეტული ტესტირების დონისთვის ან დეველოპმენტის კონკრეტული იტერაციისთვის, გუნდს უნდა ჰქონდეს მიზნები და მოლოდინები ტესტირებასთან დაკავშირებით, რომელიც აუცილებლად კონკრეტული უნდა იყოს და არა ზოგადი. გარდა ამისა, შესაძლოა პროექტის გეგმაში ან SDLC დოკუმენტში კონკრეტულად იყოს აღწერილი, თუ როდის ხდება პროდუქტის ვერსიის გადატანა ერთი გარემოდან მეორეზე, როგორ ხდება ვერსიაში შესატანი ცვლილებების შერჩევა და ა.შ. შესაბამისად, ის რაც "ტესტირების კონტექსტში" აღიწერება თანხვედრაში უნდა იყოს იმ პროცესებთან რითაც დეველოპმენტ გუნდის სხვა წევრები ხელმძღვანელობენ.

ტესტირების არეალი ერთ-ერთი მნიშვნელოვანი განსასაზღვრი ინფორმაციაა ტესტირების გეგმაში. აქ თავი უნდა მოიყაროს შემდეგმა ინფორმაციამ:

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

დაშვებები და შეზღუდვები

დაშვებები და შეზღუდვები აღწერს ნებისმიერ დაშვებასა თუ შეზღუდვას, რაც უშუალოდ არის დაკავშირებული ტესტირების ძალისხმევასთან. ეს შეიძლება იყოს:

რისკების რეესტრი

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

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

ტესტირების აქტივობები და შეფასებები განსაზღვრავს ყველა საჭირო ტესტირების აქტივობას, აქტივობების თანმიმდევრობას, მათი გამეორების წინაპირობებს, დამოკიდებულებებს აქტივობებს შორის. მაგალითად, როგორ ტარდება ხელახალი ტესტირება ან რეგრესიის ტესტირება. ამასთანავე აღწერს შეფასებებს თითოეული ტესტირების აქტივობისათვის, რომელიც უნდა შესრულდეს ტესტირების გეგმის მიხედვით. საჭიროების შემთხვევაში შესაძლოა აღწერილი იყოს ტესტირებისთვის საჭირო ბიუჯეტი და ხარჯთაღრიცხვა (ეს ინფორმაცია შესაძლოა მოცემული იყოს პროექტის გეგმაში)

თანამშრომლები (Staffing)

ამასთანავე მნიშვნელოვანია განისაზღვროს მოთხოვნები ტესტირებაში ჩასართავი თანამშრომლებისთვის; რაოდენობა, კომპეტენციის დონე თუ სხვა მოთხოვნები. როლების, აქტივობებისა და პასუხისმგებლობების განსაზღვრა მნიშვნელოვანია, რათა არსებობდეს გამჭვირვალე ინფორმაცია პროექტში ჩართული გუნდის წევრების შესახებ. ამასთანავე უნდა განისაზღვროს კვალიფიკაციის ამაღლების საჭიროება თუ გუნდის რომელიმე წევრი ვერ აკმაყოფილებს მოთხოვნებს კონკრეტული აქტივობების შესრულებისათვის.

ტესტირების სტრატეგია

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

რატომ არის მნიშვნელოვანი "ტესტირების გეგმის" არსებობა?

ტესტირების გეგმა, გარდა იმისა, რომ კონკრეტულ მიმართულებას აძლევს QA გუნდის წევრებს, თუ როგორ უნდა შეასრულონ დაკისრებული პასუხისმგებლობები, პროექტში ჩართულ თუ მასთან დაკავშირებულ როლებს უქმნის სწორ მოლოდინებს ტესტირებასთან დაკავშირებით. ამ დოკუმენტის შექმნა და გაზიარება პროექტთან დაკავშირებულ ყველა როლთან, შესაძლებელს ხდის ადრეული ეტაპიდანვე სწორად განისაზღვროს ტესტირების მიზნები, მისაღწევი შედგები, პასუხისმგებლობები ხარისხზე, დამოკიდებულებები ტესტირების და დეველოპმენტის აქტივობებს შორის. შედეგად, გუნდში შესაძლებელი გახდება ტესტირებასთან დაკავშირებული სტერეოტიპებისა თუ არასწორი მოლოდინების დამსხვრევა და ხარისხზე გუნდური პასუხისმგებლობის აღება.

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

რა უნდა გავითვალისწინოთ ტესტირების გეგმის მომზადებისას?

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

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

პროდუქტზე მომუშავე სხვადასხვა როლთან თანამშრომლობით, ღია დიალოგითა და ხედვების შესახებ ინფორმაციის გაცვლით შესაძლებელი ხდება სწორი ტესტირების პროცესის ინტეგრირება დეველოპმენტის სასიცოცხლო ციკლში, ხარისხზე პასუხისმგებლობის გადანაწილება და გუნდური ძალისხმევით ხარისხის მიღწევა, შენარჩუნება და გაუმჯობესება.