SlideShare a Scribd company logo
1 of 9
Download to read offline
GAJAH ANNUAL REPORT 2015 | ‹#›
Testing Blockbuster
Games
Tulay McNally,
Alex Lucas
Challenge #1
Game platforms like the Microsoft Xbox and Sony
Playstation are inherently difficult to develop for.
Challenge #2
In-house engines, custom renderers, and 1st party
platforms mean that we can’t use off-the-shelf tools. We
must build our own (where possible).
Challenge #3
Nebulous requirements and frequent system overhauls.
Achieving ‘fun’ is an iterative process.
Challenge #4
Games are massive. Build times are long, binaries are
huge, incredible amounts of graphics, data, and sound
working (and needing testing) in concert.
Challenge #5
Game quality is a function of the interoperability of many
complex systems. The individual parts may ‘work’ while
the whole does not.
Technical
challenges in
game quality
assurance.
Games feature a level of scope and interconnectedness that
is not typically seen in other kinds of software. Our
customers do not merely use our software; they project
themselves into our software as participants in a simulacrum
of a real world.
In order to convey a convincing and fully realized world, our
developers create a multitude of systems and features that
incorporate truly massive amounts of supporting data. The end
result is a piece of software that is nearly impossible to verify
completely; a challenge further complicated by the need to also
assure its experiential quality.
Many of the technical hurdles of supporting QA on a title like
Dragon Age, while challenging, have been overcome with an
ambitious investment in QA technology.
Recognizing that a key contributor to overall game quality is
iteration opportunity, we target our QA technology to support
increasing developer velocity and unblocking testers so they can
provide timely and meaningful feedback.
BioWare QA Technology has developed sophisticated tools and
telemetry platforms that are in use all across Electronic Arts.
We’ve applied automation technology to solve traditionally non-
QA problems, improved the content and development pipelines,
and partnered with higher education to apply scientific research in
addressing our QA needs.
Game Quality
comes from iteration
& experimentation.
QA
TECHNOLOGY
@BIOWARE
Pipeline Improvements
Increase developer velocity by enhancing build and
content pipelines. Discover defects as close to creation as
possible, as well as repairing them as they occur.
Data Visualization & Telemetry
Increase knowledge about the product at all stages of
development. Things we historically used automation for
are often better achieved via development telemetry.
Enhanced Tools
A broad range of bespoke tools, scripts, state editors and
supporting technologies increase tester capacity and
accuracy. Turn average testers into ‘rockstars’.
Machine Learning
Leverage the capabilities of our engineers and
partnerships to deliver context aware technology. Notable
achievements on DA:I include duplicate bug detection
and callstack analysis.
GAJAH ANNUAL REPORT 2015 | ‹#›
Dragon Age: Inquisition
QA
TECHNOLOGY
EXAMPLES
Using FBScript to Support Testing
ON DRAGON AGE INQUISITION
FBScript is an integrated Python-based scripting
language that allows the QA Technology team to
rapidly locate and enumerate assets within the
game.
Allows QA to identify ALL the assets in the game,
including new and deprecated assets, where they
exist, and any dependencies that may inject risk into
the product.
For 200 hours of script development time, 4800 staff
hours of verification were saved/discovered.
81% of the scripts provided verification of systems
that where not scheduled for testing due to
feasibility concerns.
Data-Driven
TESTING
Significant ROI
Games have massive amounts of data. Asset counts on Dragon Age run into the millions. Models, shaders, scripts, textures, animation,
etc. are all referenced frequently across the code base, sometimes with 48-level-deep-object references, and this creates a unique level
of challenge for QA. The number of unique permutations is astronomical and so, much of the ‘game’ cannot feasibly be verified.
Additionally, this content is largely undocumented (with cause) and so much of this risk is also unknown. For example, how many
unique ‘rock’ models are there in the game? How many are being used? Where are they being used? Are they being used correctly?
Using data-driven testing via FBScript allowed us to answer these questions. QA was able to form a picture of the game ‘as it was’ and
not ‘as it was intended to be.’
QA, in addition to being able to verify whole swathes of previously untestable content, was able to pinpoint ares of particular risk and
adjust testing strategy accordingly.
1
10
100
1000
Net Gain/Loss (hours)
Total Dev Time (hours)
Pre-Flight Build System
DRAGON AGE SERIES
Builds are typically an expensive process in games,
and with the large number of developers on a title,
along with many product SKUs to support, builds can
break frequently.
CIS catches broken builds quickly, but developers are
still blocked while waiting on a fix, and QA is not
testing latest code.
By submitting to pre-flight instead of source-control,
bad code is bounced, good code is checked-in, and
CIS produces ‘always working’ and ‘latest code’ builds.
NO BROKEN
BUILDS
Case Study: Pre-Flight Build System on Dragon Age Origins
• Automated testing of change-lists across multiple SKUs and configurations.
• Does not replace CIS. Works with it by preventing bad code from entering source control in the first place.
• Number of monthly broken builds decreased from ~300 at peak to less than 30. Remaining build breaks where due to developers
circumventing the pre-flight system.
• Supported significant increase in developer velocity by ensuring developers and QA always had a working, up to the minute build.
Remember, game quality comes, in part, from iteration opportunity.
0
100
200
300
400
MAR '06 AUG '07
Pre-Flight
Solution
Deployed
E3
Demo
HEAT MAPS
• Aggregate telemetry to pinpoint trends and adjust the
design of the game accordingly
• Identify performance problems; frame-rate, memory
usage, latency
• Support QA in making coverage evaluations
SESSION PLAYBACK
• All gameplay session events are recorded via
integrated telemetry system
• Events, bugs, crashes are all visualized both
spatially and temporally
• Supports GPS-style playback to aid design
balancing and crash reproduction
• QA is better able to target testing and communicate
concerns
DASHBOARDS
• Effective delivery of key data for the project:
• Integrated and presented alongside our game
telemetry
• Surfaced throughout the studio on TVs in common
areas
• Branded to our projects
• High visual fidelity and ‘coolness’ factor increased use
REPORTS
• Customized implementation of Kibana & Elastic Search
• Kibana supports rapid report creation and the flat
database gives us fast access
• Multiple customers:
• Design use for game balance
• Programming use for performance
• Production & QA use for project health
DATA
VISUALIZATION

