SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Functional Continuous Integration SeleniumRC and Hudson David Jellison: Director, Quality Engineering Collin Riley: Principal Quality Engineer January 25, 2011
Agenda About US Continuous Integration (CI) Concepts Continuous Integration (CI) Concept Functional Continuous Integration (FCI) Extends the concept SeleniumRC is part of the capability for an FCI strategy Continuous Integration Servers make CI easy Constant Contact FCI Approach Hudson is a rich dashboard to orchestrate traditional CI & FCI How Constant Contact uses Hudson and SeleniumRC for FCI  What other pieces are in the FCI framework at Constant Contact  Q&A
Speakers David Jellison: Director, Quality Engineering David has 18 years experience in test and development management, and over the last 4.5 years he led agile development and test organizations with .Net, Rails, and Java stacks in SaaS organizations. David is passionate about test leadership and efficient software development practices. He is consistently has his hands in technological and agile practice continuous improvement. Collin Riley: Principal Quality Engineer Collin is the architect of Constant Contact's use of Selenium RC in our Java automation framework utilizing Hudson. This framework integrates with Quality Center, uses page objects, and other scalable features. Collin has 8 years Quality Engineering and automation experience and has been using Selenium RC for over two years.
Who is Constant Contact? (CTCT) Constant Contact Corporate Helps small businesses, associations, and nonprofits connect with their customers, clients, and members. (>400,000 subscribers) Launched in 1998, Constant Contact champions the needs of small organizations and provides them with an easy and affordable way to build successful, lasting customer relationships. Constant Contact Engineering ~200 people, ~16 Agile teams (½ product & ½ services) ~30 in Quality Engineering, 3:1 Dev:QE SaaS (Software as a Service), Java/JBoss/CentOS/DB2 stack, live up-time deployments to production Practice ScrumBan (blend of Scrum release management and KanBan work item management) Use Java/Groovy test scripts with SeleniumRC and Java libraries for functional tests
CI Concepts
Assumptions Familiar with the following: Selenium Remote Control (SeleniumRC) Agile Practices (what Scrum and eXtreme Programming are) Source Code Repository (e.g. ClearCase, CVS, SVN, Git, etc.) Integrated Development Environment (IDE - e.g. Eclipse) Infrastructure Monitoring (e.g. Nagios) xUnit test runner family (e.g. JUnit, NUnit, Test:Unit etc.)
Continuous Integration “Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.”  	– Martin Fowler (martinfowler.com) Approach (Developer Focused) Developer creates unit tests along with new and re-factored code Developer builds and runs unit tests locally often Developer often commits code to a source code repository that is auto-built, tested, and packaged on a CI server Benefits Significantly reduce integration problems Allows teams to develop cohesive software more rapidly Note: The term ‘Continuous Integration’ was introduced as one of the 12 practices of eXtreme Programming.
Continuous Delivery Deployment Automation Theme of reducing cycle time between idea and usable software Culture of frequent reliable deliveries Configuration management for OS, Server, and Application settings Manifest description of each environment Machines and their allocation of applications Database and resource permissions Load balancer configuration Test Environments Represent configuration of production (manifest for each) Rely on manifest and deployment automation for changes Dedicated CI test environment to validate deployment automation with each change
Functional Continuous Integration (FCI) Prerequisites Continuous Integration (CI) practices Continuous Delivery (Deployment Automation) practices Dedicated CI test environment (minimum configuration) CI Functional Tests Deployment tests that prove a system is properly configured Application smoke tests that prove an application is testable Extend the culture of break-the-build urgency Passing tests can be delivered to test environments or production Failing tests require immediate attention to resolving problems Benefits Robust deployments to stable test environments Frequent deliveries to production Increased release confidence, lowering business risk
Challenges of scaling CI and FCI Multiple Branches Rebasing often (merge back from trunk) Merge back to trunk as often as feasible Multiple repositories Package integration installers often (automated packaging) Package library includes and dependencies carefully Many services and applications Distributed application architecture Clearly defined interfaces (with versioning) Test fixtures (test components in isolation) Health check requests for infrastructure monitoring (e.g. Nagios) Deploy and functional test often Require functional regression tests with new features
Agile Testing Collaborating with Developers Agile Testers collaborate with Developers Developers participate in test planning Testers participate in feature design Testers test as early as code changes are available Domain expertise Traditional and exploratory testing Develop automated test cases Developers work with testers to keep page objects consistent with application pages as code changes are delivered Developers run regression tests prior to check-in Regression tests consistently pass with automated test runs
With passing tests, commit changes Agile Testing QE & Dev work together to create, re-factor, and update functional regression tests Dev deploys to sandbox system QE runs tests against the sandbox Dev updates the application code for problems found – no defects written When all tests are complete and working, Dev commits changes FCI
Constant Contact
Functional Test Needs Test Case Manager (Quality Center) Representation of what is automated & automation runs Test Runner (SeleniumRC / Junit / Page Objects) Browser & OS Testing Scalability Run Manager (Hudson) Push-button runs Parallel test runs Run reporting and artifacts Drill-in Run Reports (internal reporting application) Reporting Application leveraging Quality Center Aggregate run reports Dynamic charts
Choosing Hudson for FCI Dashboard Familiar Java-based server Hudson was already CI server choice by Release Engineering Job flexibility Can configure job parameters, run externally, run a collection of other jobs, produce artifacts, permission levels Job Queuing Can create slave pools to queue many jobs to cycle through the target slave pool Job Agents Control over agent machines Iframe views Can create dashboard applications on a report server and integrate into Hudson views. Support many plug-ins to CI tools
Test Automation Stack
Test Automation Stack
FCI Flow – Authoring Tests Quality Center Add Test Case(s) / Test Plan Test Templates Pull Templates from QC into the Java Framework Write the Test Code  Page Object classes Helper methods Web Class Reporting Class Test locally Once Pass, mark in QC for Hudson
FCI Flow – Before Running in Hudson Build the Java Project in Hudson Push to Hudson slaves Java Project Jars Custom Firefox profile Host file entries Restart Selenium Server Instances on Slaves Publish Hudson Jobs Talk to QC and Push Jobs to Hudson Test Plans automated Selenium based Webservice based Run Types
FCI Flow – Running with Hudson Launch a Run Hudson talks to QC for what to run Hudson adds Testplans to the build queue n Number of slaves pull from the queue in parallel Test Plans report back To Hudson Red or Green Archive html report with screenshots Junit output To QC Full results for TestCases Status with framework Run Id Detail info for each step of the TestCase
Running Tests Repository Pool of Win Machines Environment 1 Build Test Jar Pool of Apple Machines Smoke Daily QC Suite 01 Suite 02 Suite 03 Suite 04
Reporting View Reporting Via a simple Java web application integrated into Hudson View Aggregate reporting for all TestPlans in a Run Graphing Trends, Pies Drill in grid based reports Compare run over past runs Act on Reporting After Failure is investigated Mark Failure as Known Defect Script Issue Configuration Issue
Run Results Wiki regression status charts Email drill-in grid report
Drill into run comparison grid & detail report
Q&A

