„iOS“ programų testavimo pamoka: rankinis ir amp; Automatika

Kas yra „iOS“ programų testavimas?

„iOS App Testing“ yra testavimo procesas, kurio metu „iOS“ programa yra tikrinama realiuose „Apple“ įrenginiuose, siekiant patikrinti, ar ji veikia taip, kaip tikėtasi, atliekant konkrečius vartotojo veiksmus, pvz., diegimo laiką, vartotojo sąsają, vartotojo patirtį, išvaizdą, elgesį, funkcionalumą, įkėlimo laiką, našumas, „App Store“ sąrašas, OS versijos palaikymas ir kt.

Kodėl verta išbandyti „iOS“ programas?

„iOS“ programų testavimas yra būtinas, nes „iOS“ yra „Apple“ platforma mobiliesiems įrenginiams, kuri buvo išleista 2007 m. birželio 29 d. Skirtingai nei „Android“, „Apple“ nesuteikia licencijos „iOS“ diegti ne „Apple“ aparatinėje įrangoje. Taigi „iOS“ ir „iOS“ programas galima įdiegti tik „Apple“ įrenginiuose, todėl „iOS“ programa turi būti suderinama su „iOS“ versijomis ir „iOS“ įrenginiais.

Tai yra dažnas klausimas, kai kūrėjas sukuria „iOS“ programą.

Nesvarbu, kiek laiko investuosite į projektavimą ir įgyvendinimą, neišvengiamos klaidos ir pasirodys klaidų. „IOS“ programoje yra keletas dažniausiai pasitaikančių klaidų. Kaip parodyta žemiau esančiame paveikslėlyje.

  1. Taikoma programa

Viena iš labiausiai varginančių problemų naudojant „Apple“ įrenginius yra ta, kad vykdymo metu programa gali dažnai užstrigti. Daug kartų programa užstringa, nes programose yra klaidų ar atminties.

  1. Programos nesuderinamumai

„IOS“ programa gali puikiai veikti naudojant dabartinę „iOS“ versiją, tačiau jei naujovinama „iOS“, ji gali neveikti dėl nesuderinamumo problemų.

  1. Saugumas

„IOS“ saugumo pažeidžiamumas leidžia įsilaužėliui atakuoti jūsų „iOS“ įrenginius, pavogti jūsų asmeninę informaciją. Iki šiol buvo pastebėta rimtų „iPhone“ saugumo spragų skirtingose ​​„iOS“ versijose.

  1. Atminties nutekėjimas

Atminties nutekėjimas yra paskirstytos atminties blokai, kurių programa nebenaudoja. Dėl atminties nutekėjimo jūsų „iOS“ programa gali sugesti. Jie yra klaidos ir visada turėtų būti taisomi.

Šioje pamokoje sužinosite

  • Kodėl verta išbandyti „iOS“?
  • „iOS“ bandymai „MindMap“
  • „iOS“ bandymų kontrolinis sąrašas
  • „iOS“ testavimo strategija
  • Automatizuotas testavimas
    • Vieneto testavimas naudojant OCUnit
    • UI testavimas naudojant UIAutomation
  • Rankinis bandymas
    • Tiriamasis testavimas
    • Vartotojo testavimas
      • Koncepcijos testavimas
      • Naudojimo testavimas
      • Beta testavimas
      • A / B bandymai
  • „iOS“ bandymai Geriausia praktika
  • MITAI apie „iOS“ testavimą

„iOS“ bandymai „MindMap“

Kaip parodyta aukščiau pateiktame paveikslėlyje, „iOS Testing MindMap“ rodo visus elementus, į kuriuos testuotojas turėtų atsižvelgti atlikdamas bandymus „iOS“.

„iOS“ programų testavimo kontrolinis sąrašas

