Tutorial voor het testen van iOS-apps: handmatig en automatisering
Wat is het testen van iOS-apps?
Testen van iOS-apps is een testproces waarbij een iOS-applicatie wordt getest op echte Apple-apparaten om te controleren of deze werkt zoals verwacht of niet voor specifieke gebruikersacties zoals installatietijd, gebruikersinterface, gebruikerservaring, uiterlijk, gedrag, functionaliteit, laadtijd, prestaties, app Winkelvermelding, ondersteuning voor OS-versie, enz.
Waarom iOS-app-testen?
Testen van iOS-apps is vereist omdat iOS het platform van Apple voor mobiele applicaties is dat op 29 juni 2007 werd uitgebracht. Android, Apple geeft geen licentie voor iOS voor installatie op niet-Apple-hardware. iOS- en iOS-applicaties kunnen alleen op Apple-apparaten worden geïnstalleerd. Daarom moet uw iOS-app compatibel zijn met iOS-versies en iOS-apparaten.
Dit is de veelgestelde vraag wanneer ontwikkelaars een iOS-applicatie maken.
Het maakt niet uit hoeveel tijd u investeert in ontwerp en implementatie, fouten zijn onvermijdelijk en bugs zullen verschijnen. Er zijn enkele veelvoorkomende bugs in de iOS-applicatie. Zoals weergegeven in onderstaande afbeelding.
Applicatie crasht
Een van de meest frustrerende problemen bij het gebruik van Apple-apparaten is dat een applicatie regelmatig crasht tijdens de uitvoering ervan. Vaak crasht de app omdat er bugs of geheugenlekken in apps zijn.
Incompatibiliteit met toepassingen
Uw iOS-applicatie werkt mogelijk perfect op de huidige iOS-versie, maar als iOS is geüpgraded, werkt de applicatie mogelijk niet vanwege incompatibiliteitsproblemen.
Beveiligingsprobleem
Door een beveiligingsprobleem in iOS kan de hacker uw iOS-apparaten aanvallen en uw privégegevens stelen. Tot nu toe zijn er in verschillende iOS-versies ernstige iPhone-beveiligingsproblemen ontdekt.
Geheugenlekken
Geheugenlekken zijn blokken toegewezen geheugen die het programma niet langer gebruikt. Geheugenlekken zorgen ervoor dat uw iOS-applicatie crasht.
Het zijn bugs en moeten altijd worden opgelost.
iOS MindMap testen
Zoals weergegeven in de bovenstaande afbeelding, iOS Testen MindMap toont alle items waarmee testers rekening moeten houden bij het uitvoeren van tests op iOS.
Controlelijst voor het testen van iOS-applicaties
Deze checklist is speciaal ontworpen om de kenmerken van mobiele iOS-applicaties te testen. Uiteraard test het alleen generieke applicatiekenmerken en niet de functionaliteit ervan.
- Controleer de installatietijd die de applicatie op het apparaat nodig heeft. Zorg ervoor dat de applicatie binnen een acceptabele tijd wordt geïnstalleerd.
- Nadat de applicatie is geïnstalleerd, controleert u of de applicatie een app-pictogram en -naam heeft. Zorg er ook voor dat zowel het pictogram als de naam voor zichzelf spreken en de kernbedoeling van de toepassing weerspiegelen.
- Start de applicatie en controleer of het opstartscherm wordt weergegeven.
- Controleer de time-out van het opstartscherm en de tijd die nodig is om het startscherm te laden. Het startscherm van de applicatie zou binnen een acceptabele tijd moeten laden. Als het startscherm alleen maar meer tijd nodig heeft om te laden, is de kans groter dat de gebruiker de applicatie zelf afsluit of zelfs verwijdert. Controleer ook hoe de inhoud in het startscherm wordt geladen.
- De hoofdfunctie van de applicatie moet onmiddellijk duidelijk zijn. Het zou voor zichzelf moeten spreken.
- Controleer of de app zowel liggende als staande oriëntatie ondersteunt. Controleer dan de app in beide richtingen. De gebruikersinterface van de applicatie moet dienovereenkomstig worden ingesteld.
- Zonder internetverbinding start u de applicatie. Zorg ervoor dat de app zich gedraagt zoals ontworpen/gewenst. Er is een kans dat de applicatie crasht bij het starten ervan of dat er gewoon een leeg scherm wordt weergegeven.
- Als de applicatie gebruikmaakt van locatieservices, controleer dan of de locatietoestemmingswaarschuwing wordt weergegeven of niet. Deze waarschuwing mag slechts één keer aan de gebruiker worden getoond.
- Als de applicatie pushmeldingen verstuurt, controleer dan of de pushmeldingsmachtigingswaarschuwing wordt weergegeven of niet. Deze waarschuwing moet ook maar één keer aan de gebruiker worden getoond.
- Start de applicatie, sluit deze af en start opnieuw. Controleer of app zich gedraagt zoals ontworpen/gewenst
- Sluit de applicatie door op de Home-knop van het apparaat te tikken en open de app opnieuw. Controleer of de app werkt zoals ontworpen/gewenst.
- Controleer na installatie of de app wordt vermeld in de instellingen-app van de iPhone.
- Nadat de applicatie live is gemaakt, controleer je of de applicatie in ‘App Store’ te vinden is. Er zal een ondersteunde besturingssysteemversie voor de applicatie zijn. Zorg er dus voor dat de applicatie te vinden is in de "App Store" van het ondersteunde besturingssysteem. Ook mag de applicatie niet worden vermeld in de "App Store" van het apparaat met een niet-ondersteunde versie van het besturingssysteem.
- Controleer of de applicatie naar de slaapmodus gaat wanneer deze op de achtergrond wordt uitgevoerd om te voorkomen dat de batterij leegraakt.
- Als de prestaties van de applicatie traag zijn of wanneer de inhoud wordt geladen, controleer dan of er een voortgangsstatuspictogram is (“Laden...”), bij voorkeur met een specifiek bericht.
- Zoek de applicatie met zijn naam in de apparaatzoekbalk. Controleer of de app in de lijst staat
- Controleer of het uiterlijk van knoppen die standaardacties uitvoeren in de app niet wordt gewijzigd (bijvoorbeeld: vernieuwen, ordenen, prullenbak, beantwoorden, terug, etc.)
- Controleer of standaardknoppen niet voor andere functies worden gebruikt dan waar ze normaal voor worden gebruikt
iOS-teststrategie
De onderstaande afbeelding introduceert enkele veelvoorkomende typen iOS-teststrategieën.
Geautomatiseerde testen
Geautomatiseerd testen is het grootste voordeel van iOS-testen. Hiermee kunt u bug- en prestatieproblemen snel detecteren. De voordelen van geautomatiseerd testen, zoals hieronder weergegeven:
- Geautomatiseerd testen kan op meerdere apparaten worden uitgevoerd, waardoor u tijd bespaart
- Geautomatiseerd testen kan SDK's targeten. U kunt tests uitvoeren op verschillende SDK-versies
- Geautomatiseerd testen verhoogt uw testproductiviteit en bespaart u kosten voor softwareontwikkeling
- Er zijn veel open source-testframeworks die geautomatiseerd testen op iOS ondersteunen
Unittesten met OCUnit
Toen de originele iOS SDK werd uitgebracht, ontbrak deze Testen van een eenheid mogelijkheden. Dus Apple heeft de OCUnit unit test-oplossing in iOS SDK versie 2.2.
OCUnit is een testframework voor C-Objective in Mac OS. De grootste voordelen van een OCUnit-framework zijn de nauwe integratie in XCode ontwikkelomgeving zoals hieronder weergegeven.
Enkele voordelen van OCUnit worden weergegeven in onderstaande afbeelding.
UI-testen met UIAutomation
UI-automatisering is een JavaScript bibliotheek geleverd door Apple Inc, die kan worden gebruikt om een geautomatiseerde test uit te voeren op echte apparaten en op iOS Simulator. Dit raamwerk is toegevoegd aan iOS SDK4.0. Met UI Automation kunt u het testen van de applicatie automatiseren, niet alleen op de simulator, maar ook op het echte apparaat.
UIAutomation biedt u deze voordelen:
- Verminder de inspanning Handmatig testen
- Gebruik minder geheugen om al uw tests uit te voeren
- Vereenvoudig uw UI-testprocedure (druk gewoon op een of drie knoppen en voer uw testsuites uit)
Het UIAutomation-instrument werkt vanuit scripts waarin is geschreven JavaScript. Het simuleert gebruikersgebeurtenissen op de iOS-doeltoepassing.
UIAutomation nadelen versus voordelen
VOORDELEN | NADELEN | |
---|---|---|
1. | Goede ondersteuning voor gebaren en rotatie | Het is geen open source, minder ondersteuning van de ontwikkelaar |
2. | Kan UIAutomation-tests uitvoeren op het apparaat, niet op de enige simulator. | Kan niet extreem goed integreren met andere tools |
3. | Ontwikkeld door JavaScript is een populaire programmeertaal. |
De bovenstaande afbeelding vertegenwoordigt enkele veel voorkomende klassen in het UIAutomation-framework.
- De UIA Element class is de superklasse voor alle gebruikersinterface-elementen in de context van de automatisering
- De UIATarget klasse vertegenwoordigt de gebruikersinterface-elementen op hoog niveau van het te testen systeem
- De UIAlogger klasse biedt test- en foutinformatie over de ophaalfunctionaliteit
- De UIAActiviteitsweergaveclass biedt toegang tot en controle over activiteitsweergaven binnen uw app.
- De UIAActieblad class biedt toegang tot en controle over actiebladen binnen uw app.
- Gebruiker Gebeurtenis actie
- UISlider-klasse
- UIAButton-klasse
- UIAKey-klasse
- UIAKeyboard-klasse
Andere geautomatiseerde testframeworks
- openhartig: Geautomatiseerd Toelatingstest raamwerk voor iPhone en iPad
- KIF : is een iOS integratietest kader. Het maakt eenvoudige automatisering van iOS-apps mogelijk door gebruik te maken van de toegankelijkheidskenmerken die het besturingssysteem beschikbaar stelt voor mensen met een visuele handicap.
Handmatig testen
Verkennend testen
Het is een test zonder formeel testplan. Exploratory Testing is een goedkope testmethode, maar u kunt potentiële bugs in uw iOS-applicatie missen.
Verkennende tests Tegens versus voordelen
VOORDELEN | NADELEN | |
---|---|---|
1. | Less voorbereiding is nodig, vroegtijdige detectie van ernstige bugs. | Vereist een hoge vaardigheid van de tester |
2. | Niet nodig Testplan versnel de bugdetectie. | De testdekking is laag. Het garandeert niet dat al uw vereisten worden getest. |
3. | De meeste bugs worden vroeg ontdekt door middel van verkennende tests | Gebrek aan testdocumentatie |
Tests door gebruikers
Gebruikerstesten zijn een vorm van handmatig testen op iOS. Het doel van deze tests is niet alleen om betere apps te maken vrij van bugs apps. Onderstaande afbeelding toont vier soorten gebruikerstests
Concept testen
Evalueer de reactie van gebruikers op een applicatie-idee voordat het op de markt wordt gebracht. De procedures voor het testen van concepten op iOS worden hieronder beschreven
Usability Testing
Usability Testing is een test hoe eenvoudig u uw iOS-applicatie kunt gebruiken. Bij iOS-testen zou een bruikbaarheidstest kunnen zijn opgenomen om te onthouden of om met anderen te delen.
Er zijn enkele tools die bruikbaarheidstesten op iOS ondersteunen.
TryMyUI apps voor het testen van mobiele gebruikers voor Android en iOS.
Delight.io, kan deze tool echte gebruikersinteractie op uw iOS-apps vastleggen.
Beta testen
Bètatesten zijn de integratie testen met echte gegevens om definitieve feedback van gebruikers te krijgen. Om uw apps te distribueren voor bètatests, moet u de onderstaande stappen volgen.
-Voorwaarde: Als u een definitieve kandidaat voor een release aan het bètatesten bent, zorg er dan voor dat u de app valideert voordat u deze onder testers distribueert.
-Zoek tester via service: u verzamelt apparaat-ID's van testers en voegt deze toe Ledencentrum
-Creëer ad-hocdistributie: Met ad-hocdistributie kan de tester uw app zonder noodzaak op zijn apparaat uitvoeren Xcode. Deze stap omvat 2 substappen
- Distributiecertificaten maken
- Maak ad-hoc inrichtingsprofielen
-Vraag feedback aan de tester: Tester voert tests uit en stuurt bugrapporten naar u. Nadat uw app is uitgebracht, kunt u de rapporten ophalen van iTunes sluiten.
A / B-testen
A / B-testen is een van de krachtigste manieren om dat te doen evalueer de effectiviteit van uw iOS-app. Het gebruikt gerandomiseerde experimenten met twee apparaten, A en B.
A/B-testen omvatten drie hoofdstappen
- Configureer een test: 2 versies van uw iOS-app (A & B) en teststatistieken voorbereid
- test: Test 2 bovenstaande iOS-appversies tegelijkertijd op apparaten.
- Analyseren: Meet en selecteer een betere versie om vrij te geven
De volgende tools ondersteunen A/B-testen op iOS.
- Arise: A/B-testen voor zowel iOS als Android. Het kan worden geïntegreerd in uw iOS-app en het testproces sneller maken.
Best practices voor A/B-testen
- Definieer de doel van je toets. Elke test is nutteloos zonder doelwit.
- Bekijk de introductievideo eindgebruikers gebruiken uw app de eerste keer
- lopen een alleen testen per update. Het bespaart u tijd bij het uitvoeren van tests
- monitor uw test zorgvuldig. Door te monitoren kun je ervaringen opdoen uit je toets.
iOS-testen Beste praktijk
Hier zijn enkele tips die u moet weten bij het organiseren van het testen van uw iOS-applicatie
- Test de applicatie op een echt apparaat om echt te worden over de prestaties
- Verbeteren uw testmethoden, omdat traditionele testmethoden niet langer voldoende zijn om alle tests op iOS-tests te dekken
- gebruik console-logboek om de iOS-applicatie te testen. Dit is een iOS-functie die informatie bevat van elke applicatie op het apparaat.
- Document toepassingsfouten met behulp van ingebouwd scherm kort commando. Het helpt de ontwikkelaar te begrijpen hoe de bugs voorkomen.
- Crashrapportage is een handig hulpmiddel bij het testen van uw applicatie. Ze kunnen crashes detecteren en details vastleggen, zodat u de bugs eenvoudig kunt onderzoeken.
MYTHES over iOS-testen
In dit gedeelte worden enkele populaire mythen en realiteiten van iOS-testen onderzocht
Applicatie testen op iOS en Android zijn hetzelfde.
iOS en Android zijn twee platforms die zijn ontwikkeld door Apple Inc en Google. Ze zijn totaal verschillend. Etc testomgevingen, testframeworks, programmeertalen.
Testapplicatie op iOS Simulator is voldoende.
iOS Simulator is niet sterk genoeg om een app te testen. Omdat iOS Simulator een aantal beperkingen heeft:
- Hardwarebeperkingen (camera, microfooningang, sensor)
- Het lijkt erop dat de gebruikersinterface van uw app zowel sneller als soepeler werkt dan op een apparaat
- API-beperkingen
- Sommige frameworks worden niet ondersteund (Media Player, Store Kit, Message UI...)
Iedereen zal mijn apps downloaden in de app store omdat deze veel functies heeft
Hoe meer functies uw applicatie heeft, hoe meer bugs u kunt krijgen. Geen enkele gebruiker zal uw applicatie downloaden als deze nog steeds veel gebreken vertoont.