24
www.ness.com Smarter. Faster. Closer.

Test Automation and Continuous Integration

Embed Size (px)

Citation preview

  • 1.Smarter. Faster. Closer.www.ness.com

2. Smarter. Faster. Closer.www.ness.com 3. CONTINUOUS INTEGRATION AND AUTOMATION TESTING November 2013Smarter. Faster. Closer. 2012 Ness Technologies 4. Continuous Integration & Automation Testing SummaryContinuous Integration Process Continuous Integration Practices Automation Testing in Continuous Integration Environment Case StudyQ&ASmarter. Faster. Closer.4www.ness.com 5. Continuous Integration & Automation Testing Problem definitionWhy should we improve our development process? Lower maintenance costsLess bugsBe flexible adapt to change more easilyRelative cost of fixing software issue during different stages of life cycleLower development costsHappy stakeholders!How can we improve our development process? Better visibilityFaster feedbackQuality metrics 5Better testing practicesSmarter. Faster. Closer.Standardized build practicesAutomate! www.ness.com 6. Continuous Integration & Automation Testing Process before & afterUsing CI to improve your developmentSmarter. Faster. Closer.6www.ness.com 7. Continuous Integration & Automation Testing CI Process Developers check out code and commit the changes to the repositoryThe CI server monitor the repository and checks out changes when they occurThe CI server builds the system and run unit testsThe CI server releases deployable artifacts for QA testingSmarter. Faster. Closer.7www.ness.com 8. Continuous Integration & Automation Testing CI Process The CI server assigns a build label to the version of the code that it just builtThe CI server informs the team of the successful buildIf the build or tests fail, the CI server alerts the teamThe team fixes the issues at the earliest opportunitySmarter. Faster. Closer.8www.ness.com 9. Continuous Integration & Automation Testing CI ProcessContinually integrate and test through the project lifecycleSmarter. Faster. Closer.9www.ness.com 10. Continuous Integration & Automation Testing PracticesMaintain a single Source RepositoryAutomate the build Make your build self-testable Every commit should build on an integration machine Keep the build fastMake it easy for anyone to get the latest executable Everyone can see whats happening Automate deploymentSmarter. Faster. Closer.10www.ness.com 11. Continuous Integration & Automation Testing Automation Testing in CI EnvironmentCheaper FasterReliableSmarter. Faster. Closer.11www.ness.com 12. Continuous Integration & Automation Testing CI Process with Automation TestingAutomation Testing approach in CI processSmarter. Faster. Closer.12www.ness.com 13. Continuous Integration & Automation Testing Automation Testing in CI Environment - BenefitsScheduling execution of the automation testsCI platform supports parallel test execution Notification is a built-in step Reporting is available to the entire team Speed up the testing process Early feedback on products quality Improving the quality and accuracy Reducing testing risk and timeProviding better project visibility Quick defect detectionSmarter. Faster. Closer.13www.ness.com 14. Continuous Integration & Automation Testing Business CaseBusiness caseSmarter. Faster. Closer.14www.ness.com 15. Continuous Integration & Automation Testing TeamCity real-time business caseMultiple build agents Integration with Source Repository SVN, TFS Integration with Bug Tracking Tools Jira, Bugzilla Historical Build Statistics Easy to integrate script files to do specific actions Unit Tests execution & code coverage support Code quality tools integration Automated deploys Code review capability Pre-tested commits supportSmarter. Faster. Closer.15www.ness.com 16. Continuous Integration & Automation Testing TeamCity real-time business caseContinuous Integration Build for each commit / pre-tested commit just sanity build, no release / deploy triggered automaticallyNightly Build executed each night together with UnitTests, Automation Tests, code quality step, code coverage step, eventually deploy on test server if needed triggered automaticallySprint Build manually executed on-demand for each end-sprint version together with UnitTests, Automation Tests, code quality step, code coverage step, deploy on test server triggered manuallyRelease Build manually executed on-demand for an official release together with UnitTests, Automation Tests, code quality step, code coverage step, deploy on test server triggered manuallyUAT Build - manually executed on-demand for an official release together with UnitTests, Automation Tests, code quality step, code coverage step, deploy on UAT server triggered manuallySmarter. Faster. Closer.16www.ness.com 17. Continuous Integration & Automation Testing TeamCity real-time business caseIntegrating Automation Framework in TeamCitySmarter. Faster. Closer.17www.ness.com 18. Continuous Integration & Automation Testing TeamCity real-time business caseBuild history for Automation FrameworkSmarter. Faster. Closer.18www.ness.com 19. Continuous Integration & Automation Testing ReportingThe key artifact of automated testing is REPORTINGSmarter. Faster. Closer.19www.ness.com 20. Continuous Integration & Automation Testing ReportingTest report for single projectSmarter. Faster. Closer.20www.ness.com 21. Continuous Integration & Automation Testing ReportingResult log for single testSmarter. Faster. Closer.21www.ness.com 22. Continuous Integration & Automation Testing Short summary - conclusionIt is a software development practice Describing how to integrate changes frequently Stabilizing the product through self-testing code Each check-in is verified by an automated build Allowing teams to detect problems earlySmarter. Faster. Closer.22www.ness.com 23. Continuous Integration & Automation Testing Q&ASmarter. Faster. Closer.23www.ness.com 24. Smarter. Faster. Closer.24www.ness.com