Post on 16-Apr-2017
transcript
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