UnitPylot

GitHub Copilot Tools For Visual Studio Code

An AI-Driven Unit-Testing Tool for Developers Who Build Software That Lasts

By Team 23
UnitPylot Logo
VS Code Logo
Copilot Logo
Microsoft Logo

Project Abstract

Problem Statement

Poor test quality can have significant negative impacts on code production quality, leading to defects, outages, and wasted time. Many developers find the unit testing process to be a boring, time-consuming, and repetitive activity, with beginners writing unreliable and incomplete tests and enterprise developers finding it hard to manage testing in complex, legacy codebases. Regardless, unit testing plays an integral role in the software testing life cycle. Therefore, a tool that can provide assistance with the unit testing process, offer insights into unit testing on a granular level, and help developers implement best practices would be beneficial.

Our Solution

Smarter Testing, Stronger Code, Smoother Deploys.

UnitPylot is a Copilot-enabled Visual Studio Code extension that aims to provide a better unit testing experience for Python developers for Brownfield Codebases. It features a dashboard that visualises key metrics of test cases, and helps developers of all levels improve their test cases using suggestions to improve these metrics. Developers can use our extension on an existing codebase to get immediate insights into their testing suite, and use our Copilot-enabled features to produce better quality tests.

User-Friendly

Seamlessly integrates with Visual Studio Code, offering an intuitive interface for developers of all levels.

Cross-Platform & Accessible

Available on the Visual Studio Code Marketplace and compatible with Windows, Linux, and macOS.

Powered By GitHub Copilot

Available to all users with an active GitHub Copilot subscription.

Features Overview

Image

A dashboard that monitors pass/fail rates, test coverage, the slowest and most memory-intensive test cases.

It visualises trends, such as passing status and coverage over time, and includes a Settings Page for developers to tailor features to their workflow.

Image

Test coverage is annotated within the code editor itself.

Developers can explore granular test data via a tree-view, download metrics as Markdown reports, and run tests continuously or on-demand to keep insights updated.

Image

Leverages Copilot to analyse the test metrics and suggest in-line fixes, including code snippets where applicable, that can be added to files.

It also educates developers on best practices, such as the AAA pattern, ensuring maintainable and effective tests. It also displays insights into robustness and interconnectedness of code.

Image

The dashboard supports continuous background testing while allowing developers to manually trigger specific tests for immediate metric updates. This ensures real-time visibility into test performance without manual intervention.

Learn more about the features here!

Project Videos

Technical Video:



Non-Technical Video:

Achievement and Impact

Our solution is packaged as a VS Code Extension that is accessible to the user via the VS Code Extension Marketplace. It allows users to reimagine their current Python Unit testing experience by integrating GitHub Copilot’s AI capabilities with intelligent insights that help users write more effective and higher-quality unit tests. This will reduce the likelihood of costly mistakes during production, save valuable developer time and enhancing software reliability.

One of our biggest achievements was publishing our extension on the Marketplace!

Download UnitPylot here


Key Impacts:

  • Improved Developer Productivity: Reduces the time spent on debugging and test maintenance, allowing engineers to ship code faster.
  • Fewer Production Failures: Stronger test coverage helps catch bugs early, reducing post-deployment issues.
  • Higher Code Quality: Encourages best practices in unit testing, leading to cleaner, more maintainable codebases.
  • Better Adoption of AI-Assisted Development: Demonstrates the power of AI-driven test optimisation, making it easier for teams to trust and integrate AI into their development workflows.

By helping developers write, maintain, and optimise their unit tests efficiently, our tool contributes to a more reliable software development lifecycle, ensuring that teams can build and deploy high-quality applications with confidence.

Timeline

We created a Gantt chart to help us plan our project and track our progress in order to facilitate timely task completion and meet our deadlines.

Project Timeline

Meet Our Team!

We are a group of four enthusiastic, Second-Year Computer Science Students studying at University College London (UCL).

Aaditya Kumar

Roles: Developer, UI Designer, Video Editor

Asmita Anand

Roles: Team Lead, Developer, Researcher

Gughan Ramakrishnan

Roles: Developer, Researcher, Tester

Swasti Jain

Roles: Developer, Researcher, Report Editor