739 lines
17 KiB
Markdown
739 lines
17 KiB
Markdown
# 🧪 SEO Skills - Complete Testing Guide
|
|
|
|
**Purpose:** Test all implemented features systematically
|
|
**Estimated Time:** 2-3 hours for full test suite
|
|
**Prerequisites:** Python 3.8+, pip packages installed
|
|
|
|
---
|
|
|
|
## 📋 TEST OVERVIEW
|
|
|
|
| Test Group | Features | Priority | Time |
|
|
|------------|----------|----------|------|
|
|
| **Group 1:** Content Generation | Multi-channel generation | High | 30 min |
|
|
| **Group 2:** Thai Analysis | Keyword, readability, quality | High | 20 min |
|
|
| **Group 3:** Context Management | Create, manage context | Medium | 15 min |
|
|
| **Group 4:** Image Integration | Generate, edit images | Medium | 30 min |
|
|
| **Group 5:** Auto-Publish | Astro publishing | Medium | 20 min |
|
|
| **Group 6:** Analytics | GA4, GSC, DataForSEO, Umami | Low | 30 min |
|
|
|
|
---
|
|
|
|
## 🔧 PRE-TEST SETUP
|
|
|
|
### **1. Install Dependencies**
|
|
|
|
```bash
|
|
# Navigate to skills directory
|
|
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills
|
|
|
|
# Install all dependencies
|
|
pip install pythainlp pyyaml python-dotenv pandas tqdm rich \
|
|
markdown python-frontmatter GitPython Pillow requests
|
|
|
|
# Install Google APIs (for analytics testing)
|
|
pip install google-analytics-data google-auth google-auth-oauthlib \
|
|
google-api-python-client
|
|
|
|
# Download Thai language data
|
|
python3 -c "from pythainlp.corpus import download; download('default')"
|
|
```
|
|
|
|
### **2. Verify Installation**
|
|
|
|
```bash
|
|
# Test PyThaiNLP
|
|
python3 -c "from pythainlp import word_tokenize; print(word_tokenize('ทดสอบภาษาไทย'))"
|
|
# Expected: ['ทดสอบ', 'ภาษาไทย']
|
|
|
|
# Test YAML
|
|
python3 -c "import yaml; print('YAML OK')"
|
|
|
|
# Test requests
|
|
python3 -c "import requests; print('Requests OK')"
|
|
```
|
|
|
|
---
|
|
|
|
## 📝 GROUP 1: Content Generation Tests
|
|
|
|
### **Test 1.1: Facebook Post Generation**
|
|
|
|
```bash
|
|
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-multi-channel/scripts
|
|
|
|
python3 generate_content.py \
|
|
--topic "บริการ podcast hosting" \
|
|
--channels facebook \
|
|
--language th \
|
|
--output test-fb
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
🎯 Generating content for: บริการ podcast hosting
|
|
📱 Channels: facebook
|
|
🌐 Language: th
|
|
|
|
Generating facebook...
|
|
[Image Generation] Would generate image for facebook
|
|
Topic: บริการ podcast hosting, Type: social
|
|
... (5 times)
|
|
|
|
✅ Results saved to: output/บริการ-podcast-hosting/results.json
|
|
|
|
📊 Summary:
|
|
Channels generated: 1
|
|
- facebook: 5 variations
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Output file created at `output/test-fb/results.json`
|
|
- [ ] Contains 5 Facebook variations
|
|
- [ ] Each has: primary_text, headline, cta, hashtags
|
|
|
|
---
|
|
|
|
### **Test 1.2: Multi-Channel Generation**
|
|
|
|
```bash
|
|
python3 generate_content.py \
|
|
--topic "บริการ podcast hosting" \
|
|
--channels facebook google_ads blog \
|
|
--language th
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
🎯 Generating content for: บริการ podcast hosting
|
|
📱 Channels: facebook, google_ads, blog
|
|
🌐 Language: th
|
|
|
|
Generating facebook... (5 variations)
|
|
Generating google_ads... (3 variations)
|
|
Generating blog... (5 variations)
|
|
|
|
✅ Results saved to: output/บริการ-podcast-hosting/results.json
|
|
|
|
📊 Summary:
|
|
Channels generated: 3
|
|
- facebook: 5 variations
|
|
- google_ads: 3 variations
|
|
- blog: 5 variations
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] All 3 channels generated
|
|
- [ ] Total 13 variations
|
|
- [ ] Blog has markdown with frontmatter
|
|
- [ ] Google Ads has 15 headlines, 4 descriptions
|
|
|
|
---
|
|
|
|
### **Test 1.3: English Content**
|
|
|
|
```bash
|
|
python3 generate_content.py \
|
|
--topic "best podcast hosting 2026" \
|
|
--channels facebook blog \
|
|
--language en
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] English content generated
|
|
- [ ] Different tone/formality than Thai
|
|
- [ ] Proper English grammar structure
|
|
|
|
---
|
|
|
|
## 📝 GROUP 2: Thai Analysis Tests
|
|
|
|
### **Test 2.1: Keyword Density Analysis**
|
|
|
|
```bash
|
|
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-analyzers/scripts
|
|
|
|
python3 thai_keyword_analyzer.py \
|
|
--text "บริการ podcast hosting ที่ดีที่สุดช่วยให้คุณเผยแพร่ podcast ไปยัง Apple Podcasts, Spotify, YouTube Music ได้อย่างง่ายดาย บริการ podcast ของเราเป็นเครื่องมือที่ครบวงจรที่สุด" \
|
|
--keyword "บริการ podcast" \
|
|
--language th \
|
|
--output text
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
📊 Keyword Analysis Results
|
|
|
|
Keyword: บริการ podcast
|
|
Word Count: 25
|
|
Occurrences: 3
|
|
Density: 12.0% (target: 1.0-1.5%)
|
|
Status: too_high
|
|
|
|
Critical Placements:
|
|
✓ First 100 words: Yes
|
|
✓ H1 Headline: No
|
|
✓ Conclusion: No
|
|
✓ H2 Headings: 0 found
|
|
|
|
Keyword Stuffing Risk: high
|
|
|
|
💡 Recommendations:
|
|
• ลดการใช้คำหลักลง อาจถูกมองว่า keyword stuffing
|
|
• เพิ่มคำหลักในหัวข้อหลัก (H1)
|
|
• เพิ่มคำหลักในบทสรุป
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Thai word count accurate (uses PyThaiNLP)
|
|
- [ ] Density calculated correctly
|
|
- [ ] Recommendations in Thai
|
|
|
|
---
|
|
|
|
### **Test 2.2: Readability Analysis**
|
|
|
|
```bash
|
|
python3 thai_readability.py \
|
|
--text "มาเริ่ม podcast กันเลย! ไม่ต้องรอให้พร้อม 100% แค่มีไอเดียดีๆ กับไมค์หนึ่งอัน คุณก็เริ่มต้นได้แล้ว ส่วนเรื่องเทคนิคที่เหลือ เราช่วยคุณเอง" \
|
|
--output text
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
📖 Thai Readability Analysis
|
|
|
|
Sentence Count: 3
|
|
Word Count: 28
|
|
Avg Sentence Length: 9.3 words
|
|
|
|
Grade Level: ง่าย (ม.6-ม.9)
|
|
Formality: กันเอง (Casual)
|
|
|
|
Readability Score: 75/100
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Thai sentences counted correctly
|
|
- [ ] Formality detected (กันเอง vs เป็นทางการ)
|
|
- [ ] Grade level in Thai format
|
|
|
|
---
|
|
|
|
### **Test 2.3: Content Quality Scoring**
|
|
|
|
```bash
|
|
python3 content_quality_scorer.py \
|
|
--text "# คู่มือ Podcast Hosting
|
|
|
|
บริการ podcast hosting เป็นสิ่งสำคัญสำหรับ podcaster ทุกคน...
|
|
|
|
[Add 500+ words of content]" \
|
|
--keyword "podcast hosting" \
|
|
--output text
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
⭐ Content Quality Score
|
|
|
|
Overall Score: 65.0/100
|
|
Status: fair
|
|
Action: Address priority fixes
|
|
|
|
Category Scores:
|
|
• Keyword Optimization: 15/25
|
|
• Readability: 18/25
|
|
• Structure: 17/25
|
|
• Brand Voice: 15/25
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Score between 0-100
|
|
- [ ] 4 category breakdowns
|
|
- [ ] Recommendations provided
|
|
|
|
---
|
|
|
|
## 📝 GROUP 3: Context Management Tests
|
|
|
|
### **Test 3.1: Create Context Files**
|
|
|
|
```bash
|
|
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-context/scripts
|
|
|
|
python3 context_manager.py \
|
|
--create \
|
|
--project "/tmp/test-website" \
|
|
--industry "podcast" \
|
|
--formality "normal"
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
📝 Context Manager
|
|
Project: /tmp/test-website
|
|
|
|
Creating context files...
|
|
Industry: podcast
|
|
Audience: Thai audience
|
|
Formality: normal
|
|
|
|
✅ Context created successfully!
|
|
|
|
📁 Created files:
|
|
✓ brand-voice.md
|
|
✓ target-keywords.md
|
|
✓ seo-guidelines.md
|
|
✓ internal-links-map.md
|
|
✓ data-services.json
|
|
✓ style-guide.md
|
|
|
|
📍 Location: /tmp/test-website/context
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] All 6 files created in `/tmp/test-website/context/`
|
|
- [ ] brand-voice.md has Thai voice pillars
|
|
- [ ] seo-guidelines.md has Thai-specific rules
|
|
- [ ] data-services.json has all services disabled
|
|
|
|
```bash
|
|
# Verify files
|
|
ls -la /tmp/test-website/context/
|
|
cat /tmp/test-website/context/brand-voice.md | head -20
|
|
```
|
|
|
|
---
|
|
|
|
### **Test 3.2: Alternative --action Flag**
|
|
|
|
```bash
|
|
python3 context_manager.py \
|
|
--action create \
|
|
--project "/tmp/test-website-2" \
|
|
--industry "ecommerce" \
|
|
--formality "casual"
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Works with `--action create` instead of `--create`
|
|
- [ ] Different industry reflected in content
|
|
|
|
---
|
|
|
|
## 📝 GROUP 4: Image Integration Tests
|
|
|
|
### **Test 4.1: Image Generation (Requires CHUTES_API_TOKEN)**
|
|
|
|
```bash
|
|
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-multi-channel/scripts
|
|
|
|
# Set your API token
|
|
export CHUTES_API_TOKEN="your_token_here"
|
|
|
|
python3 image_integration.py \
|
|
--action generate \
|
|
--topic "podcast hosting" \
|
|
--channel facebook \
|
|
--output-dir ./test-images
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
🎨 Generating image...
|
|
Prompt: Professional illustration of podcast hosting...
|
|
Size: 1024x1024
|
|
✓ Saved: ./test-images/podcast-hosting/facebook/generated_xxx.png
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Image file created
|
|
- [ ] Saved in correct folder structure
|
|
- [ ] Image is viewable (not corrupted)
|
|
|
|
**Note:** If no API token, test will show prompt about needing token
|
|
|
|
---
|
|
|
|
### **Test 4.2: Find Product Images**
|
|
|
|
```bash
|
|
# First, create a test website structure
|
|
mkdir -p /tmp/test-website/public/images/products
|
|
cp /path/to/any-image.jpg /tmp/test-website/public/images/products/podcast-mic.jpg
|
|
|
|
python3 image_integration.py \
|
|
--action find \
|
|
--product-name "podcast-mic" \
|
|
--website-repo "/tmp/test-website"
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
🔍 Looking for product images: podcast-mic
|
|
✓ Found 1 image(s)
|
|
- /tmp/test-website/public/images/products/podcast-mic.jpg
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Finds images in website repo
|
|
- [ ] Searches multiple directories
|
|
- [ ] Returns full paths
|
|
|
|
---
|
|
|
|
### **Test 4.3: Product Image Edit (Requires CHUTES_API_TOKEN)**
|
|
|
|
```bash
|
|
export CHUTES_API_TOKEN="your_token_here"
|
|
|
|
python3 image_integration.py \
|
|
--action edit \
|
|
--product-name "podcast-mic" \
|
|
--website-repo "/tmp/test-website" \
|
|
--prompt "Enhance product, professional lighting, clean background" \
|
|
--topic "podcast-mic" \
|
|
--channel facebook_ads \
|
|
--output-dir ./test-images
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
✏️ Editing product image...
|
|
Base: /tmp/test-website/public/images/products/podcast-mic.jpg
|
|
Edit: Enhance product, professional lighting...
|
|
✓ Saved: ./test-images/podcast-mic/facebook_ads/edited_xxx.png
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Original image found
|
|
- [ ] Edited image created
|
|
- [ ] Saved in channel-specific folder
|
|
|
|
---
|
|
|
|
## 📝 GROUP 5: Auto-Publish Tests
|
|
|
|
### **Test 5.1: Publish Blog Post**
|
|
|
|
```bash
|
|
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-multi-channel/scripts
|
|
|
|
# Create test blog post
|
|
cat > /tmp/test-blog.md << 'EOF'
|
|
---
|
|
title: "คู่มือ Podcast Hosting ที่ดีที่สุด 2026"
|
|
description: "เปรียบเทียบบริการ podcast hosting ทั้งหมด"
|
|
keywords: ["podcast hosting", "บริการ podcast"]
|
|
slug: podcast-hosting-best-2026
|
|
lang: th
|
|
category: guides
|
|
created: 2026-03-08
|
|
---
|
|
|
|
# คู่มือ Podcast Hosting ที่ดีที่สุด 2026
|
|
|
|
บทความนี้จะเปรียบเทียบแพลตฟอร์มยอดนิยม...
|
|
EOF
|
|
|
|
# Initialize test git repo
|
|
mkdir -p /tmp/test-astro-website/src/content/blog/\(th\)
|
|
cd /tmp/test-astro-website
|
|
git init
|
|
git config user.email "test@test.com"
|
|
git config user.name "Test User"
|
|
git remote add origin https://github.com/yourusername/test-repo.git
|
|
|
|
# Publish
|
|
python3 auto_publish.py \
|
|
--file /tmp/test-blog.md \
|
|
--website-repo /tmp/test-astro-website
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
📝 Publishing to Astro
|
|
|
|
✓ Saved: /tmp/test-astro-website/src/content/blog/(th)/podcast-hosting-best-2026.md
|
|
✓ Committed: Add blog post: podcast-hosting-best-2026 (th)
|
|
✓ Pushed to remote
|
|
|
|
✅ Published successfully!
|
|
Slug: podcast-hosting-best-2026
|
|
Language: th
|
|
Path: /tmp/test-astro-website/src/content/blog/(th)/podcast-hosting-best-2026.md
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Markdown file saved in correct language folder
|
|
- [ ] Git commit created
|
|
- [ ] Slug generated correctly from Thai title
|
|
|
|
---
|
|
|
|
### **Test 5.2: English Blog Post**
|
|
|
|
```bash
|
|
cat > /tmp/test-blog-en.md << 'EOF'
|
|
---
|
|
title: "Best Podcast Hosting 2026"
|
|
description: "Compare all podcast hosting services"
|
|
slug: best-podcast-hosting-2026
|
|
lang: en
|
|
---
|
|
|
|
# Best Podcast Hosting 2026
|
|
|
|
This article compares...
|
|
EOF
|
|
|
|
python3 auto_publish.py \
|
|
--file /tmp/test-blog-en.md \
|
|
--website-repo /tmp/test-astro-website
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Saved in `(en)` folder
|
|
- [ ] Language auto-detected if not specified
|
|
|
|
---
|
|
|
|
## 📝 GROUP 6: Analytics Tests (Optional - Needs Credentials)
|
|
|
|
### **Test 6.1: Data Aggregator (No Services)**
|
|
|
|
```bash
|
|
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-data/scripts
|
|
|
|
# Create empty config
|
|
cat > /tmp/test-context/data-services.json << 'EOF'
|
|
{
|
|
"ga4": {"enabled": false},
|
|
"gsc": {"enabled": false},
|
|
"dataforseo": {"enabled": false},
|
|
"umami": {"enabled": false}
|
|
}
|
|
EOF
|
|
|
|
python3 data_aggregator.py \
|
|
--context /tmp/test-context \
|
|
--action performance \
|
|
--url "https://test.com/page"
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
📊 Initializing Data Service Manager...
|
|
Context: /tmp/test-context
|
|
|
|
No analytics services configured. All features will be skipped.
|
|
|
|
⚠️ No services configured. Exiting.
|
|
```
|
|
|
|
**Verify:**
|
|
- [ ] Gracefully handles no services
|
|
- [ ] No errors thrown
|
|
|
|
---
|
|
|
|
### **Test 6.2: GA4 Connector (With Credentials)**
|
|
|
|
```bash
|
|
# Only if you have GA4 credentials
|
|
python3 ga4_connector.py \
|
|
--property-id "G-XXXXXXXXXX" \
|
|
--credentials "/path/to/ga4-credentials.json" \
|
|
--url "/blog/article" \
|
|
--days 30
|
|
```
|
|
|
|
**Verify (if credentials provided):**
|
|
- [ ] Connects successfully
|
|
- [ ] Returns pageview data
|
|
- [ ] Returns engagement metrics
|
|
|
|
---
|
|
|
|
### **Test 6.3: GSC Connector (With Credentials)**
|
|
|
|
```bash
|
|
# Only if you have GSC credentials
|
|
python3 gsc_connector.py \
|
|
--site-url "https://yoursite.com" \
|
|
--credentials "/path/to/gsc-credentials.json" \
|
|
--quick-wins
|
|
```
|
|
|
|
**Expected Output:**
|
|
```
|
|
🔍 Testing GSC Connector
|
|
Site: https://yoursite.com
|
|
|
|
Finding quick wins (position 11-20)...
|
|
|
|
Found 15 opportunities:
|
|
|
|
1. keyword example
|
|
Position: 12 | Impressions: 1,234 | Priority: 85
|
|
```
|
|
|
|
**Verify (if credentials provided):**
|
|
- [ ] Connects successfully
|
|
- [ ] Returns keyword positions
|
|
- [ ] Quick wins calculated correctly
|
|
|
|
---
|
|
|
|
### **Test 6.4: DataForSEO (With Credentials)**
|
|
|
|
```bash
|
|
python3 dataforseo_client.py \
|
|
--login "your_login" \
|
|
--password "your_password" \
|
|
--keyword "podcast hosting"
|
|
```
|
|
|
|
**Verify (if credentials provided):**
|
|
- [ ] Authenticates successfully
|
|
- [ ] Returns SERP data
|
|
|
|
---
|
|
|
|
### **Test 6.5: Umami (With Credentials)**
|
|
|
|
```bash
|
|
python3 umami_connector.py \
|
|
--api-url "https://analytics.yoursite.com" \
|
|
--api-key "your_api_key" \
|
|
--website-id "your_website_id"
|
|
```
|
|
|
|
**Verify (if credentials provided):**
|
|
- [ ] Connects successfully
|
|
- [ ] Returns analytics data
|
|
|
|
---
|
|
|
|
## ✅ TEST CHECKLIST SUMMARY
|
|
|
|
### **High Priority (Must Test):**
|
|
|
|
- [ ] **Test 1.1:** Facebook post generation (Thai)
|
|
- [ ] **Test 1.2:** Multi-channel generation
|
|
- [ ] **Test 2.1:** Thai keyword density analysis
|
|
- [ ] **Test 2.2:** Thai readability analysis
|
|
- [ ] **Test 2.3:** Content quality scoring
|
|
- [ ] **Test 3.1:** Context file creation
|
|
|
|
### **Medium Priority (Should Test):**
|
|
|
|
- [ ] **Test 4.1:** Image generation (if have token)
|
|
- [ ] **Test 4.2:** Find product images
|
|
- [ ] **Test 5.1:** Auto-publish blog post
|
|
- [ ] **Test 1.3:** English content generation
|
|
|
|
### **Low Priority (If Have Credentials):**
|
|
|
|
- [ ] **Test 6.2:** GA4 connector
|
|
- [ ] **Test 6.3:** GSC connector
|
|
- [ ] **Test 6.4:** DataForSEO client
|
|
- [ ] **Test 6.5:** Umami connector
|
|
|
|
---
|
|
|
|
## 🐛 COMMON ISSUES & FIXES
|
|
|
|
### **Issue 1: PyThaiNLP Not Working**
|
|
|
|
**Error:** `ImportError: No module named 'pythainlp'`
|
|
|
|
**Fix:**
|
|
```bash
|
|
pip install pythainlp
|
|
python3 -c "from pythainlp.corpus import download; download('default')"
|
|
```
|
|
|
|
---
|
|
|
|
### **Issue 2: YAML Parser Errors**
|
|
|
|
**Error:** `yaml.parser.ParserError`
|
|
|
|
**Fix:** Templates already fixed. If using custom templates, ensure:
|
|
- No unquoted special characters
|
|
- Proper indentation (2 spaces)
|
|
- No `or` in values (use quotes)
|
|
|
|
---
|
|
|
|
### **Issue 3: Image Generation Fails**
|
|
|
|
**Error:** `CHUTES_API_TOKEN not set`
|
|
|
|
**Fix:** Either set token or skip image tests (core functionality still works)
|
|
|
|
```bash
|
|
export CHUTES_API_TOKEN="your_token"
|
|
```
|
|
|
|
---
|
|
|
|
### **Issue 4: Git Push Fails**
|
|
|
|
**Error:** `git push` authentication failed
|
|
|
|
**Fix:** For testing, skip remote push:
|
|
```bash
|
|
# Just test local commit
|
|
git commit -m "Test commit"
|
|
# Don't push
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 TEST RESULTS TEMPLATE
|
|
|
|
After testing, fill in this template:
|
|
|
|
```markdown
|
|
## Test Results - [Date]
|
|
|
|
**Tester:** [Your name]
|
|
**Environment:** [Python version, OS]
|
|
|
|
### Group 1: Content Generation
|
|
- [ ] Test 1.1: Facebook (Thai) - PASS/FAIL
|
|
- [ ] Test 1.2: Multi-channel - PASS/FAIL
|
|
- [ ] Test 1.3: English - PASS/FAIL
|
|
|
|
### Group 2: Thai Analysis
|
|
- [ ] Test 2.1: Keyword density - PASS/FAIL
|
|
- [ ] Test 2.2: Readability - PASS/FAIL
|
|
- [ ] Test 2.3: Quality score - PASS/FAIL
|
|
|
|
### Group 3: Context
|
|
- [ ] Test 3.1: Create context - PASS/FAIL
|
|
|
|
### Group 4: Images
|
|
- [ ] Test 4.1: Generate - PASS/FAIL/SKIP
|
|
- [ ] Test 4.2: Find products - PASS/FAIL
|
|
|
|
### Group 5: Auto-Publish
|
|
- [ ] Test 5.1: Publish blog - PASS/FAIL
|
|
|
|
### Group 6: Analytics
|
|
- [ ] Test 6.x: [Service] - PASS/FAIL/SKIP (no creds)
|
|
|
|
### Bugs Found:
|
|
1. [Description]
|
|
2. [Description]
|
|
|
|
### Overall Status: [Ready/Needs Fixes]
|
|
```
|
|
|
|
---
|
|
|
|
**Happy Testing!** 🧪🎉
|