Šis kontrolinis sąrašas yra specialiai sukurtas norint išbandyti „iOS“ programų mobiliesiems ypatybes. Akivaizdu, kad ji tikrina tik bendrąsias programos charakteristikas, o ne jos funkcionalumą.

  • Patikrinkite, kiek laiko programa užima įrenginyje. Įsitikinkite, kad programa įdiegta per priimtiną laiką.
  • Įdiegę programą patikrinkite, ar programoje yra programos piktograma ir pavadinimas. Be to, įsitikinkite, kad tiek piktograma, tiek pavadinimas yra savaime suprantami ir atspindi pagrindinį programos tikslą.
  • Paleiskite programą ir patikrinkite, ar rodomas purslų ekranas.
  • Patikrinkite ekrano užsklandos skirtąjį laiką ir laiką, kurį reikia įkelti pagrindiniam ekranui. Pagrindinis programos ekranas turėtų būti įkeltas per priimtiną laiką. Jei pagrindinio ekrano įkėlimas užtrunka tik daugiau laiko, vartotojui yra didesnė tikimybė uždaryti ar net pašalinti pačią programą. Taip pat patikrinkite, kaip turinys įkeliamas į pagrindinį ekraną.
  • Pagrindinė programos funkcija turėtų būti aiškiai matoma. Tai turėtų kalbėti už save.
  • Patikrinkite, ar programa palaiko kraštovaizdžio ir portreto orientacijas. Jei taip, patikrinkite programą abiem kryptimis. Programos vartotojo sąsaja turėtų būti nustatyta atitinkamai.
  • Neprisijungę prie interneto, paleiskite programą. Įsitikinkite, kad programa veikia taip, kaip numatyta / pageidaujama. Yra tikimybė, kad paleidus programą gali sugesti arba ji gali tiesiog rodyti tuščią ekraną.
  • Jei programa naudoja vietovės paslaugas, patikrinkite, ar rodomas įspėjimas dėl leidimo naudotis vietove. Šis įspėjimas turėtų būti raginamas vartotojui tik vieną kartą.
  • Jei programa siunčia tiesioginius pranešimus, patikrinkite, ar rodomas įspėjimo apie leidimą įspėjimas. Šis įspėjimas taip pat turėtų būti raginamas vartotojui tik vieną kartą.
  • Paleiskite programą, uždarykite ją ir paleiskite iš naujo. Patikrinkite, ar programa veikia taip, kaip numatyta / norima
  • Uždarykite programą paliesdami įrenginio mygtuką Pagrindinis ir vėl atidarykite programą. Patikrinkite, ar programa veikia taip, kaip numatyta / norima.
  • Įdiegę patikrinkite, ar programa yra nurodyta „iPhone“ nustatymų programoje.
  • Kai programa bus paskelbta tiesiogiai, patikrinkite, ar programą galima rasti „App Store“. Programai bus palaikoma OS versija. Taigi, įsitikinkite, kad programą galima rasti tose palaikomos OS versijos įrenginio „App Store“. Be to, programa neturėtų būti įtraukta į nepalaikomos OS versijos įrenginio „App Store“.
  • Norėdami išvengti akumuliatoriaus išsekimo, patikrinkite, ar programa veikia miego režimu, kai ji veikia fone.
  • Jei programa veikia lėtai arba kai turinys įkeliamas, patikrinkite, ar yra progreso būsenos piktograma („Įkeliama…“), pageidautina su konkrečiu pranešimu.
  • Ieškokite programoje su jos pavadinimu įrenginio paieškos juostoje. Patikrinkite, ar programa yra sąraše
  • Patikrinkite, ar programoje nėra pakeista standartinius veiksmus atliekančių mygtukų išvaizda (pavyzdžiui: atnaujinti, tvarkyti, išmesti šiukšliadėžę, atsakyti, grįžti ir t. T.)
  • Patikrinkite, ar standartiniai mygtukai nenaudojami kitoms funkcijoms, nei jie paprastai naudojami

„iOS“ testavimo strategija

Žemiau pateiktame paveikslėlyje pateikiami keli įprasti „iOS“ testavimo strategijos tipai.

Automatizuotas testavimas

Automatizuotas testavimas yra daugiausia „iOS“ testavimo privalumų. Tai leidžia greitai aptikti klaidas ir našumo problemas. Automatinio testavimo pranašumai, kaip parodyta žemiau:

  • Automatinis testavimas gali būti vykdomas keliuose įrenginiuose, taupant jūsų laiką
  • Automatinis testavimas gali būti nukreiptas į SDK. Galite paleisti bandymą su skirtingomis SDK versijomis
  • Automatizuotas testavimas padidina jūsų testavimo našumą, taupo programinės įrangos kūrimo išlaidas
  • Yra daug atvirojo kodo testavimo sistemų, palaikančių automatizuotą „iOS“ testavimą

Vieneto testavimas naudojant OCUnit

Kai buvo išleistas originalus „iOS SDK“, jam trūko vieneto testavimo galimybių. Taigi „Apple“ sugrąžino „OCUnit“ vieneto bandymo sprendimą „iOS SDK 2.2“ versijoje.

„OCUnit“ yra „C-Objective“ testavimo sistema „Mac OS“. Didžiausi OCUnit sistemos privalumai yra griežta integracija į XCode kūrimo aplinką, kaip parodyta žemiau.

Kai kurie OCUnit pranašumai parodyti paveikslėlyje.

UI testavimas naudojant UIAutomation