Weitere ähnliche Inhalte

Was ist angesagt?

Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testingsthicks14
 
Unosquare SlideShare Presentation
Unosquare SlideShare PresentationUnosquare SlideShare Presentation
Unosquare SlideShare PresentationMichael Barrett
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft StackDeepti Jain
 
Continuous Integration for Salesforce1 Platform
Continuous Integration for Salesforce1 PlatformContinuous Integration for Salesforce1 Platform
Continuous Integration for Salesforce1 PlatformTechsophy Inc.
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testingpriya_trivedi
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerRobbie Minshall
 
CI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABITCI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABITalkhan50
 
11+YrsQAProfile_ ValidH1BAug2018
11+YrsQAProfile_ ValidH1BAug201811+YrsQAProfile_ ValidH1BAug2018
11+YrsQAProfile_ ValidH1BAug2018Arun R
 
Team Foundation Server 2010 - Overview
Team Foundation Server 2010 - OverviewTeam Foundation Server 2010 - Overview
Team Foundation Server 2010 - OverviewSteve Lange
 
William Truong_updated
William Truong_updatedWilliam Truong_updated
William Truong_updatedBill Truong
 
Release Management for Large Enterprises
Release Management for Large EnterprisesRelease Management for Large Enterprises
Release Management for Large EnterprisesSalesforce Developers
 
ІГОР ПАВЛЕНКО «QA role in DevOps world» Online QADay 2021
ІГОР ПАВЛЕНКО «QA role in DevOps world» Online QADay 2021ІГОР ПАВЛЕНКО «QA role in DevOps world» Online QADay 2021
ІГОР ПАВЛЕНКО «QA role in DevOps world» Online QADay 2021GoQA
 
Deploying and releasing applications
Deploying and releasing applicationsDeploying and releasing applications
Deploying and releasing applicationsMa Xuebin
 
