Sahasa.AI Book a demo

Platform

One platform. About thirty agents. Switch on what you need.

Each module does one job, runs on the AI model you choose, and writes its output into the tools you already use. Start with test generation and add the rest when you're ready.

Requirements and design

From a BRD to a test plan, without writing code

Feed it Word, Excel, PDF or Jira. It extracts atomic requirements, scores how testable each one is and suggests rewrites, maps scenarios, writes prioritised test cases and a risk-based plan.

  • Coverage measured against the requirements, not estimated
  • Built for analysts and manual QA as much as engineers
  • Every case traceable back to the line in the document it came from
JiraConfluenceWordExcelPDF

Test generation

Tests in your frameworks, opened as a pull request

Unit, integration, end-to-end and contract tests, generated from your code, your OpenAPI spec and a live inspection of your app. The platform checks every generated test refers to real symbols and real page elements before it reaches you.

  • Playwright, Cypress, Selenium (Java and Python), pytest, Jest, JUnit 5, Go
  • Cucumber and pytest-bdd for BDD teams
  • Framework fidelity and assertion quality gated deterministically
PlaywrightCypressSeleniumpytestJestJUnitCucumberOpenAPI

Live UI and UX checks

Plain-English scenarios, run in a real browser

An agent drives Chromium against your staging or production URL, takes a screenshot per step, diffs visuals against your last good run and checks WCAG on every page. Works behind login and SSO using a session you provide.

  • Console errors, failed requests, broken links and page health in the same run
  • Visual regression with pixel-level diffs
  • Accessibility findings with the exact element and rule
Chromiumaxe-coreSSO sessions

Bug detection

Twelve categories of bugs, each with a fix

Reads the changed code the way a careful senior engineer would: null handling, off-by-one, race conditions, resource leaks, error handling, boundary conditions and more. Each finding names the file and line and proposes a patch.

  • Blast radius: which callers, modules and tests a change can affect
  • Root cause from a stack trace or a failed CI job
  • Findings posted into the pull request
GitHubGitLabBitbucket

Security and threat modelling

Code scanning, dependencies, secrets, DAST and a threat model in one pass

Static analysis, known-vulnerable dependencies and leaked credentials on every change. Live DAST against the running app. A STRIDE, LINDDUN or PASTA threat model where each threat is corroborated against actual findings rather than listed from a template.

  • Threats mapped to CWE, with the evidence that backs each one
  • Hands your pen-testers a shorter list
  • Security engineers work inside the PR, not a separate portal
SemgrepBanditNucleiSTRIDELINDDUNPASTA

Traceability and reporting

A requirements matrix computed from the code

Requirement to scenario to case to test to code, every link resolved against your repository. Failure triage from your CI reports, performance verdicts from your k6, JMeter or Gatling results, and one dashboard per product across all its repos.

  • Verified, shallow or uncovered on every requirement
  • Export to Jira, Xray, Zephyr, Azure Test Plans
  • Trends over time, per product and per team
k6JMeterGatlingLocustXrayZephyr

How results are labelled

Four states. Nothing is green unless it ran.

The AI does the judgment. The platform verifies it: every cited file and line resolved, every selector checked, everything that can run, run. Then it labels the result so you know exactly how much to trust it.

Measured

It ran. The test executed, the scan completed, the link resolved. Use this number in a release gate.

Generated only

We produced it but couldn't run it here, for instance no JVM in this stage. Review before trusting.

Inconclusive

We tried and the result didn't settle: flaky run, timeout, ambiguous match. We tell you rather than guess.

Not applicable

Nothing to measure: no load report attached, no UI in this service. Shown as N/A, never as a pass.

Bring your own AI

Your models, your keys, your rules.

Anthropic, OpenAI, Google, or any OpenAI-compatible endpoint including gateways in front of Bedrock or Azure. Pick a different model tier per module: a cheap fast one for classification, a strong one for test design. Every run records which model did the work.

config/modules.yaml
llm:
  provider: anthropic          # or openai, gemini, openai_compatible
  base_url: https://llm-gateway.internal
modules:
  requirements_extraction: { enabled: true,  tier: fast }
  test_generation:         { enabled: true,  tier: strong }
  bug_detection:           { enabled: true,  tier: strong }
  threat_model:            { enabled: true,  tier: strong }
  performance_analysis:    { enabled: false }
  vigil:                   { enabled: false }   # turn on when you ship AI features

Scope

What we deliberately leave to others.

This list is on purpose. It's how we stay good at the part in the middle.

Next step

Bring one repository. We'll show you what comes back.

A demo runs on your code, not ours. Forty-five minutes, one service, real findings. If it's useful, we go into a four-week pilot inside your CI.