SlideShare a Scribd company logo
+
Software Testing and
Game TestingAn Introduction to Software Testing in Games
+
Introduction
 This presentation gives an overview introduction to software
testing in general, and how game testing adds additional
complexity to the equation
 This is just an introduction, but there are links at the end of the
presentation to facilitate further learning
 Game QA adds an additional layer on top of this, but that will
not be covered here
+
What is Testing?
“Testing is an empirical, technical investigation conducted to
provide stakeholders with information about the quality of the
product or service under test”
Black Box Software Testing: Foundations course [1]
+
What is a tester?
 Someone with test competence that performs test activities
Software Developer
Software Developer in
Test
Embedded Tester
Acceptance Tester
System Tester
???
Title does not
matter. If you have
test competence
and you perform
test activities you
are (but you may
have many roles)
a tester
+
Quality?
“Quality is value to some person” [12]
Quality means different things to different
people. But in the end, when someone says
they want high quality – what they want is
something that is valuable to them
+
Different Layers of Tests [13]
 Unit Test
 Integration Test
 Component Interface Test
 System Test
 Acceptance Test
Which layers you choose to
separate different types of tests
does not really matter – but it
can be good to have some kind
of separation of different types
of tests to facilitate
understanding and separation
of work
+
The Boxes of Testing [13]
Black Box Gray Box White Box
No insight into the code and
underlying architecture
Some insight into the code
and underlying architecture
Full understanding of the code
and the software architecture
+
Test Techniques [21]
 People-based techniques (User, Alpha, Beta, Pair, Bug Bash, Expert)
 Who does the testing?
 Coverage-based techniques (Boundary testing, Equivalence class analysis)
 What gets tested?
 Problem-based techniques (Input-, Output-, Data- and Computation constraints)
 Why are you testing?
 Activity-based techniques (Scripted, Exploratory, Smoke, Regression)
 How are you testing?
 Evaluation-based techniques (Comparison with specification, Comparison with saved data)
 How do you know if a test is passed or failed?
+
Risk-based Testing [14]
1. Make a prioritized list of risks.
2. Perform testing that explores each risk.
3. As risks evaporate and new ones emerge, adjust your test
effort to stay focused on the current crop.
+
Risk Input
 There are many things that could have impact on perceived risk
level
 Recent fixes
 Code coverage in changed components
 Code complexity in changed components
 Historical data
 Known dependencies for changed components
 Known bugs in changed components
 Etc.
+
Exploratory Testing
"a style of software testing that emphasizes the personal
freedom and responsibility of the individual tester to continually
optimize the quality of his/her work by treating test-related
learning, test design, test execution, and test result interpretation
as mutually supportive activities that run in parallel throughout the
project.”
Cem Kaner With few exceptions designing manual test cases
upfront is not an efficient way of testing, but
exploratory testing requires a more mature test
process and organization
+
Agile Testing Quadrants [22]
+
Test Automation
Understand the
Software System
Plan your Test Design
Create manual tests
Create automated tests
Ensure Software System
Testability
Designing effective and efficient
automated tests is a science in itself –
never underestimate the time and
cost of setting up a large scale,
continuous integration system
It is time, and not cost, that you will
reduce with automation
Never try to automate tests that are
better performed manually
+
Testing Checklist: ISO 25010 [11]
Functional suitability Reliability Operability
Performance efficiency Compatibility Maintainability
Security
Transferability
It can be good to have a checklist of different categories of test that
you need to cover. This ISO standard is one example, but there are
many others [20].
+
Combined Engineering [23]
+
Test-driven Development [18]
 Test Driven Development is a software development process,
not a test process
 “First the developer writes an (initially failing) automated test
case that defines a desired improvement or new function, then
produces the minimum amount of code to pass that test, and
finally refactors the new code to acceptable standards.”
+
Crowdsourced Testing [19]
 “Crowdsourced testing is an emerging trend in software testing
which exploits the benefits, effectiveness, and efficiency of
crowdsourcing and the cloud platform. It differs from traditional
testing methods in that the testing is carried out by a number of
different testers from different places, and not by hired
consultants and professionals. The software is put to test under
diverse realistic platforms which makes it more reliable, cost-
effective, fast, and bug-free.”
+
Testing: There is so much to learn
Black Box Software
Testing Foundation [1]
Test Automation [2]
Context-Driven Testing
[3]
Testing at Google &
Microsoft [4][5]
ISO29119[6] Testing & Checking [7]
+
Software Testing vs. Game Testing
General Software
Testing
Game Testing
+
What makes Game Testing Unique
Fun Factor Testing[8] Balance Testing[8]
Game Level/World
Testing[8]
AI Testing[8][10]
Multiplayer/Network
Testing[8]
Audio Testing[8]
Physics Testing[8] Realism Testing[9] Modification API Testing
+
There are many similarities
 Software is software whether it is a game or not
 Software testing is an engineering discipline whether it is games,
