Skip to content

azure-devops-test-manager

Choose a tag to compare

@iqbaljunaid iqbaljunaid released this 29 Oct 11:36
· 5 commits to main since this release

Release Notes - Azure DevOps Test Manager v1.0.0

Release Date: October 29, 2024
Version: 1.0.0
Repository: iqbaljunaid/azure-devops-test-manager
PyPI: azure-devops-test-manager


πŸŽ‰ Major Release - Production Ready!

We're excited to announce the v1.0.0 stable release of Azure DevOps Test Manager! This release marks the first production-ready version of our comprehensive tool for managing Azure DevOps test points with XML integration and intelligent fuzzy matching capabilities.


Key Features

Core Test Management

  • Complete Test Point Management: List, filter, and update test points from Azure DevOps test plans and suites
  • Bulk Operations: Efficiently update multiple test points with batch operations
  • Advanced Filtering: Filter test points by outcome, automation status, state, and name patterns
  • Detailed Test Information: Retrieve comprehensive test case details including steps, parameters, and metadata

XML Integration & Automation

  • XML Test Results Parser: Parse JUnit/pytest XML test results seamlessly
  • Intelligent Fuzzy Matching: Smart matching between XML test names and Azure DevOps test case names using configurable similarity thresholds
  • Automated Updates: Automatically update test point outcomes based on XML results
  • Multiple XML Format Support: Compatible with various testing frameworks (JUnit, pytest, NUnit)

Command Line Interface

  • Dual CLI Commands: Access via azure-devops-test-manager or ado-test-manager
  • Multiple Output Formats: Console, JSON, and CSV output support for integration flexibility
  • Dry Run Mode: Preview changes before applying them with --dry-run
  • Comprehensive Help: Built-in help system with examples and usage patterns
  • Version Support: Added --version flag for easy version checking

Security & Configuration

  • Environment Variable Configuration: Secure credential management through environment variables
  • Flexible Authentication: Support for Personal Access Tokens with proper scope validation
  • Configuration Validation: Built-in validation and helpful error messages for setup issues

What's New in v1.0.0

Modern Python Development

  • Python 3.10+ Support: Updated to require Python 3.10 or higher for modern language features
  • Type Hints Throughout: Comprehensive type annotations for better IDE support and code reliability
  • Modern Packaging: Built with pyproject.toml and setuptools-scm for dynamic versioning
  • Clean Architecture: Object-oriented design with clear separation of concerns

Package Management & CI/CD

  • PyPI Publishing: Now available on the Python Package Index for easy installation
  • GitHub Actions CI/CD: Automated testing and publishing pipeline with trusted publishing
  • Automated Testing: Comprehensive test structure with pytest, coverage reporting, and type checking
  • Code Quality: Integrated linting (flake8), formatting (black), and type checking (mypy)

Developer Experience

  • Rich Documentation: Comprehensive README with examples, installation guides, and usage patterns
  • Development Setup: Easy development installation with pip install -e ".[dev]"
  • Multiple Installation Methods: Support for pip, source installation, and development setup
  • Clear Error Messages: Helpful error handling with actionable feedback

Installation

From PyPI (Recommended)

pip install azure-devops-test-manager

From Source

git clone https://github.com/iqbaljunaid/azure-devops-test-manager.git
cd azure-devops-test-manager
pip install -e .

Quick Start

1. Setup Environment Variables

export AZURE_DEVOPS_PAT="your-personal-access-token"
export AZURE_DEVOPS_ORG="https://dev.azure.com/your-org"
export AZURE_DEVOPS_PROJECT="your-project-name"

2. List Test Points

# List all test points in a test plan
azure-devops-test-manager list-test-points --plan-id 12345

# Export to JSON
azure-devops-test-manager list-test-points --plan-id 12345 --output json > results.json

3. Update from XML Results

# Update test points based on XML test results
azure-devops-test-manager update-from-xml --plan-id 12345 --xml-file test-results.xml

# Preview changes first
azure-devops-test-manager update-from-xml --plan-id 12345 --xml-file test-results.xml --dry-run

4. Check Version

azure-devops-test-manager --version
# Output: azure-devops-test-manager 1.0.0

