Wat is het testen van iOS-apps?
iOS App Testing is een testproces waarbij een iOS-applicatie wordt getest op echte Apple-apparaten om te controleren of het werkt zoals verwacht of niet voor specifieke gebruikersacties zoals installatietijd, gebruikersinterface, gebruikerservaring, uiterlijk, gedrag, functionaliteit, laadtijd, prestaties, App Store-vermelding, OS-versieondersteuning, enz.
Waarom testen van iOS-apps?
Testen van iOS-apps is vereist omdat iOS het platform van Apple is voor mobiele applicaties dat op 29 juni 2007 werd uitgebracht. In tegenstelling tot Android, heeft Apple 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 veel voorkomende vraag wanneer ontwikkelaars een iOS-applicatie maken.
Het maakt niet uit hoeveel tijd u investeert in ontwerp en implementatie, fouten zijn onvermijdelijk en er zullen bugs 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 vaak crasht tijdens de uitvoering. Vaak crasht de app omdat er een aantal bugs of geheugenlekken in apps zijn.
- Onverenigbaarheden in de toepassing
Uw iOS-applicatie werkt mogelijk perfect op de huidige iOS-versie, maar als iOS wordt geüpgraded, werkt deze mogelijk niet vanwege incompatibiliteitsproblemen.
- Beveiligingskwetsbaarheid
Door een beveiligingsprobleem in iOS kan de hacker uw iOS-apparaten aanvallen en uw privégegevens stelen. Tot nu toe zijn in verschillende iOS-versies ernstige kwetsbaarheden in de iPhone-beveiliging 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.
In deze tutorial leer je-
- Waarom iOS-testen?
- iOS testen MindMap
- Checklist voor iOS-testen
- iOS-teststrategie
- Geautomatiseerd testen
- Unit testen met OCUnit
- UI-testen met UIAutomation
- Handmatig testen
- Verkennende toetsing
- Gebruikerstests
- Concepttesten
- Bruikbaarheidstesten
- Beta testen
- A / B-testen
- iOS-testen Best practice
- MYTHEN over iOS-testen
iOS testen MindMap
Zoals te zien is in de bovenstaande afbeelding, toont iOS Testing MindMap alle items waarmee de tester rekening moet houden bij het testen op iOS.
Checklist voor het testen van iOS-applicaties
Deze checklist is speciaal ontworpen om de kenmerken van mobiele iOS-applicaties te testen. Het test uiteraard alleen generieke toepassingskenmerken en niet de functionaliteit ervan.
- Controleer de installatietijd van de applicatie op het apparaat. 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 kernintentie van de toepassing weerspiegelen.
- Start de applicatie en controleer of het welkomstscherm wordt weergegeven.
- Controleer de time-out van het startscherm 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 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 belangrijkste functie van de applicatie moet onmiddellijk duidelijk zijn. Het zou voor zichzelf moeten spreken.
- Controleer of de app zowel landschaps- als portretoriëntaties ondersteunt. Als dit het geval is, controleer dan de app in beide oriëntaties. De gebruikersinterface van de applicatie moet dienovereenkomstig worden ingesteld.
- Start de applicatie zonder een internetverbinding. Zorg ervoor dat de app zich gedraagt zoals ontworpen / gewenst. Er is een kans dat de applicatie crasht bij het starten of alleen een leeg scherm weergeeft.
- Als de applicatie locatieservices gebruikt, controleer dan of de locatietoestemmingswaarschuwing wordt weergegeven of niet. Deze waarschuwing mag slechts één keer aan de gebruiker worden gegeven.
- Als de applicatie push-notificaties verstuurt, controleer dan of push-notificatie-toestemmingswaarschuwing wordt weergegeven of niet. Deze waarschuwing mag ook slechts één keer aan de gebruiker worden gegeven.
- Start de applicatie, sluit deze af en start opnieuw. Controleer of de 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, controleert u of de applicatie te vinden is in "App Store". Er zal een ondersteunde OS-versie voor de applicatie zijn. Zorg er dus voor dat de applicatie te vinden is in de "App Store" van die ondersteunde OS-versie. De applicatie mag ook niet worden vermeld in de niet-ondersteunde OS-versie van het apparaat in de "App Store".
- Controleer of de applicatie in de slaapstand gaat wanneer deze op de achtergrond wordt uitgevoerd om te voorkomen dat de batterij leegloopt.
- Als de prestaties van de applicatie traag zijn of als de inhoud wordt geladen, controleer dan of er een voortgangsstatuspictogram is ("Bezig met laden ..."), bij voorkeur met een specifiek bericht.
- Zoek de applicatie met zijn naam in de zoekbalk van het apparaat. Controleer of de app in de lijst staat
- Controleer of het uiterlijk van knoppen die standaardacties uitvoeren niet worden gewijzigd in de app (bijvoorbeeld: vernieuwen, ordenen, prullenbak, beantwoorden, terug, etc.)
- Controleer of standaardknoppen niet worden gebruikt voor andere functies dan waarvoor ze normaal worden gebruikt
iOS-teststrategie
De onderstaande afbeelding introduceert enkele veelvoorkomende soorten iOS-teststrategieën.
Geautomatiseerd testen
Geautomatiseerd testen is de meeste voordelen van iOS-testen. Het stelt u in staat om de bug en prestatieproblemen snel te detecteren. De voordelen van geautomatiseerd testen, zoals hieronder weergegeven:
- Geautomatiseerde tests kunnen op meerdere apparaten worden uitgevoerd, waardoor u tijd bespaart
- Geautomatiseerd testen kan gericht zijn op SDK's. U kunt een test uitvoeren op verschillende SDK-versies
- Geautomatiseerd testen verhoogt uw testproductiviteit en bespaart uw kosten voor softwareontwikkeling
- Er zijn veel open source-testframeworks die geautomatiseerd testen op iOS ondersteunen
Unit testen met OCUnit
Toen de oorspronkelijke iOS-SDK werd uitgebracht, ontbrak het aan Unit Testing-mogelijkheden. Daarom heeft Apple de OCUnit-eenheidstestoplossing teruggebracht in iOS SDK-versie 2.2.
OCUnit is een testraamwerk voor C-Objective in Mac OS. De grootste voordelen van een OCUnit-framework zijn de nauwe integratie in de XCode-ontwikkelomgeving, zoals hieronder weergegeven.
Enkele voordelen van OCUnit worden weergegeven in onderstaande afbeelding.
UI-testen met UIAutomation
UI Automation is een JavaScript-bibliotheek van Apple Inc, die kan worden gebruikt om een geautomatiseerde test uit te voeren op echte apparaten en op iOS Simulator. Dit framework is toegevoegd aan iOS SDK4.0. Met UI-automatisering kunt u het testen van de applicatie niet alleen op de simulator, maar ook op het echte apparaat automatiseren.
UIAutomation biedt u deze voordelen:
- Verminder de inspanning bij handmatig testen
- Gebruik minder uw geheugen om al uw tests uit te voeren
- Vereenvoudig uw UI-testprocedure (druk gewoon op een of drie knoppen en voer uw testsuites uit)
UIAutomation-instrument werkt vanuit scripts die in JavaScript zijn geschreven. Het simuleert gebruikersgebeurtenissen op de beoogde iOS-applicatie.
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 op het apparaat uitvoeren, niet de enige simulator. | Kan niet erg goed integreren met andere tools |
3. | Het is ontwikkeld door JavaScript en is een populaire programmeertaal. |
De bovenstaande afbeelding vertegenwoordigt enkele veelvoorkomende klassen in het UIAutomation-framework.
- De UIAElement- klasse 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 klasse UIALogger biedt test- en foutinformatie over de ophaalfunctionaliteit
- De UIAActivityView- klasse biedt toegang tot en controle over activiteitenweergaven binnen uw app.
- De UIAActionSheet- klasse biedt toegang tot en controle over action sheets binnen uw app.
- Gebruiker Gebeurtenisactie
- UISlider-klasse
- UIAButton-klasse
- UIAKey-klasse
- UIAKeyboard-klasse
Andere geautomatiseerde testkaders
- MonkeyTalk: een tool voor het automatisch testen van iOS-, Android-, HTML5- en Adobe-applicaties. Het is een geïntegreerde omgeving voor het beheren en uitvoeren van testsuites
- Frank: Automated Acceptance Test- framework voor iPhone en iPad
- KIF: is een testraamwerk voor iOS- integratie . 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
Verkennende toetsing
Het is een test zonder formeel testplan. Exploratory Testing is een goedkope testmethode, maar het kan de mogelijke bugs in uw iOS-applicatie missen.
Verkennend testen nadelen versus voordelen
Voordelen | Nadelen | |
---|---|---|
1. | Er is minder voorbereiding nodig, detecteer vroegtijdig ernstige bugs. | Vereist hoge vaardigheid van de tester |
2. | Geen testplan nodig om de bugdetectie te versnellen. | De testdekking is laag. Het garandeert niet dat al uw vereisten worden getest. |
3. | De meeste bugs worden vroeg ontdekt door een soort verkennende test | Gebrek aan testdocumentatie |
Gebruikerstests
Gebruikerstests zijn een soort handmatige tests op iOS. Het doel van deze tests is om betere apps te maken, niet alleen bugvrije apps. De onderstaande afbeelding toont vier soorten gebruikerstests
Concept testen
Evalueer de reactie van gebruikers op een applicatie-idee voordat u het op de markt brengt. De procedures voor het testen van concepten op iOS worden hieronder beschreven
Bruikbaarheidstesten
Bruikbaarheidstesten is een test hoe gemakkelijk u uw iOS-applicatie kunt gebruiken. Bij iOS-tests kan de bruikbaarheidstest worden opgenomen om te onthouden of om met anderen te delen.
Er zijn enkele tools die bruikbaarheidstests op iOS ondersteunen.
Magitest, een eenvoudige iOS-bruikbaarheidstest voor sites en apps.
Delight.io, deze tool kan echte gebruikersinteractie vastleggen op uw iOS-apps.
Beta testen
Beta-testen is het testen van de integratie met echte gegevens om de laatste feedback van gebruikers te krijgen. Om uw apps te distribueren voor bètatests, moet u de onderstaande stappen volgen.
Deze stap omvat 2 substappen
- Maak distributiecertificaten
- Maak ad-hoc inrichtingsprofielen
Nadat uw app is uitgebracht, kunt u de rapporten ophalen van iTunes Connect.
A / B-testen
A / B-testen is een van de krachtigste manieren om de effectiviteit van uw iOS-app te evalueren . Het maakt gebruik van gerandomiseerde experimenten met twee apparaten, A en B.
A / B-tests omvatten drie hoofdstappen
- Configureer een test : 2 versies van uw iOS-app (A & B) en teststatistieken voorbereid
- Test : test 2 iOS-apps-versies hierboven op apparaten tegelijk.
- Analyseren : meet en selecteer een betere versie om vrij te geven
De volgende tools ondersteunen A / B-testen op iOS.
- Sta op: A / B-testen voor zowel iOS als Android. Het kan worden geïntegreerd in uw iOS-app en het testproces versnellen.
Best practices voor A / B-testen
- Bepaal het doel van uw test. Elke test is nutteloos zonder een doelwit.
- Kijk hoe eindgebruikers uw app de eerste keer gebruiken
- Voer slechts één test per update uit. Het bespaart u tijd bij het uitvoeren van tests
- Houd uw test zorgvuldig in de gaten. U kunt ervaringen van uw test leren door deze te monitoren.
iOS-testen Best practice
Hier zijn enkele tips die u moet weten wanneer u het testen van uw iOS-applicatie organiseert
- Test de applicatie op een echt apparaat om echt te zien wat de prestaties zijn
- Verbeter uw testmethoden, want traditionele testmethoden zijn niet langer voldoende om alle tests op iOS-tests te dekken
- Gebruik consolelogboek om iOS-applicatie te testen. Dit is een iOS-functie die informatie bevat van elke applicatie op het apparaat.
- Documenteer bugs in applicaties met behulp van de ingebouwde korte schermopdracht . Het helpt de ontwikkelaar te begrijpen hoe de bugs optreden.
- Crashrapportage is een handig hulpmiddel bij het testen van uw applicatie. Ze kunnen crashes detecteren en details vastleggen, zodat u de bugs gemakkelijk kunt onderzoeken.
MYTHEN over iOS-testen
In dit gedeelte worden enkele populaire mythen en realiteiten van iOS-testen besproken
Testapplicaties 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 enkele beperkingen heeft:
- Hardwarebeperkingen (camera, microfooningang, sensor)
- De gebruikersinterface van uw app lijkt zowel sneller als vloeiender te werken 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 defecten heeft.