applications or other types of software
 Functionality, performance, stability, compatibility, localization, etc.
are mostly the same, but with different focus depending on context
 A game tester should have the same general knowledge base as
any software tester, but with a special focus on what makes
games unique
+
Fun Factor Testing
 User experience and usability are valid testing areas for all
types of software
 What differs games from other types of software is that it has to
be fun – it is entertainment and it needs to have a fun factor
that other types of software may not require
 To be able to work with Fun Factor Testing requires a large
domain knowledge of games and what makes them fun
+
Balance Testing
 Balancing different options is something that is much more
prevalent in games compared to other software
 Balancing different character options such as race, class, and
attribute choices
 Balancing weapons, boosters, equipment, and other paraphernalia
 Balancing levels
 Balancing difficulty
+
Game Level/World Testing
 Somewhat unique to games is the number of instances in which assets
are used
 An application may use a feature in one place, while a game might use it in 20
different levels or parts of the world
 This means that you need to test that the asset is used correctly in all these
instances
 Especially 3D worlds require a unique approach
 Stuck/Sticky spots
 Invisible walls
 Map holes
 Missing geometry
+
AI Testing
 Facing a computer controlled opponent is common in games,
but less common in other types of software
 Testing the different attributes and of the AI, and how it reacts in
different situations is critical in many games
 How well it mimics human behavior
 Survival instinct – such as looking for cover in a fire fight
 Hunting state – not waiting to react to the player’s actions, but
proactively performing actions
 Infighting – how it reacts to other AI
 Pathfinding
+
Multiplayer / Network Testing
 Playing against multiple other opponents is quite common in games, and
even though other software also communicates with other users and
servers through different mediums, it is often to a lesser extent, and less
sensitive
 Many things can go wrong in multiplayer
 Failed connections
 Dropped connections
 Lag
 Invisible players
 Scoring errors
 Unaccepted invitations
+
Audio Testing
 Obviously almost all software has some kind of audio
 However in games it is often more detrimental to the user experience if something
goes wrong
 Often much more complex in games, with many sounds playing simultaneously
 Many things can go wrong
 Audio drop
 Skipping
 Distortion
 Missing sound effects
 Volume level
+
Physics Testing
 Some games have physics engines, which affect both
gameplay and animations
 It requires a specific skill to spot physics bugs
 Breakable geometry must be tested to assure that it is
destroyed in a way consistent with the desirable physics
 Dynamic behavior such as boxes moving when you walk into
them is another example of physics in action
+
Realism Testing
 This type of testing is also related to how the game managed to mimic the
real world in a desirable way
 Is the car handling like a real car?
 Does the weapon feel like a real weapon?
 Running animations and jumping must have the right look and feel
 This type of testing requires a lot of domain knowledge – to know if an
airplane is realistic enough, you must know about airplanes
+
Modification API Testing
 If the game allows for user to create their own mods, and it is a
competitive game like an mmo this requires a unique approach
 Open APIs are common in software, but competitive games
add a dimension of not allowing mod users to gain unfair
advantages or being able to exploit the game using their mods
 Imagining how the APIs will be used is critical to understanding
if there will be future problems or not
+
Player Types [9]
 You can categorize gamers in a slightly different way than
users of other applications and technology in general
Killer Achiever Explorer Socializer
Casual Gamer
Hardcore Gamer
Button Masher
Customizer
Exploiter
+
Prioritization based on Player Types
 How you prioritize your tests could be influenced by which
player types you are aiming the game for
 If you want to please all types, then making sure you have run
sufficient tests in each category will go a long way when it
comes to reducing critical bugs
+
Combinatorial Testing [9]
 Of course combinatorial testing is nothing unique to games, but
when looking at a large, sprawling 3D game world, one can
imagine the size of the combinatorial explosion
 A larger game world, a large amount of actors, and a large
amount of actions for these actors to perform, all results in a
combinatorial nightmare
+
Conclusion
 Software testing in general, and game testing in particular, are
extremely complex activities
 It takes a lot of time and effort
 It requires a lot of experience and knowledge
 It needs to be handled very delicately to not produce waste
 It is necessary if you want to release a game that is valuable to
