evolve'15 | enhance | rene ugarte | aem quality assurance

22
AUGUST 18, 2015 - Enhance Track - 3:30 to 4:15 pm AEM Quality Assurance A Series of Memes for Your Edutainment

Upload: evolve-the-aem-community-conference

Post on 21-Feb-2017

398 views

Category:

Technology


0 download

TRANSCRIPT

AUGUST 18, 2015 - Enhance Track - 3:30 to 4:15 pm

AEM Quality AssuranceA Series of Memes for Your Edutainment

2

A talk on the Quality Assurance process, methodology, experience and perspective applied to Adobe AEM projects. The goal is to provide useful information and examples that will help team members better understand the engagement of QA analysts as well as the benefits of following these processes.

IntroductionRené Ugarte - Managing Partner and Solution Architect at 3|SHARE - @reneonguitar

3

AgendaBecause I Should

1. Why QA?2. Client Case Study F3. Client Case Study K4. Recap5. Open Forum

4

Why QA?Because Below...

We’ve all been there: A change was made in production that caused destruction, chaos and mass hysteria. You know it’s bad when the CEO/CIO/VP of IT/Head Shaman calls you personally and it’s not to wish you a Merry Christmas...

5

QA Process Helps...● Increase Confidence● Attain Predictable Outcomes● Meet Deadlines● Reduce Risk● Reduce Stress...which Improves Code Quality which in turn Improves Service

Why QA?More Seriously Now

6

● Agile Architecture● Continuous Integration● Test-First (JMockit? [5])● Refactoring● Paired Work● Collective Ownership

Credit: Scaled Agile Framework [4]

Six QA PracticesMix and Match to Suit Your Needs

7

How We HelpThe 3|SHARE Project Delivery Process

RQMTS DESIGN TEST LAUNCH

8

Client Project Team Members● VP of IT● Program Manager● Project Manager● 4 to 6 AEM Developers● 2 to 4 Frontend Developers● Ecommerce Technical Consultants● Onshore and Offshore QA Analysts● System and Network Engineers● 20+ Content Authors (In-house and

Outsourced)

Client Case Study FEcommerce Site for Multiple Retail Brands

3|SHARE Project Delivery Team● Engagement Manager● Project Manager● Solution Architect● 3 to 5 Frontend and

Backend Developers● QA Analyst● System Engineer

9

Platform● AEM 6.0 SP2 + Hotfixes [1]● Red Hat Enterprise Linux release 6.6 64-bit● Java Development Kit 1.7.0_75● Apache HTTP Server 2.2.15● WebSphere Commerce 7

Tools● JIRA Cloud for Agile Development [2]● Zephyr for JIRA Cloud [3]● Git● Jenkins

Client Case Study FPlatform and Tools

10

Client Case Study FJIRA Agile Columns

11

Client Case Study FZephyr for JIRA Cloud

● QA Analyst creates test cases and are linked to Stories which contain functional requirements

● Any defects that arise from the test execution are created as sub-tasks to the Story and assigned to a Developer

● The Developer has context between the original Story requirements and the test case that was run. Simple.

12

Client Case Study FExample Test Case, Step 41 of 41

● Example product detail page (PDP) authoring test case

● QA Analyst sets the Step, Data, and Expected Result fields for each of many steps to be tested for valid function

● Other functional test steps in this example include:

○ Social Component○ Alt Tags Component○ Add to Cart Components○ Color/Style Component○ Pricing Component

13

Client Case Study FPath to Production

Dev Environment1 x Author + Dispatcher1 x Publish + DispatcherSmoke Testing

QA Environment1 x Author + Dispatcher2 x Publish + Dispatcher + Load BalancerAkamai CDNFunctional TestingProduction Environment

1 x Author + Dispatcher4 x Publish + 2 x Dispatcher + Load BalancerAkamai CDNUser Acceptance Testing

14

Questions?The Answer is 42

15

Client Project Team Members● VP of Technology● Program Manager● Project Manager● No AEM Developers (Yet)● 2 to 4 Frontend Developers● Onshore QA Analyst● System and Network Engineers● 12+ Content Authors (In-House + Outsourced)

Client Case Study KConsumer Information Services Brand

3|SHARE Project Delivery Team● Engagement Manager● Project Manager● Solution Architect● 2 Backend Developers● QA Analyst

16

Platform● AEM 6.0 SP2 + Hotfixes [1]● Red Hat Enterprise Linux release 6.3 64-bit● Java Development Kit 1.7.0_71● Apache HTTP Server 2.2.15● .Net Frontend, AEM Backend

Tools● JIRA Cloud for Agile Development [2]● Bugzilla● Mercurial● TeamCity

Client Case Study KPlatform and Tools

17

Client Case Study KJIRA Agile Columns

18

Client Case Study KPath to Production - Part 1

Dev1 Environment1 x Author + Dispatcher1 x Publish + DispatcherContent Management Sandbox

Dev2 Environment1 x Author + Dispatcher1 x Publish + DispatcherAEM Functional Testing (JSON Interface)Dev3 Environment

1 x Author + Dispatcher1 x Publish + DispatcherAEM Functional Testing (Authoring/UI)

19

Client Case Study KPath to Production - Part Deux

Integrated Dev Environment1 x Author + Dispatcher1 x Publish + DispatcherFunctional QA for Signoff (Client) Staging Environment

Adobe Managed Services

Production EnvironmentAdobe Managed Services

20

● We all want a good QA process, but competing interests on resources make it challenging to put into practice in full

● Incorporate as much QA as you can, as early as you can because...

● Any QA is better than no QA!

RecapFor Long Term Memory

21

Thank You!Open Forum

René [email protected]+1 (619) 246-0763@reneonguitar everywhere

22

[1] https://helpx.adobe.com/experience-manager/kb/aem6-available-hotfixes.html[2] https://www.atlassian.com/software/jira[3] http://www.getzephyr.com/products/test-management-add-ons-for-atlassian/zephyr-for-jira-cloud[4] http://scaledagileframework.com/code-quality/[5] http://jmockit.org/

ReferencesBecause Plagiarism