AND TELEMETRY
ADVANCED

BUG FILING
CUSTOM
BUG TOOLS
• Custom interface that sits on top of
existing industry standard tools like JIRA
and DevTrack:
• Unique interface depending on
project role: QA vs. Dev
• Details are filled out procedurally
• Hot-links to content in editor for rapid
fixes
• Advanced duplicate issue detection via
machine learning partnership with local
university.
INTEGRATED WITH TELEMETRY
VISUALIZATION
• All bugs are aligned with session telemetry
• Active bugs can be visualized via a web-
based 2D map (featured) or in-game
• Aids in identifying problem areas, untested
areas and rapid regression of ‘claimed
fixed’
• Crashes are filed automatically,
aggregated with ‘like’ and, due to captured
session data, quickly resolved by
programmers.
The games BioWare is developing for the future will be larger and more complex
than anything we’ve ever made before. Procedural content generation is
becoming common place in the industry, and if games were hard to test before,
it’s only going to get more difficult.
To meet this challenge BioWare will continue to invest in QA Technology as a
means to help deliver quality experiences for our players. As the scope of our
games increase, we must invent new ways to assure quality in both our
processes and the complex systems that define our games, while at the same
time becoming better at informing development on the ‘fun’ of our product.
Player Modelling
Formalize models of our players to better
understand their preferred play-styles
Run player models against ‘beat reports’
that track the rhythm of game activities, to
ensure high-levels of continuous
engagement
MVB: Minimum Valuable Bug
Building an automated bug pipeline by adding
procedurally generated repro-steps, indexed
video aligned with telemetry, and additional
machine learning
Create effective, resolvable bugs for
development AND reduce tester burden when
filing them
Heuristic Automation
Procedural content generation is driving need
for procedural quality evaluation
Automatically apply value models for ‘fun’ or
‘interest’ against content
Reduce the amount of content that needs to
have eyes on it during formative development
stages
LOOKING FWD

More Related Content

Viewers also liked

Testing at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and HowTesting at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and HowJosiah Renaudin
 
What Time Is It Over There? Managing Your Global QA Team
What Time Is It Over There? Managing Your Global QA TeamWhat Time Is It Over There? Managing Your Global QA Team
What Time Is It Over There? Managing Your Global QA TeamTechWell
 
Testing Transformation in the IoT Era
Testing Transformation in the IoT EraTesting Transformation in the IoT Era
Testing Transformation in the IoT EraTechWell
 
End-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingEnd-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingJosiah Renaudin
 
Build a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation FrameworkBuild a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation FrameworkJosiah Renaudin
 