some person(s)
+
References
[1] BBST
http://www.testingeducation.org/BBST/
[2] The A Word
https://leanpub.com/TheAWord
[3] Context-Driven Testing
http://context-driven-testing.com/
[4] How Google Tests Software
http://www.amazon.com/Google-Tests-Software-James-Whittaker/dp/0321803027
[5] How We Test Software at Microsoft
http://www.amazon.com/How-We-Test-Software-Microsoft/dp/0735624259/
[6] ISO29119
http://www.softwaretestingstandard.org/
[7] Testing & Checking
http://www.satisfice.com/blog/archives/856
[8] Game Development Essentials: Game QA & Testing
http://www.amazon.com/Game-Development-Essentials-QA-Testing/dp/1435439473
[9] Game Testing: All on One
http://www.amazon.com/Game-Testing-Second-Charles-Schultz/dp/1936420163/
[10] Artificial Intelligence (Video Games)
http://en.wikipedia.org/wiki/Artificial_intelligence_(video_games)
[11] ISO 25010
http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733
[12] Gerald Weinberg
http://secretsofconsulting.blogspot.se/
[13] Software Testing
http://en.wikipedia.org/wiki/Software_testing
[14] Heuristic Risk-based Testing
http://www.satisfice.com/articles/hrbt.pdf
[15] Test-driven Development
http://en.wikipedia.org/wiki/Test-driven_development
[19] Crowdsourced Testing
http://en.wikipedia.org/wiki/Crowdsourced_testing
[20] Test Heuristics Cheat Sheet
http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf
[21] Lessons Learned in Software Testing
http://www.testingeducation.org/BBST/testdesign/KanerBachPettichord_Lessons_Learned_in_SW_testingCh3-1.pdf
[22] Agile Testing Quadrants
http://www.developsense.com/presentations/2014-06-Dublin-RSTAgileTesting.pdf
[23] To Combine … or not
http://angryweasel.com/blog/to-combine-or-not/

More Related Content

What's hot

Xbox system ppt
Xbox system pptXbox system ppt
Xbox system ppt
VIKASH MEWAL
 
Static Testing
Static TestingStatic Testing
Static Testing
Dharita Chokshi
 
Introduce Game Testing And QA
Introduce Game Testing And QAIntroduce Game Testing And QA
Introduce Game Testing And QA
Pham Anh Tuan
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
Rakesh Jha
 
Software testing
Software testingSoftware testing
Mobile game testing report
Mobile game testing reportMobile game testing report
Mobile game testing report
QA Madness
 
Testing
TestingTesting
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
QA Hannah
 
Software testing
Software testingSoftware testing
Software testing
mkn3009
 
Unity - Game Engine
Unity - Game EngineUnity - Game Engine
Unity - Game Engine
Geeks Anonymes
 
Unity 3d Basics
Unity 3d BasicsUnity 3d Basics
Unity 3d Basics
Chaudhry Talha Waseem
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
Priyanka Karancy
 
Test case design
Test case designTest case design
Test case design
99pillar
 
Types of testing
Types of testingTypes of testing
Types of testing
Sonam Agarwal
 
software testing
 software testing software testing
software testing
Sara shall
 
Game development
Game developmentGame development
Game development
reittes
 
Unity 3D game engine seminar
Unity 3D game engine  seminarUnity 3D game engine  seminar
Unity 3D game engine seminar
NikhilThorat15
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
Santosh Maranabasari
 
Software Testing
Software TestingSoftware Testing
Software Testing
Sengu Msc
 

What's hot (20)

Xbox system ppt
Xbox system pptXbox system ppt
Xbox system ppt
 
Static Testing
Static TestingStatic Testing
Static Testing
 
Introduce Game Testing And QA
Introduce Game Testing And QAIntroduce Game Testing And QA
Introduce Game Testing And QA
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
 
Software testing
Software testingSoftware testing
Software testing
 
Mobile game testing report
Mobile game testing reportMobile game testing report
Mobile game testing report
 
Testing
TestingTesting
Testing
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
Software testing
Software testingSoftware testing
Software testing
 
Unity - Game Engine
Unity - Game EngineUnity - Game Engine
Unity - Game Engine
 
Unity 3d Basics
Unity 3d BasicsUnity 3d Basics
Unity 3d Basics
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Test case design
Test case designTest case design
Test case design
 
Types of testing
Types of testingTypes of testing
Types of testing
 
software testing
 software testing software testing
software testing
 
Game development
Game developmentGame development
Game development
 
Unity 3D game engine seminar
Unity 3D game engine  seminarUnity 3D game engine  seminar
Unity 3D game engine seminar
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
 
Software Testing
Software TestingSoftware Testing
Software Testing
 

Viewers also liked

Top 10 games tester interview questions and answers
Top 10 games tester interview questions and answersTop 10 games tester interview questions and answers
Top 10 games tester interview questions and answers
caitlinkelly433
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game Testing
Bitbar
 
Agile testing games
Agile testing gamesAgile testing games
Agile testing games
Agile Partner S.A.
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Heritage Institute Of Tech,India
 
Effective Testing of Free-to-Play Games
Effective Testing of Free-to-Play GamesEffective Testing of Free-to-Play Games
Effective Testing of Free-to-Play Games
emily_greer
 
Game testing inGenuity'12
Game testing inGenuity'12Game testing inGenuity'12
Game testing inGenuity'12
Indium Software
 
Video Game Usability Testing - Answering the Why
Video Game Usability Testing - Answering the WhyVideo Game Usability Testing - Answering the Why
Video Game Usability Testing - Answering the Why
austinupa
 
Importance of software quality assurance
Importance of software quality assuranceImportance of software quality assurance
Importance of software quality assurance
Maveric Systems
 