„UI Automation“ yra „Apple Inc“ teikiama „JavaScript“ biblioteka, kuri gali būti naudojama atliekant automatizuotą tikrųjų įrenginių ir „iOS Simulator“ bandymą. Ši sistema įtraukta į „iOS SDK4.0“. Naudodami „UI Automation“ galite automatizuoti programos testavimą ne tik treniruoklyje, bet ir realiame įrenginyje.

„UIAutomation“ suteikia jums šių privalumų:

  • Sumažinkite bandymų rankiniu būdu pastangas
  • Naudokite mažiau atminties, kad atliktumėte visus testus
  • Supaprastinkite vartotojo sąsajos testavimo procedūrą (tiesiog paspauskite vieną ar tris mygtukus ir paleiskite visus bandomuosius paketus)

„UIAutomation“ priemonė veikia iš scenarijų, parašytų „JavaScript“. Tai imituoja vartotojo įvykius tikslinėje „iOS“ programoje.

„UIAutomation Cons“ ir „Pros“

Argumentai "už" Minusai
1. Gerai palaiko gestą ir sukimąsi Tai nėra atviras šaltinis, mažesnė kūrėjo parama
2. Gali atlikti UIAutomation testus įrenginyje, o ne vienintelyje treniruoklyje. Nepavyksta labai gerai integruotis su kitomis priemonėmis
3. Sukurta „JavaScript“, tai yra populiari programavimo kalba.

Aukščiau pateiktame paveikslėlyje pavaizduotos kelios įprastos UIAutomation sistemos klasės.

  • UIAElement“ klasė yra super klasė visiems vartotojo sąsajos elementams „Automation“ kontekste
  • UIATarget“ klasė rodo bandomo sistemos aukšto lygio vartotojo sąsajos elementus
  • UIALogger“ klasėje pateikiama bandymų ir klaidų informacija apie paieškos funkcionalumą
  • UIAActivityView“ klasė leidžia pasiekti ir valdyti jūsų programos veiklos rodinius.
  • UIAActionSheet“ klasė leidžia pasiekti ir valdyti jūsų programos veiksmų lapus.
  • Vartotojo įvykio veiksmas
    • UISlider klasė
    • UIAButton klasė
    • UIAKey klasė
    • „UIAKeyboard“ klasė

Kitos automatizuotos testavimo sistemos

  • „MonkeyTalk“: automatinio „iOS“, „Android“, HTML5 ir „Adobe“ programų testavimo įrankis. Tai yra integruota aplinka, skirta valdyti ir vykdyti bandomuosius programų paketus
  • Frankas: „iPhone“ ir „iPad“ automatinio priėmimo testavimo sistema
  • KIF: yra „iOS“ integracijos testavimo sistema. Tai leidžia lengvai automatizuoti „iOS“ programas, pasinaudojant pritaikymo neįgaliesiems atributais, kuriuos OS suteikia turintiems regėjimo negalią.

Rankinis bandymas

Tiriamasis testavimas

Tai testavimas be oficialaus testų plano. Tiriamasis testavimas yra nebrangus testavimo metodas, tačiau jis gali praleisti galimas „iOS“ programos klaidas.

Tiriamieji bandymai prieš ir prieš

Argumentai "už" Minusai
1. Reikia mažiau pasiruošti, anksti aptikti rimtas klaidas. Reikalingi aukšti testuotojo įgūdžiai
2. Nereikia bandymų plano, kad greičiau aptiktumėte klaidas. Bandymų aprėptis yra maža. Tai negarantuoja, kad visi jūsų reikalavimai bus patikrinti.
3. Daugelis klaidų atrandamos anksti atliekant tam tikrus tyrimus Testavimo dokumentų trūkumas

Vartotojo testavimas

Vartotojo testavimas yra rankinio testavimo „iOS“ tipas. Šio bandymo tikslas yra sukurti geresnes programas, ne tik programas be klaidų . Žemiau pateiktame paveikslėlyje parodyti keturi naudotojų testavimo tipai

Koncepcijos testavimas

Įvertinkite vartotojo atsakymą į programos idėją prieš išleidžiant ją į rinką. „IOS“ koncepcijos bandymo procedūros aprašytos taip, kaip nurodyta toliau

Naudojimo testavimas

Naudojimo testavimas yra testas, kaip lengvai naudotis „iOS“ programa. Atliekant „iOS“ testavimą, būtų galima įrašyti naudojimo testą, kad būtų galima prisiminti ar pasidalinti su kitais.

Yra keletas įrankių, kurie palaiko „iOS“ tinkamumo testavimą.

„Magitest“, paprastas „iOS“ tinkamumo testavimas svetainėms ir programoms.

Delight.io, šis įrankis gali užfiksuoti tikrąją vartotojo sąveiką jūsų „iOS“ programose.

Beta testavimas

