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

Advanced Operating Systems
Georgia Institute of Technology via Udacity
High Performance Computing
Georgia Institute of Technology via Udacity
GT - Refresher - Advanced OS
Georgia Institute of Technology via Udacity
Distributed Machine Learning with Apache Spark
University of California, Berkeley via edX
CS125x: Advanced Distributed Machine Learning with Apache Spark
University of California, Berkeley via edX