K6 Grpc Testing
Published 2/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.96 GB | Duration: 9h 22m
Published 2/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.96 GB | Duration: 9h 22m
Provide confidence through repeatable automated tests
What you'll learn
How to tests gRPC Web-Services using K6.
How to Automate gRPC Web & Micro Services using k6
How to use the specific proto type "any" and "oneof" in our k6 tests.
How to create a framework to host all of your k6 gRPC tests.
Automate your k6 gRPC tests using Kubernetes cron job?
Automate your gRPC tests using Jenkins.
Take a deep dive into how spike, load, soak and smoke test run inside of gRPC
Start bullet proofing your tests so that you capture all exceptions, not surfaced by K6 and bring them back into the K6 fold
Learn how to share a single gRPC connection over all iterations of a spike test
Learn how to share a single gRPC connection per user over a spike test
Learn how to data drive your smoke tests
Learn how to randomise your parameters in within a spike test
Learn the theory of why having an automated process for smoke testing your gRPC test affords confidence, repeatability amongst other great benefits.
Requirements
General programming knowledge would be handy although I will step through how to install and work the required software, line by line.
This course is run using a Mac book pro, if you want to use windows, I recommend git bash, linux sub system or converting part relating to the framework into a windows related scripts.
Description
In this course we take a look at what K6 has to offer the world of automation for gRPC tests. I also explore other technologies that we can use to enhance this product into a framework that we can use to add more functionality to our arsenal. What do you want from a gRPC test framework?:A counter of successes and failures, with a no colour option. Negative and positive test pass as intended.Exit framework on first tests failure.Dependant gRPC requests shown as part of your systemData driven gRPC testsThe ability to run your gRPC framework on kubernetes or Jenkins.What do you want from your scaled up gRPC performance tests?:The ability to have reliable tests that will report all errors and in turn give a true representation of your gRPC reliability.The ability make these test simulate randomness of data input. The option to share connection on a per user basis or over all iterations.Self recovering tests that try to recover on failureWhat do you want from your gRPC Micro Services?: The ability to have confidence that a change has not broken anything.The ability to say to managers in a matter of minutes that it works as it should. the ability to work efficiently and independently from the consuming/producing team.The ability to run tests as part of your CI/CD system The ability to run tests at a scheduled time of day. If the answer is yes to any of the above then this is the course for you. Also look a the rarer proto types such as "any" and "typeOf".
Overview
Section 1: Introduction
Lecture 1 Introduction
Section 2: Setting up a sandboxed environment on our machines.
Lecture 2 Setting up your environment
Lecture 3 Setting up a running GRPC Service
Lecture 4 Run a Quick Test on our gRPC Service
Lecture 5 Windows Only
Section 3: The Theory of Smoke Testing GRPC Services
Lecture 6 Separation of Concerns
Lecture 7 Reliability, Repeatability and Confidence
Lecture 8 Regression
Section 4: K6 gRPC Tests
Lecture 9 Creating Our First Smoke Test Using K6
Lecture 10 Soak Testing gRPC
Lecture 11 Load Testing gRPC
Lecture 12 Spike Testing gRPC
Lecture 13 Record Connection errors, to normalise statistics ( gRPC special case)
Section 5: Response and Assertions
Lecture 14 Deep dive into the response object returned by invocation of our RPC calls.
Lecture 15 Adding assertions using Check and Describe.
Section 6: Creating a framework for our tests.
Lecture 16 Creating Multiple Smoke Tests
Lecture 17 Creating a master file to run our tests from.
Lecture 18 Adding reusable code to check that the call was successful
Lecture 19 Negative Tests with Positive Output
Lecture 20 Environment Variables And Authenticate our gRPC calls
Lecture 21 Add success/fail counters
Section 7: Handling Google Proto Any, OneOf types and Data Driving Our Tests
Lecture 22 k6 and "com google protobuf any"
Lecture 23 Data Driven K6 gRPC Tests
Lecture 24 Handle the OneOf Proto Type in your gRPC Test With K6
Section 8: Automation of gRPC tests.
Lecture 25 Automation your gRPC K6 tests using Jenkins
Lecture 26 Jenkins fail test run after first failed test.
Lecture 27 Kubernetes and K6 to Automate your gRPC Integration Tests
Section 9: Staging gRPC Calls and Sharing Session Between Stages
Lecture 28 Staged gRPC Tests
Lecture 29 Adding Our Staged Calls To Your gRPC Tests Runner Framework
Section 10: ADVANCED: K6 gRPC Bullet Proofing and Turning up the Knob on Performance.
Lecture 30 Sharing a gRPC Connection/One Connection Over All Virtual Users as of K6 0.42.0
Lecture 31 Sharing a gRPC Connection/One Connection Per Virtual User as of K6 0.42.0
Lecture 32 Adding Dynamic Arguments at Random to your gRPC K6 Tests
Lecture 33 Test Abort on gRPC Complete Failure, Using Threshold Limits
Lecture 34 Demystifying Init Code & Our Connection Array and Making It a Single Variable
Section 11: Course Wrap Up
Lecture 35 Conclusion
Beginner to Expert developer and anything in between.