End-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementEnd-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementHosam Kamel
 
Build & Release Engineering
Build & Release Engineering Build & Release Engineering
Build & Release Engineering Pranesh Vittal
 
Zibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company InidaZibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company InidaZibraSoft Technologies
 

Was ist angesagt? (20)

SAP Testing
SAP TestingSAP Testing
SAP Testing
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testing
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
 
Unosquare SlideShare Presentation
Unosquare SlideShare PresentationUnosquare SlideShare Presentation
Unosquare SlideShare Presentation
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft Stack
 
Continuous Integration for Salesforce1 Platform
Continuous Integration for Salesforce1 PlatformContinuous Integration for Salesforce1 Platform
Continuous Integration for Salesforce1 Platform
 
kishore
kishorekishore
kishore
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testing
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
CI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABITCI-solutions-Versus-AutoRABIT
CI-solutions-Versus-AutoRABIT
 
11+YrsQAProfile_ ValidH1BAug2018
11+YrsQAProfile_ ValidH1BAug201811+YrsQAProfile_ ValidH1BAug2018
11+YrsQAProfile_ ValidH1BAug2018
 
Team Foundation Server 2010 - Overview
Team Foundation Server 2010 - OverviewTeam Foundation Server 2010 - Overview
Team Foundation Server 2010 - Overview
 
William Truong_updated
William Truong_updatedWilliam Truong_updated
William Truong_updated
 
Release Management for Large Enterprises
Release Management for Large EnterprisesRelease Management for Large Enterprises
Release Management for Large Enterprises
 
ІГОР ПАВЛЕНКО «QA role in DevOps world» Online QADay 2021
ІГОР ПАВЛЕНКО «QA role in DevOps world» Online QADay 2021ІГОР ПАВЛЕНКО «QA role in DevOps world» Online QADay 2021
ІГОР ПАВЛЕНКО «QA role in DevOps world» Online QADay 2021
 
Deploying and releasing applications
Deploying and releasing applicationsDeploying and releasing applications
Deploying and releasing applications
 
End-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementEnd-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle Management
 
Build & Release Engineering
Build & Release Engineering Build & Release Engineering
Build & Release Engineering
 
Zibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company InidaZibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company Inida
 
Pradeep.CL
Pradeep.CLPradeep.CL
Pradeep.CL
 

Ähnlich wie Functional Continuous Integration with Selenium and Hudson

Neotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga MoorthyNeotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga MoorthyNeotys_Partner
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0Jasmine Conseil
 
Continuous Delivery in a Complex S.O.A.
Continuous Delivery in a Complex S.O.A.Continuous Delivery in a Complex S.O.A.
Continuous Delivery in a Complex S.O.A.Richard Lennox
 
Fllow con 2014
Fllow con 2014 Fllow con 2014
Fllow con 2014 gbgruver
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DevOps Enterprise Summmit
 
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...Gene Kim
 
Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case StudyIndicThreads
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseDBmaestro - Database DevOps
 
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiHo Chi Minh City Software Testing Club
 
VIVEKSHUKLA_10YRS_TESTAUTOMATION_SELENIUM
VIVEKSHUKLA_10YRS_TESTAUTOMATION_SELENIUMVIVEKSHUKLA_10YRS_TESTAUTOMATION_SELENIUM
VIVEKSHUKLA_10YRS_TESTAUTOMATION_SELENIUMVivek Shukla
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 
SUNIL_Senior_Test_Analyst
SUNIL_Senior_Test_AnalystSUNIL_Senior_Test_Analyst
SUNIL_Senior_Test_AnalystSunil Deva
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Steve Lange
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysDynatrace
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectDevOps.com
 
MD Tareque Automation
MD Tareque AutomationMD Tareque Automation
MD Tareque AutomationMD Tareque
 

Ähnlich wie Functional Continuous Integration with Selenium and Hudson (20)

Neotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga MoorthyNeotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga Moorthy
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
Continuous Delivery in a Complex S.O.A.
Continuous Delivery in a Complex S.O.A.Continuous Delivery in a Complex S.O.A.
Continuous Delivery in a Complex S.O.A.
 
Fllow con 2014
Fllow con 2014 Fllow con 2014
Fllow con 2014
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
 
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
 
Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case Study
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterprise
 
Ibm innovate ci for system z
Ibm innovate ci for system zIbm innovate ci for system z
Ibm innovate ci for system z
 
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
 