Nature vs. Nurture: Building Great Test Teams
Nature vs. Nurture: Building Great Test TeamsNature vs. Nurture: Building Great Test Teams
Nature vs. Nurture: Building Great Test TeamsJosiah Renaudin
 

Viewers also liked (6)

Testing at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and HowTesting at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and How
 
What Time Is It Over There? Managing Your Global QA Team
What Time Is It Over There? Managing Your Global QA TeamWhat Time Is It Over There? Managing Your Global QA Team
What Time Is It Over There? Managing Your Global QA Team
 
Testing Transformation in the IoT Era
Testing Transformation in the IoT EraTesting Transformation in the IoT Era
Testing Transformation in the IoT Era
 
End-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingEnd-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of Testing
 
Build a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation FrameworkBuild a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation Framework
 
Nature vs. Nurture: Building Great Test Teams
Nature vs. Nurture: Building Great Test TeamsNature vs. Nurture: Building Great Test Teams
Nature vs. Nurture: Building Great Test Teams
 

Similar to Testing Blockbuster Games: Lessons for All Testers

A Complete Guide to Game Testing - Its Types and Processes.pdf
A Complete Guide to Game Testing - Its Types and Processes.pdfA Complete Guide to Game Testing - Its Types and Processes.pdf
A Complete Guide to Game Testing - Its Types and Processes.pdfkalichargn70th171
 
Role of tester in gaming
Role of tester in gamingRole of tester in gaming
Role of tester in gamingRahul S Singh
 
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesDesigning a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesiFunFactory Inc.
 
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingGlobant
 
Luis vazquez engineterminology
Luis vazquez engineterminologyLuis vazquez engineterminology
Luis vazquez engineterminologyluisfvazquez1
 
Luis vazquez engineterminology
Luis vazquez engineterminologyLuis vazquez engineterminology
Luis vazquez engineterminologyluisfvazquez1
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftAmazon Web Services
 
Best Practices For Game Development Using Perforce Streams
Best Practices For Game Development Using Perforce Streams Best Practices For Game Development Using Perforce Streams
Best Practices For Game Development Using Perforce Streams Perforce
 
Y1 gd engine_terminologyhj
Y1 gd engine_terminologyhjY1 gd engine_terminologyhj
Y1 gd engine_terminologyhjShaz Riches
 
Pankajavalli_Bandaru_Resume-updatedoctNov11th
Pankajavalli_Bandaru_Resume-updatedoctNov11thPankajavalli_Bandaru_Resume-updatedoctNov11th
Pankajavalli_Bandaru_Resume-updatedoctNov11thVeda Valli
 
Y1 gd engine_terminology
Y1 gd engine_terminologyY1 gd engine_terminology
Y1 gd engine_terminologyrosstapher
 
Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)LewisB2013
 
SWE Interactive - Overview
SWE Interactive - OverviewSWE Interactive - Overview
SWE Interactive - OverviewCraig Le
 

Similar to Testing Blockbuster Games: Lessons for All Testers (20)

SivaRamaKrishna_CV_9.6 yrs Testing
SivaRamaKrishna_CV_9.6 yrs TestingSivaRamaKrishna_CV_9.6 yrs Testing
SivaRamaKrishna_CV_9.6 yrs Testing
 
A Complete Guide to Game Testing - Its Types and Processes.pdf
A Complete Guide to Game Testing - Its Types and Processes.pdfA Complete Guide to Game Testing - Its Types and Processes.pdf
A Complete Guide to Game Testing - Its Types and Processes.pdf
 
Game engines
Game enginesGame engines
Game engines
 
Game Engine Terminology
Game Engine TerminologyGame Engine Terminology
Game Engine Terminology
 
JRafter-QATestResume
JRafter-QATestResumeJRafter-QATestResume
JRafter-QATestResume
 
JRafter-Resume
JRafter-ResumeJRafter-Resume
JRafter-Resume
 
Role of tester in gaming
Role of tester in gamingRole of tester in gaming
Role of tester in gaming
 
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesDesigning a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile games
 
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en Gaming
 
Luis vazquez engineterminology
Luis vazquez engineterminologyLuis vazquez engineterminology
Luis vazquez engineterminology
 
Luis vazquez engineterminology
Luis vazquez engineterminologyLuis vazquez engineterminology
Luis vazquez engineterminology
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLift
 
Rashmi_Resume
Rashmi_ResumeRashmi_Resume
Rashmi_Resume
 
