პროგრამული უზრუნველყოფის ტესტირება, ან პროგრამული უზრუნველყოფის ტესტირება, ასევე ცნობილია როგორც განაცხადის ტესტირება.
პროგრამული უზრუნველყოფის ტესტირება, უპირველეს ყოვლისა, დიდი პროცესია, რომელიც შედგება რამდენიმე ურთიერთდაკავშირებული პროცესისგან. პროგრამული უზრუნველყოფის ტესტირების მთავარი მიზანია გაზომოს პროგრამული უზრუნველყოფის მთლიანობა და მისი სისრულე მისი ფუნდამენტური მოთხოვნების თვალსაზრისით. პროგრამული უზრუნველყოფის ტესტირება მოიცავს პროგრამული უზრუნველყოფის შემოწმებას და ტესტირებას სხვადასხვა ტესტირების პროცესის მეშვეობით. ამ პროცესების მიზნები შეიძლება მოიცავდეს:
პროგრამული უზრუნველყოფის სისრულის შემოწმება ფუნქციონალური/ბიზნესის მოთხოვნების მიმართ
ხარვეზების/ტექნიკური შეცდომების იდენტიფიცირება და პროგრამული უზრუნველყოფის შეცდომების გარეშე უზრუნველყოფა
გამოყენებადობის, შესრულების, უსაფრთხოების, ლოკალიზაციის, თავსებადობის და ინსტალაციის შეფასება
შემოწმებულმა პროგრამამ უნდა გაიაროს ყველა ტესტი, რომ იყოს სრული ან გამოსაყენებლად ვარგისი. პროგრამული უზრუნველყოფის ტესტირების ზოგიერთი სხვადასხვა ტიპის მეთოდი მოიცავს თეთრი ყუთის ტესტირებას, შავი ყუთის ტესტირებას და ნაცრისფერი ყუთის ტესტირებას. გარდა ამისა, პროგრამული უზრუნველყოფის ტესტირება შესაძლებელია მთლიანობაში, კომპონენტებში/ერთეულებში ან ცოცხალ სისტემაში.
შავი ყუთის ტესტირება არის პროგრამული უზრუნველყოფის ტესტირების ტექნიკა, რომელიც ფოკუსირებულია პროგრამული უზრუნველყოფის ფუნქციონირების ანალიზზე, სისტემის შიდა სამუშაოებთან მიმართებაში. Black Box Testing შემუშავდა, როგორც მომხმარებლის მოთხოვნების, სპეციფიკაციებისა და მაღალი დონის დიზაინის სტრატეგიების ანალიზის მეთოდი.
შავი ყუთის ტესტირების ტესტერი ირჩევს მოქმედი და არასწორი კოდის შესრულებისა და შეყვანის პირობებს და ამოწმებს სწორი გამომავალი პასუხების არსებობას.
შავი ყუთის ტესტირება ასევე ცნობილია როგორც ფუნქციური ტესტირება ან დახურული ყუთის ტესტირება.
საძიებო სისტემა არის შავი ყუთის ტესტირებას დაქვემდებარებული აპლიკაციის მარტივი მაგალითი. საძიებო სისტემის მომხმარებელი შეაქვს ტექსტს ვებ ბრაუზერის საძიებო ზოლში. ამის შემდეგ საძიებო სისტემა ადგენს და იღებს მომხმარებლის მონაცემების შედეგებს (გამომავალს).
შავი ყუთის ტესტირების უპირატესობებში შედის:
შავი ყუთის ტესტირებას ასევე აქვს გარკვეული უარყოფითი მხარეები, როგორიცაა:
თეთრი ყუთის ტესტირების დროს კოდი იწარმოება წინასწარ შერჩეული შეყვანის მნიშვნელობებით, წინასწარ შერჩეული გამომავალი მნიშვნელობების დასადასტურებლად. თეთრი ყუთის ტესტირება ხშირად გულისხმობს stub კოდის ჩაწერას (კოდის ნაწილი, რომელიც გამოიყენება კონკრეტული მახასიათებლის ჩასანაცვლებლად. Stub-ს შეუძლია არსებული კოდის ქცევის სიმულაცია, როგორიცაა პროცედურა დისტანციურ მანქანაზე.) და ასევე დრაივერებს.
თეთრი ყუთის ტესტირების უპირატესობები მოიცავს:
უარყოფითი მხარეები მოიცავს:
ერთეულის ტესტი არის პროგრამული უზრუნველყოფის განვითარების სასიცოცხლო ციკლის (SDLC) კომპონენტი, რომელშიც ყოვლისმომცველი ტესტის პროცედურა ინდივიდუალურად გამოიყენება პროგრამული პროგრამის უმცირეს ნაწილებზე სასურველი ვარგისიანობის ან ქცევისთვის.
ერთეულის ტესტი არის ხარისხის გაზომვისა და შეფასების პროცედურა, რომელიც გამოიყენება საწარმოს პროგრამული უზრუნველყოფის განვითარების უმეტეს აქტივობებში. ზოგადად, ერთეულის ტესტი აფასებს, თუ რამდენად შეესაბამება პროგრამული კოდი პროგრამული უზრუნველყოფის/აპლიკაციის/პროგრამის საერთო მიზანს და როგორ მოქმედებს მისი ვარგისიანობა სხვა მცირე ერთეულებზე. ერთეულის ტესტები შეიძლება გაკეთდეს ხელით - ერთი ან მეტი დეველოპერების მიერ - ან ავტომატური პროგრამული გადაწყვეტის საშუალებით.
ტესტირების დროს, თითოეული ერთეული იზოლირებულია ძირითადი პროგრამისგან ან ინტერფეისისგან. ერთეულის ტესტები, როგორც წესი, ტარდება განვითარების შემდეგ და განლაგებამდე, რაც ხელს უწყობს ინტეგრაციას და პრობლემის ადრეულ გამოვლენას. ერთეულის ზომა ან ფარგლები განსხვავდება პროგრამირების ენის, პროგრამული აპლიკაციისა და ტესტის მიზნების მიხედვით.
ფუნქციონალური ტესტირება არის ტესტირების პროცესი, რომელიც გამოიყენება პროგრამული უზრუნველყოფის შემუშავებაში, სადაც პროგრამული უზრუნველყოფის ტესტირება ხდება, რათა უზრუნველყოფილი იყოს ის ყველა მოთხოვნასთან შესაბამისობაში. ეს არის პროგრამული უზრუნველყოფის შემოწმების გზა იმის უზრუნველსაყოფად, რომ მას აქვს ყველა საჭირო ფუნქცია, რომელიც მითითებულია მის ფუნქციურ მოთხოვნებში.
ფუნქციონალური ტესტირება ძირითადად გამოიყენება იმის დასადასტურებლად, რომ პროგრამული უზრუნველყოფის ნაწილი იძლევა იმავე გამოსავალს, როგორც ამას მოითხოვს საბოლოო მომხმარებელი ან ბიზნესი. როგორც წესი, ფუნქციონალური ტესტირება მოიცავს თითოეული პროგრამული ფუნქციის შეფასებას და შედარებას ბიზნესის მოთხოვნებთან. პროგრამული უზრუნველყოფის ტესტირება ხდება გარკვეული დაკავშირებული შეყვანის მიცემით, რათა გამომავალი შეფასდეს იმის დასანახად, თუ რამდენად შეესაბამება, ეხება ან განსხვავდება მისი ძირითადი მოთხოვნებისგან. გარდა ამისა, ფუნქციური ტესტები ასევე ამოწმებს პროგრამული უზრუნველყოფის გამოყენებადობას, მაგალითად, დარწმუნდით, რომ ნავიგაციის ფუნქციები მუშაობს ისე, როგორც საჭიროა.
რეგრესიული ტესტირება არის პროგრამული უზრუნველყოფის ტესტირების ტიპი, რომელიც გამოიყენება იმის დასადგენად, არის თუ არა ახალი პრობლემები პროგრამული უზრუნველყოფის ცვლილებების შედეგი.
ცვლილების გამოყენებამდე, პროგრამა შემოწმდება. ცვლილების გამოყენების შემდეგ, პროგრამა ხელახლა შემოწმდება შერჩეულ ადგილებში, რათა დადგინდეს, შექმნა თუ არა ცვლილებამ ახალი შეცდომები ან პრობლემები, ან ემსახურა თუ არა რეალურმა ცვლილებამ დანიშნულ მიზანს.
რეგრესიის ტესტირება აუცილებელია დიდი პროგრამული აპლიკაციებისთვის, რადგან ხშირად ძნელია იმის ცოდნა, შექმნა თუ არა პრობლემის ერთი ნაწილის შეცვლა ახალი პრობლემა აპლიკაციის სხვა ნაწილისთვის. მაგალითად, ბანკის განაცხადის სესხის ფორმის ცვლილებამ შეიძლება გამოიწვიოს ყოველთვიური ტრანზაქციის ანგარიშის წარუმატებლობა. უმეტეს შემთხვევაში, პრობლემები შეიძლება ერთმანეთთან არ იყოს დაკავშირებული, მაგრამ ისინი რეალურად შეიძლება იყოს იმედგაცრუების მიზეზი აპლიკაციის შემქმნელებს შორის.
სხვა სიტუაციები, რომლებიც საჭიროებენ რეგრესიის ტესტირებას, მოიცავს იმის დადგენას, მიაღწევს თუ არა გარკვეული ცვლილებები დასახულ მიზანს, ან ტესტირება ახალი საფრთხეებისთვის, რომლებიც დაკავშირებულია საკითხებთან, რომლებიც კვლავ იჩენს თავს პრობლემების გარეშე პერიოდის შემდეგ.
თანამედროვე რეგრესიის ტესტირება ძირითადად ტარდება სპეციალიზებული კომერციული ტესტირების ხელსაწყოებით, რომლებიც იღებენ არსებული პროგრამული უზრუნველყოფის სურათებს, რომლებიც შემდეგ შედარებულია კონკრეტული ცვლილების გამოყენების შემდეგ. თითქმის შეუძლებელია ადამიანთა ტესტერებმა შეასრულონ იგივე დავალებები ისე ეფექტურად, როგორც პროგრამული უზრუნველყოფის ავტომატური ტესტერები. ეს განსაკუთრებით ეხება დიდ და რთულ პროგრამულ პროგრამებს დიდ IT გარემოში, როგორიცაა ბანკები, საავადმყოფოები, მწარმოებელი კომპანიები და დიდი საცალო ვაჭრობა.
სტრესის ტესტი გულისხმობს პროგრამული უზრუნველყოფის ან ტექნიკის ტესტირებას, რათა დადგინდეს, არის თუ არა მისი შესრულება დამაკმაყოფილებელი ექსტრემალურ და არახელსაყრელ პირობებში, რაც შეიძლება მოხდეს ქსელის მძიმე ტრაფიკის, პროცესის დატვირთვის, დაბლოკვის, გადატვირთვისა და რესურსების გამოყენების პიკური მოთხოვნების შედეგად.
სისტემების უმეტესობა განვითარებულია ნორმალური სამუშაო პირობების გათვალისწინებით. ამიტომ, ლიმიტის გადაჭარბების შემთხვევაშიც კი, შეცდომები უმნიშვნელოა, თუ სისტემა სტრეს-ტესტირებულია განვითარების პროცესში.
სტრესის ტესტი გამოიყენება შემდეგ კონტექსტში:
ავტომატური ტესტირება (პროგრამული ტესტის ავტომატიზაცია) არის კოდის ტესტირების მიდგომა, რომელიც იყენებს სპეციალურ პროგრამულ ინსტრუმენტებს, რომლებიც ავტომატურად ატარებენ ტესტებს და შემდეგ ადარებენ ტესტის რეალურ შედეგებს მოსალოდნელ შედეგებს.
ავტომატური ტესტირება მნიშვნელოვან როლს ასრულებს უწყვეტ მიწოდებაში (CD), უწყვეტ ინტეგრაციაში (CI), DevOps და DevSecOps. ავტომატური ტესტირების ძირითადი უპირატესობები მოიცავს:
პროგრამული უზრუნველყოფის შემუშავებისას განსაკუთრებით სასარგებლოა ავტომატური ტესტების ჩატარება მშენებლობის პროცესში, რათა დარწმუნდეთ, რომ აპლიკაცია თავისუფალია აგების შეცდომებისგან და ასრულებს თავის დანიშნულ ფუნქციას.
პროგრამული უზრუნველყოფის ტესტირების ავტომატიზაციისთვის დროის დახარჯვა საბოლოოდ დაზოგავს დეველოპერების დროს იმ რისკს, რომ კოდის ცვლილებამ დაარღვიოს არსებული ფუნქციონირება.
ტესტირება განვითარების პროცესში ძალიან მნიშვნელოვანი ეტაპია. უზრუნველყოფს, რომ ყველა ხარვეზი გამოსწორებულია და რომ პროდუქტი, პროგრამული უზრუნველყოფა ან აპარატურა მუშაობს ისე, როგორც დანიშნულებისამებრ ან რაც შეიძლება ახლოს არის მის სამიზნე შესრულებასთან. ავტომატური ტესტირება, ვიდრე ხელით ტესტირება, აუცილებელია თანმიმდევრულად მიწოდების ხარჯზე ეფექტური პროგრამული უზრუნველყოფის, რომელიც აკმაყოფილებს მომხმარებლის საჭიროებებს დროულად მინიმალური დეფექტებით.
ხელით ტესტირება ჯერ კიდევ კეთდება განვითარების სხვადასხვა დროს, მაგრამ ამას ძირითადად დეველოპერები ან თავად ტექნიკის ინჟინრები აკეთებენ, რათა სწრაფად დაინახონ, ჰქონდა თუ არა მათ მიერ განხორციელებულმა ცვლილებებმა სასურველი ეფექტი.
Ercole Palmeri
კატანიას პოლიკლინიკაში ჩატარდა ოფთალმოპლასტიკური ოპერაცია Apple Vision Pro კომერციული მაყურებლის გამოყენებით…
შეღებვის გზით მშვენიერი საავტომობილო უნარების განვითარება ბავშვებს ამზადებს უფრო რთული უნარებისთვის, როგორიცაა წერა. შეღებვა…
საზღვაო სექტორი ნამდვილი გლობალური ეკონომიკური ძალაა, რომელიც 150 მილიარდი ბაზრისკენ მიისწრაფვის...
გასულ ორშაბათს, Financial Times-მა გამოაცხადა გარიგება OpenAI-თან. FT ლიცენზირებს თავის მსოფლიო დონის ჟურნალისტიკას…