All posts

The Simplest Way to Make Spanner TestComplete Work Like It Should

Someone kicks off a regression run and the whole build pipeline freezes. Permissions hiccup, credentials expire mid-test, and half the engineers stand around waiting for manual approvals. Integrations that should save time instead burn hours. That moment is exactly why Spanner TestComplete exists. Spanner delivers massive, strongly consistent databases with horizontal scaling that feels almost magical. TestComplete, meanwhile, automates UI and API testing across environments so teams know their

Free White Paper

End-to-End Encryption + Sarbanes-Oxley (SOX) IT Controls: The Complete Guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free. No spam. Unsubscribe anytime.

Someone kicks off a regression run and the whole build pipeline freezes. Permissions hiccup, credentials expire mid-test, and half the engineers stand around waiting for manual approvals. Integrations that should save time instead burn hours. That moment is exactly why Spanner TestComplete exists.

Spanner delivers massive, strongly consistent databases with horizontal scaling that feels almost magical. TestComplete, meanwhile, automates UI and API testing across environments so teams know their software behaves before pushing it live. Combine the two and you get something more interesting: a test workflow that validates performance and correctness directly against production-like data, using managed credentials and identity-aware gates.

The logic is simple. Spanner holds structured data that mirrors real application state. TestComplete orchestrates test cases that need that data on demand. To make them cooperate, you connect TestComplete’s test runners to Spanner instances through a secure identity layer. That means no hard-coded service accounts and no long-lived keys hiding in YAML files. Think of it as CI/CD meeting fine-grained access control.

In a typical integration, the CI job requests just-in-time authorization through OIDC or IAM tokens tied to a CI identity like GitHub Actions. Those short-lived credentials allow TestComplete scripts to query Spanner during automated runs, perform assertions, and then revoke privileges instantly. The system stays secure, traceable, and reproducible.

A few tweaks turn that from “sort of working” to rock solid:

Continue reading? Get the full guide.

End-to-End Encryption + Sarbanes-Oxley (SOX) IT Controls: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.
  • Map roles precisely. Keep read-only roles for test verification separate from write roles used in data setups.
  • Rotate any bootstrap secrets frequently or, better yet, replace them entirely with delegated auth.
  • Use minimal datasets for local runs to speed up execution while preserving schema fidelity.
  • Tag every request with build IDs so audit trails in Spanner match back to test logs.

Here is the blunt payoff you get from doing it well:

  • Faster regression cycles without staging bottlenecks.
  • Cleaner credentials management that aligns with SOC 2 and ISO 27001 standards.
  • Precise audit logs linking identity to each test action.
  • Less risk of data drift between environments.
  • More predictable test outcomes, even under load.

Platforms like hoop.dev turn those access rules into guardrails that enforce policy automatically. It sits between your identity provider, like Okta or Azure AD, and your CI tool, creating short-lived, identity-aware access to Spanner during TestComplete executions. The result is zero manual approval loops and fully traceable data operations every time tests run.

For developers, the daily grind gets smoother. No waiting for DBA approvals. No context-switching between tabs to fetch new tokens. Just faster onboarding and a workflow that feels like it understands you, not the other way around.

How do I connect Spanner and TestComplete?
Grant TestComplete’s runtime service an identity recognized by Cloud Spanner IAM, often through OIDC federation. Use that identity to generate ephemeral access tokens, then reference them in your test scripts. Once the job completes, the token expires automatically, leaving no lingering keys.

AI automation tools are starting to expand this workflow. They can generate queries, produce test assertions, and even detect flaky tests. But they also increase the need for transparent and auditable access layers. Using controlled identity-aware access with Spanner protects real data while letting AI-driven tests learn safely.

When both tools play nice, your tests stay closer to truth, your data stays safe, and your nights stay quiet.

See an Environment Agnostic Identity-Aware Proxy in action with hoop.dev. Deploy it, connect your identity provider, and watch it protect your endpoints everywhere—live in minutes.

Get started

See hoop.dev in action

One gateway for every database, container, and AI agent. Deploy in minutes.

Get a demoMore posts