kth.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Utilizing Input Simulation for Video Game Test Automation: A Case Study
KTH, School of Electrical Engineering and Computer Science (EECS).
2022 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

In typical software projects, it is common that half of the development time and cost is spent on testing the software. Software Test Automation is an area that has been rapidly expanding in recent years because of its capacity to test features rapidly and efficiently, but in the Video Game industry, this concept is still in its infancy and common practices are still being developed. Having the Automated Tests be as close as possible to the user's experience is desirable to ensure a resilient and bug-free interactive experience. Having the ability to properly automate a test in such a way could potentially save manual Quality Assurance (QA) analysts and developers a lot of time in finding and reporting bugs early on, which in turn can help companies save both time and resources. This thesis explores the use of Input Simulation, e.g., simulating keyboard and mouse inputs, in the context of Video Game Test Automation. For the design and implementation of the Input Simulation framework, Agile Scrum and Human Centered Design Methodologies were followed. Exploratory interviews were conducted with 2 test automation engineers at Fatshark, desk research was used to explore existing tools and their benefits, and Proof of Concepts (POC) were created with tools selected from the Desk Research on two of the company’s games, Vermintide 2 and Darktide. From this, a new framework named TestifyInput, best fitting the needs of the company, was created and implemented as a part of Fatshark’s in-house test automation framework called Testify, on both the Engine and Gameplay side, written in C++ and Lua respectively. TestifyInput was then evaluated through an Automated Test that was implemented to test weapon interactions in the game, a User Observation with 5 QA testers completing 2 tasks, and a Questionnaire sent out to 7 QA testers. By using metrics such as defect detection, speed, and limitations, TestifyInput was evaluated in the existing Test Automation context and against its human counterparts. The evaluation results showed that Input Simulation allowed for better test coverage and allowed to test close to the actual User Experience. TestifyInput itself remains relatively easy to implement and to use, and the test case written with it remained stable, not needing any modification despite changing gameplay code. However, to fully compare the capabilities of a traditional test case with one employing Input Simulation, further research is needed.

Abstract [sv]

I typiska programvaruprojekt är det vanligt att hälften av utvecklingstiden och kostnaden går åt till att testa programvaran. Automatisering av programvarutestning är ett område som har expanderat snabbt under de senaste åren på grund av dess förmåga att testa funktioner snabbt och effektivt, men inom spelindustrin är detta koncept fortfarande i sin linda och gemensamma metoder håller fortfarande på att utvecklas. Det är önskvärt att de automatiserade testerna ligger så nära användarens upplevelse som möjligt för att säkerställa en motståndskraftig och felfri interaktiv upplevelse. Att ha förmågan att korrekt automatisera ett test på ett sådant sätt kan potentiellt spara manuell kvalitetssäkring (QA) analytiker och utvecklare mycket tid när det gäller att hitta och rapportera buggar i ett tidigt skede, vilket i sin tur kan hjälpa företag att spara både tid och resurser. I den här avhandlingen undersöks användningen av inmatningssimulering, t.ex. simulering av tangentbords- och musinmatningar, i samband med automatisering av test av videospel. För utformning och genomförande av ramverket för inmatningssimulering följdes metoderna Agile Scrum och Human Centered Design. Utforskande intervjuer genomfördes med två testutomatiseringsingenjörer på Fatshark, skrivbordsforskning användes för att utforska befintliga verktyg och deras fördelar, och Proof of Concepts (POC) skapades med verktyg som valts ut från skrivbordsforskningen på två av företagets spel, Vermintide 2 och Darktide. Utifrån detta skapades ett nytt ramverk vid namn TestifyInput, som bäst passade företagets behov, och implementerades som en del av Fatsharks interna ramverk för testautomatisering vid namn Testify, både på motor- och spelsidan, skrivet respektivt i C++ och Lua. TestifyInput utvärderades sedan genom ett automatiserat test som implementerades för att testa vapeninteraktioner i spelet, en användarobservation med 5 QA-testare som utförde 2 uppgifter och ett frågeformulär som skickades ut till 7 QA-testare. Med hjälp av mätvärden som defektdetektering, hastighet och begränsningar utvärderades TestifyInput i det befintliga testutomatiseringssammanhanget och mot sina mänskliga motsvarigheter. Utvärderingsresultaten visade att inmatningssimulering gav bättre testtäckning och gjorde det möjligt att testa nära den faktiska användarupplevelsen. TestifyInput i sig är relativt lätt att implementera och använda, och det testfall som skrevs med det förblev stabilt och behövde inte ändras trots att spelkoden ändrades. För att fullt ut kunna jämföra kapaciteten hos ett traditionellt testfall med ett testfall som använder sig av input-simulering krävs dock ytterligare forskning.

Place, publisher, year, edition, pages
2022. , p. 37
Series
TRITA-EECS-EX ; 2022:716
Keywords [en]
Input Simulation, Interaction Simulation, User Interface, Test Automation, Quality Assurance
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-321473OAI: oai:DiVA.org:kth-321473DiVA, id: diva2:1711134
External cooperation
Fatshark AB
Supervisors
Examiners
Available from: 2022-12-06 Created: 2022-11-16 Last updated: 2022-12-06Bibliographically approved

Open Access in DiVA

fulltext(739 kB)709 downloads
File information
File name FULLTEXT01.pdfFile size 739 kBChecksum SHA-512
d6e681b597b5d0c86e94cd3b35bd1912b8b862fc4fef41a254a771b91402dd0938bc77371b40260982823e5df9fdd8548e24dabe7def6673374d4bb63d98976f
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 709 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 497 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf