MARIE CRUZ
Developer Advocate at k6.io
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
DO YOU HAVE EXAMPLES WHERE YOU'VE BEEN FRUSTRATED BY A WEBSITE'S PERFORMANCE?
@mcruzdrake | testingwithmarie.com
FRONT END/CLIENT SIDE
BACK END/SERVER SIDE
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
SMOKE TESTING
SOAK TESTING
STRESS TESTING
LOAD TESTING
SPIKE TESTING
@mcruzdrake | testingwithmarie.com
SMOKE TESTING
@mcruzdrake | testingwithmarie.com
LOAD TESTING
@mcruzdrake | testingwithmarie.com
STRESS TESTING
@mcruzdrake | testingwithmarie.com
SPIKE TESTING
@mcruzdrake | testingwithmarie.com
SOAK TESTING
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
WORKSHEET ACTIVITY
(5 MINS)
80-90% of the load time of a web page or application is spent in the frontend.
@mcruzdrake | testingwithmarie.com
Resource: Steve Souders
@mcruzdrake | testingwithmarie.com
Resource: k6.io
@mcruzdrake | testingwithmarie.com
IT'S METRICS TIME!
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
CPU UTILISATION
MEMORY UTILISATION
LATENCY
NUMBER OF CONCURRENT VIRTUAL USERS (VUS)
RESPONSE TIME
FAILURE RATE
REQUEST TIME
THROUGHPUT
@mcruzdrake | testingwithmarie.com
FRONT END/CLIENT SIDE
1. First Contentful Paint
2. Large Contentful Paint
4. Time to Interactive
5. Total Blocking Time
6. Cumulative Layout Shift
3. Speed Index
@mcruzdrake | testingwithmarie.com
WORKSHEET ACTIVITY
(5 MINS)
@mcruzdrake | testingwithmarie.com
HOW TO GET STARTED?
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
HANDS-ON ACTIVITY
(10 MINS)
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
stages: [
{ duration: '30s', target: 20 },
{ duration: '1m30s', target: 10 },
{ duration: '20s', target: 0 },
],
};
export default function () {
const res = http.get('https://httpbin.test.k6.io/');
check(res, { 'status was 200': (r) => r.status == 200 });
sleep(1);
}
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
HANDS-ON ACTIVITY
(20 MINS)
@mcruzdrake | testingwithmarie.com
SUMMARY
@mcruzdrake | testingwithmarie.com
@mcruzdrake | testingwithmarie.com
MARIE CRUZ
Developer Advocate at k6.io
@mcruzdrake | testingwithmarie.com