MENDIXMAKERMEETUP
Getting Your App Production ReadyJuly 16, 2019
AGENDA
• Mendix Academy Summer Riddle
• Mobile application distribution with Apple TestFlight
• Load testing with Selenium and Flood.io
• Drinks and chat
PRISONERS’ RIDDLE LEARNING PATH
1. Solve the Riddle
2. Present the solution (using Mendix)
3. Celebrate
www.academy.mendix.com
SELENIUMANDFLOOD.IO
Anthony Dickinson
ABOUT ME
Bachelor in IT
Master Information Management
Over 7 years experience with low-code
development
3 years Mendix Expert Developer
#ItsAlmostMonday
Anthony Dickinson
+31 6 10 37 90 12
TOPICS
• Purpose
• Basics
• Load testing options
• Designing load test
• Selenium
• Flood.io
7
FOCUS
8
PURPOSE
• Determine how the systems will behave under a certain amount of load, that
reflects the expected reality at a certain point in time.
• Identify potential areas of interest to improve the user experience
9
BASICS OF LOAD TESTING
• Freeze
• Smile, take a snapshot of your database
• Restore before run
• Design for performance
10
11
PREPARATION
12
DO YOUR MATH!
DO YOUR MATH!
LOAD TEST OPTIONS (2018)
• Choose
• HTTP Requests
• Mendix Load Tester (2014 version)
• JMeter
• Simulation
• Selenium
• Load test as a service (Mansystems)
13
DESIGNING LOAD TEST
• Converted scenarios into scripts
• Layered approach
• Suite – User role
• Test case – Set of actions / steps
• Steps – click on a button or an item in a list view
• Created helper methods for convenience
14
PREPARING THE DATA
• Setup master data
• Generate transactional data
• Create User(s) and permissions
• Service for logins
15
EXECUTION PLANNING
Total users Per node Nodes start Amount of users in test
53 planners 50 5 5 25
55 viewers 50 5 5 25
344 workshops 150 5 10 50
15 internal users 12 4 3 12
3 internal planners 3 1 1 1
Total 113
16
SELENIUM
• Experience team members
• Higher level of definition compared to
JMeter
• Easier to maintain over time
17
SELENIUM CODE
• ~1200 LoC in total
• ~150 LoC for composing all the test suites
• 4 test suites with approx. 5 test cases each
• ~400 LoC for all of the test cases – (15)
• 15 test cases with approx. 10 steps per test case.
• ~400 LoC helpers
• Take a screenshot
• Click a button
• Click nth element in list
• Etc.
• Remaining comment blocks / imports / test
18
No glory, just code
MODEL CHANGES
• Set names of buttons properly
• Service for accounts for dynamic login
• Generating test data
19
SAMPLE TEST SUITE
20
DEMO SELENIUM
21
22
EXECUTE AT SCALE
23
FLOOD.IO
• Run Selenium at scale
• AWS hosted by flood.io
• Bring your own AWS credentials
• Centralized reporting / metrics
• Subscription based, free trial available
24
STREAMS
• Be aware: script needs to be without a package!
25
FLOODS
26
GRIDS
• Resource group to execute scripts on
• Think about the amount of threads, max 5 for selenium per node.
• Hosting can be EU
• Logs and screenshots
27
DEMO FLOOD.IO
28
RESULTS
• Ran test for long period of time with a mixed mode of test suites with a wide
variety of test cases
• Identified several areas of improvement and implemented some of them
before launch and some are on the roadmap
29
KEY TAKEAWAYS
• Precise and strenuous job
• Preparing scenarios, data
• Script your scenario’s and change your model
• Plan enough time to test the test
• Run and analyze
30
THANK YOU
GO DRINK IT!(AND SOLVE THE RIDDLE)
Top Related