35
QUALITY ATTRIBUTES TESTING FR O M ARCHITECT U RE TO TEST AC CEPTANCE OLEKSA NDR REMI N NYI

Quality attributes testing. From Architecture to test acceptance

Embed Size (px)

DESCRIPTION

by Oleksandr Reminnyi

Citation preview

Page 1: Quality attributes testing. From Architecture to test acceptance

QUALITY

ATTR

IBUTE

S

TESTI

NG

FR

OM

AR

CH

I TE

CT

UR

E T

O T

ES

T A

CC

EP

TA

NC

E

OL

EK

SA

ND

R R

EM

I NN

YI

Page 2: Quality attributes testing. From Architecture to test acceptance

8 years in IT

Solutions Architect

Automation Expert (Consultant, Trainer)

PhD in IT (automation testing)

[email protected]

WHO IS IT?

Page 3: Quality attributes testing. From Architecture to test acceptance

TESTI

NG ARCHIT

ECTURE

WT

F ?

Page 4: Quality attributes testing. From Architecture to test acceptance

WHAT IS SOFTWARE ARCHITECTURE?

Page 5: Quality attributes testing. From Architecture to test acceptance

IT STARTS FROM ONE GEEKY GUY…

Page 6: Quality attributes testing. From Architecture to test acceptance

THEN IT MIGHT FINISH UP AS FOLLOWING…

Page 7: Quality attributes testing. From Architecture to test acceptance

WHAT IS SOFTWARE ARCHITECTURE?

SO,

Page 8: Quality attributes testing. From Architecture to test acceptance

WHAT FORMS SOFTWARE ARCHITECTURE?

Page 9: Quality attributes testing. From Architecture to test acceptance

BUSINESS

Page 10: Quality attributes testing. From Architecture to test acceptance

USERS

Page 11: Quality attributes testing. From Architecture to test acceptance

SYSTEM

Page 12: Quality attributes testing. From Architecture to test acceptance

WHAT CAN BE TESTED HERE?

Page 13: Quality attributes testing. From Architecture to test acceptance

THIS???

Page 14: Quality attributes testing. From Architecture to test acceptance

GO SMART

DE

F I NI N

G Q

UA

L I TI E

S

Page 15: Quality attributes testing. From Architecture to test acceptance

SEI

THEY LIKE NON FUNCTIONAL REQUIREMENTS

Page 16: Quality attributes testing. From Architecture to test acceptance

THEY CALL THEM – QUALITY ATTRIBUTES

Category Quality attributeDesign Qualities Conceptual Integrity

MaintainabilityReusability

Run-time Qualities Availability

Interoperability

ManageabilityPerformance

ReliabilityScalabilitySecurity

System Qualities SupportabilityTestability

User Qualities Usability

Page 17: Quality attributes testing. From Architecture to test acceptance

WHAT IS QUALITY ATTRIBUTE?

ABILITY

Page 18: Quality attributes testing. From Architecture to test acceptance

WHAT QUALITY ATTRIBUTES YOU SEE?

Page 19: Quality attributes testing. From Architecture to test acceptance

LET’

S DO T

HE

SYSTE

MATIC

APP

ROACH

T AK

I NG

IT

AL L T

OG

ET

HE

R

Page 20: Quality attributes testing. From Architecture to test acceptance
Page 21: Quality attributes testing. From Architecture to test acceptance

QUALITY ATTRIBUTE WORKSHOP

Page 22: Quality attributes testing. From Architecture to test acceptance

Specific (why/what/how)

Measurable

Achievable

Result-focused

Time-bound

S.M.A.R.T.

Page 23: Quality attributes testing. From Architecture to test acceptance

ARCHITECTURE SCENARIOS – SAMPLE UTILITY TREE

Page 24: Quality attributes testing. From Architecture to test acceptance

ACCEPTANCE: A SOFTWARE ERROR OCCURS AT HIGH VEHICLE SPEED. REBOOT WITHIN 50 MSEC.

Source

• System

Stimulus

• Software error

Artifact

• System

Env

• High vehicle speed

Response

• Reboot occursResponse Measure

• Time to reboot up to 50 msec.

Page 25: Quality attributes testing. From Architecture to test acceptance

EXPLAINING ACCEPTANCE: GHERKIN

Given

Environment• High vehicle

speedArtifact• System

As

Source• System

When

Stimulus• Software error

Then

Response• Reboot occursResponse Measure• Time to reboot

up to 50 msec.

Page 26: Quality attributes testing. From Architecture to test acceptance

IMPLEMENTATION

Gherkin stubs

Best practices

Base classes reusage

Implementation monitoring

….

Page 27: Quality attributes testing. From Architecture to test acceptance

TRACEABILITY: ACCEPTANCE TREE

1. Implementation directly linked to Quality attribute

2. Quality attribute linked to business driver

3. Priority of the scenario shows might be a start point for its automation

Page 28: Quality attributes testing. From Architecture to test acceptance

Project specificsDisk level data encryption system

Goal: form acceptance for the system

Support large number of OS

Test in the cloud

Test definitionsNone

TechnologyAmazon + LAMP

ResourcesSenior part time and junior full time developer

REAL USE CASE

Page 29: Quality attributes testing. From Architecture to test acceptance

HOW IT MIGHT LOOK IN IDE

Page 30: Quality attributes testing. From Architecture to test acceptance

DIRECT JUMP TO CODE

Page 31: Quality attributes testing. From Architecture to test acceptance

Factor QAW-based Classic analysis approach

Work with stakeholders It’s better to have everybody in one location, at least for a short period.

You can have several separate sessions with technical representatives only

Documentation That should be part of stakeholders knowledge only

Might be outdated

Domain knowledge Not deep knowledge – participants are the knowledge holders

Required

Rough Estimate 2-3 days 3-5 days

     

GETTING ANALYSIS DATA TOGETHER

Page 32: Quality attributes testing. From Architecture to test acceptance

Acceptance test suite definition (~30 tests)

Mini-framework implementation

Jenkins integration

Project was DECLINED to be released because of NOT passing the automation tests

RESULT

Page 33: Quality attributes testing. From Architecture to test acceptance

GOT IT

?

L ET

’ S P

RA

CT

I CE

!

Page 34: Quality attributes testing. From Architecture to test acceptance

RECAP: PROCESS DEFINITION

•Prioritize•Build timeline•Implement

•Break scenario into steps

•Define steps in QC language

•Generate test stubs

•Define Business Goals

•Gather Quality Attributes

•Generate Scenarios

Architecture

Form Acceptanc

e

Test solution

Trace and update

Page 35: Quality attributes testing. From Architecture to test acceptance

QUESTIONS?