testing in an agile world: the current state and future possibilities

16
W4 Agile Testing 10/5/16 11:30 Testing in an Agile World: The Current State and Future Possibilities Presented by: Nikhil Kaul SmartBear Software Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 8882688770 9042780524 [email protected] http://www.starwest.techwell.com/

Upload: techwell

Post on 21-Jan-2018

135 views

Category:

Software


2 download

TRANSCRIPT

       W4  Agile  Testing  10/5/16  11:30            

Testing  in  an  Agile  World:  The  Current  State  and  Future  Possibilities  

Presented  by:      

  Nikhil  Kaul      

SmartBear  Software    

Brought  to  you  by:        

   

   

350  Corporate  Way,  Suite  400,  Orange  Park,  FL  32073    888-­‐-­‐-­‐268-­‐-­‐-­‐8770  ·∙·∙  904-­‐-­‐-­‐278-­‐-­‐-­‐0524  -­‐  [email protected]  -­‐  http://www.starwest.techwell.com/      

 

   

   

Nikhil  Kaul      Nikhil  Kaul  is  product  manager,  testing  products  at  SmartBear  Software,  the  leader  in  software  quality  tools  for  the  connected  world.  Nikhil  was  previously  at  DigitÌ©,  an  application  lifecycle  management  solutions  provider,  where  he  gained  insight  into  the  software  development  and  testing  market.  Nikhil  is  very  involved  in  discussions  taking  place  in  development  and  testing  communities.  His  most  recent  thoughts  can  be  found  in  Forbes  and  CIO.com.  In  his  free  time,  Nikhil  enjoys  running,  hiking,  and  reading.  Follow  him  on  Twitter  @kaulnikhil.  

9/21/16

1

Testing in an Agile World: The Current State and Future

Possibilities

2

Quick Intro

Nikhil Kaul

9/21/16

2

3

SmartBear’s technology stack

4

On our plate today 1

Role of QA in an Agile team

3

Practices that can help facilitate the transformation

2

Industry trends affecting that role

9/21/16

3

5

Multiple benefits come with moving to Agile

Analyze

Design

Code

Test

Reducesthebatchsize

Increasesthroughput

IncreasesspeedConclusion

Analyze

Design

Code

Test

Itera@on1 Itera@on2

Conclusion

Analyze

Design

Code

Test

6

The transformation can be challenging

Writeauserstory

GetAcceptancetests

Expandupontests

What/Howtocode

Automatetests

TDD

Demo

ProductOwner Tester

Tester +Dev Just Dev

Exploratory

People, Process, & Tools

9/21/16

4

7

Industry trends necessitate Agile

Source: ITU, a16z

8

It’s a multi-platform, multi-OS world

—MicrosoDbuysXamarin

—MicrosoDopensources.NET

—Windows10

•  UniversalWindowsApps

•  Writeonce&deployitacrossplaPorms

—ApplemakingSwiDopensource

9/21/16

5

9

Web continues to get more sophisticated

Approval for plugins

Closing APIs exposing

local machines

Technology giving an

access

Responsive UI

Web Components CSS implementation varies

10

Web and mobile worlds colliding

‒  Cordova

‒  PhoneGap

‒  Open web tech

Mobile

‒  HTML

‒  JavaScript

‒  CSS

Web

React, React Native, Combined JSX, getUserMedia , Geolocation

9/21/16

6

11

Browsers & app stores are becoming locked

Approval time for plugins and apps increasing

Closing APIs exposing

local machines

Technology giving an

access

12

More to test in less time makes reusability imp

Cross platform apps

Changes in web & mobile

High quality

Reusability critical

9/21/16

7

13

Testing in an Agile world involves deciding

Test Reduction

Test Design

Where to start

14

Testing in an Agile world involves deciding

Test Reduction

Test Design

Where to start

9/21/16

8

15

Start small for quick wins

1 Latest

3

Beta

2 Previous

Browser

App

80%

16

Testing in an Agile world involves deciding

Test Reduction

Test Design

Where to start

9/21/16

9

17

Test pyramid strategy can come in handy

Service

Unit

UI

18

Creating API tests helps prevent false defects

Web

Mobile

Tablet

1

2

3

4

9/21/16

10

19

Reuse those API tests across SDLC

•  APIfunc@onaltest

•  APIloadtest

•  GUIfunc@onaltest

•  APIsecuritytest

•  Monitoring

Time reduced by 80%

20

The feedback from UI tests is more exhaustive

Browser: Chrome

End-to-end testing

x x x x

HTML5, Angular JS Network Service/API/Database

9/21/16

11

21

Maintaining UI tests can be a pain

Text

Duplication

Maintainability

Magic Strings

22

Use page object model for maintainability

Home Page of Amazon

Result Search Page

Product Details Page

Confirmation Page

9/21/16

12

23

Involve abstraction in the model

Page Object Class 1

Test

Page Object Class 2

Abstract control identification

Test steps

Abstract control identification

Abstract control actions

Abstract control actions

24

The brittle code now looks like

Magic Strings Locating the control

Abstracting the set text action for the control

Using the abstracted set text action

9/21/16

13

25

Testing in an Agile world involves deciding

Test Reduction

Test Design

Where to start

26

Use PairWise testing to cut down tests

I(0,1)

B (0,1)

U(0,1)

App

B I U

1 1

1 0

0 1

0 0

B I U

1 0

0 0

1 1

0 1

B I U

1 1

1 0

0 1

0 0

B I U

1 1 1

1 0 0

0 1 0

0 0 1

1

2

3

Final Set

9/21/16

14

27

Takeaways 1

The role QA is becoming more important

2

Start small and build a modular test design

4

Reuse tests across software development lifecycle

3

API testing is key: Don’t forget about the GUI

Thank You!