Best Practices For Game Development Using Perforce Streams
Best Practices For Game Development Using Perforce Streams Best Practices For Game Development Using Perforce Streams
Best Practices For Game Development Using Perforce Streams
 
Y1 gd engine_terminologyhj
Y1 gd engine_terminologyhjY1 gd engine_terminologyhj
Y1 gd engine_terminologyhj
 
Pankajavalli_Bandaru_Resume-updatedoctNov11th
Pankajavalli_Bandaru_Resume-updatedoctNov11thPankajavalli_Bandaru_Resume-updatedoctNov11th
Pankajavalli_Bandaru_Resume-updatedoctNov11th
 
Y1 gd engine_terminology
Y1 gd engine_terminologyY1 gd engine_terminology
Y1 gd engine_terminology
 
Gaming Testing
Gaming TestingGaming Testing
Gaming Testing
 
Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)
 
SWE Interactive - Overview
SWE Interactive - OverviewSWE Interactive - Overview
SWE Interactive - Overview
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Testing Blockbuster Games: Lessons for All Testers

  • 1. GAJAH ANNUAL REPORT 2015 | ‹#› Testing Blockbuster Games Tulay McNally, Alex Lucas
  • 2. Challenge #1 Game platforms like the Microsoft Xbox and Sony Playstation are inherently difficult to develop for. Challenge #2 In-house engines, custom renderers, and 1st party platforms mean that we can’t use off-the-shelf tools. We must build our own (where possible). Challenge #3 Nebulous requirements and frequent system overhauls. Achieving ‘fun’ is an iterative process. Challenge #4 Games are massive. Build times are long, binaries are huge, incredible amounts of graphics, data, and sound working (and needing testing) in concert. Challenge #5 Game quality is a function of the interoperability of many complex systems. The individual parts may ‘work’ while the whole does not. Technical challenges in game quality assurance. Games feature a level of scope and interconnectedness that is not typically seen in other kinds of software. Our customers do not merely use our software; they project themselves into our software as participants in a simulacrum of a real world. In order to convey a convincing and fully realized world, our developers create a multitude of systems and features that incorporate truly massive amounts of supporting data. The end result is a piece of software that is nearly impossible to verify completely; a challenge further complicated by the need to also assure its experiential quality.
  • 3. Many of the technical hurdles of supporting QA on a title like Dragon Age, while challenging, have been overcome with an ambitious investment in QA technology. Recognizing that a key contributor to overall game quality is iteration opportunity, we target our QA technology to support increasing developer velocity and unblocking testers so they can provide timely and meaningful feedback. BioWare QA Technology has developed sophisticated tools and telemetry platforms that are in use all across Electronic Arts. We’ve applied automation technology to solve traditionally non- QA problems, improved the content and development pipelines, and partnered with higher education to apply scientific research in addressing our QA needs. Game Quality comes from iteration & experimentation. QA TECHNOLOGY @BIOWARE Pipeline Improvements Increase developer velocity by enhancing build and content pipelines. Discover defects as close to creation as possible, as well as repairing them as they occur. Data Visualization & Telemetry Increase knowledge about the product at all stages of development. Things we historically used automation for are often better achieved via development telemetry. Enhanced Tools A broad range of bespoke tools, scripts, state editors and supporting technologies increase tester capacity and accuracy. Turn average testers into ‘rockstars’. Machine Learning Leverage the capabilities of our engineers and partnerships to deliver context aware technology. Notable achievements on DA:I include duplicate bug detection and callstack analysis.
  • 4. GAJAH ANNUAL REPORT 2015 | ‹#› Dragon Age: Inquisition QA TECHNOLOGY EXAMPLES
  • 5. Using FBScript to Support Testing ON DRAGON AGE INQUISITION FBScript is an integrated Python-based scripting language that allows the QA Technology team to rapidly locate and enumerate assets within the game. Allows QA to identify ALL the assets in the game, including new and deprecated assets, where they exist, and any dependencies that may inject risk into the product. For 200 hours of script development time, 4800 staff hours of verification were saved/discovered. 81% of the scripts provided verification of systems that where not scheduled for testing due to feasibility concerns. Data-Driven TESTING Significant ROI Games have massive amounts of data. Asset counts on Dragon Age run into the millions. Models, shaders, scripts, textures, animation, etc. are all referenced frequently across the code base, sometimes with 48-level-deep-object references, and this creates a unique level of challenge for QA. The number of unique permutations is astronomical and so, much of the ‘game’ cannot feasibly be verified. Additionally, this content is largely undocumented (with cause) and so much of this risk is also unknown. For example, how many unique ‘rock’ models are there in the game? How many are being used? Where are they being used? Are they being used correctly? Using data-driven testing via FBScript allowed us to answer these questions. QA was able to form a picture of the game ‘as it was’ and not ‘as it was intended to be.’ QA, in addition to being able to verify whole swathes of previously untestable content, was able to pinpoint ares of particular risk and adjust testing strategy accordingly. 1 10 100 1000 Net Gain/Loss (hours) Total Dev Time (hours)
  • 6. Pre-Flight Build System DRAGON AGE SERIES Builds are typically an expensive process in games, and with the large number of developers on a title, along with many product SKUs to support, builds can break frequently. CIS catches broken builds quickly, but developers are still blocked while waiting on a fix, and QA is not testing latest code. By submitting to pre-flight instead of source-control, bad code is bounced, good code is checked-in, and CIS produces ‘always working’ and ‘latest code’ builds. NO BROKEN BUILDS Case Study: Pre-Flight Build System on Dragon Age Origins • Automated testing of change-lists across multiple SKUs and configurations. • Does not replace CIS. Works with it by preventing bad code from entering source control in the first place. • Number of monthly broken builds decreased from ~300 at peak to less than 30. Remaining build breaks where due to developers circumventing the pre-flight system. • Supported significant increase in developer velocity by ensuring developers and QA always had a working, up to the minute build. Remember, game quality comes, in part, from iteration opportunity. 0 100 200 300 400 MAR '06 AUG '07 Pre-Flight Solution Deployed E3 Demo
  • 7. HEAT MAPS • Aggregate telemetry to pinpoint trends and adjust the design of the game accordingly • Identify performance problems; frame-rate, memory usage, latency • Support QA in making coverage evaluations SESSION PLAYBACK • All gameplay session events are recorded via integrated telemetry system • Events, bugs, crashes are all visualized both spatially and temporally • Supports GPS-style playback to aid design balancing and crash reproduction • QA is better able to target testing and communicate concerns DASHBOARDS • Effective delivery of key data for the project: • Integrated and presented alongside our game telemetry • Surfaced throughout the studio on TVs in common areas • Branded to our projects • High visual fidelity and ‘coolness’ factor increased use REPORTS • Customized implementation of Kibana & Elastic Search • Kibana supports rapid report creation and the flat database gives us fast access • Multiple customers: • Design use for game balance • Programming use for performance • Production & QA use for project health DATA VISUALIZATION
 AND TELEMETRY
  • 8. ADVANCED
 BUG FILING CUSTOM BUG TOOLS • Custom interface that sits on top of existing industry standard tools like JIRA and DevTrack: • Unique interface depending on project role: QA vs. Dev • Details are filled out procedurally • Hot-links to content in editor for rapid fixes • Advanced duplicate issue detection via machine learning partnership with local university. INTEGRATED WITH TELEMETRY VISUALIZATION • All bugs are aligned with session telemetry • Active bugs can be visualized via a web- based 2D map (featured) or in-game • Aids in identifying problem areas, untested areas and rapid regression of ‘claimed fixed’ • Crashes are filed automatically, aggregated with ‘like’ and, due to captured session data, quickly resolved by programmers.
  • 9. The games BioWare is developing for the future will be larger and more complex than anything we’ve ever made before. Procedural content generation is becoming common place in the industry, and if games were hard to test before, it’s only going to get more difficult. To meet this challenge BioWare will continue to invest in QA Technology as a means to help deliver quality experiences for our players. As the scope of our games increase, we must invent new ways to assure quality in both our processes and the complex systems that define our games, while at the same time becoming better at informing development on the ‘fun’ of our product. Player Modelling Formalize models of our players to better understand their preferred play-styles Run player models against ‘beat reports’ that track the rhythm of game activities, to ensure high-levels of continuous engagement MVB: Minimum Valuable Bug Building an automated bug pipeline by adding procedurally generated repro-steps, indexed video aligned with telemetry, and additional machine learning Create effective, resolvable bugs for development AND reduce tester burden when filing them Heuristic Automation Procedural content generation is driving need for procedural quality evaluation Automatically apply value models for ‘fun’ or ‘interest’ against content Reduce the amount of content that needs to have eyes on it during formative development stages LOOKING FWD