29
SQE Architecture – Have you lost your mind! Erik Stensland

SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

SQE Architecture – Have you lost your mind! Erik Stensland

Page 2: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical
Page 3: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical
Page 4: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Architecture The art and science of designing and erecting buildings and other physical structures.

It has also been adopted to describe the activity of designing any kind of system, and is commonly used in describing information technology.

Page 5: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Software Architecture The term software architecture denotes the set of practices used to select, define or design a software architecture.

Page 6: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

SQE Architecture A set of practices; used to select, define and/or design the methodologies, approaches and tools for different types of software testing.

Page 7: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Motivation

Page 8: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Provides a basis for analysis of the testability of software systems’ before the system has been built.

Page 9: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Architectural strategies and decisions, can be re-used across multiple systems who require similar quality attributes or functionality.

Page 10: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Supports early design decisions that impact a system's development, testability, deployment, and maintenance life which can prevent schedule and budget overruns and mitigate risks.

Page 11: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Goal

Page 12: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Aventador Lamborghini LP 700-4 – Top Speed 217

Produce high quality software that is reliable, available, and performant.

Page 13: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

How

Page 14: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

!   Be involved in the early software and system architecture phases, to ensure that testability is a consideration during design.

!   To understand the software and systems from an architecture level by being able to link integration points, so they can guide development and testing strategies across boundaries.

Page 15: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

SQE Architect duties Help drive down the overall cost of testing:

!   Pulling teams together and facilitate technical alignment. !   Analyzing product lines and recognize testing gaps across multiple

teams. !   Knowing and understanding the customer. !   Collaborate and help facilitate diverse teams including Dev, Sys

Archs, Operations, PMO and Product Management. !   Ensure consistency of process and tools in a test organization. !   Bring about visibility into the product and help facilitate a

complete high-quality solution. !   Provide strategic technical leadership and direction for SQE

management.

Page 16: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

The Case Study: Code Name - Manhattan

Page 17: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

What is Manhattan

Page 18: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

The “Discussion”

Page 19: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical
Page 20: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Culture

•  “DevOps is not something you build, it's something you do. It is a methodology and a practice.”

•  “DevOps is the set of methods in which developers and operations communicate and collaborate to deliver software more rapidly, more reliably, and with higher quality.”

•  “DevOps, as a whole, encompasses the entire team, including QA, PMO and Product.”

•  “Most importantly, DevOps is not exclusionary. All the participants in creating a product or system should collaborate from the beginning - business stakeholders, developers, operations, QA, security, network, and whoever else needed. “

Page 21: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

People

YESTERDAY •  Any Automation

experience •  5+ years of software testing

experience •  Warm body

TODAY •  BS in Computer Science •  Software development experience •  Experience with Java •  Experience with REST services •  Experience with Cloud technologies •  Experience with CI •  The “Right” Attitude

Page 22: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Methodology Risk Based Testing is a methodology that can be described as “prioritization” of various software and/or system changes on the basis of the risk they carry and create / execute tests according to the derived priority.

Challenges to Solve !   Overall cost of testing.

!   Huge business requirements

!   Time to market

!   Limited resources

!   Unstable environments

!   Testing focuses on most essential functions first.

!   Automation must be a priority.

Advantages !   Testing concentrates on the most important

matters first.

!   Focus lies on risks to the product instead of just the functionality of the software changes.

!   A large set of automated regression tests, testing is no longer an obstacle to releasing an update.

!   Exploratory and Manual testing is only required for the new features or un-automatable tests.

!   When there is a report of a bug, the DevOps team can improve or fix the system quickly.

Page 23: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Automation Strategy

Approach Continuous Testing Model using Risk Based Testing Methodology

Process Integrate application components frequently through automatically executing suites of functional, integration and performance tests during the build and deployment process

Mindset “Walk Away Automation”

Automation writing SO well and self contained it requires little to no maintenance.

Continuously add new automated Functional, Integration and Performance tests.

Page 24: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Technology Stack Web Services

Ziggy Java Framework Internally developed Java tool Used by both Developers and SQE’s Execution is fast and automated

User Interface – Unified Java Selenium Framework

Internally developed Java tool Mobile –

Calabash (iOS and Android) frameworks. Continuous automation

Jenkins Standardized method of executing automated tests either for the Continuous Integration or stand alone.

Defect Tracking Jira

Standardized method of reporting defects

LoadRunner Cloud generated load Rich Internet Applications Run isolated tests on functionality that may be in early development/service-based tests Easy script maintenance

Jmeter Used by both Developers and SQE’s Can be executed as part of the Continuous Integration process.

Test Case Management

Testlink Integration with automated test tools. Standardized way for all teams to create/execute test cases. Standardized reporting metrics

Page 25: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Software Engineering •  Few Builds a week.

•  ~1 Deployment every week or two. •  Limited Unit testing •  Manually decide to Build and Deploy

Software Quality Engineering •  Very little architecture review for testability. •  Heavy Manual testing.

•  (weeks of regression testing) •  Limited UI automated tests, little web services automated tests. •  Automated test manually kicked off. •  Some performance testing.

•  Trending analysis, etc

No Metrics

Yesterday

Page 26: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical
Page 27: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Today Software Engineering

•  100’s of Builds a day / Developer. •  Large amounts of Unit tests •  Multiple Deploys a day

•  Only if automated builds are Successful. •  Auto Builds and Auto Deploys to all pre-prod environments.

Software Quality Engineering •  Involved early in review of Software and Systems Architecture. •  Impact Analysis for all software changes. •  Code reviews and BOM reviews as needed. •  Targeted Automated tests

•  (Unit, Service, UI, Performance) •  New feature Exploratory testing only (manual)

•  Day(s) of manual testing instead of weeks •  Automated Tests in All Pre-Prod environments as part of the Auto Builds, Auto

Deployment process •  Continuously running Integrated tests and daily automated Acceptance tests in

Integrated environments. Dashboards capturing different types quality metrics

Page 28: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

In Summary Software Quality Architecture plays a key role in any organization that is looking to release high quality, reliable and stable software.

Software Quality Architecture Key to driving down the cost of testing across the organization.

SQE Architects Ensure that testability is a consideration during design and helps drive down the overall cost of testing.

Risk Based Test Methodology Most effective testing methodology for DevOps teams.

Continuous Testing Model Increases productivity and decreases cost of testing.

SQE Tech Stack SQE is inline with the Software Development teams and provides a collaborative environment.

Page 29: SQE Architecture – Have you lost your mind! Architecture-SQUAD.pdfSQE Architect duties Help drive down the overall cost of testing: Pulling teams together and facilitate technical

Questions?

Email: [email protected] Twitter: @erikstensland60 Blog: http://testarch.blogspot.com/