Computers, Software
Testprogramma's - foutdetectie proces in de software product
In de ontwikkeling van software, wordt een belangrijk deel van het productieproces op basis van het testen van software. Wat is het en hoe is een dergelijke activiteit zal bespreken in dit artikel.
Wat wordt genoemd een test?
Dit verwijst naar het proces door het uitvoeren van de software om de locaties van verkeerde bediening van de code te detecteren. Voor het beste resultaat, opzettelijk gebouwd moeilijke set van invoergegevens. Het voornaamste doel van de inspectie is om de beste kans voor het niet maken van de software. Hoewel soms het testen van de ontwikkelde programma kan worden vereenvoudigd tot een routine controle van de werk capaciteit en het uitvoeren van de functies. Dit bespaart tijd, maar gaat vaak gepaard met de onbetrouwbaarheid van de software, gebruiker ontevredenheid, en ga zo maar door.
effectiviteit
Hoe goed en snel fouten zijn, een aanzienlijke invloed op de kosten en de duur van de ontwikkeling van software vereiste kwaliteit. Dus, ondanks het feit dat testers krijgen een salaris meerdere malen kleiner dan de ontwikkelaars, de kosten van hun diensten is meestal tot 30 - 40% van de kosten van het gehele project. Dit is te wijten aan het aantal personeelsleden, aangezien het zoeken naar de fout - dit is een ongewone en heel moeilijk proces. Maar zelfs als de software een respectabele aantal tests wordt doorgegeven, is er geen 100% garantie dat de fout niet zal gebeuren. Gewoon niet weten wanneer ze zich voordoen. Om testers aan te moedigen om de soorten tests die hebben meer kans om iets aan te merken te kiezen, worden andere motivatie instrumenten die gebruikt worden: zowel morele en materiële.
Aanpak van het werk
De optimale is wanneer om verschillende mechanismen te voeren om ervoor te zorgen dat fouten in de software niet vanaf het begin is geweest. Om dit te doen, moet u zorgen voor de juiste architectuur ontwerp, duidelijke taakomschrijving te nemen, en het is belangrijk om niet tot aanpassingen in de communicatie, maken wanneer het werk aan het project reeds is begonnen. In dit geval is de tester om de taak van het vinden en identificeren van een klein aantal van de fouten die in het uiteindelijke resultaat blijven. Dit zal zowel tijd en geld besparen.
Wat is de test?
Dit is een belangrijk aspect van de inspecties, die nodig is voor de succesvolle detectie van afwijkingen van de code. Ze zijn nodig om de juiste toepassing regelen. Wat is inbegrepen in de test? Het bestaat uit gegevens en hun beginwaarden die moet worden verkregen als verkregen (of tussenproduct). Om met succes problemen en inconsistenties te identificeren, moeten de tests worden na het algoritme werd ontwikkeld, maar niet beginnen met programmeren. Het is wenselijk om verschillende benaderingen te gebruiken om het schatten van de benodigde gegevens. In dit geval is het vergroten van de kans op het detecteren van een fout, omdat je de code uit een ander perspectief kunt bekijken. Complex tests moeten verificatie van de externe effecten van de afgewerkte software producten, evenals zijn werk algoritmes te bieden. Van bijzonder belang en bieden marginale gedegenereerde gevallen. Dus in de praktijk van fouten blijkt vaak dat de cyclus werkt op één of meer keer minder dan gepland. Ook belangrijk is het testen computer, waardoor je kunt controleren of het gewenste resultaat op verschillende machines. Dit is nodig om ervoor te zorgen dat de software zal werken op alle computers. Daarnaast is de computer test, waarvan de ontwikkeling zal worden uitgevoerd, is het van belang in het creëren van multi-platform ontwikkeling.
het oplossen van problemen Arts
Programma's zijn gericht vaak om te werken met grote datasets. Is het nodig om volledig te creëren? Nee. Wijdverbreide verwierf de praktijk van "miniaturisatie" van het programma. In dit geval is er een redelijke vermindering van de hoeveelheid data in vergelijking met die voor gebruik. Laten we eens kijken naar een voorbeeld: er is een programma, dat een matrix van afmeting 50x50 creëert. Met andere woorden - moet u handmatig de 2500 waarden in te voeren. Het is zeker mogelijk, maar het zal een zeer lange tijd in beslag nemen. Maar om de functionaliteit te testen, ontvangt de software een matrix waarvan de afmeting 5x5. Om dit te doen, moet je meer dan 25 waarden in te voeren. Als, in dit geval, een normale, foutloze werking, betekent dit dat alles in orde is. Hoewel er valkuilen die hebben aangezien miniaturisering situatie zich voordoet, resulteert in veranderingen wordt impliciet tijdelijk verdwijnen liggen. Het is ook zeer zeldzaam, maar toch gebeurt, is dat er nieuwe bugs.
nagestreefde doelstellingen
Testen is geen gemakkelijke taak te wijten aan het feit dat dit proces niet vatbaar is voor formalisering in zijn geheel. Grote programma's hebben bijna nooit de nodige accurate benchmark. Daarom, als richtsnoer met behulp van een aantal indirecte gegevens, die echter niet volledig de kenmerken en functies van de software-ontwikkeling die gedebugd weerspiegelen. Bovendien moeten zij worden gekozen, dat het juiste resultaat berekend vóór hoe de software product zal worden getest. Als je niet van tevoren, is het verleidelijk om alles over te overwegen, en als het resultaat van de machine wordt in het verwachte bereik, zal het een verkeerde beslissing worden gemaakt, dat alles correct is.
Kijk onder verschillende omstandigheden
In de regel programma testen voorkomt bij banden die noodzakelijk zijn voor de minimale testfunctionaliteit beperkte mate. Activiteiten die worden uitgevoerd met de verandering van de parameters, evenals hun werkomstandigheden. Het testproces kan worden onderverdeeld in drie fasen:
- Kijk onder normale omstandigheden. In dit geval testen we de basisfunctionaliteit van de ontwikkelde software. Het resultaat moet overeenkomen met de te verwachten.
- Check in extreme omstandigheden. In deze gevallen worden gelijkgesteld met de grens gegevens, wat een negatieve invloed kunnen hebben op de prestaties van de gemaakte software. Als voorbeeld, werken wij met een extreem grote of kleine aantallen of zelfs volledige afwezigheid van de ontvangen informatie.
- Controle in uitzonderlijke situaties. Het gaat om het gebruik van gegevens die buiten behandeling. In dergelijke situaties is het zeer slecht wanneer de software hen ziet als nuttig voor de berekening en geeft een plausibel resultaat. Zorg moet worden genomen dat in dergelijke gevallen is er een afwijzing van alle gegevens die niet correct kan worden verwerkt. Het is ook noodzakelijk om te voorzien in het informeren van de gebruiker over
Testen: Types
software te maken zonder fout is erg moeilijk. Dit vereist een aanzienlijke hoeveelheid tijd. Om een goed product wordt vaak gebruikt twee soorten testen: "Alpha" en "beta". Wat zijn dat? Als mensen praten over de alpha testen, betekent dit dat de evaluatie aan zichzelf in de stand van de ontwikkeling "laboratorium" omstandigheden worden uitgevoerd. Dit is de laatste fase van testen voordat het programma wordt overgedragen aan eindgebruikers. Daarom zijn de ontwikkelaars proberen om de maximum te zetten. Voor het gemak van de werking, kunnen de gegevens ingelogd zijn om een chronologie van problemen en hun oplossingen te creëren. Onder de beta test voor de levering van software om een beperkt aantal gebruikers te begrijpen, zodat ze het programma kunnen benutten en identificeren van de fouten die je hebt gemist. Een bijzonderheid in dit geval is het feit dat vaak de software wordt niet gebruikt voor het beoogde doel. Als gevolg van dit falen zal worden geïdentificeerd, terwijl er niets was eerder gezien. Dit is heel normaal en zorgen over te maken is niet nodig.
voltooiing van de test
Als de vorige stappen met succes zijn afgerond, blijft het acceptatietesten uit te voeren. Hij wordt in dit geval een formaliteit. Tijdens deze test komt de bevestiging dat er geen extra problemen zijn gevonden en de software kan worden vrijgegeven op de markt. Het belangrijkste zal het eindresultaat zijn, hoe beter het zal worden gecontroleerd. Zorg moet worden genomen om ervoor te zorgen dat alle stappen met succes zijn afgerond. Hier is het testproces als geheel. Laten we nu eens verdiepen in de technische details en praten over zo'n handig hulpmiddel is, omdat de testprogramma's. Wat ze zijn en wanneer het wordt gebruikt?
Computer-aided testen
Voorheen werd gedacht dat de dynamische analyse van de ontwikkelde software - het is te zwaar aanpak die effectief gebruikt om defecten te detecteren. Maar als gevolg van de toenemende complexiteit en de omvang van de programma's verscheen een andere mening toegedaan. Geautomatiseerd testen wordt gebruikt wanneer de belangrijkste prioriteiten zijn efficiency en veiligheid. En ze moet onder het even welke input. Als voorbeeld, de programma's die achtereenvolgens moeten dergelijke testen omvatten het volgende: netwerkprotocollen webserver sandboxing. We blijven kijken naar een paar voorbeelden, die kunnen worden gebruikt voor dergelijke activiteiten. Als u geïnteresseerd bent in gratis testprogramma's zijn, de kwaliteit is moeilijk te vinden onder hen. Maar er zijn gebarsten "illegale" versies van de gevestigde projecten, zodat u kunt verwijzen naar hun diensten.
lawine
Deze tool helpt op te sporen gebreken worden getest programma's in de dynamische analyse modus. Het verzamelt gegevens en analyseert de prestaties van het spoor ontworpen object. De tester krijgt een set ingangen die fout veroorzaken of te omzeilen het bestaande beperkingen. Dankzij een goede test van het algoritme ontwikkeld door een groot aantal mogelijke situaties. Het programma krijgt een andere set invoergegevens, die het mogelijk maken om een groot aantal situaties te simuleren en de voorwaarden waaronder de meest waarschijnlijke is het optreden van een storing te maken. Een belangrijk voordeel van het programma is het gebruik van heuristische metrische. Als er een probleem is, dan is de applicatie fout is zeer waarschijnlijk. Maar dit programma beperkingen als enige aangevinkt ingang of bestand. Bij het uitvoeren van een operatie zoals het testen van programma's zullen gedetailleerde informatie over de problemen met de null pointer, oneindige loops, onjuiste adressen of storingen als gevolg van het gebruik van bibliotheken bevatten. Natuurlijk, dit is niet een volledige lijst van ontdekte fouten en hun enige voorkomende voorbeelden. Corrigeren tekortkomingen, helaas, hebben ontwikkelaars - geautomatiseerde middelen niet geschikt zijn voor deze doeleinden.
KLEE
Het is een goed programma voor het testen van het geheugen. Het kan ongeveer 50 systeemvraag en een groot aantal daarmee parallel of afzonderlijk uitgevoerde virtuele processen onderscheppen. Maar in het algemeen, is het programma niet op zoek naar een verdachte plaatsen, en verwerkt de maximaal mogelijke hoeveelheid code en analyses gebruikte gegevens paden. Vanwege dit, het testprogramma afhankelijk van de grootte van het object. Bij het controleren van de inzet is geplaatst op symbolische processen. Zij zijn één van de mogelijke manieren om de taken uit te voeren in een programma dat wordt getest. Dankzij de parallelle werking kan een groot aantal varianten van de werkzaamheden van de test applicatie te analyseren. Voor elk pad inputgegevensverzamelingen worden opgeslagen na de test die begon met de controle. Opgemerkt dient te worden dat het testen programma's met KLEE helpt om een groot aantal variaties, die niet mag worden te identificeren. Het kan problemen te vinden, zelfs in toepassingen die zijn ontwikkeld voor decennia.
Similar articles
Trending Now