Create compelling tests

Preview:

Citation preview

with a risk based approach@sammy_lee12

Create compelling tests

You can ask questions

Example

A bit about Tyro

Banking licence

Process $8 billion annually

$100 million in funding

Banking licence

Process $8 billion annually

$100 million in funding

Banking licence

Process $8 billion annually

$100 million in funding

Microservices back end

Test Driven Development

Pair Programming

Microservices back end

Test Driven Development

Pair Programming

Microservices back end

Test Driven Development

Pair Programming

Let’s get into it

Break app into flows

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

Map flows onto a Risk Board

Frequency of use

Frequency of use

Impact if broken

Frequency of use

Impa

ct if

bro

ken

Frequency of use

Impa

ct if

bro

ken

Frequency of use

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1

2

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1 2

3

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1 2

3 4

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1 2

3

4

5

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1 2

3

4

5

6

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1 2

3

4

5

6

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1 2

3

4

5

6

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1 2

3

4

5

6

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1 2

3

4

5

6

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1 2

3

4

5

6

Impa

ct if

bro

ken

Frequency of use

1.Registration 2.Transfer Funds 3.View Transactions 4.Contact Us 5.Change Pin 6.Log In

1 2

3

4

5

6

Security Impact

Here’s one I prepared earlier

Example

Break flows into tests

5. Change Pin

Flow

5. Change Pin

Registered Device and Logged in

SetupFlow

5. Change Pin

Registered Device and Logged in

Click on Hamburger side menu

Setup Test steps and checksFlow

5. Change Pin

Registered Device and Logged in

Click on Hamburger side menu

Setup Test steps and checksFlow

See MenuList

5. Change Pin

Registered Device and Logged in

Click on Hamburger side menu

See MenuList

Setup Test steps and checksFlow

Click on Change

Passcode

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Setup Test steps and checksFlow

See change

passcode screen

See change

passcode screen

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Setup Test steps and checksFlow

Enter correct pin

See change

passcode screen

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter correct pin

Setup Test steps and checksFlow

Enter incorrect

pin

See change

passcode screen

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter correct pin

Setup Test steps and checksFlow

Enter incorrect

pin

Enter pin after

session timeout

See change

passcode screen

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter correct pin

Setup Test steps and checksFlow

Enter pin after

session timeout

Enter incorrect

pin

Enter phone in

aeroplane mode

See change

passcode screen

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter correct pin

Setup Test steps and checksFlow

Enter pin after

session timeout

Enter phone in

aeroplane mode

Enter incorrect

pin

Press back button

See change

passcode screen

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter correct pin

Setup Test steps and checksFlow

Enter pin after

session timeout

Enter phone in

aeroplane mode

Press back button

Enter incorrect

pin

See change

passcode screen

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter correct pin

Setup Test steps and checksFlow

Enter pin after

session timeout

Enter phone in

aeroplane mode

Press back button

Enter incorrect

pin

See toast notification

See change

passcode screen

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter correct pin

Setup Test steps and checksFlow

Enter pin after

session timeout

Enter phone in

aeroplane mode

Press back button

Enter incorrect

pinSee toast

notification

Enter incorrect

pin 2 more times

See change

passcode screen

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter correct pin

Setup Test steps and checksFlow

Enter pin after

session timeout

Enter phone in

aeroplane mode

Press back button

Enter incorrect

pinSee toast

notification

Enter incorrect

pin 2 more times

7. Lock pin

Enter correct pin

See change

passcode screen

Click on Change

Passcode5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Setup Test steps and checksFlow

Enter incorrect

pinSee toast

notification

Enter correct pin

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter incorrect

pin

Setup Test steps and checksFlow

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter correct pin

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Enter correct pin

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Key

Enter correct pin

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Maps to Risk board

Key

Enter correct pin

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Maps to Risk board

Data to set up before/

during test

Key

Enter correct pin

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Maps to Risk board

Data to set up before/

during test

User action

Key

Enter correct pin

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Key

Setup Test steps and checksFlow

Maps to Risk board

Data to set up before/

