Continuous Integration Processes and SCM To Support Test Automation SIGIST Conference, July 2013 Gal Fatal Gal.fatal@ATT.com 054-342-3864
AT&T Israel Center of Excellence AT&T Worldwide One of the largest telecom companies in the world Over 250,000 employees worldwide AT&T Israel R&D Center Formerly Interwise, Ltd. Purchased by AT&T in 2007 Employment growth of 1,000% in 5 years Main Lines of Business Connect Unified Communications Consumer Mobility IMS (Backend Components) 2
Gal Fatal MBA Managing Configuration Management teams since 1999 Pre-AT&T: Intel, Siemens, Perigen AT&T (Interwise) since 1997 Experience: Source control services Installer development Continuous integration processes
Agenda Moving from Waterfall to Agile (scrum) at AT&T Continuous Integration processes Bug lifecycle in scrum How we provide fast and flexible builds Sanity tests and automation How we make multi-platform testing possible Saving time with automatic environment installations Demo 4
Waterfall Development 1994-2011 5
Waterfall Dev group QA group 6
Waterfall Dev group QA group 7
Waterfall Lifecycle at AT&T Connect Main Development Milestone 3 weeks 1 week Dev Build and Integration tests QA runs tests and opens bugs Build took 4 days Compilation problems Manual processes Build machine resources Environments Version Release 1 2 3 4 5 6 7 8 Bugs and Stability 8
Waterfall Lifecycle at AT&T Connect Stability and Bugs Milestone 3 weeks 1 week Dev resolves bugs Build and Integration tests QA verifies bugs Version release 1 2 3 4 5 6 7 8 Bugs and stability 9
Agile Scrum Developers QA 10
Waterfall to Agile Scrum at AT&T Connect Agile Scrum Development Sprint 3 weeks Dev + QA Continuous Integration Version Release 1 2 3 4 5 6 7 8 9 10 11 12 13 Stability 11
Continuous Integration Processes Publish report Source control build Run automated sanity tests Deploy to test environment Continuous Integration Static code analysis Run automated unit Tests Prepare test environment Packaging 12
Bug Lifecycle in Scrum In scrums, bugs have the highest priority and there s a Zero-bug-approach! Complete user story Build Find bug Fix bug Build Verify bug Sometimes, to save time, QA don t open bug entries We have to rapidly supply builds as part of Continuous Integration 13
How We Provide Fast and Flexible Builds We moved from physical-build machines to VMs Each product build runs on a separate VM Builds are run in parallel We use IncrediBuild for a 10-fold increase in compilation time Scrum Masters or authorized users can start a build, any time, with a single click We added flexible reporting We use Jenkins 14
Sanity Tests: We Automate Them Sanity test = Product installation Application load Basic functionality working as expected Reporting We use JSystem (based on Java ) to write the tests QA team write and maintain scenarios We run nightly sanity tests, using PowerShell scripts 15
How We Made Multi-platform Testing Possible The Challenge We don t know our client configurations OS: XP /Windows 7 /Windows 8, 32/64 bit Browsers: Chrome /Internet Explorer 7-10 MS Office : 2003/2007/2010 Admin/None Admin We can think of 100s of combinations Manual testing by QA on all platforms is impossible Early feedback is missing 16
How We Made Multi-platform Testing Possible Shutdown VM Restart VM Virtual Machines Win7 32 Win7 64 XP 32 Win 8 Report Running nightly Go back to snapshot Chrome FireFox IE9 IE10 Run sanity tests Install latest product version 17
We Save Time with Automatic Environment Installations Our environment includes more than 10 different kinds of servers and DBs Environment preparation takes no more than 1 day We use VMs We prepare snapshots in advance CI environments go back to production versions every night and automatically upgrade to latest versions We have different environments for QA, Dev, CI, etc. 18
Demo 19
Report Example 20
Summary Waterfall to Agile Continuous Integration Rapid, fast builds Sanity tests Multi-platform testing Environment installations 21
Thank You SIGIST Conference, July 2013 Gal Fatal Gal.fatal@ATT.com 054-342-3864