Professional Documents
Culture Documents
Qa 1
Qa 1
1 გაკვეთილი
მე ვარ დარეჯან უსანეთაშვილი
ტესტირების ეტაპზე ტესტერი ავლენს არაერთ კრიტიკულ ხარვეზს. შესაბამისად, ტესტირება იმით
არის მნიშვნელოვანი, რომ სწორედ ტესტერმა აღმოაჩინოს კრიტიკული ხარვეზები და მოხდეს
მათი გასწორება, მანამ სანამ პროდუქტს საბოლოო მომხმარებელი გამოიყენებს.
Development team
პროგრამის გაუმართავმა მუშაობამ შეიძლება ავნოს:
ამაზონზე შენაძენები:
ამაზონის დაარსების დასაწყისში, თურმე
შესაძლებელი იყო უარყოფითი რაოდენობის ნივთების
შეძენა. ასეთ დროს ყიდვის პროცესში თანხა კი არ
ეჭრებოდათ, არამედ ანგარიშზე ერიცხებოდათ
კლიენტებს. ეს გამოწვეული იყო პროგრამული
პროდუქტის ხშირი განახლებებით, რომლებიც ვერ
ასწრებდნენ სათანადოდ გატესტვას.
მსოფლიოში ყველაზე ცნობილი
ხარვეზების მაგალითები:
The process consisting of all lifecycle activities, both static and dynamic, concerned with planning,
preparation and evaluation of a component or system and related work products to determine
that they satisfy specified requirements, to demonstrate that they are fit for purpose and to
detect defects.
ვერიფიკაცია და ვალიდაცია
ვერიფიკაცია, ეს არის ტესტირების პროცესი, როდესაც პროგრამულ პროდუქტს ვტესტავთ სხვადასხვა სახის
მოთხოვნების მიხედვით და ვრწმუნდებით, რომ მიღებული შედეგი შეესაბამება მოსალოდნელ შედეგს.
(Confirmation by examination and through provision of objective evidence that specified requirements have
been fulfilled.)
ვალიდაცია, ეს არის ტესტირების პროცესი, როდესაც ხდება შემოწმება იმისა, თუ რამდენად აკმაყოფილებს ის
მომხმარებლის სურვილებს, საჭიროებებს და მოთხოვნებს (user vishes, needs and expectations).
(Confirmation by examination and through provision of objective evidence that the requirements for a
specific intended use or application have been fulfilled.)
ვერიფიკაცია და ვალიდაცია
მაგალითად თუ ტესტერი იპოვის რაიმე უზუსტობას მოთხოვნებში, ეს აღარ მოხვდება დიზაინში ან კოდში
და ამ სახით ხდება დეფექტების პრევენცია.
Work products - ეს არის მუშაობის შედეგი. მაგ: ანალიტიკოსისთვის ეს არის მოთხოვნები ნებისმიერ
ფორმატში, დეველოპერისთვის - კოდი, ტესტერისთვის - ტესტირების სტრატეგის, ტესტ-ქეისები, ჩეკ-
ლისტები, ავტოტესტები, ბაგ რეპორტი.
ტესტირების მიზნები (Objectives of Testing )
● To verify whether all specified requirements have been fulfilled
ვერიფიკაცია, ანუ შემოწმება იმისა, რომ ყველა სპეციფიური მოთხოვნა არის შესრულებული.
● To check whether the test object is complete and validate if it works as the users and other
stakeholders expect
Debugging is the development activity that finds, analyzes, and fixes such defects.
ISTQB -ის მიხედვით ტესტერები დებაგინს არ აკეთებენ. ტესტერი პოულობს ხარვეზებს და აკეთებს
მათ ანალიზს, მაგრამ ტესტერი არ ასწორებს აღმოჩენილ ხარვეზს და შესაბამისად ტესტერი არ აკეთებს
დებაგინგს.დებაგინგს აკეთებს დეველოპერი, რომელიც აღოაჩენს, აანალიზებს და ფიქსავს აღმოჩენილ
დეფექტებს.
თუმცა, ISTQB გვეუბენბა რომ ტესტერი შესაძლოა ჩართული იყოს დებაგინგის პროცესში, ანუ
ხარვეზის გასწორების პროცესში და ასევე component testing -ში, მაგრამ თუ გამოცდაში შეგვხვდება
კითხვა, სადაც ერთი-ერთი პასუხი იქნება რომ ტესტერს თუ შეუძლია გააკეთოს დებაგინგი? სწორი
პასუხია არა, რადგან ISTQB -ის მიხედვით ტესტერი არ ახორციელებს აღმოჩენილი ხარვეზების
გასწორებას (fix), რომელიც დებაგინგის განმარტებაში შედის.
Quality Assurance and Testing
QA და Testing ერთი და იგივე არ არის, თუმცა ორივე
ერთმანთან დაკავშირებულია ხარისხის მენეჯმენტის
ფარგლებში (Quality management).
QC (quality control) მოიცავს ტესტირების პროცესის ყველა საქმიანობას, რაც ხელს უწყობს
ხარისხიანი პროგრამული პროდუქტის შექმნას. მაგალითად, ადრე ვიწყებთ ტესტირების პროცესს,
ვეცნობით ამოცანას, დიზაინს, ვაზუსტებთ დეტალებს, ვქმნით ტესტ ქეისებს, ჩექ ლისტებს,
ვიყენებთ ტესტირების ტექნიკებს და მეთოდებს.
Testing კი არის უშუალოდ ტესტირების ეტაპი, როდესაც უკვე მზა ტესტ ქეისების ან ჩექ ლისტის
მიხედვით ვტესტავთ პროგრამულ პროდუქტს, ანუ ვახორცეიელბთ test execution -ს.
ტესტირების 7 პრინციპი
1. Testing shows the presence of defects, not their absence
ტესტირება გვაჩვენებს, რომ პროგრამულ პროდუტში შესაძლოა არსებოდეს ხარვეზები და არა იმას რომ
პროგარმული პროდუქტი უხარვეზოა. ტესტერი თუ ვერ პოულობს ხარვეზებს ეს არაფერზე მეტყველებს
გარდა იმისა, რომ ტესტერმა ვერ იპოვა ხარვეზები.
მაგ: ტესტირებაში არის ასეთი გაგება ‘ტესტებთან შეჩვევა’. განსაუთრებით ეს ეხება რეგრესიულ და
დეტალურ ტესტ-ქეისებს. თუ ჩვენ ვწერთ დეტალურ ტესტ-ქეისებს (არა ჩეკ-ლისტებს) და ვუთითებთ
კონკრეტულ სატესტო მონაცემებს, თქვენს პროდუქტს დაემართება სწორედ პესტიციდ პარადოქსი. Ეს
ნიშნავს, რომ ამ ტესტებით პროდუქტის გატესტვისას, ვეღარ აღმოაჩენთ ხოლმე ხარვეზებს.
ამიტომ რეგულარულად უნდა მოხდეს ახალი Test Case -ბის დამატება, რათა შევძლოთ იმ ხარვეზების
გამოვლენა, რომლებიც ვერ აღმოაჩინა არსებულმა Test Case -ბმა. ასევე კარგია high-level test-case ების
წერაც.
ტესტირების 7 პრინციპი
6. Testing is context dependent
დამკვეთის მოთხოვნების საფუძველზე და პროგრამული უზრუნველყოფის შინაარსიდან გამომდინარე უნდა
მოხდეს საჭირო და მნიშნვნელოვანი ტესტირების მეთოდების და ტექნიკების შერჩევა და გამოყენება,
მაგალითად:
ინფორმაცილუი სახის ვებ საიტი, სადაც მხოლოდ ტექსტი, ფოტო და ვიდეო არის განთავსებული სხვა
მიდგომებით და მეთოდებით უნდა გაიტესტოს ვიდრე ელექტრონული კომერციის საიტი, საიდანაც
მომხმარებელს შეუძლია შეიძინოს ნივთი სხვადასხვა საბანკო ბარათების გამოყენებით.
ფინანსურ აპლიკაციებს სჭირდებათ მაღალი დონის და ხშირი უსაფრთხოების ტესტირება ვიდრე მარტივ
ინფორმაციულ საიტებს, სადაც განთავსებულია მაგალითად კომპანიის საქმიანობა, განხორციელებული
პროექტები, ინფორმაცია თანამშრომლებზე, კომპანიის მისამართი და ასე შემდეგ.
ასევე შიდა მოხმარების პროდუქტებს არ სჭირდებათ ტესტირება სხვადასხვა ბრაუზერებში, საჯარო საიტისგან
განსხვავებით
ადამიანის ფსიქოლოგია ისე არის მოწყობილი რომ გვიჭირს მივიღოთ, ვაღიაროთ და გავიაზროთ ის
ფაქტი რომ რაღაც შეგვეშალა, გამოგვრჩა და ჩვენს ნამუშევარში არის ხარვეზი. სწორედ ამ
ფსიქილოგიურ ფაქტორებზე დაყრდნობით ძალიან ბევრს გონია რომ ტესტირება არის დანგრევის და
გაფუჭების პროცესი, მაშინ როდესაც ტესტირებას ძალიან დიდი წვლილი შეაქვს პროდუქტის ხარისხში
და პროგრესში.
გუნდის წევრებმა ერთმანეთს უნდა შევახსენოთ ხოლმე, რომ ჩვენ გვაქვს საერთო მიზანი - პროდუქტის
ხარისხი და არა იმის დამტკიცება , თუ ვინ არის მართალი.
Tester’s and Developer’s Mindsets
A tester’s mindset should include:
some of the elements of a tester’s mindset, but successful developers are often more interested in designing
and building solutions than in contemplating what might be wrong with those solutions.
დავალება
1. ნებისმიერი მობილური აპლიკაცია ან ვებ-გვერდი გატესტეთ ვალიდაციის
კუთხით, ანუ გადაამოწმეთ რამდენად მოსახერხებელი, ადვილად გამოსაყენებელი
და თქვენს საჭიროებებზე მორგებულია ეს ვებ გვერდი.
4. https://www.youtube.com/watch?v=Ct-lOOUqmyY
5. https://www.youtube.com/watch?v=BKorP55Aqvg
მადლობა
ყურადღებისთვის
კითხვები