YoVDO

Testing Battle.net - Before Deploying to Millions of Players

Offered By: CppNow via YouTube

Tags

C++Now Courses Software Development Courses Distributed Systems Courses Unit Testing Courses Scalability Courses Dependency Injection Courses Performance Testing Courses Property-based Testing Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore a comprehensive conference talk on testing strategies for large-scale distributed systems, focusing on Battle.net, Blizzard's online gaming service. Dive into practical approaches for designing testable components, structuring classes and data for effective testing, and implementing solutions to verify correctness, performance, and scalability without full-scale deployment. Learn about unit testing techniques for legacy code, dependency injection, data set generation, property-based testing, and algorithmic efficiency evaluation. Gain insights into isolating functionality, handling different input sizes, and generating test data structures. Discover how to plan for failure scenarios, implement shrink functions, and utilize tools like Mersenne Twister for random number generation. Understand the importance of confidence in code through various testing methodologies, including American Fuzzy LOOP and system integration testing, all presented from the perspective of a Battle.net developer.

Syllabus

Introduction
About Battlenet
Why unit testing
Testing large legacy classes
ExhibitA
Constructor
Achievement Service
Inimical Testing
Teasing it apart
queuing for games
GameCubeA
GameFactory
GameMaster
Decouple logic
Dependency injection
Confidence in code
Data sets
Efficiency
Time tests
Algorithmic efficiency
Different sized inputs
Back of the envelope calculations
Timing is difficult
Tests are all about gaining confidence
How to get different sized inputs
Generating data structures
Planning for failure
Propertybased testing
Writing tests
Arithmetic types
Mersenne Twister
Call to Generate
Generation
Function Traits Template
Property
Num checks
Recap
Minimal fail case
Shrink function
Shrink for Strings
Simple Check
Generate Anchor Chain
Rhythmic Test
Complexity Test
Complexity Property
Result of the test
Test code
Generation code
More work
Testing pattern
Arbitrary
American Fuzzy LOOP
Selfish Programmer
System Integration
Algorithmic Testing


Taught by

CppNow

Related Courses

Online Master of Computer Science
Arizona State University via Coursera
Blockchain Scalability and its Foundations in Distributed Systems
The University of Sydney via Coursera
Blockchain Fundamentals: Understanding the Origins, Mechanisms, and Applications of Decentralized Systems
SDA Bocconi School of Management via edX
Blockchain Technology
University of California, Berkeley via edX
Building Globally Distributed Databases with Cosmos DB
Coursera Project Network via Coursera