how perform software product testing detailed process
Softwareproducten hebben een eigen unieke aanpak nodig om adequaat en correct te testen. Vaak behandelen teams ze als alle andere software (d.w.z. interne applicaties die zijn gebouwd voor een specifieke klant of team; niet toegankelijk voor het grote publiek; geen inkomsten genereren) en dat is het beginpunt van problemen.
Het testen van softwareproducten heeft een aangepaste teststijl en -strategie nodig om waarde toe te voegen. Software Productontwikkeling en onderhoud is op zichzelf een complex ecosysteem en om te gedijen moeten testers zich aanpassen.
Laat me even de tijd nemen om uit te leggen waarom het belangrijk is en waarom ik denk dat productontwikkeling complex, ingewikkeld en samengesteld is, zelfs in de beste tijden.
Wat je leert:
- Uitdagingen voor softwareproducten:
- Fase # 1) Productintroductie
- Fase # 2) Productgroei
- Fase # 3) Productrijpheid
- Fase # 4) Productafname / terug cirkelen naar productgroei
- Wat maakt jou een succesvolle producttester?
- Aanbevolen literatuur
Uitdagingen voor softwareproducten:
Hier zijn enkele van de uitdagingen waarmee de ontwikkelingsteams van softwareproducten worden geconfronteerd:
# 1)Gebrek aan controle over demografische gegevens van gebruikers, apparaten, omgevingen, platforms, enz. : Softwareproducten worden, in tegenstelling tot software die is gebouwd voor specifieke belanghebbenden, niet gebruikt in gecontroleerde en voorspelbare situaties. Er zijn veel te veel factoren om rekening mee te houden.
#twee)Mistige productvisie : Productgedrag en -functies veranderen voortdurend en de reis naar volwassenheid is niet duidelijk zichtbaar. Of het product groeit te snel dat het uit de hand loopt en teams niet weten wat er aan de hand is.
# 3)Agressieve tijdlijnen : Vanwege de hevige concurrentie op de markt voor softwareproducten, moeten de zaken in een razend tempo gaan en moeten teams hun collega's een stap voor blijven. Anders zullen ze zeker verliezen van de concurrentie.
# 4)Faalangst : Softwareproducten zijn meestal innovatief. Hun succes is dus niet altijd een gegeven. Dit is de reden waarom bedrijven niet alles uit de kast kunnen halen op het gebied van budget, technologieën, infrastructuur, enz. Ze moeten vaak terughoudend zijn om een zekere mate van immuniteit te krijgen tegen uitval of zelfs break-even.
# 5)Gebrek aan bruikbare feedback: Aangezien er bij wijze van zeggen geen stakeholders of zakelijke gebruikers of klanten zijn, is het moeilijk te begrijpen wat de eindgebruiker wel of niet leuk vindt. Bedrijven spelen constant een raadspel en hebben vaak moeite om de kloof te overbruggen tussen wat ze willen voor de software en wat de klant wil.
Deze uitdagingen zijn van invloed op alle gebieden van productontwikkeling, marketing en onderhoud - en ze zijn inherent ook van invloed op het testen van producten.
Om vooruit te komen in het spel, moet dit type testen rekening houden met vijf belangrijke punten:
- Snelheid van ontwikkeling en releases
- Productdoelen op korte en lange termijn van het product
- Omvang en aard van de concurrentie
- Doelgroepen en hun omgeving
- Voorwaarden - Functioneel, prestatie, veiligheid, bruikbaarheid, configuratie, etc.
Laten we, voordat we dieper ingaan op de details, de levenscyclus van een product begrijpen (dit is een algemene levenscyclus van een product en niet specifiek voor softwareproducten, maar software volgt een soortgelijk patroon):
Een goede productteststrategie / -aanpak moet rekening houden met de huidige fase van het product in zijn levenscyclus.
Lees ook => Hoe je een goed teststrategiedocument schrijft
Voorbeeld: Het product van een bedrijf XYZ is software voor het opsporen van defecten genaamd ‘TrackFast’. Het is een nieuw product en de eerste versie zal worden gelanceerd als een cloud- en on-premise-oplossing. TrackFast werkt zoals elk ander defectbeheersysteem en is gebouwd voor zowel mobiele als webtoegang. Momenteel zijn er sprints van 2 tot 4 weken waarbij het product in delen wordt aangemaakt. U maakt deel uit van het testteam dat ‘TrackFast’ test voordat het zijn klanten ontmoet. Het testen omvat het controleren van functionaliteit, prestaties en beveiliging.
is java gelinkte lijst dubbel gelinkt
Samenvattend zijn dit de parameters waarmee u werkt. Of, als u dat liever heeft, dit is uw context
Laten we eens kijken hoe we in elke fase kunnen testen. Dit is producttest proces, methode of levenscyclus in elke fase.
Fase # 1) Productintroductie
Aangezien dit de eerste keer is dat TrackFast op de markt komt, is het de bedoeling om een goede eerste indruk te maken. Dus laat geen middel onbeproefd. Test alles en vanuit elke hoek. Leg daarnaast de basis voor toekomstige tests.
VPN Europa
Een goede teststrategie op dit punt zou het volgende moeten omvatten:
- Tests die de kortetermijndoelen van TrackFast valideren. 'Wat heeft het nodig om correct te worden verzonden?' Zou voorop moeten staan bij het testen. Creëer End-to-end tests (front-end, middleware en backend) voor grondig testen van elke functie
- Tests die TrackFast vergelijken met de concurrentie (idealiter is dit de taak van producteigenaren, maar als tester kunnen we onze twee cent toevoegen. Ook is deze stap gemakkelijker als de software al een aantal peers heeft. Bijvoorbeeld: TrackFast is gemakkelijk te vergelijken met Bugzilla of JIRA of andere legacy-systemen Maar laten we zeggen dat ik een app aan het maken ben die iets ongewoons doet, zoals kunnen voorspellen wanneer een baby honger heeft of chagrijnig is :), het kan moeilijk zijn om een applicatie te vinden die je als basislijn kunt gebruiken)
- Platform, browser en apparaat compatibiliteitstests
- Tests voor installatiegemak , instellen en up-to-speed
- Tests voor prestaties, beveiliging en bruikbaarheid
- Integratietests als het een interface heeft met andere systemen. Een eenvoudig integratievoorbeeld is dat foutopsporingssystemen vaak communiceren met e-mailclients om meldingen te verzenden
- Plan voor regressie - Het is een goed idee om kritieke tests te markeren of te markeren waarvan u denkt dat ze een onderdeel zullen zijn van toekomstige regressiecycli en na te denken over het automatiseren ervan voor toekomstige releases
- Plan voor bekende problemen (ga je ze toevoegen aan de backlog of ze afhandelen als CR's, enz.)
- Flexibiliteit om te veranderen wanneer het product doorgaat naar de volgende levenscyclusfase.
Het kan soms lang wachten voordat het product uitgaat, dus gebruik alle tijd die je hebt om een zo grondig mogelijke klus te klaren.
Hoewel er in deze fase een stuk van het product klaar is aan het einde van sprints van 2-4 weken, resulteert meestal niet elke sprint in verzonden code. Beschouw daarom nooit de laatste sprinttest als ‘klaar en geleverd’. Herhaal kritieke tests bij elke sprint tot de release. Test bij elke sprint het volledige product dat je tot dat moment hebt.
Fase # 2) Productgroei
Verwacht na de eerste projectintroductie, als alles goed gaat, een instroom van activiteit, want Productgroei is een snelle weg. Je zwemt nu samen met de grote haaien en tenzij je het bijhoudt, word je opgeslokt.
Hier worden de releases korter, worden de verbeteringen aan de software groter in aantal en wordt de mate van regressie bijna onbeheersbaar.
De productteststrategie moet werken met het tempo waarin de softwareontwikkeling vordert en mag geen bottleneck worden.
Deze kunnen helpen:
- Houd rekening met de langetermijndoelen van het project. Het gaat er niet om dat je er nu overheen gaat. Het gaat over leven met de kenmerken en ermee gedijen.
- Test vroeg Overweeg TDD of BDD in plaats van testen tot het einde uit te stellen met nieuwe eisen
- Automatiseer regressie en versterk het Creëer een geautomatiseerde regressiesuite zodat u geen ongeteste landmijnen in uw systeem achterlaat
- Als uw bedrijf / producteigenaren mee willen doen aan testen, overweeg dan een op zakelijke taal gebaseerde automatiseringstool zoals Cucumber.
- Houd bruikbaarheid en site-ontwerp centraal bij uw testen. Omdat hoe meer functies we toevoegen, hoe schoner de site eruit moet zien
- Voer prestatie- en beveiligingstests uit wanneer er een belangrijke release heeft plaatsgevonden of wanneer er een belangrijke wijziging is aangebracht in de architectuur. (Nieuwe server ingebracht, enz.) De meeste softwaresystemen hebben dit niet bij elke release nodig.
- Blijf in contact met de concurrentie en ken de productvisie
- Pas het testen van paren aan , voor onmiddellijke feedback en oplossing. Betrek indien mogelijk de producteigenaar
- Houd rekening met wijzigingen en bekende problemen
- Probeer de feedback van klanten te bemachtigen en controleer of ze kunnen worden gevolgd als suggestie voor verbetering om de groei constant te houden. (nogmaals, dit is niet de primaire verantwoordelijkheid van het QA-team, maar iedereen telt)
Fase # 3) Productrijpheid
Gefeliciteerd dat uw product zo ver is gekomen. Op dit moment veranderen de functies niet zo vaak. Het productteam zal meer gefocust zijn op het binnenhalen van meer zaken of hun marketinginspanningen. Productontwikkeling en testen hoeven echter niet te stoppen en zijn vaak ook niet gestopt.
Daarom kan het testteam:
- Werk aan het volwassen worden van uw teststrategie. Op dit punt moeten uw regressiesuites, testontwerpmethoden en testmanagementpraktijken werken als goed geoliede machines.
- Focus op de fijnere details. Omdat het product over het algemeen werkt en het goed doet, maar zoals ze zeggen- ‘ God zit in de details ' - vind zelfs de kleinste problemen die de kwaliteit van het systeem kunnen verbeteren
- Overweeg feedback van klanten
- Test de prestaties en beveiliging regelmatig
- Houd rekening met de nieuwe apparaten, platforms en browsers die mogelijk op de markt zijn gekomen sinds de laatste keer dat u testte
- Test de gebruikershandleiding en FAQ-pagina's, want nu heb je de tijd en kun je het je veroorloven.
- Experimenteer met een nieuw product, testtools, services of een proces, want dat kan nu.
- Test het installatieproces bij elke release, hoe klein die ook mag zijn, en ontvang statistieken over hoe gemakkelijk of moeilijk het is voor de eindgebruiker.
Wat je ook doet, wees niet zelfgenoegzaam.
Fase # 4) Productafname / terug cirkelen naar productgroei
De producteigenaren en bedrijven zijn tegenwoordig slim en weten heel goed dat ze hun product niet hetzelfde kunnen houden en verwachten dat de gebruikers loyaal blijven. Dingen gaan te snel en producten ook.
TrackFast kan dus niet achterover leunen en ontspannen. Als het een blijvende aanwezigheid op de markt moet hebben en de leider moet blijven, moet het evolueren. Vind het leuk of haat het, Facebook begon als een eenvoudig sociaal netwerk om mensen met elkaar in contact te brengen en het is een groot softwareplatform op zichzelf dat integreert met een miljoen andere dingen en actueel blijft.
TrackFast moet ook evolueren. Nadat is bewezen dat het een betrouwbaar en effectief defectopsporingssysteem is, moet het evolueren, anders zal het afnemen. Dus besluit het bedrijf XYZ om TrackFast te verbeteren door er een algemeen ticketingsysteem van te maken dat kan worden gebruikt om incidenten of gevallen door het bedrijf te volgen, behalve IT- / testteams (zoiets als JIRA) en niet alleen voor defecten in het softwareontwikkelingsproces. .
Het wiel heeft een volledige draai gemaakt en je merkt dat je het systeem als een gloednieuwe behandelt en de strategie volgt die we hebben besproken in de sectie Productintroductie. Pas nu ben je meer ervaren en vertrouwd met de oefening. Maar vergeet niet dat met elke nieuwe beurt een nieuwe uitdaging komt. Dus blijf scherp :)
Wat maakt jou een succesvolle producttester?
- Producttesters moet een scherp zakelijk gevoel hebben, begrip hebben van ontwikkelingsmodellen voor snelle levering en moeten toptesters zijn die niet bang zijn om met tools te experimenteren en desnoods zelf een beetje programmeur te worden. Deze dingen kunnen een positieve invloed hebben op elk type test, maar ze zijn absoluut noodzakelijk bij dit type testen.
- Een andere belangrijke eigenschap is dat a producttester moet in het product geloven en echt willen dat het lukt. Als ik als tester denk dat de software totale rotzooi is, is er weinig hoop dat ik er iets aan zal doen om het beter te maken.
- Deel de visie van de product- / bedrijfseigenaar Tenzij u weet waar het product naartoe gaat en hoe het zal evolueren, zullen de tests zeer beperkt zijn.
- Cross-functionele vaardigheden zijn gunstig - Weet hoe u de database moet testen, hoe u prestatiebenchmarks moet nemen, hoe u beveiligingscertificaten inschakelt, hoe u deze implementeert, enz. Wees nieuwsgierig en ontdek
- Stel geen grenzen - denk niet dat het evalueren van de gebruikershandleiding of het controleren van de veelgestelde vragen niet jouw taak is en dat een technisch schrijver ervoor moet zorgen. Nou, dat zouden ze moeten en ze zullen. Maar als je het als een insider bekijkt als iemand die het product door en door kent, dan is je feedback super handig.
- Vraag eindgebruikers om feedback. De volgende grote groep mensen die na u testen, zijn de realtime gebruikers. Weet en begrijp met wat voor soort problemen ze te maken hebben. Dit helpt u uw testontwerp te verbeteren, zodat u de volgende keer weet wat u moet doen om deze problemen te voorkomen.
- Werk snel en wees een beslisser
- Voorkom technische schulden In een snelle ontwikkel- en testsituatie is het gemakkelijk om exclusief exploratief te testen en het referentiekader voor toekomstige releases te verliezen. Laat dit niet gebeuren. Houd skeletdocumentatie bij zodat u kunt volgen, traceren en meten
Het grootste verschil tussen testsoftware die is gebouwd als een service en software die is gebouwd als een product, is dat - in de eerste, zodra de teststrategie is vastgesteld, deze wordt toegepast voor alle daaropvolgende tests.
Voor een product moet de teststrategie echter veranderen afhankelijk van de huidige levenscyclusfase waarin het product zich bevindt en de veranderingen in de marktdynamiek (nieuwe apparaten, nieuwe browsers, etc.). De productteststrategie moet veel flexibeler zijn om te veranderen.
Over de auteur: Dit artikel is gepubliceerd door STH-teamlid Swati S.
We hopen dat dit artikel nuttig is geweest. Voel je vrij om hieronder je opmerkingen, vragen en feedback te posten.
Aanbevolen literatuur
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Software Testing-cursus: bij welk Software Testing Institute moet ik me aansluiten?
- Software testen QA Assistant Job
- Softwaretests kiezen als uw carrière
- Softwaretest Schrijver van technische inhoud Freelancer-baan
- Wat is duurtesten bij softwaretests (voorbeelden)
- Enkele interessante sollicitatievragen voor het testen van software
- Feedback en recensies over softwaretestcursussen