aboutsummaryrefslogtreecommitdiff
path: root/pairwise-tests/references/examples.md
blob: 258b1ef810f970ed240fe01966254cbe6eea1e0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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)