Skip to main content

Test & Deploy Guide

This guide covers the complete testing and deployment workflow in SoftyFlow, including running tests and managing versions across different environments.

Before testing and deploying, ensure you've built your application components: web interfaces, processes, database integrations, external integrations, and reports.

Testing Your Application

Running Tests

SoftyFlow provides multiple ways to test your application components:

1. Component-Level Testing

2. Integration Testing

  • Test complete workflows from UI to backend processes
  • Validate data flow between different components
  • Ensure proper integration between APIs and databases

3. Real-Time Testing

Example: Testing a process workflow

Testing workflow execution - step 1
Testing workflow execution - step 2
Testing workflow execution - step 3
Testing workflow execution - step 4
Testing workflow execution - step 5
Testing workflow execution - step 6

Version Management System

SoftyFlow implements a comprehensive version management system that tracks every change across all application components.

Version Schema Structure

Version schema structure

Creating and Managing Versions

1. Version Creation Process

Creating and managing version interface

2. Resource Selection and Versioning

The version management system allows you to:

  • Select Components: Choose which UI, API, Process, Report, and Custom List components to include
  • Version Control: Select specific versions of each component
  • Bulk Operations: Add all resources at once or refresh to latest versions
  • Cross-Project Resources: Import components from other projects
Resource selection and versioning interface

Environment Management: TEST, UAT, PROD

SoftyFlow supports three distinct environments with specific characteristics and deployment flows.

Environment Hierarchy

TEST → UAT → PROD

1. TEST Environment

Purpose: Development and initial testing

Characteristics:

  • Full editing capabilities
  • Rapid iteration and testing
  • No restrictions on changes
  • Default environment for new versions

Usage:

Creating a test version

2. UAT Environment (User Acceptance Testing)

Purpose: Business user testing and validation

Characteristics:

  • Stable versions ready for business testing
  • Limited editing (promoted from TEST)
  • End-user validation environment
  • Pre-production testing

Promotion Process:

Pushing version to UAT - step 1
Pushing version to UAT - step 2

3. PROD Environment (Production)

Purpose: Live production environment

Characteristics:

  • Live production system
  • Highest stability requirements
  • Automatic pushedToProd flag setting
  • Component latest production version tracking

Production Deployment:

Pushing version to PROD - step 1
Pushing version to PROD - step 2
Pushing version to PROD - step 3

Advanced Version Management Features

1. Version History and Comparison

Version History and Comparison

2. Version Status Tracking

The system provides real-time status tracking across environments:

Version Status Tracking

3. Instance Management

Track running instances across environments:

Instance Management

Deployment Workflow

1. Standard Deployment Process

graph TD
A[Develop in TEST] --> B[Test & Validate]
B --> C[Create Version]
C --> D[Push to UAT]
D --> E[Business Testing]
E --> F[Push to PROD]
F --> G[Production Monitoring]

2. Version Promotion

Use version promotion to move your applications through the testing pipeline and into production monitoring with our monitor and run capabilities.

Version Promotion

3. Rollback Capabilities

Rollback Capabilities

Best Practices

1. Version Naming Conventions

  • Use semantic versioning: v1.2.3
  • Include feature descriptions: Login-Enhancement-v1.2
  • Add environment indicators: UAT-Release-2024.01

2. Testing Strategy

  • Unit Testing: Test individual components in TEST
  • Integration Testing: Validate component interactions in UAT
  • User Acceptance: Business validation in UAT
  • Production Monitoring: Continuous monitoring in PROD

3. Deployment Safety

  • Always test in TEST environment first
  • Validate in UAT before PROD deployment
  • Maintain rollback plans for PROD deployments
  • Monitor system health after deployments

4. Version Control

  • Create meaningful version descriptions
  • Tag important releases
  • Maintain version history
  • Document breaking changes

Next Steps

Now that you understand testing and deployment, continue with production management:

For production security, review our authentication, user management, and role management guides.

For ongoing maintenance, explore system logs and our video tutorials for best practices.