Different Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting ErrorsDifferent Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting Errors
Waqas Tariq
 
Levels of testing
Levels of testingLevels of testing
Levels of testing
Ranjeet Singh
 
Testing in Game Development
Testing in Game DevelopmentTesting in Game Development
Testing in Game Development
Game Developer Arek Suroboyo
 
Software Testing
Software TestingSoftware Testing
Software Testing
Benoy Ramachandran
 
User Testing Your Game
User Testing Your GameUser Testing Your Game
User Testing Your Game
UserTesting
 
Mindmaps - A killer way to increase your test coverage
Mindmaps - A killer way to increase your test coverageMindmaps - A killer way to increase your test coverage
Mindmaps - A killer way to increase your test coverage
Prashant Hegde
 
Component interface
Component interfaceComponent interface
Component interface
JAYAARC
 
Car Game - Final Year Project
Car Game - Final Year ProjectCar Game - Final Year Project
Car Game - Final Year Project
Vivek Naskar
 

Viewers also liked (16)

Top 10 games tester interview questions and answers
Top 10 games tester interview questions and answersTop 10 games tester interview questions and answers
Top 10 games tester interview questions and answers
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game Testing
 
Agile testing games
Agile testing gamesAgile testing games
Agile testing games
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Effective Testing of Free-to-Play Games
Effective Testing of Free-to-Play GamesEffective Testing of Free-to-Play Games
Effective Testing of Free-to-Play Games
 
Game testing inGenuity'12
Game testing inGenuity'12Game testing inGenuity'12
Game testing inGenuity'12
 
Video Game Usability Testing - Answering the Why
Video Game Usability Testing - Answering the WhyVideo Game Usability Testing - Answering the Why
Video Game Usability Testing - Answering the Why
 
Importance of software quality assurance
Importance of software quality assuranceImportance of software quality assurance
Importance of software quality assurance
 
Different Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting ErrorsDifferent Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting Errors
 
Levels of testing
Levels of testingLevels of testing
Levels of testing
 
Testing in Game Development
Testing in Game DevelopmentTesting in Game Development
Testing in Game Development
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
User Testing Your Game
User Testing Your GameUser Testing Your Game
User Testing Your Game
 
Mindmaps - A killer way to increase your test coverage
Mindmaps - A killer way to increase your test coverageMindmaps - A killer way to increase your test coverage
Mindmaps - A killer way to increase your test coverage
 
Component interface
Component interfaceComponent interface
Component interface
 
Car Game - Final Year Project
Car Game - Final Year ProjectCar Game - Final Year Project
Car Game - Final Year Project
 

Similar to Software testing and game testing

Software testing
Software testing   Software testing
Software testing
Ravindranath Tagore
 
Types of Software Testing: Definition, Objectives and Advantages
Types of Software Testing: Definition, Objectives and AdvantagesTypes of Software Testing: Definition, Objectives and Advantages
Types of Software Testing: Definition, Objectives and Advantages
Simform
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
Rachel Davis
 
Testing concepts
Testing conceptsTesting concepts
Testing concepts
sangamesh kumbar
 
Software techniques
Software techniquesSoftware techniques
Software techniques
home
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
kalichargn70th171
 
Software Testing (1).pptx
Software Testing (1).pptxSoftware Testing (1).pptx
Software Testing (1).pptx
SarowarSuman
 
Software Testing 5/5
Software Testing 5/5Software Testing 5/5
Software Testing 5/5
Damian T. Gordon
 
Crowd Testing Framework : Mobile Application Testing
Crowd Testing Framework : Mobile Application TestingCrowd Testing Framework : Mobile Application Testing
Crowd Testing Framework : Mobile Application Testing
momoahmedabad
 
SE - Lecture 8 - Software Testing State Diagram.pptx
SE - Lecture 8 - Software Testing  State Diagram.pptxSE - Lecture 8 - Software Testing  State Diagram.pptx
SE - Lecture 8 - Software Testing State Diagram.pptx
TangZhiSiang
 
Slides chapters 13-14
Slides chapters 13-14Slides chapters 13-14
Slides chapters 13-14
Priyanka Shetty
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Abdul Basit
 
Software testing
Software testingSoftware testing
Software testing
Abrianto Nugraha
 
Software testing
Software testingSoftware testing
Software testing
Aman Adhikari
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
FAIZALSAIYED
 
Feb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentFeb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition Development
Barb Tillich
 
Manual testing visonia
Manual testing   visoniaManual testing   visonia
Manual testing visonia
VisoniaTechlab
 
Software test life cycle
Software test life cycleSoftware test life cycle
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
Anuraj S.L
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
Grig Gheorghiu
 

Similar to Software testing and game testing (20)

Software testing
Software testing   Software testing
Software testing
 
Types of Software Testing: Definition, Objectives and Advantages
Types of Software Testing: Definition, Objectives and AdvantagesTypes of Software Testing: Definition, Objectives and Advantages
Types of Software Testing: Definition, Objectives and Advantages
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
 
