This commit is contained in:
98
references/examples.md
Normal file
98
references/examples.md
Normal file
@@ -0,0 +1,98 @@
|
||||
# PICT Examples Reference
|
||||
|
||||
> **Note**: This is a placeholder file. Comprehensive examples are coming soon!
|
||||
>
|
||||
> For now, check out the [examples directory](../examples/) for complete real-world examples.
|
||||
|
||||
## Available Examples
|
||||
|
||||
### Complete Examples
|
||||
- **[ATM System Testing](../examples/atm-specification.md)**: Comprehensive banking ATM system with 31 test cases
|
||||
|
||||
### Coming Soon
|
||||
|
||||
#### Software Testing
|
||||
- Function testing with multiple parameters
|
||||
- API endpoint testing
|
||||
- Database query validation
|
||||
- Algorithm testing
|
||||
|
||||
#### Web Applications
|
||||
- Form validation
|
||||
- User authentication
|
||||
- E-commerce checkout
|
||||
- Shopping cart operations
|
||||
|
||||
#### Configuration Testing
|
||||
- System configurations
|
||||
- Feature flags
|
||||
- Environment settings
|
||||
- Browser compatibility
|
||||
|
||||
#### Mobile Testing
|
||||
- Device and OS combinations
|
||||
- Screen sizes
|
||||
- Network conditions
|
||||
- Permissions
|
||||
|
||||
## Pattern Library (Coming Soon)
|
||||
|
||||
### Common Constraint Patterns
|
||||
|
||||
```
|
||||
# Dependency constraints
|
||||
IF [FeatureA] = "Enabled" THEN [FeatureB] = "Enabled";
|
||||
|
||||
# Exclusive options
|
||||
IF [PaymentMethod] = "Cash" THEN [InstallmentPlan] = "None";
|
||||
|
||||
# Platform limitations
|
||||
IF [OS] = "iOS" THEN [Browser] IN {Safari, Chrome};
|
||||
|
||||
# Environment restrictions
|
||||
IF [Environment] = "Production" THEN [LogLevel] <> "Debug";
|
||||
```
|
||||
|
||||
### Boundary Value Patterns
|
||||
|
||||
```
|
||||
# Numeric boundaries
|
||||
Age: 0, 17, 18, 64, 65, 100
|
||||
|
||||
# Size categories
|
||||
FileSize: 0KB, 1KB, 1MB, 100MB, 1GB
|
||||
|
||||
# Time periods
|
||||
Duration: 0s, 1s, 30s, 60s, 3600s
|
||||
```
|
||||
|
||||
### Negative Testing Patterns
|
||||
|
||||
```
|
||||
# Invalid inputs (using ~ prefix in some PICT variants)
|
||||
Email: Valid, Invalid, Empty, TooLong
|
||||
Password: Strong, Weak, Empty, SpecialChars
|
||||
|
||||
# Error conditions
|
||||
NetworkStatus: Connected, Slow, Disconnected, Timeout
|
||||
```
|
||||
|
||||
## Contributing Examples
|
||||
|
||||
Have an example to share? We'd love to include it!
|
||||
|
||||
1. Create your example following the structure in [examples/README.md](../examples/README.md)
|
||||
2. Include:
|
||||
- Original specification
|
||||
- PICT model
|
||||
- Test cases with expected outputs
|
||||
- Learning points
|
||||
3. Submit a pull request
|
||||
|
||||
See [CONTRIBUTING.md](../CONTRIBUTING.md) for details.
|
||||
|
||||
## External Resources
|
||||
|
||||
- [Pairwise Testing Tutorial](https://www.pairwisetesting.com/)
|
||||
- [NIST Combinatorial Testing Resources](https://csrc.nist.gov/projects/automated-combinatorial-testing-for-software)
|
||||
- [Microsoft PICT Examples](https://github.com/microsoft/pict/tree/main/doc)
|
||||
83
references/pict_syntax.md
Normal file
83
references/pict_syntax.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# PICT Syntax Reference
|
||||
|
||||
> **Note**: This is a placeholder file. Complete syntax documentation is coming soon!
|
||||
>
|
||||
> For now, please refer to the official PICT documentation:
|
||||
> - [Microsoft PICT on GitHub](https://github.com/microsoft/pict)
|
||||
> - [PICT User Guide](https://github.com/microsoft/pict/blob/main/doc/pict.md)
|
||||
|
||||
## Quick Reference
|
||||
|
||||
### Basic Model Structure
|
||||
|
||||
```
|
||||
# Parameters
|
||||
ParameterName: Value1, Value2, Value3
|
||||
AnotherParameter: ValueA, ValueB, ValueC
|
||||
|
||||
# Constraints (optional)
|
||||
IF [ParameterName] = "Value1" THEN [AnotherParameter] <> "ValueA";
|
||||
```
|
||||
|
||||
### Parameter Definition
|
||||
|
||||
```
|
||||
ParameterName: Value1, Value2, Value3, ...
|
||||
```
|
||||
|
||||
### Constraint Syntax
|
||||
|
||||
```
|
||||
IF <condition> THEN <condition>;
|
||||
```
|
||||
|
||||
### Operators
|
||||
|
||||
- `=` - Equal to
|
||||
- `<>` - Not equal to
|
||||
- `>` - Greater than
|
||||
- `<` - Less than
|
||||
- `>=` - Greater than or equal to
|
||||
- `<=` - Less than or equal to
|
||||
- `IN` - Member of set
|
||||
- `AND` - Logical AND
|
||||
- `OR` - Logical OR
|
||||
- `NOT` - Logical NOT
|
||||
|
||||
### Example Constraints
|
||||
|
||||
```
|
||||
# Simple constraint
|
||||
IF [OS] = "MacOS" THEN [Browser] <> "IE";
|
||||
|
||||
# Multiple conditions
|
||||
IF [Environment] = "Production" AND [LogLevel] = "Debug" THEN [Approved] = "False";
|
||||
|
||||
# Set membership
|
||||
IF [UserRole] = "Guest" THEN [Permission] IN {Read, None};
|
||||
```
|
||||
|
||||
## Coming Soon
|
||||
|
||||
Detailed documentation will include:
|
||||
- Complete grammar specification
|
||||
- Advanced features (sub-models, aliasing, seeding)
|
||||
- Negative testing patterns
|
||||
- Weight specifications
|
||||
- Order specifications
|
||||
- Examples for each feature
|
||||
|
||||
## Contributing
|
||||
|
||||
If you'd like to help complete this documentation:
|
||||
1. Fork the repository
|
||||
2. Add content to this file
|
||||
3. Submit a pull request
|
||||
|
||||
See [CONTRIBUTING.md](../CONTRIBUTING.md) for guidelines.
|
||||
|
||||
## External Resources
|
||||
|
||||
- [Official PICT Documentation](https://github.com/microsoft/pict/blob/main/doc/pict.md)
|
||||
- [pypict Documentation](https://github.com/kmaehashi/pypict)
|
||||
- [Pairwise Testing Explained](https://www.pairwisetesting.com/)
|
||||
Reference in New Issue
Block a user