|Session Name:||A Two-Part Technique for Efficiently Scaling Build and Test Automation|
|Company Name(s):||Electronic Arts|
|Track / Format:||Programming|
Keeping the build stable is expensive. QA effort is best spent checking for authenticity and fun, not looking for software bugs. Developers can write unit tests or run extensive at-desk testing, but their time is best spent writing and tuning features. Developer-side automated builds and tests help ensure that everyone's time is focused on what they do best, but automation is challenging to scale efficiently; increasing concurrent soak, sniff, and smoke tests often results in duplicate builds or idling while builds copy. Our two-part technique, involving virtual machines and hard-disk virtualization, can alleviate many of the costs associated with scaling automation. We will present our approaches for parallelizing the build and test processes, how virtual machines can help reduce the duration of the check-in to test result cycle and how hard-disk virtualization can be used further facilitate parallelization and avoid lengthy file copies.