მდებარეობის ტესტირება: კოორდინატების ჩანაცვლება QA-სა და დეველოპერებისთვის

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

  1. მოამზადეთ მოწყობილობა

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

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

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

    რჩეული ადგილების სია Mock Location-ში: საორიენტაციო წერტილების ნაკრები განმეორებადი ტესტებისთვის
  3. მოახდინეთ ნაკრების სინქრონიზაცია გუნდთან

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

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

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

    გაშვებების ისტორია Mock Location-ში: წინა ტესტის წერტილს ერთი შეხებით დაუბრუნდებით

რა უნდა შემოწმდეს აუცილებლად

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

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

ნამდვილი მოწყობილობა ემულატორის წინააღმდეგ

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

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

ყალბი წყაროს ნიშანი ტესტირებაში

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

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

ფონური მდებარეობის მქონე აპების ტესტირება

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

ინდიკატორის როლს პანელში მუდმივი შეტყობინება ასრულებს: სანამ ის იქაა, ჩანაცვლება აქტიურია.

Mock Location — ყალბი GPS მდებარეობა Android-ზე root-ის გარეშე

უფასოდ, Google Play-ის გარეშე. დაყენებამდე შეგიძლიათ ფაილის საკონტროლო ჯამის შემოწმება.

APK-ის ჩამოტვირთვა