during test

User action

Check/ Success

indicator

Enter correct pin

Here’s one I prepared earlier

Example

Continue creating tests

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pin

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pinTest 1

Smooth scrolling is observed

User scrolls down

3. View Transactions

Registered Device and Logged in

Click on balance See list

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pin

Test 2

Smooth scrolling is observed

User scrolls down

Registered Device and Logged in

Click on balance See list

10. LogoutRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Click on Logout

See log in screen

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pin

Test 3

3. View Transactions

Here’s one I prepared earlier

Example

Combine similar tests

Smooth scrolling is observed

User scrolls down

Registered Device and Logged in

Click on balance See list

10. LogoutRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Click on Logout

See log in screen

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pin

3. View Transactions

Smooth scrolling is observed

User scrolls down

Registered Device and Logged in

Click on balance See list

10. LogoutRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Click on Logout

See log in screen

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pin

Same data

3. View Transactions

Smooth scrolling is observed

User scrolls down

Registered Device and Logged in

Click on balance See list

10. LogoutRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

Click on Logout

See log in screen

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pin

3. View Transactions

Smooth scrolling is observed

User scrolls down

Click on balance See list 10. Logout

Click on Hamburger side menu

See MenuList

Click on Logout

See log in screen

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pin

3. View Transactions

Smooth scrolling is observed

User scrolls down

Click on balance See list 10. Logout

Click on Hamburger side menu

See MenuList

Click on Logout

See log in screen

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Flow

Enter correct pin

3. View TransactionsTest 1

Setup Test steps and checks

Smooth scrolling is observed

User scrolls down

Click on balance See list 10. Logout

Click on Hamburger side menu

See MenuList

Click on Logout

See log in screen

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pin

3. View Transactions

Test 2

Smooth scrolling is observed

User scrolls down

Click on balance See list 10. Logout

Click on Hamburger side menu

See MenuList

Click on Logout

See log in screen

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pin

3. View Transactions

Test 3

Smooth scrolling is observed

User scrolls down

Click on balance See list 10. Logout

Click on Hamburger side menu

See MenuList

Click on Logout

See log in screen

See change

passcode screen

Click on Change

PasscodeSee toast

notification5. Change

PinRegistered Device and Logged in

Click on Hamburger side menu

See MenuList

See create pin screen

Enter incorrect

pin

Setup Test steps and checksFlow

Enter correct pin

3. View Transactions

Onboarding

Here’s our 35 flows covered by 5 UI tests

Example

Create UI tests

Create UI tests - refactor

let app = XCUIApplication()

clickOnHamburglarMenu()

clickChangePasscode()

enterPin(1234)

expect(incorrectPinToast.isDisplayed()).to(beTrue())

enterPin(4321)

enterPin(4321)

expect(changePinToast.isDisplayed()).to(beTrue())

Accessibility inspector

SummaryCompelling tests are risk based

Break app into flows Map flows onto a risk board

Break flows into tests Create tests

Maintain tests

Break app into flows Map flows onto a risk board

Break flows into tests Create tests

Maintain tests

Break app into flows Map flows onto a risk board

Break flows into tests Create tests

Maintain tests

Break app into flows Map flows onto a risk board

Break flows into tests Create tests

Maintain tests

Break app into flows Map flows onto a risk board

Break flows into tests Create tests

Maintain tests

Questions?@sammy_lee12

Other types of testing

Mindmaps

Soap opera & persona testing

Timeline tests

Nightmare headlines

State diagrams

Mindmaps Soap opera & persona testing Timeline tests Nightmare headlines State Diagrams

Other types of testing

Mindmaps Soap opera & persona testing Timeline tests Nightmare headlines State Diagrams

Other types of testing

Mindmaps Soap opera & persona testing Timeline tests Nightmare headlines State Diagrams

Other types of testing

Mindmaps Soap opera & persona testing Timeline tests Nightmare headlines State Diagrams

Other types of testing

Mindmaps Soap opera & persona testing Timeline tests Nightmare headlines State Diagrams

Other types of testing

Questions?@sammy_lee12

Recommended