Vraag Verschil tussen acceptatietest en functionele test?


Wat is het echte verschil tussen acceptatietests en functionele tests?

Wat zijn de hoogtepunten of doelen van elk? Overal waar ik lees, zijn ze dubbelzinnig vergelijkbaar.


122
2017-07-30 09:46


oorsprong


antwoorden:


In mijn wereld gebruiken we de voorwaarden als volgt:

functioneel testen: Dit is een verificatie activiteit; hebben we een correct werkend product gebouwd? Voldoet de software aan de zakelijke vereisten?

Voor dit soort testen hebben we testcases die alle mogelijke scenario's omvatten die we kunnen bedenken, zelfs als dat scenario waarschijnlijk niet bestaat "in de echte wereld". Bij het uitvoeren van dit type testen streven we naar maximale codedekking. We gebruiken elke testomgeving die we op dat moment kunnen grijpen, het hoeft niet "productie" te zijn, zolang het bruikbaar is.

acceptatietesten: Dit is een bevestiging activiteit; hebben we het goede gebouwd? Is dit wat de klant echt nodig heeft?

Dit gebeurt meestal in samenwerking met de klant of met een interne klantproxy (producteigenaar). Voor dit type testen gebruiken we testcases die de typische scenario's dekken waaronder we verwachten dat de software zal worden gebruikt. Deze test moet worden uitgevoerd in een "productie-achtige" omgeving, op hardware die hetzelfde is als, of in de buurt van, wat een klant zal gebruiken. Dit is wanneer we onze "ilities" testen:

  • Betrouwbaarheid, beschikbaarheid: Gevalideerd via een stresstest.

  • schaalbaarheid: Gevalideerd via een belastingtest.

  • Usability: Gevalideerd via een inspectie en demonstratie aan de klant. Is de UI naar wens geconfigureerd? Hebben we de branding van de klant op de juiste plaatsen geplaatst? Hebben we alle velden / schermen waarvoor ze hebben gevraagd?

  • Veiligheid  (ook bekend als Veiligheid, gewoon om in te passen): Gevalideerd via demonstratie. Soms neemt een klant een extern bedrijf in om een ​​beveiligingsaudit en / of inbraakcontrole uit te voeren.

  • Onderhoudbaarheid: Gevalideerd via demonstratie van hoe we software-updates / patches zullen leveren.

  • configureerbaarheid: Gevalideerd door demonstratie van hoe de klant het systeem kan aanpassen aan hun behoeften.

Dit is geenszins standaard, en ik denk niet dat er een "standaard" definitie bestaat, zoals de tegenstrijdige antwoorden hier aantonen. Het belangrijkste voor uw organisatie is dat u deze voorwaarden nauwkeurig definieert en eraan vasthoudt.


149
2017-07-30 11:55



Ik hou van het antwoord van Patrick Cuff. Wat ik graag toevoeg is het onderscheid tussen een testniveau en een test type wat voor mij een eye-opener was.

test niveaus

Test niveau is gemakkelijk uit te leggen met behulp van V-model, Een voorbeeld: enter image description here Elk testniveau heeft zijn overeenkomstige ontwikkelingsniveau. Het heeft een typische tijdskenmerk, ze worden uitgevoerd in een bepaalde fase van de ontwikkelingslevenscyclus.

  1. testen van componenten / eenheden => verifiëren van gedetailleerd ontwerp
  2. component / unit integratietest => globaal ontwerp verifiëren
  3. systeemtest => verifiëren van systeemvereisten
  4. systeemintegratietest => verifiëren van systeemvereisten
  5. acceptatietest => valideren van gebruikerseisen

testtypen

EEN test type is een karakteristiek, het richt zich op een specifiek testdoel. Testtypen benadruk je kwaliteitsaspecten, ook wel technische of niet-functionele aspecten genoemd. Testtypen  kan op om het even welk worden uitgevoerd testniveau. Ik gebruik graag als testtypen de kwaliteitskenmerken vermeld in ISO / IEC 25010: 2011.

  1. functioneel testen
  2. betrouwbaarheid testen
  3. prestatietests
  4. testen van operabiliteit
  5. beveiligingstests
  6. compatibiliteitstest
  7. onderhoudstest
  8. overdraagbaarheid testen