Testing concepts
Testing conceptsTesting concepts
Testing concepts
 
Software techniques
Software techniquesSoftware techniques
Software techniques
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
Software Testing (1).pptx
Software Testing (1).pptxSoftware Testing (1).pptx
Software Testing (1).pptx
 
Software Testing 5/5
Software Testing 5/5Software Testing 5/5
Software Testing 5/5
 
Crowd Testing Framework : Mobile Application Testing
Crowd Testing Framework : Mobile Application TestingCrowd Testing Framework : Mobile Application Testing
Crowd Testing Framework : Mobile Application Testing
 
SE - Lecture 8 - Software Testing State Diagram.pptx
SE - Lecture 8 - Software Testing  State Diagram.pptxSE - Lecture 8 - Software Testing  State Diagram.pptx
SE - Lecture 8 - Software Testing State Diagram.pptx
 
Slides chapters 13-14
Slides chapters 13-14Slides chapters 13-14
Slides chapters 13-14
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
 
Feb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition DevelopmentFeb 2013Lesson 38 Software Acquisition Development
Feb 2013Lesson 38 Software Acquisition Development
 
Manual testing visonia
Manual testing   visoniaManual testing   visonia
Manual testing visonia
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
 

More from Johan Hoberg

Approaches to unraveling a complex test problem
Approaches to unraveling a complex test problemApproaches to unraveling a complex test problem
Approaches to unraveling a complex test problem
Johan Hoberg
 
A business case for a modern QA organization
A business case for a modern QA organizationA business case for a modern QA organization
A business case for a modern QA organization
Johan Hoberg
 
Signing off on Quality
Signing off on QualitySigning off on Quality
Signing off on Quality
Johan Hoberg
 
Quality Information Coverage - A QI Concept
Quality Information Coverage - A QI ConceptQuality Information Coverage - A QI Concept
Quality Information Coverage - A QI Concept
Johan Hoberg
 
The Bug Backlog - An Evergrowing Mountain
The Bug Backlog - An Evergrowing MountainThe Bug Backlog - An Evergrowing Mountain
The Bug Backlog - An Evergrowing Mountain
Johan Hoberg
 
Quality Intelligence: Transparency & Visibility
Quality Intelligence: Transparency & VisibilityQuality Intelligence: Transparency & Visibility
Quality Intelligence: Transparency & Visibility
Johan Hoberg
 
Building a QA Mindset
Building a QA Mindset Building a QA Mindset
Building a QA Mindset
Johan Hoberg
 
What is QI?
What is QI?What is QI?
What is QI?
Johan Hoberg
 
Building High Quality Software
Building High Quality Software Building High Quality Software
Building High Quality Software
Johan Hoberg
 
Testit 2017 - Exploratory Testing for Everyone
Testit 2017 - Exploratory Testing for EveryoneTestit 2017 - Exploratory Testing for Everyone
Testit 2017 - Exploratory Testing for Everyone
Johan Hoberg
 
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
Johan Hoberg
 
Moving from scripted regression testing to exploratory testing
Moving from scripted regression testing to exploratory testingMoving from scripted regression testing to exploratory testing
Moving from scripted regression testing to exploratory testing
Johan Hoberg
 
Building High Quality Software
Building High Quality SoftwareBuilding High Quality Software
Building High Quality Software
Johan Hoberg
 
Quality, Testing & Agile Methodologies
Quality, Testing & Agile MethodologiesQuality, Testing & Agile Methodologies
Quality, Testing & Agile Methodologies
Johan Hoberg
 
QI, not QA
QI, not QAQI, not QA
QI, not QA
Johan Hoberg
 
Defining Test Competence
Defining Test CompetenceDefining Test Competence
Defining Test Competence
Johan Hoberg
 
Why all deadlines are bad for quality
Why all deadlines are bad for qualityWhy all deadlines are bad for quality
Why all deadlines are bad for quality
Johan Hoberg
 
QI, not QA
QI, not QAQI, not QA
QI, not QA
Johan Hoberg
 
Do we really need game testers?
Do we really need game testers?Do we really need game testers?
Do we really need game testers?
Johan Hoberg
 
Hardware/Software Integration Testing
Hardware/Software Integration TestingHardware/Software Integration Testing
Hardware/Software Integration Testing
Johan Hoberg
 

More from Johan Hoberg (20)

Approaches to unraveling a complex test problem
Approaches to unraveling a complex test problemApproaches to unraveling a complex test problem
Approaches to unraveling a complex test problem
 
A business case for a modern QA organization
A business case for a modern QA organizationA business case for a modern QA organization
A business case for a modern QA organization
 
Signing off on Quality
Signing off on QualitySigning off on Quality
Signing off on Quality
 
Quality Information Coverage - A QI Concept
Quality Information Coverage - A QI ConceptQuality Information Coverage - A QI Concept
Quality Information Coverage - A QI Concept
 
