Kristian Karl

Preview:

Citation preview

Model-Based Testing

Kristian Karl, Spotify

1983 Started programming 1994 Testing and automation 1998 Consultant 2004 Discovered Model-Based Testing 2005 Founded graphwalker.org 2010 Test Manager @Spotify

●Subscribers: Over 30 million ●Active users: Over 80 million ●Revenue paid to rightsholders: $3bn ●Number of songs: Over 30 million ●Number of playlists: Over 1.5 billion ●Available in 58 markets

Andorra, Argentina, Austria, Australia, Belgium, Bolivia, Brazil, Bulgaria, Canada, Chile, Colombia, Costa Rica, Cyprus, Czech Republic, Denmark, Dominican Republic, Ecuador, El Salvador, Estonia, Finland, France, Germany, Greece, Guatemala, Honduras, Hong Kong, Hungary, Iceland, Ireland, Italy, Latvia, Liechtenstein, Lithuania, Luxembourg, Malaysia, Malta, Mexico, Monaco, New Zealand, Netherlands, Nicaragua, Norway, Panama, Paraguay, Peru, Philippines, Poland, Portugal, Singapore, Slovakia, Spain, Sweden, Switzerland, Taiwan, Turkey, UK, Uruguay and USA.

Fun Facts

What is Model-Based Testing?

[Very] [and unscientific] brief history of MBT

15 May, 1997 Software Quality Week Conference in May, 1997

http://www.geocities.ws/model_based_testing/sqw97.pdf

13:52, 30 December 2004First edit in Wikipedia

https://en.wikipedia.org/wiki/Model-based_testing

I met Harry Robinson May 2004http://www.harryrobinson.net/

What is MBT?

What is MBT?

● Models are the expected behavior of a System Under Test.

What is MBT?

● Models are the expected behavior of a System Under Test.

● Models are much simpler than the the reality.

What is MBT?

● Models are the expected behavior of a System Under Test.

● Models are much simpler than the the reality.● State models are a set of states and the

relationships between them.

What is MBT?

● Models are the expected behavior of a System Under Test.

● Models are much simpler than the the reality.● State models are a set of states and the

relationships between them.● From the models, test are automatically

generated.

Not authenticated

Login using valid

credentials

Not authenticated

Login using valid

credentialsAuthenticatedNot

authenticated

Login using valid

credentialsAuthenticatedNot

authenticated

VertexVertex

Login using valid

credentialsAuthenticatedNot

authenticated

VertexVertex

Edge

Use cases

● UI● Payments systems● Ads● Workflow systems● REST APIs

● Mobile● Desktop● Web● Backend ● Real time systems

Why bother?

The incentive behind MBT

The incentive behind MBT

● MBT is [visual] collaborative.

The incentive behind MBT

● MBT is [visual] collaborative.● Separation of test design from code

implementation.

The incentive behind MBT

● MBT is [visual] collaborative.● Separation of test design from code

implementation.● Test suites are generated

automatically.

The incentive behind MBT

● MBT is [visual] collaborative.● Separation of test design from code

implementation.● Test suites are generated

automatically.● Lower maintenance - higher return of

investment.

Test execution

MBT execution

MBT execution

● Tests are generated automatically.

MBT execution

● Tests are generated automatically.● Different test types can be generated.

- Smoke tests- Functional - Non-functional, exhaustive tests

Q&A

References

●http://graphwalker.org/ ●https://github.com/GraphWalker/graphwalker-project ●https://github.com/GraphWalker/graphwalker-example ●https://github.com/spotify/python-graphwalker ●https://www.youtube.com/watch?v=idSgWX6rGdk ●https://www.youtube.com/watch?v=oWWiPGIFDAo

Recommended