when opt automation testing
Moeten we automatiseringstesten overwegen voor een project? Wanneer moeten we voor automatiseringstesten gaan?
Er worden tests uitgevoerd om de eindgebruiker van goede kwaliteit te voorzien. Testfase is een van de belangrijkste aspecten van STLC
Elk bedrijf richt zich meer op het testen van software, aangezien de kwaliteit ervan zorgt voor een optimale klanttevredenheid, maar velen van hen hebben nog steeds moeite met het kiezen van het soort testen dat ze moeten uitvoeren, hetzij met geautomatiseerd testen of handmatig testen.
Dit artikel helpt de lezer om te begrijpen wat automatiseringstests zijn, wanneer ze ervoor moeten gaan en vooral wanneer ze er niet voor moeten gaan. Leer ook optimaal gebruik van Automatiseringstools voor testen
Welk werk er ook wordt gedaan, het moet effectief worden uitgevoerd en moet ook kosteneffectief zijn. Bovendien moet het logisch zijn, zodat de klant zich tevreden voelt over de geleverde producten.
Wat je leert:
- Softwaretests en kostenvoordelen
- Intelligentie achter softwaretests
- Automatisering - Is het echt essentieel?
- Waarom automatisering?
- Risico factor
- Wanneer mag automatisering niet de voorkeur hebben?
- Kosten versus ROI voor automatisering
- Waar kan automatisering minimale tot GEEN kostenreductie opleveren?
- Gevolgtrekking
- Aanbevolen literatuur
Softwaretests en kostenvoordelen
De softwaretest wordt normaal gesproken uitgevoerd door een softwaretester. Het verschil tussen een tester en een echte gebruiker is dat deze laatste slechts een gedeeltelijk gebruik kent van de software die voor hun bedrijf of voor hun taken wordt gebruikt en de software niet volledig kent. Aan de andere kant zal een tester op de hoogte zijn van alle technische en functionele vereisten van de software. Op basis van de wensen van de opdrachtgever zullen testplannen en testcases opgesteld moeten worden.
Een testplan is niets anders dan een gedetailleerd plan van de manier waarop het testproces moet worden uitgevoerd. Dit bevat volledige details over het aantal bronnen en bronnen dat bij het testen is betrokken, wat te doen en wanneer het moet, wat niet zal worden gedaan en de omgeving waarin het zal worden uitgevoerd, enz.
Testcases moeten worden voorbereid na een duidelijk begrip van het functionele en technische aspect van de software. De tester moet beschikken over een scherp observatievermogen en volledige kennis van de software.
Bovendien speelt de kosten hier een effectieve rol. Klanten accepteren liever software met maximale kwaliteit tegen minimale kosten. Wanneer we voor handmatig testen gaan, is het proces vervelend en tijdrovender omdat het allemaal handmatig wordt gedaan door een tester.
Bijvoorbeeld , wanneer we een ‘n’ aantal testers nodig hebben Voer regressietesten uit , kan het bijna 50 uur duren om alle testgevallen uit te voeren. En op basis van de beschikbaarheid van resources worden de testcases uitgevoerd. Maar met minder tijd voor geautomatiseerd testen, wordt een optimaal gebruik van middelen uitgevoerd, samen met een maximale dekking van testgevallen in vergelijking met handmatig testen.
Intelligentie achter softwaretests
Het is erg belangrijk voor elke organisatie om te weten wanneer ze met het testproces moeten beginnen en wanneer ze het moeten verlaten. We worden verondersteld te weten wanneer we moeten beginnen met testen, omdat het nutteloos is om te beginnen met testen wanneer de ontwikkelingsfase is voltooid en wanneer niet aan de vereiste criteria wordt voldaan. Het is altijd een best practice om te beginnen met de testontwerpfase terwijl de ontwikkeling aan de gang is.
Hieronder staan de criteria voor het binnenkomen en verlaten van softwaretests:
Toelatingscriteria
Nadat het ontwerpdocument is ondertekend, moeten de testplannen in de planningsfase worden opgesteld. Een testplan speelt een cruciale rol. De benodigde hardware moet correct zijn geïnstalleerd en geconfigureerd en de functionaliteit van de hardware moet worden gecontroleerd. De functionele eisen moeten duidelijk en goedgekeurd zijn. De ontwikkelde code moet worden getest en ondertekend door de ontwikkelaars.
Testgevallen en testgegevens moeten worden voorbereid en goedgekeurd. Testgegevens en applicatie moeten beschikbaar zijn. De tester moet over voldoende kennis van de applicatie beschikken. De middelen moeten goed getraind zijn over tools en moeten worden verduidelijkt met alle vereiste functionaliteiten.
De tester moet beschikbaar zijn. Als aan een van de criteria niet wordt voldaan, worden de toegangscriteria voor testen achterwege gelaten.
Notitie: Klik op een afbeelding voor een vergrote weergave)
Criteria afsluiten
Pas als tenminste 95% van de verplichte testcases is vergrendeld met een “pass” -resultaat, kunnen we de testfase voor het product verlaten. Het is echter niet zo eenvoudig om te bepalen wanneer het testen van software kan worden gestopt of dat het nog moet worden uitgevoerd. En dit soort situaties doet zich ook vaak voor.
De belangrijkste criteria worden hieronder gegeven:
- Als alle bugs zijn verholpen.
- Als de deadline is bereikt.
- Wanneer het budget op is of op is.
- Als alle testcases zijn geslaagd.
- Wanneer de overeenkomst is ondertekend.
- Wanneer een bepaald percentage testen is gedaan.
- Wanneer de Alpha en Beta-testen eindigen.
De exitcriteria kunnen puur worden afgeleid op basis van factoren zoals risico, kosten, etc. Wanneer het testen van de belangrijkste functionele eis is bereikt, wordt het testen meestal gestopt en zoeken ze nooit naar kleine bugs, die problemen veroorzaken in de latere periodes.
Voorbeeld Software ABC bevindt zich in een ontwerpfase. De ontwikkel- en testconstructie vinden doorgaans gelijktijdig plaats. Nadat het ontwerp is bevroren, start de ontwikkeling van de software. Afronding van de ontwikkeling van de software, zoals overeengekomen, geeft de toegangscriteria aan. De resultaten hier zijn van het ontwikkelingsteam. Het bevat release-opmerkingen en bekende problemen.
Na enkele iteraties van testen, wanneer er geen major / blocker / show-stoppers in afwachting zijn van een oplossing en 95% van de tests heeft geresulteerd in een pass, wordt dit exitcriterium genoemd.
Automatisering - Is het echt essentieel?
Wanneer we moeten beslissen of we dat nodig hebben Geautomatiseerde testtechniek of niet, hier rijst de vraag naar de beschikbare middelen. De redenen die we nodig hebben om te automatiseren, zijn om te controleren of de datastroom en de ontwikkelde functionaliteit werken zoals verwacht, zonder handmatige tussenkomst of niet. Het wordt voornamelijk gebruikt op plaatsen waar de software veranderingen zal ondergaan in de vorm van meerdere releases / cycli etc.
waar je gratis anime online kunt bekijken
Aan het einde van de ontwikkeling van elke cyclus zal het testen van de momenteel toegevoegde functionaliteit worden uitgevoerd. Daarnaast wordt de oude functionaliteit getest om er zeker van te zijn dat de oude functionaliteiten niet kapot gaan. Dit is het grootste deel dat de ruimte heeft voor automatisering.
Bij het verifiëren van de code-gestuurde logica en de GUI-vereisten, kan men kiezen voor geautomatiseerd testen, mits de risicofactor hoog is.
Voorbeeld: Voor Software ABC zijn er regelmatig upgrades, updates worden gezocht door de klant en geleverd door de ontwikkelaars. Daarom wordt als onderdeel van het testen regressie uitgevoerd voor de software die al live is en in productie is. Ongeacht het aantal releases, upgrades en updates, is de huidige versie geldig.
Stel dat er 10 dagen handmatige inspanningen nodig zijn voor de dekking van regressietests, en dan moet de grootst mogelijke zorg worden besteed aan het automatiseren ervan. Het kan minstens 60% inspanning en 10 * 8 = 80 uur handmatig werk besparen.
Automatisering kan alleen 80/24 = 3,33 dagen voltooien. Dit scheelt ongeveer 6,67.
Waarom automatisering?
Automatisering kan alleen worden gekozen als:
- De applicatie heeft een zeer uitgestrekt gebied met een hoge mate van investeringsinspanning in regressie.
- Optimalisatie van de kosten vond plaats door handmatige fouten.
- De software heeft meerdere versies en releases.
- Het is op de lange termijn kosteneffectief.
- De risicofactor is hoger voor een bredere testuitvoering.
- Kostencijfers en wiskundige berekeningen zijn opgenomen in de softwarefunctionaliteit.
- Er is een grotere toename van het uitvoeringstempo, de efficiëntie en de softwarekwaliteit.
- Er is een kleinere doorlooptijd, zelfs voor softwaretests met een hoog risico.
Risico factor
Risicofactor wordt overwegend gebruikelijk in het bedrijf, waar er veel afhankelijkheden zijn van de factor tijd. De software die werkt op basis van de transactiesystemen en die in meerdere applicaties werkt, vereist dat de software ideaal werkt volgens het softwareontwerp. In dit geval zijn er veel risico's verbonden aan het vastleggen van het juiste functionele gedrag.
Hier zal automatisering zeer nuttig zijn bij het uitvoeren van de functionele transacties in een beter tempo volgens het softwaremechanisme.
Bijvoorbeeld , in het geval van een Forex-marktindicator, is de tijdsfactor erg belangrijk en kritiek. De veranderingen in de voorraden en grondstoffen vinden plaats in de tijd, soms minder dan seconden. Hier kan automatisering helpen bij het testen van dergelijke software met een hoog risico.
Voorbeeld: Software ABC heeft meerdere updates en upgrades. Om handmatige inspanningen te besparen en de doorlooptijd voor de testfase te verkorten, kan de basisversie of de oude functionaliteiten worden geautomatiseerd. Dit kan pas geldig worden als de basisfunctionaliteiten ongewijzigd blijven.
Het voordeel van automatisering is dat ze kunnen worden gebruikt zonder handmatige tussenkomst. Zelfs dit kan parallel worden uitgevoerd met het testen van nieuwere functionaliteit. Automatisering bespaart daardoor veel moeite en veel tijd.
Wanneer mag automatisering niet de voorkeur hebben?
Er is een vraag bij verschillende organisaties: waarom is 100% automatisering niet mogelijk?
Het antwoord van experts is NIET DOEN omdat er bekwame gebruikers nodig zijn om geautomatiseerde tests uit te voeren en ze ook goed moeten worden opgeleid. Automatisering is niet mogelijk tijdens de beginfase van de criteria en de vereisten van de applicaties zullen niet duidelijk zijn.
Meestal heeft automatisering de voorkeur vanaf de tweede iteratie van een softwareversie. De gebruikersinterface kan worden gewijzigd, wat duurder is, en het scriptonderhoud is ook duurder. Als de kosten die nodig zijn voor de automatiseringstool het budget van het project overschrijden, kunnen we nee zeggen.
Voorbeeld Software XYZ is een soort e-commercesite waar de eisen van de klant niet bevroren zijn en blijven veranderen wanneer dat door de klanten wordt gevraagd.
Hier, in dit geval, kan automatisering de regressie niet helpen. Dit komt doordat de oude functionaliteiten die niet geldig zijn niet getest dienen te worden, en dus handmatig gedaan moeten worden. Een klant moet bijvoorbeeld alle keuzelijsten in de basissoftware hebben om te wijzigen als vervolgkeuzelijsten.
Kosten versus ROI voor automatisering
De ROI is erg laag als we in eerste instantie voor automatisering gaan, omdat automatisering voor het eerst duur is. ROI blijft toenemen naarmate de handmatige inspanning bij het testen van de software afneemt vanaf de iteraties van de tweede release. We moeten vóór automatisering op de hoogte zijn van de verwachte uitkomst van een testcase.
Overweeg het ontwerp van de testcases belangrijker bij het kiezen van de automatisering en een tool om ervoor te zorgen dat de kosten niet stijgen.
Waar kan automatisering minimale tot GEEN kostenreductie opleveren?
Zelfs automatiseringskosten omdat de benodigde tool voor het testen moet worden aangeschaft. De middelen moeten worden getraind met de specifieke tool. De gekozen tool moet haalbaar zijn om alle onderdelen van de software te testen.
De toolkeuze moet dus zorgvuldig worden gedaan door de experts van automatiseringstests.
Voorbeeld Overweeg product XYZ dat zich bezighoudt met verzekeringen. Om de kostenfactor te verlagen, gebruikte het bedrijf alleen handmatige tests, maar als het om verzekeringen gaat, is de risicofactor hoog en kan het bedrijf geld kosten als een van de premieberekeningen verkeerd gaat. Het volledige verlies komt voor het management. of aan de eindgebruiker. De eindgebruiker draagt geen verlies terwijl het bedrijf dat wel moet.
Wanneer het berekende premiebedrag niet overeenkomt met de oorspronkelijke premie (d.w.z.) wanneer er een verschil is in de premieberekening aan de voorkant en aan de achterkant, ontstaat er een groot probleem tussen de klant en de productverkoper. Het kan veel modules bevatten, zoals auto's, thuis en ook andere.
Als er iets misgaat, is dat een volledig verlies. Het verschil in berekening kan logisch zijn voor de tester en kan bugs oproepen. In dit project is het handmatig testen kan worden gedaan voor de basisgebruikersinterface, zoals het verifiëren van het TIN-nummer, de sociale ID en andere informatie met betrekking tot de gebruikersportefeuille en kan daarom handmatig worden getest wanneer de risicofactor laag is. Hen Of het bedrijf zou profiteren, des te meer ze de voorkeur geven aan automatisering voor het testen van hun software.
Gevolgtrekking
Zowel automatisering als handmatig testen hebben ook voor- en nadelen. Pas als we duidelijk zijn over de concepten en de vereisten, kunnen we kiezen wat voor soort testen we willen uitvoeren.
Geen enkel project kan worden getest met alleen handmatige tests of geautomatiseerde tests. Het hangt af van het ontwerp, platform en de technologie waarmee de software is ontwikkeld. Dus bij het nemen van een beslissing moet men voorzichtig zijn bij het kiezen van de testmethode en het advies van experts gebruiken.
In het bovenstaande artikel hebben we misschien enkele factoren gemist, deel alstublieft de factoren die u belangrijk vindt bij het kiezen van automatisering of zelfs tools voor automatisering.
Deel ondertussen gerust uw opmerkingen / suggesties over dit artikel.
Aanbevolen literatuur
- Beste softwaretesttools 2021 (QA Test Automation Tools)
- Uitdagingen voor handmatige en automatiseringstests
- Top 10+ beste softwaretestboeken (handmatige en automatiseringstestboeken)
- Software testen QA Assistant Job
- 11 beste automatiseringstools voor het testen van Android-applicaties (Android App Testing Tools)
- Bent u een expert op het gebied van handmatige of automatiseringstests? Werk parttime voor ons!
- Software Testing-cursus: bij welk Software Testing Institute moet ik meedoen?
- Softwaretests kiezen als uw carrière