what is software testing
En komplet softwaretestguide med mere end 100 manuelle testvejledninger med testdefinition, typer, metoder og procesdetaljer:
Hvad er softwaretest?
Softwaretest er en proces til verificering og validering af applikationsfunktionalitet for at finde ud af, om den opfylder de specificerede krav. Det er processen med at finde fejl i en applikation og kontrollere, hvor applikationen fungerer i henhold til slutbrugerens krav.
Hvad er manuel testning?
Manuel testning er en proces, hvor du sammenligner adfærden for et udviklet kodestykke (software, modul, API, funktion osv.) Med den forventede adfærd (krav).
Hvad du lærer:
Liste over manuelle softwaretestvejledninger
Dette er den mest dybtgående række tutorials om softwaretest. Gennemgå emnerne nævnt i denne serie omhyggeligt for at lære de grundlæggende og avancerede testteknikker.
Denne række tutorials beriger din viden og vil til gengæld forbedre dine testkompetencer.
Øv dig end-to-end manuel test gratis træning i et live projekt:
Tutorial # 1: Grundlæggende om manuel softwaretest
Tutorial # 2: Live projekt introduktion
Tutorial # 3: Test Scenario Skrivning
Tutorial # 4: Skriv et testplandokument fra bunden
Tutorial # 5: Skrivning af testcases fra SRS-dokument
Tutorial # 6: Testudførelse
Tutorial # 7: Fejlsporing og afmelding af test
Tutorial # 8: Software testkursus
Software Test af livscyklus:
Tutorial # 1: STLC
Webtest:
Tutorial # 1: Test af webapplikationer
Tutorial # 2: Test af krydsbrowser
Test sagshåndtering:
hvordan man udskriver strengarray i java ved hjælp af for loop
Tutorial # 1: Test tilfælde
Tutorial # 2: Eksempel på testsagskabelon
Tutorial # 3: Krav Sporbarhedsmatrix (RTM)
Tutorial # 4: Test dækning
Tutorial # 5: Test datastyring
Test Management:
Tutorial # 1: Teststrategi
Tutorial # 2: Testplanskabelon
Tutorial # 3: Testestimering
Tutorial # 4: Teststyringsværktøjer
Tutorial # 5: HP ALM-vejledning
Tutorial # 6: Jira
Tutorial # 7: TestLink vejledning
Tekniske tests:
Tutorial # 1: Brug sagsprøvning
Tutorial # 2: Test af statsovergang
Tutorial # 3: Grænseværdianalyse
Tutorial # 4: Ækvivalenspartitionering
Tutorial # 5: Metoder til softwaretest
Tutorial # 6: Agil metode
Fejlhåndtering:
Tutorial # 1: Bug Livscyklus
Tutorial # 2: Fejlrapportering
Tutorial # 3: Defektprioritet
Tutorial # 4: Bugzilla Tutorial
Funktionel testning
Tutorial # 1: Enhedstest
Tutorial # 2: Test af sanitet og røg
Tutorial # 3: Regressionstest
Tutorial # 4: Systemtest
Tutorial # 5: Acceptantestning
Tutorial # 6: Integrationstest
Tutorial # 7: UAT-test af brugeraccept
Ikke-funktionel test:
Tutorial # 1: Ikke-funktionel test
Tutorial # 2: Test af ydeevne
Tutorial # 3: Sikkerhedstest
Tutorial # 4: Test af webapplikationssikkerhed
Tutorial # 5: Brugervenlighedstest
Tutorial # 6: Test af kompatibilitet
Tutorial # 7: Installationstest
Tutorial # 8: Dokumentationstest
Softwaretesttyper:
Tutorial # 1: Typer af test
Tutorial # 2 : Test af sort boks
Tutorial # 3: Databasetest
Tutorial # 4: Test til ende til slut
Tutorial # 5: Undersøgende test
Tutorial # 6: Inkrementel test
Tutorial # 7: Test af tilgængelighed
Tutorial # 8: Negativ testning
Tutorial # 9: Test af backend
Tutorial # 10: Alpha Testing
Tutorial # 11: Betatestning
Tutorial # 12: Alpha vs Beta Testing
Vejledning nr. 13: Gamma-test
Tutorial # 14: ERP-test
Tutorial # 15: Statisk og dynamisk test
Tutorial # 16: Adhoc test
Tutorial # 17: Test af lokalisering og internationalisering
Tutorial # 18: Automatiseringstest
Tutorial # 19: Test af hvid boks
Software Testing Karriere:
Tutorial # 1: Valg af en softwaretestkarriere
Tutorial # 2: Sådan får du QA-testjob - Komplet guide
Tutorial # 3: Karrieremuligheder for testere
Tutorial # 4: Ikke-IT til software test switch
Tutorial # 5: Start din manuelle testkarriere
Tutorial # 6: Lektioner fra 10 års test
Tutorial # 7: Overlev og fremskridt inden for testfeltet
Interviewforberedelse:
Tutorial # 1: Forberedelse af CV-genoptagelse
Tutorial # 2: Manuel test af interviewspørgsmål
Tutorial # 3: Interviewspørgsmål om automatiseringstest
Tutorial # 4: QA Interview Spørgsmål
Tutorial # 5: Håndter ethvert jobinterview
Tutorial # 6: Få testjob som en friskere
Test af forskellige domæneapplikationer:
Vejledning nr. 1 : Bankansøgningstest
Tutorial # 2: Test af sundhedsplejeapplikationer
Tutorial # 3: Payment Gateway Testing
Tutorial # 4: Test-salgssted (POS) -system
Tutorial # 5: Test af e-handelswebsted
Test af QA-certificering:
Tutorial # 1: Vejledning til certificering af softwaretest
Tutorial # 2: CSTE-certificeringsvejledning
Tutorial # 3: CSQA-certificeringsvejledning
Tutorial # 4: ISTQB Guide
Tutorial # 5: ISTQB Advanced
Avancerede manuelle testemner:
Tutorial # 1: Cyklomatisk kompleksitet
Tutorial # 2: Migrationstest
Tutorial # 3: Cloud Testing
Tutorial # 4: ETL-test
Tutorial # 5: Software Testing Metrics
Tutorial # 6: Webtjenester
Gør dig klar til at kigge på den første tutorial i denne Manual Testing serie !!!
Introduktion til manuel softwaretest
Manuel testning er en proces, hvor du sammenligner adfærden for et udviklet kodestykke (software, modul, API, funktion osv.) Med den forventede adfærd (krav).
Og hvordan vil du vide, hvad der er den forventede adfærd?
Du kender det ved at læse eller lytte til kravene nøje og forstå det fuldstændigt. Husk at forstå kravene fuldstændigt er meget meget vigtigt.
hvor du finder netværkssikkerhedsnøglen
Tænk dig selv som en slutbruger af, hvad du skal teste. Derefter er du ikke bundet til softwarekravdokumentet eller ord i det længere. Du kan derefter forstå kernekravet og ikke bare kontrollere systemets adfærd i forhold til hvad der er skrevet eller fortalt, men også mod din egen forståelse og mod ting, der ikke er skrevet eller fortalt.
Til tider kan det være et ubesvaret krav (ufuldstændigt krav) eller implicit krav (noget der ikke behøver særskilt omtale, men som skal være opfyldt), og du skal også teste for dette.
Yderligere behøver et krav ikke nødvendigvis at være et dokumenteret krav. Du kan meget vel have kendskab til softwarefunktionaliteten, eller du kan endda gætte og derefter teste et trin ad gangen. Vi kalder det generelt ad hoc-test eller sonderende test.
Lad os se nærmere på det:
Lad os først forstå kendsgerningen - Uanset om du sammenligner test af en softwareapplikation eller noget andet (lad os sige et køretøj), forbliver konceptet det samme. Tilgang, værktøjer og prioriteter kan variere, men kernemålet forbliver SAMME, og det er ENKEL, dvs. at sammenligne den faktiske adfærd med den forventede adfærd.
For det andet - Test er som en holdning eller tankegang, der skal komme indefra. Færdigheder kan læres, men du bliver kun en vellykket tester, når du som standard har et par kvaliteter inden i dig. Når jeg siger, at testfærdigheder kan læres, mener jeg fokuseret og formel uddannelse omkring softwaretestprocessen.
Men hvad er egenskaberne ved en vellykket tester? Du kan læse om dem på nedenstående link:
Læs det her => Kvaliteter af meget effektive testere
Jeg anbefaler stærkt at gennemgå ovenstående artikel, inden du fortsætter med denne vejledning. Det hjælper dig med at sammenligne dine egenskaber med dem, der forventes i softwaretesters rolle.
For dem, der ikke har tid til at gennemgå artiklen, er her en sammenfatning:
“Din nysgerrighed, opmærksomhed, disciplin, logiske tænkning, lidenskab for arbejde og evne til at dissekere ting betyder meget for at være en destruktiv og vellykket tester. Det fungerede for mig, og jeg tror stærkt på, at det også fungerer for dig. Hvis du allerede har disse kvaliteter, så må det også fungere for dig. ”
Vi har talt om de vigtigste forudsætninger for bliver en softwaretester. Lad os nu forstå, hvorfor manuel testning har og altid vil have sin uafhængige eksistens med eller uden automatiseringstestvækst.
Hvorfor er manuel test påkrævet?
Ved du, hvad der er den bedste ting ved at være en tester, også en manuel tester?
Det er det faktum, at du ikke kun kan stole på skillset her. Du skal have / udvikle og forbedre din tankeproces. Dette er noget, du ikke rigtig kan købe for få kroner. Du skal selv arbejde på det.
Det bliver du nødt til udvikle en vane med at stille spørgsmål og du bliver nødt til at spørge dem hvert minut, når du tester. De fleste gange skal du stille disse spørgsmål til dig selv end til andre.
Jeg håber, at du har gennemgået den artikel, som jeg anbefalede i det foregående afsnit (dvs. kvaliteterne af meget effektive testere). Hvis ja, ville du vide, at test betragtes som en tankeproces, og hvor vellykket du vil være som tester afhænger helt af de kvaliteter, du besidder som person.
Lad os se denne enkle strøm:
- Du gør noget ( udføre handlinger ) mens du observerer det med en vis hensigt (sammenlignet med det forventede). Nu din observation færdigheder og disciplin at udføre ting kommer ind i billedet her.
- Voila! Hvad var det? Du bemærkede noget. Du bemærkede det, fordi du gav perfekt opmærksomhed på detaljerne foran dig. Du vil ikke lade det gå, fordi du er nysgerrig . Dette var ikke i din plan, at noget uventet / mærkeligt vil ske, du vil bemærke det, og du vil undersøge det nærmere. Men nu gør du det. Du kan lade det gå. Men du skal ikke lade det gå.
- Du er glad, du fandt ud af årsagen, trinene og scenariet. Nu vil du kommunikere dette korrekt og konstruktivt til udviklingsteamet og de andre interessenter i dit team. Du kan muligvis gøre det via et værktøj til fejlsporing eller mundtligt, men du skal sørge for, at du er det kommunikere det konstruktivt .
- Ups! Hvad hvis jeg gør det på den måde? Hvad hvis jeg indtaster korrekt heltal som input, men med førende hvide mellemrum? Hvad hvis? … Hvad hvis? … Hvad hvis? Det slutter ikke let, det skal ikke ende let. Du vil forestille mange situationer og scenarier, og du vil faktisk også blive fristet til at udføre dem.
Diagrammet nedenfor repræsenterer en testers liv:
Læs de fire punkter, der er nævnt ovenfor, igen. Har du bemærket, at jeg holdt det meget kort, men stadig fremhævede den rigeste del af at være en manuel tester? Og bemærkede du den dristige fremhævning over et par ord? Det er netop de vigtigste kvaliteter, som en manuel tester har brug for.
Tror du virkelig, at disse handlinger kan erstattes fuldstændigt med noget andet? Og den varme tendens i dag - kan den nogensinde blive erstattet med automatisering?
I SDLC med enhver udviklingsmetode forbliver kun få ting konstant. Som tester forbruger du kravene, konverterer dem til testscenarier / testsager. Du vil derefter udføre disse testsager eller automatisere dem direkte (jeg ved, at nogle få virksomheder gør det).
Når du automatiserer det, er dit fokus stabilt, hvilket automatiserer de skrevne trin.
Lad os gå tilbage til den formelle del, dvs. udføre de testsager, der er skrevet manuelt.
Her fokuserer du ikke kun på at udføre de skriftlige testsager, men du udfører også en masse sonderende test, mens du gør det. Husk, du er nysgerrig? Og du kan forestille dig det. Og du vil ikke være i stand til at modstå, du vil virkelig gøre, hvad du forestillede dig.
Billedet nedenfor viser, hvordan skrivning af testsager er forenklet:
Jeg udfylder en formular, og jeg er færdig med at udfylde det første felt. Jeg er for doven til at gå efter musen for at skifte fokus til det næste felt. Jeg ramte 'tab' -tasten. Jeg er færdig med at udfylde det næste og sidste felt også, nu skal jeg klikke på knappen Send, fokus er stadig på det sidste felt.
Ups, jeg ramte ved et uheld ”Enter” -tasten. Lad mig kontrollere, hvad der skete. ELLER der er en indsendeknap, jeg dobbeltklikker på den. Ikke tilfreds. Jeg klikker på den flere gange for hurtigt.
Har du bemærket det? Der er så mange mulige brugerhandlinger, både tilsigtede og ikke-tilsigtede.
Det lykkes dig ikke at skrive alle testsagerne, der dækker din ansøgning under test 100%. Dette skal ske på en udforskende måde.
Du fortsætter med at tilføje dine nye testsager, når du tester applikationen. Disse vil være testcases for bugs, som du stødte på, og som tidligere ikke var skrevet nogen testcase. Eller mens du tester, udløste noget din tankeproces, og du fik et par flere testsager, som du gerne vil føje til din testcase og udføre.
Selv efter alt dette er der ingen garanti for, at der ikke er nogen skjulte bugs . Software med nul bugs er en myte. Du kan kun målrette mod at tage det tæt på nul, men det kan bare ikke ske, uden at et menneskeligt sind konstant målretter mod det samme, svarende til men ikke begrænset til den eksempelproces, vi så ovenfor.
I det mindste i dag er der ingen software, der tænker som et menneskeligt sind, observerer som et menneskeligt øje, stiller spørgsmål og svarer som et menneske og derefter udfører tilsigtede og ikke-tilsigtede handlinger. Selv hvis sådan noget sker, hvis sind, tanker og øje vil det efterligne? Din eller min? Vi mennesker er heller ikke den samme ret. Vi er alle forskellige. Derefter?
Behov for manuel test, når automatisering er omkring:
Automatiseringstest har sin egen andel af herlighed i disse dage og vil have endnu mere i de kommende år, men det kan simpelthen ikke erstatte manuel QA-test (læs menneskelig / udforskende test).
Du må have hørt før- ' Du automatiserer ikke test, du automatiserer kontrol '. Denne sætning taler meget om, hvor manuel QA-test står med Automation-test rundt. Mange store navne over hele kloden har skrevet og talt om dette emne, så jeg vil ikke lægge meget vægt på dette.
Automatisering kan ikke erstatte menneskelig test, fordi:
- Det kræver kørselsvurderinger om alt, hvad der sker foran dine øjne (mens du tester) og i få tilfælde også bag kulisserne.
- Det kræver klar og konstant observation.
- Det kræver sætte spørgsmålstegn ved.
- Det kræver en efterforskning.
- Det kræver ræsonnement.
- Det kræver ikke-planlagte handlinger efter behov.
Test kan erstattes af et værktøj / en maskine, der er i stand til at absorbere detaljerne, behandle dem, kommandere handlinger og udføre dem som et menneskeligt sind og menneske, og alt dette ved kørselstid og i alle mulige sammenhænge. Dette værktøj skal igen være som alle mulige mennesker.
Så kort sagt kan menneskelig test ikke erstattes. Måske vil en eller anden Hollywood-sci-fi-flip om et par år se tæt på det, men i det virkelige liv kan jeg ikke se det komme i et par hundrede år, som jeg kan forestille mig. Jeg afskriver det ikke for evigt, da jeg tror på uendelige muligheder.
På en separat note, selvom det virkelig sker efter et par hundrede år, er det billede, jeg kan forestille mig, helt sikkert det af en skræmmende verden. Age of Transformers. :)
= >> Anbefalet læsning - Bedste manuelle test service virksomheder
Hvordan komplimerer automatisering manuel test?
Jeg sagde før, og jeg siger det igen, at automatisering ikke længere kan ignoreres. I verden, hvor kontinuerlig integration, kontinuerlig levering og kontinuerlig implementering bliver obligatoriske ting, kan kontinuerlig test ikke sidde inaktiv. Vi er nødt til at finde ud af, hvordan vi gør det.
Det meste af tiden hjælper indsættelse af mere og mere arbejdsstyrke ikke i det lange løb til denne opgave. Derfor skal testeren (testleder / arkitekt / manager) beslutte forsigtigt, hvad der skal automatiseres, og hvad der stadig skal gøres manuelt.
Det bliver ekstremt vigtigt at have skrevet meget præcise tests / kontroller, så de kan automatiseres uden nogen afvigelse fra den oprindelige forventning og kan bruges, mens produktet regresseres som en del af 'Kontinuerlig testning'.
Bemærk: Ordet kontinuerlig fra udtrykket 'kontinuerlig test' udsættes for betingede og logiske kald svarende til de andre udtryk, som vi brugte ovenfor med det samme præfiks. Kontinuerlig i denne sammenhæng betyder oftere og oftere, hurtigere end i går. Mens det betyder, kan det meget vel betyde hvert sekund eller Nano-sekund.
Uden at have et perfekt match af menneskelige testere og automatiserede kontroller (test med præcise trin, forventede resultat- og udgangskriterier for den nævnte test dokumenteret) er det meget vanskeligt at opnå kontinuerlig test, og dette vil igen gøre kontinuerlig integration, kontinuerlig levering og kontinuerlig implementering sværere.
Jeg brugte bevidst udtrykket exitkriterier for en test ovenfor. Vores automatiseringsdragter kan ikke længere svare til de traditionelle. Vi er nødt til at sikre, at hvis de fejler, skal de fejle hurtigt. Og for at få dem til at mislykkes hurtigt, bør exitkriterier også automatiseres.
Eksempel:
Lad os sige, der er en blokeringsfejl, hvor jeg ikke kan logge ind på Facebook.
Login-funktionalitet skal derefter være din første automatiserede kontrol, og din automatiseringspakke skal ikke køre den næste kontrol, hvor login er en forudsætning, som at sende en status. Du ved meget godt, at det vil mislykkes. Så få det til at mislykkes hurtigere, offentliggør resultaterne hurtigere, så fejlen kan løses hurtigere.
Den næste ting er igen noget, som du må have hørt før - Du kan ikke og bør ikke forsøge at automatisere alt.
Vælg testtilfælde, som hvis de er automatiseret, vil have stor fordel til Human Testers og har et godt afkast på investering. For den sags skyld er der en generel regel, der siger, at du skal forsøge at automatisere alle dine prioritets 1 testtilfælde og om muligt derefter Prioritet 2.
Automatisering er ikke let at implementere og er tidskrævende, så det tilrådes at undgå at automatisere sager med lav prioritet i det mindste indtil det tidspunkt, du er færdig med de høje. Valg af hvad der skal automatiseres og fokusering på det forbedrer applikationens kvalitet, når det bruges og vedligeholdes kontinuerligt.
Konklusion
Jeg håber, at du nu skal have forstået, hvorfor og hvor dårligt manuel / menneskelig test kræves for at levere kvalitetsprodukter, og hvordan Automation komplimenterer det.
At acceptere vigtigheden af QA manuel test og vide, hvorfor det er specielt, er det allerførste skridt mod at være en fremragende manuel tester.
I vores kommende manuelle testvejledninger vil vi dække en generel tilgang til manuel testning, hvordan det også vil eksistere sammen med automatisering og mange andre vigtige aspekter.
Jeg er sikker på, at du får enormt kendskab til softwaretest, når du har gennemgået hele listen med tutorials i denne serie.
pl sql udvikler interview spørgsmål og svar til erfarne
Vi vil meget gerne høre fra dig. Du er velkommen til at udtrykke dine tanker / forslag i kommentarfeltet nedenfor.
Anbefalet læsning
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)
- Software Testning QA Assistant Job
- Alpha-test og betatestning (En komplet guide)
- Funktionel testning mod ikke-funktionel testning
- Bedste QA Software Testing Services fra SoftwareTestingHelp
- Software Testing Course: Hvilket Software Testing Institute skal jeg tilmelde mig?
- Typer af softwaretest: Forskellige testtyper med detaljer
- Valg af softwaretest som din karriere