challenges and approaches to automating testing of software

18
Challenges and Approaches to Automating Testing of Software Reading, October 7 th 2016 07/10/2016 David Montero - Challenges and Approaces to Automation Testing of Software 1

Upload: david-montero

Post on 13-Apr-2017

58 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

1

Challenges and Approaches to Automating Testing of Software

Reading, October 7th 2016

07/10/2016

Page 2: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

2

JSON, XML

SeleniumSikuli

Approaches…

07/10/2016

Page 3: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

3

Unit tests: maximum granularity◦ Assert 2=sum(1,1)

Quick Same codebase Immediate feedback Need knowledge of the code Minimal functional meaning

Unit Test Frameworks

07/10/2016

TDD

Page 4: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

4

Collection of related Unit Tests Still need to have codebase knowledge Enhanced functional meaning… but not

complete! Still quick and immediate feedback

◦ TestCalculator(a,b,x,y,z…)◦ Assert x=sum(a,b)◦ Assert y=prod(a,b)◦ Assert z=div(a,b)◦ ….

Component Test Frameworks

07/10/2016

Page 5: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

5

Contract based Requirements come into play: functional

tests Inputs and outputs to full system (E2E) /

components / single component Different approaches:

◦ Large inputs: Data Driven Framework◦ Behaviour Driven Framework: cucumber, jbehave◦ Keyword Driven Framework

Integration and API tests

ALL OF THEM COMBINED!

07/10/2016

Page 6: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

6

Full system End to End, functional tests Costly: time, tools, development Must be kept SIMPLE Flaky! Combined with Behaviour, Data Driven or

Keyword driven frameworks

07/10/2016

Automated GUI Tests

Page 7: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

7

How many tests?

07/10/2016

Challenges?

“AS MANY AS NEEDED, AS LITTLE

AS NECESSARY”

Page 8: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

8

Decision making process:◦ What is the impact of not having a test?◦ What is the cost of building it?◦ Time constraints?◦ Tools needed?

07/10/2016

How many? Risk based approach

£

Page 9: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

9

“Why did the automation not detect this?”

“Will it be 100% automated?”

“We won’t need manual test”

07/10/2016

Common misconceptions

EXPLORATORY TESTING!!

Page 10: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

10

Test environments challenge◦ Use of DOCKER

Performance testing◦ Gatling

Continuous Integration challenge◦ Continuous testing◦ Automated release build◦ Speed up of releases

07/10/2016

Other Challenges to consider

Page 11: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

11

NLP Frameworks? Machine Learning Self correcting software?

07/10/2016

The Future! (present?)

Page 12: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

12

Counting goals!

07/10/2016

Practical case

Page 13: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

13

Risk? Approaches:

◦ Unit tests◦ Data driven◦ Behaviour driven

07/10/2016

Counting goals£1,000,000 !

Page 14: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

14

Unit tests :assertEquals(“1-3”, scoreGoal(HOME))… All the possible cases? Scope? Input, output

07/10/2016

Counting goals

Page 15: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

15

Data driven framework Run the last 20? Man U – Arsenal games Assert scores Is data complete? Penalties, extra time…

07/10/2016

Counting goals

Page 16: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

16

Behaviour Driven framework Team involvement – business! All speak the same language? Ambiguity? Duplicity?

07/10/2016

Counting goals

Page 17: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

17

Keyword driven framework Similar to behaviour driven Free “syntax”

07/10/2016

Counting goals

Page 18: Challenges and approaches to automating testing of software

David Montero - Challenges and Approaces to Automation Testing of Software

1807/10/2016

Thanks for your attention!

Q&A