ᲙომპიუტერებიᲞროგრამული უზრუნველყოფა

Ტესტირების პროგრამები - პროგრამული პროდუქტის შეცდომების გამოვლენის პროცესი

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

რა ეწოდება ტესტირებას?

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

ეფექტურობა

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

მიდგომა მუშაობა

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

რა არის გამოცდა?

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

ხელოვნების აღმოჩენის შეცდომები

პროგრამები ხშირად ემსახურება მონაცემთა უზარმაზარი მასივის მუშაობას. ნამდვილად აუცილებელია, რომ შეიქმნას იგი მთლიანად? არა, ეს არ არის. პროგრამის "მინიატურიზაციის" პრაქტიკა ფართოდ გავრცელდა. ამ შემთხვევაში, არსებობს გონივრული შემცირება მონაცემების რაოდენობასთან შედარებით, რაც უნდა იქნეს გამოყენებული. მოდით შევხედოთ ამ მაგალითს: არსებობს პროგრამა, რომელშიც შეიქმნა 50x50 მატრიცა. სხვა სიტყვებით - თქვენ უნდა შეიყვანოთ 2500 ათასი ღირებულებები. ეს, რა თქმა უნდა, შესაძლებელია, მაგრამ ძალიან დიდი დრო დასჭირდება. მაგრამ შესამოწმებლად შესრულების, პროგრამული პროდუქტი იღებს matrix, რომლის განზომილება არის 5x5. ამისათვის საჭიროა 25 ღირებულების შეყვანა. თუ ამ შემთხვევაში ნორმალურია, შეცდომა თავისუფალი სამუშაოა, მაშინ ეს ნიშნავს, რომ ყველაფერი წესრიგშია. მიუხედავად იმისა, რომ აქ არის პრობლემების არსებობა, რომელიც შედგება იმით, რომ მინიატურის პირობებში ხდება სიტუაცია, რის შედეგადაც ხდება ცვლილებები დაფარული და დროებით გაქრება. ასევე ძალიან იშვიათია, მაგრამ ასევე ხდება ახალი შეცდომები.

მიზანმიმართული მიზნები

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

შეამოწმეთ სხვადასხვა პირობებში

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

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

პროგრამული ტესტირება: სახეები

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

ტესტირების დასრულება

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

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

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

Avalanche

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

KLEE

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ka.delachieve.com. Theme powered by WordPress.