არტიკოლი

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

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

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

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

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

შავი ყუთის ტესტირება

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

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

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

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

შავი ყუთის ტესტირების უპირატესობებში შედის:

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

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

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

თეთრი ყუთის ტესტირება

თეთრი ყუთის ტესტირების დროს კოდი იწარმოება წინასწარ შერჩეული შეყვანის მნიშვნელობებით, წინასწარ შერჩეული გამომავალი მნიშვნელობების დასადასტურებლად. თეთრი ყუთის ტესტირება ხშირად გულისხმობს stub კოდის ჩაწერას (კოდის ნაწილი, რომელიც გამოიყენება კონკრეტული მახასიათებლის ჩასანაცვლებლად. Stub-ს შეუძლია არსებული კოდის ქცევის სიმულაცია, როგორიცაა პროცედურა დისტანციურ მანქანაზე.) და ასევე დრაივერებს.

თეთრი ყუთის ტესტირების უპირატესობები მოიცავს:

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


უარყოფითი მხარეები მოიცავს:

  • საჭიროებს გამოცდილ ტესტერს შიდა სტრუქტურის ცოდნით
  • Დრო მიაქვს
  • მაღალი ხარჯები
  • ბიტის კოდის დადასტურება რთულია.
  • თეთრი ყუთის ტესტირება მოიცავს ერთეულის ტესტირებას, ინტეგრაციის ტესტირებას და რეგრესიის ტესტირებას.

ერთეულის ტესტი

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


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

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

ფუნქციური ტესტი

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


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

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

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

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

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


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

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

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

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

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

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


სტრესის ტესტი გამოიყენება შემდეგ კონტექსტში:

  • პროგრამული უზრუნველყოფა: სტრესის ტესტირება ხაზს უსვამს ხელმისაწვდომობას და შეცდომებს უკიდურესად მძიმე დატვირთვის პირობებში, რათა უზრუნველყოს, რომ პროგრამული უზრუნველყოფა არ დაიშლება არასაკმარისი რესურსების გამო. პროგრამული უზრუნველყოფის სტრეს ტესტირება ფოკუსირებულია იდენტიფიცირებულ ტრანზაქციებზე ტრანზაქციების შეწყვეტის მიზნით, რომლებიც ძლიერ სტრესს განიცდის ტესტირების დროს, მაშინაც კი, როდესაც მონაცემთა ბაზა არ არის ჩატვირთული. სტრესის ტესტირების პროცესი იტვირთავს ერთდროულად მომხმარებლებს სისტემის ნორმალური დონის მიღმა, რათა იპოვონ სისტემაში ყველაზე სუსტი რგოლი.
  • აპარატურა: სტრესის ტესტები უზრუნველყოფს სტაბილურობას ნორმალურ გამოთვლით გარემოში.
  • ვებსაიტები: სტრეს ტესტები განსაზღვრავს ნებისმიერი საიტის ფუნქციონირების საზღვრებს.
  • CPU: ცვლილებები, როგორიცაა overvolting, undervolting, underlocking და overlocking მოწმდება იმის დასადგენად, შეუძლიათ თუ არა ისინი გაუმკლავდნენ მძიმე დატვირთვას CPU-ზე ინტენსიური პროგრამის გაშვებით, რათა შეამოწმონ სისტემის ავარია ან გაყინვა. CPU სტრესის ტესტი ასევე ცნობილია როგორც წამების ტესტი.

ავტომატური ტესტები

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

ავტომატური ტესტირება მნიშვნელოვან როლს ასრულებს უწყვეტ მიწოდებაში (CD), უწყვეტ ინტეგრაციაში (CI), DevOps და DevSecOps. ავტომატური ტესტირების ძირითადი უპირატესობები მოიცავს:

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


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

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


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

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

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

Ercole Palmeri

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

ბოლო სტატიები

ინოვაციური ინტერვენცია გაძლიერებულ რეალობაში, Apple-ის მაყურებელთან ერთად კატანიას პოლიკლინიკაში

კატანიას პოლიკლინიკაში ჩატარდა ოფთალმოპლასტიკური ოპერაცია Apple Vision Pro კომერციული მაყურებლის გამოყენებით…

3 მაისი 2024

ბავშვებისთვის საღებარი გვერდების სარგებელი - ჯადოსნური სამყარო ყველა ასაკისთვის

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

2 მაისი 2024

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

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

1 მაისი 2024

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

გასულ ორშაბათს, Financial Times-მა გამოაცხადა გარიგება OpenAI-თან. FT ლიცენზირებს თავის მსოფლიო დონის ჟურნალისტიკას…

აპრილი 30 2024

წაიკითხეთ ინოვაცია თქვენს ენაზე

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

Follow us