2. Hello!
I am Joe Phan
You can find me at:
◆ https://www.linkedin.com/in/joe-phan-28b25a120/
◆ Grenade.Eminem@gmail.com
2
3. What is a CI/CD pipeline?
A CI/CD pipeline helps you automate steps in your
software delivery process, such as initiating code
builds, running automated tests, and deploying to
a staging or production environment. Automated
pipelines remove manual errors, provide
standardized development feedback loops and
enable fast product iterations.
3
4. A typical CI/CD pipeline:
◆ Build phase
◆ Testing phase
◆ Deploy phase
◆ Automated testing phase
◆ Deploy to production phase
4
6. What makes a good CI/CD pipeline
◆ Speed: If the developers have to wait longer than 15 minutes?
◆ Accuracy: it must run and visualize the entire software delivery process
◆ Reliability: The pipeline must ensure the output is always stabilized with
the same input without oscillations in runtime
◆ Comprehension: A good CI/CD pipeline needs to cover as many as
possible all the aspects of a seamless software delivery process
6
8. The risk of end-to-end testing
◆ End-to-end tests are slow and brittle
◆ Lacking error-localization
◆ UI-testing tools like Selenium and attempt to wrap them in
complex(replace manual QA testing)
8
9. Unit test vs Web-Regression test
◆ Long running tests suites; 30 mins-4
hours, sometimes days
◆ Flakey tests fails 1 in 10 or even 1 in 3
runs
◆ Too much time by QA and devs creating
and maintaining regression tests;
◆ Environments broken or not reflecting
production
9
13. What is the test pyramid?
The pyramid says that tests on the lower levels are
cheaper to write and maintain, and quicker to run. Tests
on the upper levels are more expensive to write and
maintain, and slower to run. Therefore you should have
lots of unit tests, some service tests, and very few UI
tests.
13
14. Five Steps to Enable Quality at Speed
◆ Build a Foundation of Unit Tests
◆ Avoid Relying on Late-Cycle UI-Centric Testing
◆ Understand Code Coverage for the Entire Testing Pyramid
◆ Shift Left with Service Virtualization
◆ Leverage Change Impact Analysis to Accelerate Agile
14