The Bug Backlog - An Evergrowing Mountain
The Bug Backlog - An Evergrowing MountainThe Bug Backlog - An Evergrowing Mountain
The Bug Backlog - An Evergrowing Mountain
 
Quality Intelligence: Transparency & Visibility
Quality Intelligence: Transparency & VisibilityQuality Intelligence: Transparency & Visibility
Quality Intelligence: Transparency & Visibility
 
Building a QA Mindset
Building a QA Mindset Building a QA Mindset
Building a QA Mindset
 
What is QI?
What is QI?What is QI?
What is QI?
 
Building High Quality Software
Building High Quality Software Building High Quality Software
Building High Quality Software
 
Testit 2017 - Exploratory Testing for Everyone
Testit 2017 - Exploratory Testing for EveryoneTestit 2017 - Exploratory Testing for Everyone
Testit 2017 - Exploratory Testing for Everyone
 
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
 
Moving from scripted regression testing to exploratory testing
Moving from scripted regression testing to exploratory testingMoving from scripted regression testing to exploratory testing
Moving from scripted regression testing to exploratory testing
 
Building High Quality Software
Building High Quality SoftwareBuilding High Quality Software
Building High Quality Software
 
Quality, Testing & Agile Methodologies
Quality, Testing & Agile MethodologiesQuality, Testing & Agile Methodologies
Quality, Testing & Agile Methodologies
 
QI, not QA
QI, not QAQI, not QA
QI, not QA
 
Defining Test Competence
Defining Test CompetenceDefining Test Competence
Defining Test Competence
 
Why all deadlines are bad for quality
Why all deadlines are bad for qualityWhy all deadlines are bad for quality
Why all deadlines are bad for quality
 
QI, not QA
QI, not QAQI, not QA
QI, not QA
 
Do we really need game testers?
Do we really need game testers?Do we really need game testers?
Do we really need game testers?
 
Hardware/Software Integration Testing
Hardware/Software Integration TestingHardware/Software Integration Testing
Hardware/Software Integration Testing
 

Recently uploaded

ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
VANDANAMOHANGOUDA
 
SCALING OF MOS CIRCUITS m .pptx
SCALING OF MOS CIRCUITS m                 .pptxSCALING OF MOS CIRCUITS m                 .pptx
SCALING OF MOS CIRCUITS m .pptx
harshapolam10
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICSUNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
vmspraneeth
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
aryanpankaj78
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
CVCSOfficial
 
Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...
cannyengineerings
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
uqyfuc
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Transcat
 
P5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civilP5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civil
AnasAhmadNoor
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
Dwarkadas J Sanghvi College of Engineering
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
ijaia
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
nedcocy
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
sachin chaurasia
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
PriyankaKilaniya
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Zener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and ApplicationsZener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and Applications
Shiny Christobel
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
Kamal Acharya
 

Recently uploaded (20)

ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
 
SCALING OF MOS CIRCUITS m .pptx
SCALING OF MOS CIRCUITS m                 .pptxSCALING OF MOS CIRCUITS m                 .pptx
SCALING OF MOS CIRCUITS m .pptx
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICSUNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
 
Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...
 
P5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civilP5 Working Drawings.pdf floor plan, civil
P5 Working Drawings.pdf floor plan, civil
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Zener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and ApplicationsZener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and Applications
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
 

