Implementing a comprehensive automated testing system is a daunting task, but can reap huge rewards for any development team. Commercial solutions are often unweidly, expensive and require significant customization to meet an organizations needs, so my team and I decided to build our own system.
I detail how of my (small) team of quality engineers and I used solid design principals and iterative development process to build a distributed, extensible, scalable, cross platform test automation system using OSS tools and operating systems. Today, the Puppet Labs test system is mature, stable, and capable, but it took many iterations and collaboration with devs, ops, and the community to get us there.
In the presentation I will cover:
- System design and architecture
- Collaboration: QA, Dev, Ops, community
- OSS tools such as Jenkins and Beaker
- DevOps techniques used to deploy and manage a large, distributed test system
- Challenges and pitfalls of implementing and managing a large testing system
A bit about myself: Currently I am an Engineering Manger/Systems Engineer at Puppet Labs. I have roughly 18 years industry experience, I am a long time Linux user (since 1993), OSS advocate and general UNIX/Linux geek.
Other talks I've given on (roughly) similar topic: