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

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

ტესტის ავტომატიზაციის უპირატესობები

რა უპირატესობა აქვს ტესტის ავტომატიზაციას?

დადასტურება ცნობილი

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

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

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

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



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

სწრაფი გამოხმაურება

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

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

ჩეკების სწრაფი შესრულება

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

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

ათავისუფლებს ტესტერების დროს

ავტომატიზირებული შემოწმებების საუკეთესო გამოყენებაა რეგრესიის ტესტები.

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

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

განვითარების ჯგუფს შეუძლია თავისი წვლილი შეიტანოს

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

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

ტესტის ავტომატიზაციის ნაკლოვანებები

რა უარყოფითი მხარეები აქვს ტესტის ავტომატიზაციას?

ხარისხის ცრუ განცდა

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

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

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

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

საიმედო არ არის

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

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

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

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

ტესტის ავტომატიზაცია არ არის ტესტირება

სამწუხაროდ, ბევრი ადამიანი შეცდა 'ტესტის ავტომატიზაციაში' და ტესტირებაში.

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

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

ტესტირება არ არის მხოლოდ წინასწარ განსაზღვრული ტესტის ნაბიჯების შესრულება და რეალური შედეგების შედარება მოსალოდნელ შედეგებთან. ეს არის ავტომატიზირებული შემოწმებების სამუშაო.

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

გამოსავალი: გესმით, რომ პროექტის წარმატებით ჩასატარებლად საჭიროა ავტომატიზირებული და ხელით ტესტირება.

ერთი არ არის მეორის ჩანაცვლება; ავტომატიზირებული შემოწმებების შევსება სახელმძღვანელო / საძიებო ტესტირებით.

სარემონტო დრო და ძალისხმევა

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

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

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

ამ წარუმატებლობებმა შეიძლება დააბინძუროს ტესტის შედეგები.

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

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

ნელი გამოხმაურება

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

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

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

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

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

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

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

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

ღამის გაშვების მაგალითია ბრაუზერის ავტომატიზირებული შემოწმებები. ეს ჩვეულებრივ დიდ დროს მოითხოვს ყველა ბრაუზერში.

ბევრი შეცდომა ვერ მოიძებნა

შეცდომების უმეტესობა, როგორც ჩანს, 'შემთხვევითმა' ან საძიებო ტესტის ჩატარებამ მოიძია.

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

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

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

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

დასკვნა

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