Beta testavimas yra integracijos testavimas su realiais duomenimis, siekiant gauti galutinį vartotojų atsiliepimą. Norėdami platinti programas beta versijos testavimui, turite atlikti toliau nurodytus veiksmus.

- Išankstinė sąlyga : jei bandote beta versiją apie galutinį leidimo kandidatą, prieš platindami ją bandytojams, būtinai patvirtinkite programą.

- Suraskite testerį naudodamiesi paslauga : iš bandytojų surenkate įrenginio ID ir įtraukiate juos į narių centrą

- Sukurkite ad hoc paskirstymą : „Ad Hoc“ paskirstymas leidžia testeriui paleisti jūsų programą savo įrenginyje be „Xcode“. Šis žingsnis apima 2 pakopas

  • Sukurkite platinimo sertifikatus
  • Sukurkite „Ad-hoc“ aprūpinimo profilius

- Paprašykite testuotojo atsiliepimų: testuotojas atlieka bandymus ir siunčia jums pranešimus apie klaidas. Išleidę programą galite gauti ataskaitas iš „iTunes connect“.

A / B bandymai

A / B testavimas yra vienas iš galingiausių būdų įvertinti „iOS“ programos efektyvumą . Jame naudojami atsitiktinių imčių eksperimentai su dviem prietaisais - A ir B.

A / B testavimas apima tris pagrindinius žingsnius

  • Konfigūruokite testą : paruoštos 2 „iOS“ programos versijos (A ir B) ir bandymo metrika
  • Testas : vienu metu išbandykite 2 anksčiau nurodytas „iOS“ programų versijas įrenginiuose.
  • Analizuoti : išmatuokite ir pasirinkite geresnę versiją, kurią norite išleisti

Šie įrankiai palaiko A / B testavimą „iOS“.

  • Kyla: A / B testavimas tiek „iOS“, tiek „Android“. Jį galima integruoti į „iOS“ programą ir greičiau atlikti testavimo procesą.

Geriausia A / B testavimo praktika

  • Apibrėžkite bandymo tikslą . Bet koks bandymas yra nenaudingas be tikslo.
  • Stebėkite, kaip galutiniai vartotojai naudoja jūsų programą pirmą kartą
  • Paleisti vieną testą tik už atnaujinimą. Tai taupo jūsų laiką atliekant bandymus
  • Atidžiai stebėkite savo testą. Stebėdami jį galite sužinoti savo testo patirtį.

„iOS“ bandymai Geriausia praktika

Štai keletas patarimų, kuriuos turėtumėte žinoti organizuodami „iOS“ programos testavimą

  1. Išbandykite programą realiame įrenginyje, kad sužinotumėte realiai apie našumą
  2. Patobulinkite bandymo metodus, nes tradicinių bandymo metodų nebepakanka, kad būtų galima aprėpti visus „iOS“ testavimo testus
  3. Naudojant konsolės žurnalą „iOS“ programai išbandyti. Tai „iOS“ funkcija apima informaciją iš kiekvienos įrenginio programos.
  4. Dokumentų programų klaidos naudojant įmontuotą trumpą komandą ekrane . Tai padeda kūrėjui suprasti, kaip atsiranda klaidos.
  5. Strigčių ataskaitos yra naudingi įrankiai bandant programą. Jie gali aptikti avarijas ir išsamią žurnalo informaciją, kad galėtumėte lengvai ištirti klaidas.

MITAI apie „iOS“ testavimą

Šiame skyriuje nagrinėjami keli populiarūs „iOS“ testavimo mitai ir realijos

Programos testavimas „iOS“ ir „Android“ yra tas pats dalykas.

„iOS“ ir „ Android“ yra dvi platformos, kurias sukūrė „Apple Inc“ ir „Google“. Jie yra visiškai skirtingi. Ir tt testavimo aplinkos, testavimo sistemos, programavimo kalbos.

Pakanka bandomosios programos „iOS Simulator“.

„iOS Simulator“ nėra pakankamai stiprus, kad būtų galima išbandyti programą. Kadangi „iOS Simulator“ yra keletas apribojimų:

  • Aparatinės įrangos apribojimai (fotoaparatas, mikrofono įvestis, jutiklis)
  • Jūsų programos vartotojo sąsaja gali veikti greičiau ir sklandžiau nei įrenginyje
  • API apribojimai
  • Kai kurios sistemos nepalaikomos („Media Player“, „Store Kit“, „Message UI“ ...)

Visi atsisiųs mano programas iš programų parduotuvės, nes joje yra daugybė funkcijų

Kuo daugiau funkcijų turi jūsų programa, tuo daugiau klaidų galite gauti. Nė vienas vartotojas neatsisiųs jūsų programos, jei joje vis tiek yra daug trūkumų.

Įdomios straipsniai...