Software testing and game testing

  • 1. + Software Testing and Game TestingAn Introduction to Software Testing in Games
  • 2. + Introduction  This presentation gives an overview introduction to software testing in general, and how game testing adds additional complexity to the equation  This is just an introduction, but there are links at the end of the presentation to facilitate further learning  Game QA adds an additional layer on top of this, but that will not be covered here
  • 3. + What is Testing? “Testing is an empirical, technical investigation conducted to provide stakeholders with information about the quality of the product or service under test” Black Box Software Testing: Foundations course [1]
  • 4. + What is a tester?  Someone with test competence that performs test activities Software Developer Software Developer in Test Embedded Tester Acceptance Tester System Tester ??? Title does not matter. If you have test competence and you perform test activities you are (but you may have many roles) a tester
  • 5. + Quality? “Quality is value to some person” [12] Quality means different things to different people. But in the end, when someone says they want high quality – what they want is something that is valuable to them
  • 6. + Different Layers of Tests [13]  Unit Test  Integration Test  Component Interface Test  System Test  Acceptance Test Which layers you choose to separate different types of tests does not really matter – but it can be good to have some kind of separation of different types of tests to facilitate understanding and separation of work
  • 7. + The Boxes of Testing [13] Black Box Gray Box White Box No insight into the code and underlying architecture Some insight into the code and underlying architecture Full understanding of the code and the software architecture
  • 8. + Test Techniques [21]  People-based techniques (User, Alpha, Beta, Pair, Bug Bash, Expert)  Who does the testing?  Coverage-based techniques (Boundary testing, Equivalence class analysis)  What gets tested?  Problem-based techniques (Input-, Output-, Data- and Computation constraints)  Why are you testing?  Activity-based techniques (Scripted, Exploratory, Smoke, Regression)  How are you testing?  Evaluation-based techniques (Comparison with specification, Comparison with saved data)  How do you know if a test is passed or failed?
  • 9. + Risk-based Testing [14] 1. Make a prioritized list of risks. 2. Perform testing that explores each risk. 3. As risks evaporate and new ones emerge, adjust your test effort to stay focused on the current crop.
  • 10. + Risk Input  There are many things that could have impact on perceived risk level  Recent fixes  Code coverage in changed components  Code complexity in changed components  Historical data  Known dependencies for changed components  Known bugs in changed components  Etc.
  • 11. + Exploratory Testing "a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project.” Cem Kaner With few exceptions designing manual test cases upfront is not an efficient way of testing, but exploratory testing requires a more mature test process and organization
  • 13. + Test Automation Understand the Software System Plan your Test Design Create manual tests Create automated tests Ensure Software System Testability Designing effective and efficient automated tests is a science in itself – never underestimate the time and cost of setting up a large scale, continuous integration system It is time, and not cost, that you will reduce with automation Never try to automate tests that are better performed manually
  • 14. + Testing Checklist: ISO 25010 [11] Functional suitability Reliability Operability Performance efficiency Compatibility Maintainability Security Transferability It can be good to have a checklist of different categories of test that you need to cover. This ISO standard is one example, but there are many others [20].
  • 16. + Test-driven Development [18]  Test Driven Development is a software development process, not a test process  “First the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.”
  • 17. + Crowdsourced Testing [19]  “Crowdsourced testing is an emerging trend in software testing which exploits the benefits, effectiveness, and efficiency of crowdsourcing and the cloud platform. It differs from traditional testing methods in that the testing is carried out by a number of different testers from different places, and not by hired consultants and professionals. The software is put to test under diverse realistic platforms which makes it more reliable, cost- effective, fast, and bug-free.”
  • 18. + Testing: There is so much to learn Black Box Software Testing Foundation [1] Test Automation [2] Context-Driven Testing [3] Testing at Google & Microsoft [4][5] ISO29119[6] Testing & Checking [7]
  • 19. + Software Testing vs. Game Testing General Software Testing Game Testing
  • 20. + What makes Game Testing Unique Fun Factor Testing[8] Balance Testing[8] Game Level/World Testing[8] AI Testing[8][10] Multiplayer/Network Testing[8] Audio Testing[8] Physics Testing[8] Realism Testing[9] Modification API Testing
  • 21. + There are many similarities  Software is software whether it is a game or not  Software testing is an engineering discipline whether it is games, applications or other types of software  Functionality, performance, stability, compatibility, localization, etc. are mostly the same, but with different focus depending on context  A game tester should have the same general knowledge base as any software tester, but with a special focus on what makes games unique
  • 22. + Fun Factor Testing  User experience and usability are valid testing areas for all types of software  What differs games from other types of software is that it has to be fun – it is entertainment and it needs to have a fun factor that other types of software may not require  To be able to work with Fun Factor Testing requires a large domain knowledge of games and what makes them fun
  • 23. + Balance Testing  Balancing different options is something that is much more prevalent in games compared to other software  Balancing different character options such as race, class, and attribute choices  Balancing weapons, boosters, equipment, and other paraphernalia  Balancing levels  Balancing difficulty
  • 24. + Game Level/World Testing  Somewhat unique to games is the number of instances in which assets are used  An application may use a feature in one place, while a game might use it in 20 different levels or parts of the world  This means that you need to test that the asset is used correctly in all these instances  Especially 3D worlds require a unique approach  Stuck/Sticky spots  Invisible walls  Map holes  Missing geometry
  • 25. + AI Testing  Facing a computer controlled opponent is common in games, but less common in other types of software  Testing the different attributes and of the AI, and how it reacts in different situations is critical in many games  How well it mimics human behavior  Survival instinct – such as looking for cover in a fire fight  Hunting state – not waiting to react to the player’s actions, but proactively performing actions  Infighting – how it reacts to other AI  Pathfinding
  • 26. + Multiplayer / Network Testing  Playing against multiple other opponents is quite common in games, and even though other software also communicates with other users and servers through different mediums, it is often to a lesser extent, and less sensitive  Many things can go wrong in multiplayer  Failed connections  Dropped connections  Lag  Invisible players  Scoring errors  Unaccepted invitations
  • 27. + Audio Testing  Obviously almost all software has some kind of audio  However in games it is often more detrimental to the user experience if something goes wrong  Often much more complex in games, with many sounds playing simultaneously  Many things can go wrong  Audio drop  Skipping  Distortion  Missing sound effects  Volume level
  • 28. + Physics Testing  Some games have physics engines, which affect both gameplay and animations  It requires a specific skill to spot physics bugs  Breakable geometry must be tested to assure that it is destroyed in a way consistent with the desirable physics  Dynamic behavior such as boxes moving when you walk into them is another example of physics in action
  • 29. + Realism Testing  This type of testing is also related to how the game managed to mimic the real world in a desirable way  Is the car handling like a real car?  Does the weapon feel like a real weapon?  Running animations and jumping must have the right look and feel  This type of testing requires a lot of domain knowledge – to know if an airplane is realistic enough, you must know about airplanes
  • 30. + Modification API Testing  If the game allows for user to create their own mods, and it is a competitive game like an mmo this requires a unique approach  Open APIs are common in software, but competitive games add a dimension of not allowing mod users to gain unfair advantages or being able to exploit the game using their mods  Imagining how the APIs will be used is critical to understanding if there will be future problems or not
  • 31. + Player Types [9]  You can categorize gamers in a slightly different way than users of other applications and technology in general Killer Achiever Explorer Socializer Casual Gamer Hardcore Gamer Button Masher Customizer Exploiter
  • 32. + Prioritization based on Player Types  How you prioritize your tests could be influenced by which player types you are aiming the game for  If you want to please all types, then making sure you have run sufficient tests in each category will go a long way when it comes to reducing critical bugs
  • 33. + Combinatorial Testing [9]  Of course combinatorial testing is nothing unique to games, but when looking at a large, sprawling 3D game world, one can imagine the size of the combinatorial explosion  A larger game world, a large amount of actors, and a large amount of actions for these actors to perform, all results in a combinatorial nightmare
  • 34. + Conclusion  Software testing in general, and game testing in particular, are extremely complex activities  It takes a lot of time and effort  It requires a lot of experience and knowledge  It needs to be handled very delicately to not produce waste  It is necessary if you want to release a game that is valuable to some person(s)
  • 35. + References [1] BBST http://www.testingeducation.org/BBST/ [2] The A Word https://leanpub.com/TheAWord [3] Context-Driven Testing http://context-driven-testing.com/ [4] How Google Tests Software http://www.amazon.com/Google-Tests-Software-James-Whittaker/dp/0321803027 [5] How We Test Software at Microsoft http://www.amazon.com/How-We-Test-Software-Microsoft/dp/0735624259/ [6] ISO29119 http://www.softwaretestingstandard.org/ [7] Testing & Checking http://www.satisfice.com/blog/archives/856 [8] Game Development Essentials: Game QA & Testing http://www.amazon.com/Game-Development-Essentials-QA-Testing/dp/1435439473 [9] Game Testing: All on One http://www.amazon.com/Game-Testing-Second-Charles-Schultz/dp/1936420163/ [10] Artificial Intelligence (Video Games) http://en.wikipedia.org/wiki/Artificial_intelligence_(video_games) [11] ISO 25010 http://www.iso.org/iso/catalogue_detail.htm?csnumber=35733 [12] Gerald Weinberg http://secretsofconsulting.blogspot.se/ [13] Software Testing http://en.wikipedia.org/wiki/Software_testing [14] Heuristic Risk-based Testing http://www.satisfice.com/articles/hrbt.pdf [15] Test-driven Development http://en.wikipedia.org/wiki/Test-driven_development [19] Crowdsourced Testing http://en.wikipedia.org/wiki/Crowdsourced_testing [20] Test Heuristics Cheat Sheet http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf [21] Lessons Learned in Software Testing http://www.testingeducation.org/BBST/testdesign/KanerBachPettichord_Lessons_Learned_in_SW_testingCh3-1.pdf [22] Agile Testing Quadrants http://www.developsense.com/presentations/2014-06-Dublin-RSTAgileTesting.pdf [23] To Combine … or not http://angryweasel.com/blog/to-combine-or-not/