Om het compleet te maken. Er is ook iets genaamd regressie testen. Dit is een extra classificatie naast testniveau en test type. EEN regressietest is een test die u wilt herhalen omdat deze iets kritiek raakt in uw product. Het is in feite een subset van tests die u voor elk hebt gedefinieerd testniveau. Als er een kleine fout in uw product zit, heeft u niet altijd de tijd om alle tests te herhalen. Regressie testen is daar een antwoord op.


54
2018-06-12 14:34



Het verschil zit in het testen van het probleem en de oplossing. Software is een oplossing voor een probleem, beide kunnen worden getest.

De functionele test bevestigt dat de software een functie vervult binnen de grenzen van hoe u het probleem hebt opgelost. Dit is een integraal onderdeel van de ontwikkeling van software, vergelijkbaar met het testen van massaproduct voordat het de fabriek verlaat. Een functionele test verifieert dat het product echt werkt zoals jij (de ontwikkelaar) denkt dat het werkt.

Acceptatietests verifiëren of het product daadwerkelijk het probleem oplost dat het moest oplossen. Dit kan het best worden gedaan door de gebruiker (klant), bijvoorbeeld door zijn / haar taken uit te voeren waar de software mee helpt. Als de software deze echte wereldtest doorstaat, wordt geaccepteerd dat de vorige oplossing wordt vervangen. Deze acceptatietest kan soms alleen goed worden uitgevoerd in de productie, vooral als u anonieme klanten heeft (bijvoorbeeld een website). Een nieuwe functie wordt dus pas na dagen of weken van gebruik geaccepteerd.

Functioneel testen - test het product en controleer of het over de kwaliteiten beschikt die u hebt ontworpen of gebouwd (functies, snelheid, fouten, consistentie, enz.)

Acceptatietests - test het product in zijn context, dit vereist (simulatie van) menselijke interactie, test het heeft het gewenste effect op het oorspronkelijke probleem (de problemen).


21
2017-11-20 21:57



Het antwoord is mening. Ik heb in veel projecten gewerkt en testmanager en issuemanager en alle verschillende rollen en de beschrijvingen in verschillende boeken verschillen, dus hier is mijn variatie:

functioneel testen: neem de zakelijke vereisten en test alles goed en grondig vanuit een functioneel oogpunt.

acceptatie-testen: de "betalende" klant doet de test die hij graag doet, zodat hij het geleverde product kan accepteren. Het hangt af van de klant, maar meestal zijn de tests niet zo grondig als de functionele testen, vooral als het een in-house project is omdat de belanghebbenden de testresultaten die in eerdere testfasen zijn gedaan, beoordelen en vertrouwen.

Zoals ik al zei, dit is mijn gezichtspunt en ervaring. De functionele testen zijn systematisch en de acceptatietest is eerder de zakelijke afdeling die het ding test.


9
2017-07-30 09:55



  1. Publiek. Functioneel testen is om ervoor te zorgen dat leden van het team dat de software produceert dat het doet wat ze verwachten. Acceptatietests moeten ervoor zorgen dat de consument aan zijn behoeften voldoet.

  2. Scope. Functioneel testen test alleen de functionaliteit van één component tegelijk. Acceptatietests hebben betrekking op elk aspect van het product dat voor de consument van belang is om te worden getest voordat de software wordt geaccepteerd (dat wil zeggen, alles dat de tijd of het geld waard is om het te testen om de aanvaardbaarheid ervan te bepalen).

Software kan functioneel testen, integratietesten en systeemtesten doorstaan; alleen voor mislukken van acceptatietests wanneer de klant ontdekt dat de functies gewoon niet aan hun behoeften voldoen. Dit zou meestal betekenen dat iemand de spec heeft verpest. Software kan ook enkele functionele tests mislukken, maar slagen voor acceptatietesten omdat de klant bereid is om te gaan met een aantal functionele bugs zolang de software de kerntaken die ze nodig hebben acceptabel goed doet (bètasoftware zal vaak worden geaccepteerd door een subset van gebruikers voordat deze wordt geaccepteerd is volledig functioneel).


