Hvad laver en softwaretestingeniør?

Hvad laver en softwaretestingeniør?

Introduktion

Softwaretestingeniøren er en integreret del af ethvert softwareudviklingsprojekt. Uden softwaretest er det ikke muligt at lancere et produkt med succes.

Ved hjælp af softwaretest kan du kontrollere, at produktet er stabilt og klar til at blive lanceret. I denne artikel vil vi diskutere vigtigheden af softwaretestning, de forskellige typer af softwaretestning, og hvordan en softwareingeniør kan sikre produktets kvalitet, før det frigives.

Hvad er softwaretestning?

Softwaretestning er den proces, hvor professionelle testere og ingeniører gennemgår softwareproduktet for at sikre, at det opfylder kravene, opfylder kvalitetskravene, lever op til interessenternes forventninger osv. Der er forskellige trin i softwaretestning, og når hvert enkelt trin er afsluttet og opfylder de ønskede forventninger, gives der “grønt lys”.

Softwaretestning er derfor et af de vigtigste trin i softwareudvikling, fordi det hjælper med at opdage fejl og mangler i softwaren. Tidlig opdagelse af fejlene vil løse en række problemer, herunder at udvikle en maksimal indsats for at skabe et godt produkt. Testen vil sikre, at du går den rigtige vej med produktet. Det er derfor en tidsbesparende, omkostningseffektiv og kundetilfredsstillende løsning.

Der er masser af eksempler på, at softwarefejl har forårsaget økonomiske tab for virksomhederne. Det skyldes, at de undlod at foretage testningen eller undlod at rette op på fejlene, hvilket har ført til store tab af penge for de pågældende mærker og endda et dårligt omdømme.

Nogle eksempler:

  • Et jagerfly har en softwarefejl, der gjorde, at det ikke kunne opdage mål i 2015
  • Bloomberg-terminalen i London lukkede ned i april 2015 på grund af en softwarefejl, hvilket påvirkede mere end 300 000 handlende og endda udsatte et stort salg af statsgæld.
  • Nissan cars måtte tilbagekalde mere end 1 million biler fra markedet. Der var en softwarefejl i deres sensoriske airbagdetektorer.
  • Starbucks måtte engang lukke 60 % af sine POS-butikker på grund af en softwarefejl

Typer af softwaretestning

Der findes forskellige typer af softwaretestning, men de kan groft sagt inddeles i to hovedkategorier: Funktionel testning og ikke-funktionel testning. I dag er der ikke mange steder, hvor der ikke anvendes softwareapplikationer.

Softwaretestning har også fået en fremtrædende plads blandt virksomheder, der beskæftiger sig med softwareudviklingsprojekter. Softwarefejl kan ikke kun resultere i tab af tid og penge, men kan i nogle tilfælde endda føre til døden. Så det er ikke muligt at lancere en softwareapplikation uden ordentlig testning.

Funktionel afprøvning

Som navnet antyder, beskæftiger funktionel test sig med softwarens funktionelle aspekt. Softwarens funktioner skal fungere som forventet, ellers skal du undersøge, hvad der gik galt, og hvad der gik galt hvor, og arbejde igen.

Det er vigtigt at se, om du opnår de ønskede resultater. I funktionel test har du følgende:

  • Enhedstest
  • Integrationstest
  • Røgprøvning
  • Regressionstest
  • White box-testning
  • Black box-testning
  • End-to-end test

Du kan udføre de forskellige niveauer af funktionel testning ved hjælp af forskellige værktøjer.

Ikke-funktionel afprøvning

Ved hjælp af ikke-funktionel testning kan du teste de ikke-funktionelle aspekter af applikationen. Denne test handler om appens ydeevne, sikkerhed, brugervenlighed og pålidelighed og udføres normalt, efter at den funktionelle test er bestået.

Når begge test er gennemført, kan du sikre kvaliteten af appene i deres helhed. Her er nogle grundlæggende niveauer i forbindelse med ikke-funktionel testning:

  • Prøvning af ydeevne
  • Sikkerhedsafprøvning
  • Belastningsafprøvning
  • Mængdeprøvning
  • Stresstest
  • Test af brugervenlighed
  • Test af skalerbarhed
  • Prøvning af pålidelighed