Editor's Notes

  1. Functional suitability - The degree to which the product provides functions that meet stated and implied needs when the product is used under specified conditions Suitability Accuracy Interoperability Security Compliance Reliability - The degree to which a system or component performs specified functions under specified conditions for a specified period of time. Maturity Fault Tolerance Recoverability Compliance Operability - The degree to which the product has attributes that enable it to be understood, learned, used and attractive to the user, when used under specified conditions Appropriateness Recognisability Ease of use Learnability Attractiveness Technical accessibility Compliance Performance efficiency - The performance relative to the amount of resources used under stated conditions Time Behaviour Resource Utilisation Compliance Security - The degree of protection of information and data so that unauthorized persons or systems cannot read or modify them and authorized persons or systems are not denied access to them Confidentiality Integrity Non-repudiation Accountability Authenticity Compliance Compatibility - The degree to which two or more systems or components can exchange information and/or perform their required functions while sharing the same hardware or software environment Replaceability Co-existence Interoperability Compliance Maintainability - The degree of effectiveness and efficiency with which the product can be modified Modularity Reusability Analyzability Changeability Modification stability Testability Compliance Transferability - The degree to which a system or component can be effectively and efficiently transferred from one hardware, software or other operational or usage environment to another Portability Adaptability Installability Compliance