8
2017-11-30 19:46



Functioneel testen: Toepassing van testgegevens afgeleid van de gespecificeerde functie eisen zonder rekening te houden met de definitieve programmastructuur. Ook gekend als black-box testen.

Acceptatietests: Formele testen die worden uitgevoerd om te bepalen of een systeem voldoet aan de acceptatiecriteria, stellen een eindgebruiker in staat om te bepalen of dit wel of niet moet accepteer het systeem.


2
2017-10-26 08:38



Naar mijn mening is het belangrijkste verschil wie zegt of de tests slagen of falen.

Een functionele test test dat het systeem voldoet aan vooraf gedefinieerde eisen. Het wordt uitgevoerd en gecontroleerd door de mensen die verantwoordelijk zijn voor de ontwikkeling van het systeem.

Een acceptatietest wordt door de gebruikers afgemeld. Idealiter zeggen de gebruikers wat ze willen testen, maar in de praktijk is het waarschijnlijk een ondergang van een functionele test omdat gebruikers niet genoeg tijd investeren. Houd er rekening mee dat deze weergave afkomstig is van zakelijke gebruikers met andere gebruikersgroepen, bijvoorbeeld luchtvaart en andere veiligheidskritieke factoren hebben dit verschil misschien niet,


1
2017-07-30 09:53



Acceptatietests:

... wordt black-box-testen uitgevoerd op een systeem (bijvoorbeeld software, veel gefabriceerde mechanische onderdelen of partijen chemische producten) voorafgaand aan de levering.

Maar dit gaat verder:

Het is ook bekend als functioneel testen, black-box testen, vrijgave-acceptatie, QA-testen, applicatietesten, betrouwbaarheidstests, eindbeproevingen, validatietests of fabrieksacceptatietests.

met een "citaat nodig" teken.

Functioneel testen (die feitelijk doorverwijst naar Systeemtesten):

uitgevoerd op een compleet, geïntegreerd systeem om te beoordelen of het systeem voldoet aan de gespecificeerde vereisten. Systeemtesten vallen binnen de reikwijdte van black box-testen en als zodanig zou geen kennis van het innerlijke ontwerp van de code of logica vereist moeten zijn.

Dus van deze definitie zijn ze vrijwel hetzelfde.

In mijn ervaring zijn acceptatietests meestal een subset van de functionele tests en worden ze gebruikt in het formele uitlogproces door de klant, terwijl functionele / systeemtests worden uitgevoerd door de ontwikkelaar / QA-afdeling.


1
2017-07-30 09:54



De relatie tussen de twee: De acceptatietest omvat meestal functionele testen, maar het kan ook aanvullende tests zijn. Bijvoorbeeld het controleren van de vereisten voor etikettering / documentatie.

Functioneel testen is wanneer het te testen product in een testomgeving wordt geplaatst die verschillende stimulaties (binnen de reikwijdte van de test) kan produceren, wat de doelomgeving doorgaans produceert of zelfs daarbuiten, terwijl de reactie van het geteste apparaat wordt onderzocht.

Voor een fysiek product (geen software) zijn er twee belangrijke soorten Acceptatietests: ontwerptests en fabricagetests. Ontwerptests maken meestal gebruik van een groot aantal productmonsters die de productietest hebben doorstaan. Verschillende consumenten kunnen het ontwerp op verschillende manieren testen.

Acceptatietests worden verificatie genoemd wanneer het ontwerp wordt getest volgens de productspecificatie en acceptatietests worden validatie genoemd wanneer het product in de echte omgeving van de consument wordt geplaatst.


0
2018-06-02 21:21



Acceptatietests is gewoon testen uitgevoerd door de klant, en omvat andere soorten testen:

  • Functioneel testen: "deze knop werkt niet"
  • Niet-functionele testen: "deze pagina werkt, maar is te traag"

Voor functionele testen versus niet-functionele testen (hun subtypen) - zie mijn antwoord hierop DUS vraag.


0
2017-08-20 10:42