Technical Specifications

Dependencies

  • Core Requirements:
    • requests>=2.28.0 - Azure DevOps REST API interactions
    • beautifulsoup4>=4.11.0 - HTML test step parsing
    • fuzzywuzzy>=0.18.0 - Intelligent name matching
    • python-Levenshtein>=0.12.0 - Enhanced fuzzy matching performance
    • azure-devops>=7.1.0b4 - Official Azure DevOps Python SDK
    • azure-core>=1.33.0 - Azure SDK core functionality

Python Compatibility

  • Supported Versions: Python 3.10, 3.11, 3.12
  • Dropped Support: Python 3.8 and 3.9 (for modern language features)
  • Platform Support: Cross-platform (Windows, macOS, Linux)

API Compatibility

  • Azure DevOps API Version: 7.1
  • REST API Coverage: Test Plans, Test Suites, Test Points, Test Cases
  • Authentication: Personal Access Token (PAT)

Performance & Reliability

Optimizations

  • Batch Operations: Efficient bulk updates to minimize API calls
  • Intelligent Caching: Reduced redundant API requests
  • Connection Pooling: Optimized HTTP connections for better performance
  • Error Recovery: Robust error handling with retry logic

Reliability Features

  • Input Validation: Comprehensive validation of user inputs and configuration
  • Graceful Degradation: Continues operation when non-critical features fail
  • Detailed Logging: Comprehensive error messages and debugging information
  • Safe Operations: Dry-run mode prevents accidental changes

Use Cases

Development Teams

  • Automated Testing Integration: Connect your CI/CD pipeline test results directly to Azure DevOps
  • Test Result Reporting: Generate comprehensive test reports in multiple formats
  • Quality Assurance: Track test execution and outcomes across multiple test runs

QA Engineers

  • Manual Test Management: Bulk update test outcomes after manual testing sessions
  • Test Plan Analysis: Export and analyze test plan data for reporting
  • Cross-Framework Support: Work with results from various testing frameworks

DevOps Engineers

  • Pipeline Integration: Incorporate test result updates into deployment pipelines
  • Automated Reporting: Generate test reports for stakeholders and management
  • Compliance Tracking: Maintain audit trails of test executions and outcomes

Migration from Alpha Versions

If you were using alpha versions (1.0.0a1, etc.), please note:

Breaking Changes

  • Python Version Requirement: Now requires Python 3.10+ (previously supported 3.8+)
  • Import Paths: Ensure you're using the correct module imports for any programmatic usage

Recommended Upgrade Steps

  1. Update Python: Ensure you're running Python 3.10 or higher
  2. Reinstall Package: pip uninstall azure-devops-test-manager && pip install azure-devops-test-manager
  3. Test Configuration: Run azure-devops-test-manager --version to verify installation
  4. Update Scripts: Review any custom scripts using the package

Contributing

We welcome contributions! Please see our contributing guidelines in the repository.

Development Setup

git clone https://github.com/iqbaljunaid/azure-devops-test-manager.git
cd azure-devops-test-manager
pip install -e ".[dev]"

Running Tests

pytest tests/ --cov=azure_devops_test_manager

Documentation & Support


Release Artifacts

GitHub Release

  • Tag: v1.0.0
  • Source Code: Available in zip and tar.gz formats
  • Checksums: Provided for verification

PyPI Package

  • Package Name: azure-devops-test-manager
  • Version: 1.0.0
  • Wheel: Universal wheel available for fast installation
  • Source Distribution: Available for custom builds

Acknowledgments

Thank you to all contributors, early adopters, and the Azure DevOps community for making this release possible!

Special Thanks

  • The Azure DevOps team for comprehensive API documentation
  • The Python packaging community for excellent tooling
  • All alpha testers who provided valuable feedback

What's Next?

Looking ahead to future releases:

Planned Features (v1.1.0+)

  • Enhanced reporting capabilities
  • Additional XML format support
  • Performance optimizations
  • Extended Azure DevOps API integration
  • Web interface for non-technical users

Community Requests

We're actively collecting feedback and feature requests. Please share your ideas in our GitHub Issues!