Shashank_Venkataramanacharya
Shashank_VenkataramanacharyaShashank_Venkataramanacharya
Shashank_Venkataramanacharya
 
VIVEKSHUKLA_10YRS_TESTAUTOMATION_SELENIUM
VIVEKSHUKLA_10YRS_TESTAUTOMATION_SELENIUMVIVEKSHUKLA_10YRS_TESTAUTOMATION_SELENIUM
VIVEKSHUKLA_10YRS_TESTAUTOMATION_SELENIUM
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
 
SUNIL_Senior_Test_Analyst
SUNIL_Senior_Test_AnalystSUNIL_Senior_Test_Analyst
SUNIL_Senior_Test_Analyst
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
MD Tareque Automation
MD Tareque AutomationMD Tareque Automation
MD Tareque Automation
 

Kürzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

Functional Continuous Integration with Selenium and Hudson

  • 1. Functional Continuous Integration SeleniumRC and Hudson David Jellison: Director, Quality Engineering Collin Riley: Principal Quality Engineer January 25, 2011
  • 2. Agenda About US Continuous Integration (CI) Concepts Continuous Integration (CI) Concept Functional Continuous Integration (FCI) Extends the concept SeleniumRC is part of the capability for an FCI strategy Continuous Integration Servers make CI easy Constant Contact FCI Approach Hudson is a rich dashboard to orchestrate traditional CI & FCI How Constant Contact uses Hudson and SeleniumRC for FCI What other pieces are in the FCI framework at Constant Contact Q&A
  • 3. Speakers David Jellison: Director, Quality Engineering David has 18 years experience in test and development management, and over the last 4.5 years he led agile development and test organizations with .Net, Rails, and Java stacks in SaaS organizations. David is passionate about test leadership and efficient software development practices. He is consistently has his hands in technological and agile practice continuous improvement. Collin Riley: Principal Quality Engineer Collin is the architect of Constant Contact's use of Selenium RC in our Java automation framework utilizing Hudson. This framework integrates with Quality Center, uses page objects, and other scalable features. Collin has 8 years Quality Engineering and automation experience and has been using Selenium RC for over two years.
  • 4. Who is Constant Contact? (CTCT) Constant Contact Corporate Helps small businesses, associations, and nonprofits connect with their customers, clients, and members. (>400,000 subscribers) Launched in 1998, Constant Contact champions the needs of small organizations and provides them with an easy and affordable way to build successful, lasting customer relationships. Constant Contact Engineering ~200 people, ~16 Agile teams (½ product & ½ services) ~30 in Quality Engineering, 3:1 Dev:QE SaaS (Software as a Service), Java/JBoss/CentOS/DB2 stack, live up-time deployments to production Practice ScrumBan (blend of Scrum release management and KanBan work item management) Use Java/Groovy test scripts with SeleniumRC and Java libraries for functional tests
  • 6. Assumptions Familiar with the following: Selenium Remote Control (SeleniumRC) Agile Practices (what Scrum and eXtreme Programming are) Source Code Repository (e.g. ClearCase, CVS, SVN, Git, etc.) Integrated Development Environment (IDE - e.g. Eclipse) Infrastructure Monitoring (e.g. Nagios) xUnit test runner family (e.g. JUnit, NUnit, Test:Unit etc.)
  • 7. Continuous Integration “Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.” – Martin Fowler (martinfowler.com) Approach (Developer Focused) Developer creates unit tests along with new and re-factored code Developer builds and runs unit tests locally often Developer often commits code to a source code repository that is auto-built, tested, and packaged on a CI server Benefits Significantly reduce integration problems Allows teams to develop cohesive software more rapidly Note: The term ‘Continuous Integration’ was introduced as one of the 12 practices of eXtreme Programming.
  • 8. Continuous Delivery Deployment Automation Theme of reducing cycle time between idea and usable software Culture of frequent reliable deliveries Configuration management for OS, Server, and Application settings Manifest description of each environment Machines and their allocation of applications Database and resource permissions Load balancer configuration Test Environments Represent configuration of production (manifest for each) Rely on manifest and deployment automation for changes Dedicated CI test environment to validate deployment automation with each change
  • 9. Functional Continuous Integration (FCI) Prerequisites Continuous Integration (CI) practices Continuous Delivery (Deployment Automation) practices Dedicated CI test environment (minimum configuration) CI Functional Tests Deployment tests that prove a system is properly configured Application smoke tests that prove an application is testable Extend the culture of break-the-build urgency Passing tests can be delivered to test environments or production Failing tests require immediate attention to resolving problems Benefits Robust deployments to stable test environments Frequent deliveries to production Increased release confidence, lowering business risk
  • 10. Challenges of scaling CI and FCI Multiple Branches Rebasing often (merge back from trunk) Merge back to trunk as often as feasible Multiple repositories Package integration installers often (automated packaging) Package library includes and dependencies carefully Many services and applications Distributed application architecture Clearly defined interfaces (with versioning) Test fixtures (test components in isolation) Health check requests for infrastructure monitoring (e.g. Nagios) Deploy and functional test often Require functional regression tests with new features
  • 11. Agile Testing Collaborating with Developers Agile Testers collaborate with Developers Developers participate in test planning Testers participate in feature design Testers test as early as code changes are available Domain expertise Traditional and exploratory testing Develop automated test cases Developers work with testers to keep page objects consistent with application pages as code changes are delivered Developers run regression tests prior to check-in Regression tests consistently pass with automated test runs
  • 12. With passing tests, commit changes Agile Testing QE & Dev work together to create, re-factor, and update functional regression tests Dev deploys to sandbox system QE runs tests against the sandbox Dev updates the application code for problems found – no defects written When all tests are complete and working, Dev commits changes FCI
  • 14. Functional Test Needs Test Case Manager (Quality Center) Representation of what is automated & automation runs Test Runner (SeleniumRC / Junit / Page Objects) Browser & OS Testing Scalability Run Manager (Hudson) Push-button runs Parallel test runs Run reporting and artifacts Drill-in Run Reports (internal reporting application) Reporting Application leveraging Quality Center Aggregate run reports Dynamic charts
  • 15. Choosing Hudson for FCI Dashboard Familiar Java-based server Hudson was already CI server choice by Release Engineering Job flexibility Can configure job parameters, run externally, run a collection of other jobs, produce artifacts, permission levels Job Queuing Can create slave pools to queue many jobs to cycle through the target slave pool Job Agents Control over agent machines Iframe views Can create dashboard applications on a report server and integrate into Hudson views. Support many plug-ins to CI tools
  • 18. FCI Flow – Authoring Tests Quality Center Add Test Case(s) / Test Plan Test Templates Pull Templates from QC into the Java Framework Write the Test Code Page Object classes Helper methods Web Class Reporting Class Test locally Once Pass, mark in QC for Hudson
  • 19. FCI Flow – Before Running in Hudson Build the Java Project in Hudson Push to Hudson slaves Java Project Jars Custom Firefox profile Host file entries Restart Selenium Server Instances on Slaves Publish Hudson Jobs Talk to QC and Push Jobs to Hudson Test Plans automated Selenium based Webservice based Run Types
  • 20. FCI Flow – Running with Hudson Launch a Run Hudson talks to QC for what to run Hudson adds Testplans to the build queue n Number of slaves pull from the queue in parallel Test Plans report back To Hudson Red or Green Archive html report with screenshots Junit output To QC Full results for TestCases Status with framework Run Id Detail info for each step of the TestCase
  • 21. Running Tests Repository Pool of Win Machines Environment 1 Build Test Jar Pool of Apple Machines Smoke Daily QC Suite 01 Suite 02 Suite 03 Suite 04
  • 22. Reporting View Reporting Via a simple Java web application integrated into Hudson View Aggregate reporting for all TestPlans in a Run Graphing Trends, Pies Drill in grid based reports Compare run over past runs Act on Reporting After Failure is investigated Mark Failure as Known Defect Script Issue Configuration Issue
  • 23. Run Results Wiki regression status charts Email drill-in grid report
  • 24. Drill into run comparison grid & detail report
  • 25. Q&A
  • 26. http://ConstantContact.com/Careers Quality Engineering Senior Quality Engineer - Event Marketing - Waltham, MA Senior Quality Engineer - Contact Management - Waltham, MA Senior Quality Engineer - Scalable Infrastructure - Waltham, MA Senior Quality Engineer - Web Services - Waltham, MA Software Development Principal Software Engineer - Online Survey - Waltham, MA Principal Software Engineer - Website - Waltham, MA Principal Software Engineer, Social Media - San Francisco, CA Senior Software Engineer - Event Marketing - Waltham, MA Senior Software Engineer - San Francisco, CA Senior Software Engineer - Waltham, MA Senior Software Engineer - Waltham, MA Senior Software Engineer - Waltham, MA Software Development Manager - Waltham, MA Software Engineer - Waltham, MA Software Engineer - Social Media - San Francisco, CA