Og mere…

Så mens du med funktionel testning bestemmer softwarens kvalitet, kan du med ikke-funktionel testning gøre den endnu mere perfekt med ikke-funktionel testning. Disse testtrin dækker alle aspekter af softwaretestning og sikrer, at alle baser er dækket.

Vedligeholdelse

Dette er endnu et trin i softwaretestning, der omfatter regression og vedligeholdelse.

Hvert af de ovennævnte trin tjener det ene eller det andet formål, og du skal udføre hvert af trinene for at sikre, at alle funktioner er dækket.

Vigtigheden af at have et team af softwareingeniører

Dette beviser, at softwaretestning er meget vigtig, og at du skal have et team af softwareingeniører til at dække processerne. Du skal have en blanding af specialister i dit softwaretestteam for at sikre hurtig og fuldstændig softwaretestning.

Teamet består af juniorudviklere, QA-analytikere, automatiseringsingeniører (med forskellige kapacitetsniveauer) og ofte mere end én ingeniør, afhængigt af projektets kompleksitet. Der vil også være en ingeniør til manuel testning og en ingeniør til automatiseret testning.

Teamene har som regel et dokument, der indeholder alle de udførte opgaver, og som er en slags reference for hvert enkelt medlem, og som giver nyttige oplysninger om de udførte opgaver, tidsplaner, opgavetilrettelæggelse, tidsfrister, kvalitetsstandarder og processer.

Softwareingeniøren anvender tre hovedstrategier til at gennemføre testprocesserne – white box-, black box- og grey box-testning (dette er en ret nyere betegnelse, der bruger både black box- og white box-teststrategier).

De kritiske færdigheder, der er nødvendige for jobbet, er naturligvis programmeringsfærdigheder, hurtig læsning og forståelse af koder, kritisk tænkning, kommunikationsevner, tålmodighed og detaljeorienterethed.

Softwaretestteamets ansvarsområder

Tag et kig på de generelle roller, som testteamet spiller:

Testeren

Softwaretesteren vil være specialist inden for sit område og vil derfor have relevant viden om designkoncepter, udførelsesmetoder osv. De vil være i konstant kommunikation med udviklingsteamet for at gøre følgende:

  • Udarbejdelse af testcases og dokumentation
  • Gennemførelse af test i henhold til specifikationer og standarder
  • rapportere testresultaterne efter at have analyseret dem

Den manuelle testingeniør

Mens automatiserede tests er nyttige til at finde fejl og mangler i softwaren, er det obligatorisk at lave en manuel test for at kontrollere, om alle instruktioner fra kunden er fulgt til punkt og prikke. QA-ingeniøren analyserer, hvor meget indsats og tid der kræves for at gennemføre testprocessen. Han er også ansvarlig for at dokumentere testcases, så de logisk kan opdeles i testsuits. Testingeniøren udarbejder en daglig rapport, så alle aspekter af testen deles med teamlederen.

Den automatiserede testingeniør

De automatiserede test vil dække alle de normale aspekter af testning, rutineprøvning og regression. Der vil være effektive testskripter til at hjælpe med at identificere problemområder. Det er automatiserede testingeniørers pligt at skrive, udføre og analysere automatiserede tests, dokumentere de automatiserede testprocesser, så der vil være dokumentation for testplaner, testcases og procedurer. Ingeniøren vil arbejde på testrammerne for at hjælpe med at generere testcases effektivt. Selv om testene udføres automatisk, er det vigtigt for QA-ingeniøren altid at undersøge nye værktøjer, der kan forbedre testprocessen.

Konklusion

Softwaretesteren er således en integreret del af et softwareudviklingsprojekt. Teammedlemmerne arbejder sammen og støtter hinanden for at udvikle gode applikationer, der opfylder kvalitets- og sikkerhedsstandarderne. Softwareingeniøren går også under følgende navne: Kvalitetssikringsanalytiker, kvalitetssikringsdirektør, softwarekvalitetsingeniør, produktsikringsingeniør.

Interessante links:

Hvorfor er det vigtigt at teste software?

Mere information om softwaretest

Skriv en kommentar