Protocol Buffers (protobuf)
// Definition
Google's binary serialisation format. You define message schemas in `.proto` files; the `protoc` compiler generates strongly-typed serialisation/deserialisation code for any supported language. Protobuf messages are smaller and faster to parse than equivalent JSON but are not human-readable without the `.proto` schema file. In QA, `.proto` files serve as the contract — tests can validate that serialised messages match the schema exactly, including field types and required fields.
// Related terms
gRPC
Google's open-source Remote Procedure Call framework. gRPC uses HTTP/2 for transport and Protocol Buffers for serialisation, making it significantly faster and more bandwidth-efficient than JSON over REST. Clients call server methods directly using generated stubs — there are no URLs or HTTP verbs to reason about. gRPC supports four streaming modes: unary (one request, one response), server-side streaming, client-side streaming, and bidirectional streaming, each introducing distinct test scenarios.
Contract Testing
Verifying that two services agree on the shape of the messages they exchange. Catches breaking API changes without expensive end-to-end tests across multiple deployed services.