mendix maker meetup app production ready · 2019-07-18 · mendix maker meetup getting your app...

Post on 16-Jul-2020

20 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

adickinson@conclusion.nl

+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