Course Information
Course Overview
Provide confidence through repeatable automated tests
In this course we take a look at what K6 has to offer the world of automation for gRPC tests. This course has been written so that windows, mac and linux users can follow along. 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 system
Data driven gRPC tests
The ability to run your gRPC framework on Kubernetes or Jenkins.
The ability to run our gRPC tests in parallel background tasks
The ability pin point exact errors on gRPC status code.
The ability to stage calls, so that interdependencies are maintained.
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 failure
What 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".
Course Content
- 12 section(s)
- 40 lecture(s)
- Section 1 Introduction
- Section 2 Setting up a sandboxed environment on our machines.
- Section 3 The Theory of Smoke Testing GRPC Services
- Section 4 K6 gRPC Tests
- Section 5 Response and Assertions
- Section 6 Creating a framework for our tests.
- Section 7 Handling Google Proto Any, OneOf types and Data Driving Our Tests
- Section 8 Automation of gRPC tests.
- Section 9 Staging gRPC Calls and Sharing Session Between Stages
- Section 10 ADVANCED: K6 gRPC Bullet Proofing and Turning up the Knob on Performance.
- Section 11 Advanced gRPC Framework Features For Maximising Performance
- Section 12 Course Wrap Up
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., Learn how to run your gRPC test as background tasks, so that you can maximise performance of your tests
Skills covered in this course
Reviews
-
PPhil Shaughnessy
Pretty good overall. Could probably be split into at least 3 courses (grpc, framework/scripting runners, automated, etc.). I spent way too much time trying to figure out how to put the java code into a docker container - I ended up writing most of the grpc server in go. Providing a docker container with the application to test would smooth things out. If not, something like go that could be turned into a binary, or at least worked with via only cli. I don't want to setup java and intellij for a course that mainly deals with js. Lots of stuff that could use polish - a number of repeats/claps where it is pretty clear additional editing needs to happen. Also some minor errors or inefficiencies - e.g. use /usr/bin/time instead of counting seconds out loud, your "single connection test" is actually using 1 connection per vu, small things like that. Overall lots of great info along the lines of "here is how you could pull together a custom solution from scratch with a bit of js/shell knowledge". Many courses aren't this comprehensive with a simplified "quick and dirty" solution. Most just simplify the problem space instead of the solution.
-
SShiv
very bad audio, unable to hear most of the lectures. wondering when you upload did you not check and listen before making it public?
-
AAli Maqsood
poor audio - hardly able to listen/understand anything in most of the videos
-
RRaymond Sarmiento
Very detailed instructions.