End-to-End Testing in an Enterprise Agile Environment · End-to-End Testing in an Enterprise Agile...
Transcript of End-to-End Testing in an Enterprise Agile Environment · End-to-End Testing in an Enterprise Agile...
W15 Track 5/6/2009 3:00:00 PM
"End-to-End Testing in an Enterprise Agile Environment"
Presented by:
Billie Bell Intuit, Inc.
Presented at:
330 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 · 904-278-0524 · [email protected] · www.sqe.com
Billie Bell Billie J. Bell, E2E QA Program Manager for Intuit, developed the end-to-end (E2E) QA Program Manager role after recognizing the benefits of engaging QA teams across Intuit's primarily agile project teams in understanding how cross-project integration testing influences achievement of overall business objectives. Using the rollout of specific company-wide initiatives provides a pragmatic context and motivation for development of new processes and promotes an E2E quality mindset beyond QA. Billie’s recent accomplishments include coordinating the integration of 30+ applications with a PCI compliance platform, a consolidated entitlement and software license management platform infrastructure integrating desktop and Web service applications, and a 10-layer subscription and billing SAAS initiative integrating 3rd party and internally-developed applications. Including her eight years at Intuit, Billie brings more than 20 years of experience in enterprise financial software development in QA management, product management, and program management roles in both Fortune 500 and start-up software development companies.
2/16/2009
1
Business Demands
Complex Technology
End-to-End Testing in an Enterprise Agile EnvironmentBillie BellIntuit, Inc.
A il
1
TechnologyAgileDevelopment
This presentation discusses the theory and practice of large scale integration testing
An enterprise working to reach middle
Best practice
Some practical examples of mechanisms Intuit has found to be
An enterprise working to reach middle ground between agile and process-based methodologies
Context
2
practice tip
mechanisms Intuit has found to be effective appear throughout the presentation
2/16/2009
2
Three forces in today’s business environment interact to create challenges for quality leaders
Accelerated Business Demands
Complex Agile
Development
3
Complex Technology
Development
Despite our best efforts, results can sometimes come across as grim headlines
Accelerated Business Demands
Complex Technology
AgileDevelopment
v
4
2/16/2009
3
We expect headlines that reflect our intentions to deliver a high quality release on time
Accelerated Business Demands
Complex Technology
AgileDevelopment
v
5
Today’s challenges bring opportunities to take a fresh look at quality leadership
6
2/16/2009
4
Community
Quality leaders are uniquely capable to set the course for success in today’s business setting
Community organizers for quality
Visibility
7
Visibility promoters
QA leadership role Expand quality definition Enlist all stakeholders
As a community organizer for quality you can build the foundation for end-to-end mindset
8
QA leadership role Expand quality definition Enlist all stakeholders
2/16/2009
5
Start with your own vision
9
QA leadership role Expand quality definition Enlist all stakeholders
Develop shared vision
10
QA leadership role Expand quality definition Enlist all stakeholders
2/16/2009
6
Lead process change across the organization
11
QA leadership role Expand quality definition Enlist all stakeholders
A quality leader’s enhanced role should also include promoting visibility
√ Help QA and other teams see their applications in p Q ppthe context of the enterprise
√ Help the organization stay one step ahead by acknowledging and managing risk
12
QA leadership role Expand quality definition Enlist all stakeholders
2/16/2009
7
Promoting visibility into business rationale is an element of the new role QA leaders play
Business context and relative priority result in more effective testing More of the business
t ti i t idAccelerated
Business Demands
Complex Technology
AgileDevelopment
v
transaction is outside a single application
13
Agile best practices emphasize connection with the customer
QA is a business discipline, not just a set of tasks that occur in serial fashion after development
Best practices to promote visibility bring practicality to the quality community
Some examples of ways to promote visibility
Best practice
tip
p y p y√ Weekly 1-hour Spotlight Sessions for overview
presentation by √ business process experts√ Enterprise and system architects
√ 2-day workshops for more complex, new systems√ Cross-project test case reviews
14
QA leadership role Expand quality definition Enlist all stakeholders
2/16/2009
8
Quality leaders have the perspective to lead the organization in seeing the risks ahead
15
QA leadership role Expand quality definition Enlist all stakeholders
Risk assessment and management by a cross-team network promotes accountability
Use risk planning sessions to
1. Identify risks2. Identify indicators3. Plan mitigation4. Identify response
k
16
5. Monitor risks
QA leadership role Expand quality definition Enlist all stakeholders
2/16/2009
9
Best practices used to manage risk include collaboration and analysis
Ways to uncover risks
Best practice
tip
y√ Pre-assessment questionnaire√ Defect analysis from previous projects√ Risk workshops
17
QA leadership role Expand quality definition Enlist all stakeholders
With a collective understanding of where we are, we can examine how we measure quality
18
2/16/2009
10
Beyond a single
Extend definition of quality
Beyond a single application
Across release cycles
19
cycles
QA leadership role Expand quality definition Enlist all stakeholders
Order System High Level Architectural Diagram
blankblankOrder Sources Payment
Processing and
Cal
l Cen
ter
App
Web applications
blankCall center
and Accounting
20
Proc
esso
r
Legacy applications
2/16/2009
11
Order System High Level Architectural Diagram
blankblank
Cal
l Cen
ter
App
Web applications
blankCall center
21
Proc
esso
r
Legacy applications
The Purchase use case is architecturally nine layers deep
Cal
l Cen
ter
App
22
Proc
esso
r
2/16/2009
12
The Update customer information use case spans five layers
Business Use CaseWeb App
APurchase Update
customer Info
Bill
Order Engine
Web Order Processing
3rd Party CC
Processor
Cal
l Cen
ter
AppCall Centers,
Mail and Fax orders
Process 2
Web App B
Web App CProcess
1
Credit Card Authorization
Cancel Bill subscription
23
Engine
Order Source
Proc
esso
r
IVR
C
Settlement
Financial Accounting
Customer Information
The Cancel use case is 5 layers deep
Cal
l Cen
ter
App
24
Proc
esso
r
C
2/16/2009
13
Bill Subscription use case is executed outside the application
Cal
l Cen
ter
App
25
Proc
esso
r
C
Realities of today’s enterprise technology can leave our traditional quality monitors lacking
26
2/16/2009
14
When it comes to code coverage, the whole is not the sum of its parts
Component Coverage
Component 380%
80% x 80%64% x 80%
Component 280%
Component 180%
27
Process Coverage
80% 64% 51%
QA leadership role Expand quality definition Enlist all stakeholders
Payoff for integration analysis from business and technical view is more robust test cases
Integration analysisIdentify systems and system-to-system interfacesIdentify and high level business transactions that are dependent
Best practice
tip
Identify and high-level business transactions that are dependent on these interfaces or trigger their executionAnalyze the use of data across multiple systems to track data flow and reconciliationSimplify and communicate all of the above
Use UML diagrams to illustrate functional touchpointsSummarize and conceptualize the wealth of informationCommunicate the big picture, provide maps to details
28
Reporting test execution results by functional use case
QA leadership role Expand quality definition Enlist all stakeholders
2/16/2009
15
Onboarding applications post release extend accountability for quality End-to-end testing becomes more like no-end-in-sight testing
29
QA leadership role Expand quality definition Enlist all stakeholders
Onboarding a new applications to our model may appear as a new box on the diagram
Process 2
Web App B
New Web AppProcess
1
Web App A
Order Engine
Web Order Processing
3rd Party CC
Processor
Order Source so
r
Cal
l Cen
ter
AppCall Centers,
Mail and Fax orders
Process 21
Credit Card Authorization
Settlement
30
Source
Pro
ces
IVR Financial Accounting
Customer Information
QA leadership role Expand quality definition Enlist all stakeholders
2/16/2009
16
But in reality, the picture is multi-dimensional
• Backward compatibility
Considerations
New
Web App
Web Order Processing
New
Web App
Process 2Process 1
Web App A
New
Web App
p y• Persistent test infrastructure• Technical support mechanisms
31
Web Order Processing
QA leadership role Expand quality definition Enlist all stakeholders
Test automation and easy integration test mechanisms ensure quality post release
Automated regression testsAutomated smoke tests in pre-production environments on a frequent basis
Best practice
tip
frequent basisAutolab to run build verification regression tests
Can be run on demand by development engineers
Test data mechanismsBaseline test data sets for key data repositoriesTools that verify data synchronization Dynamic data reservation systems to avoid data collisions
32
Dynamic data reservation systems to avoid data collisionsExamples: Test credit cards, license numbers
QA leadership role Expand quality definition Enlist all stakeholders
2/16/2009
17
Success in building an enterprise-wide quality community requires collaboration and inclusion
33
Enlist all stakeholders
34
The less obvious the obvious
QA leadership role Expand quality definition Enlist all stakeholders
2/16/2009
18
QA teams can leverage new best practices used by their development partners
Certain agile best practices provide clear benefits to quality for the project at
Other best practices evolve to provide even greater benefit to end-to-end quality for the project at
hand– Test-driven development
can result in better unit tests
– Retrospectives result in more frequent lessons-learned
benefit to end to end testing– Business use cases created
by system and enterprise architects
– Imbedded developers from upstream projects
35
QA leadership role Expand quality definition Enlist all stakeholders
Business process experts are key contributors throughout the process
I lInvolve business process matter experts in all
Where you find them can differ in every situation
Be flexible in your expectations
36
QA leadership role Expand quality definition Enlist all stakeholders
phases situation
2/16/2009
19
In summary, an effective E2E test strategy is based on shared vision and credible results
• Quality leaders as activists who C t b d lit it – Create a broad quality community
– Enable the organization to maintain sight of the big picture
• Quality defined as a continuum– Outward-focused in addition to being inward-focused– Extending beyond the release cycle
37
• Operationally inclusive of all stakeholders and methodologies– Leveraging agile development practices– Finding more ways to gain from business process expertise across
the company
No single tool or methodology guarantees success for an end-to-end test strategy
• It is a strategy based on a combination of people, tools, mechanisms, and best practices
• It works best when it is emergent and organic, but the seed has to be planted and nurtured
• In many ways the best practices are the same as traditional; what sets it apart is the focus on the end-to-end business process
38
It’s about people more than tools
It’s about mindset more than skill set