A Simple Tutorial: An Introductory Guide

Bill Zuo
Bill Zuo
Published on 2025-07-02

This document provides an introductory guide to a simple travel agency demo. The demo showcases a web frontend interacting with a backend service. The backend service exposes three primary APIs: `/book`, `/checkin`, and `/cancel`. For data persistence, the backend stores information in an SQL database. Additionally, it communicates with external airline APIs via HTTP to facilitate booking and other related operations.

Sequential Approach

Use our demo site as a real customer to experience the entire process.

  • Visit the web app: Navigate to demo site.
  • Enter customer details: Fill in the required information.
  • Manage your booking: After booking, you can choose to check in or cancel.

Recordings can be replayed by navigating to dashboard site. Select the play button on the sidebar to display a list of recorded sessions. The table and search attributes can be customized to meet customer requirements.

Backend recordings for demo-agency can be accessed at webclient site. To view them, select "App", then "demo-agency". Click on the "demo-agency" title, which has a red label indicating the number of recordings.

The table displays API endpoints. To access booking API recordings, expand the "/book" endpoint. Locate the most recent recording and click its green ID (e.g., "SP-192-168-1-165-2360001833") to view its details. This page presents the API's input and output, as well as the input and output of its dependency calls. For instance, the booking API interacts with an external airline booking API and stores the booking details in a database by inserting a new row using an SQL insert statement.

Clicking run test allows you to replay backend API recordings on the same instance (e.g., demo site). This reproduces the exact same states, including all data from the airline's API and database, ensuring precise problem reproduction and serving as convenient regression tests.

Use Cases

Customer Support

  • Problem Reproduction: When a customer reports an issue, support teams can use recorded sessions to precisely replay the user's interaction and the system's behavior, including external API calls and database operations. This exact reproduction helps in quickly identifying the root cause of the problem, eliminating ambiguity and "it works on my machine" scenarios.
  • Faster Resolution: By providing detailed insights into the exact sequence of events, support agents can diagnose issues more efficiently, leading to quicker problem resolution and improved customer satisfaction.
  • Training and Knowledge Base: Recorded sessions serve as valuable training material for new support agents, demonstrating how the system behaves under various scenarios. They can also be used to build a comprehensive knowledge base of common issues and their resolutions.

Auditing

  • Traceability and Accountability: Every interaction with the system, including user inputs, API calls, and database modifications, is recorded. This creates a detailed audit trail, making it possible to trace every action and understand who did what, when, and how. This is crucial for compliance, security, and dispute resolution.
  • Security Audits: Recorded sessions can be analyzed to identify potential security vulnerabilities, unauthorized access attempts, or data breaches. By reviewing the inputs and outputs of API calls and database operations, auditors can detect suspicious activities or deviations from expected behavior.
  • Compliance Verification: For industries with strict regulatory requirements, the ability to reconstruct past system states and user interactions provides strong evidence of compliance with data handling, privacy, and operational procedures.
  • Performance Monitoring and Optimization: While primarily for debugging, the detailed recordings can also indirectly support auditing by providing granular data on how the system responds to various loads and interactions, helping to identify performance bottlenecks or inefficient processes.

Advanced Features and Use Cases

This section delves into the more advanced capabilities of the Softprobe demo and outlines various use cases beyond the basic tutorial.

Customizing Recording Display

As mentioned, the table and search attributes on the dashboard site can be customized. This allows users to tailor the display of recorded sessions to their specific needs, making it easier to find and analyze relevant data. Softprobe's recording capabilities offer significant benefits for customer support and auditing:

Detailed Backend Recording Analysis

The ability to view the input and output of API calls, along with their dependency calls (like external airline APIs and SQL database interactions), provides powerful debugging and analysis capabilities. This granular level of detail is crucial for identifying issues within complex distributed systems.

  • External API Interaction: Observe the exact requests and responses with external services, which is invaluable for troubleshooting integration problems.
  • Database Operations: Analyze the SQL statements executed, including `INSERT`, `UPDATE`, `SELECT`, and `DELETE` operations, to understand data persistence behavior.

Reproducing Exact States for Debugging and Regression Testing

The "run test" feature, which replays backend API recordings, is a cornerstone of this platform's advanced utility.

  • Precise Problem Reproduction: By reproducing the exact same states, including all data from external APIs and databases, developers can reliably recreate bugs that might otherwise be difficult to track down. This eliminates the "it works on my machine" problem.
  • Automated Regression Testing: The ability to replay recordings automatically turns them into powerful regression tests. Any deviation from the expected behavior during a replay indicates a regression, ensuring that new code changes do not break existing functionality. This can be integrated into CI/CD pipelines for continuous validation.

Security Testing

Recorded sessions can be analyzed for potential security vulnerabilities, such as improper input validation or unauthorized data access. Replaying these sessions with modified inputs can help in discovering and patching security flaws.

Understanding System Behavior

For new team members or during complex troubleshooting, the detailed recordings provide an invaluable way to understand the flow of data and interactions within the application and its dependencies. This serves as a living documentation of the system's behavior.

Tags

TutorialAPI TestingRecordingDebuggingCustomer SupportAuditingRegression TestingSoftProbe