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
- UI Testing: Test individual user interfaces in isolation
- Process Testing: Execute workflows step-by-step to validate business logic
- API Testing: Verify API endpoints and data flow
- Report Testing: Validate report generation and data accuracy
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






Version Management System
SoftyFlow implements a comprehensive version management system that tracks every change across all application components.
Version Schema Structure

Creating and Managing Versions
1. Version Creation Process

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

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:

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:


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:



Advanced Version Management Features
1. Version History and Comparison

2. Version Status Tracking
The system provides real-time status tracking across environments:

3. Instance Management
Track running instances across environments:

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.

3. 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:
- Monitor & Run - Monitor and manage your deployed applications
- Web Interface Design - Refine your interfaces based on testing feedback
- Process Design - Optimize your processes based on production data
- Database Integration - Scale your database integrations for production
- Integration - Monitor and maintain your external integrations
- Reporting - Create production reports and dashboards
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.