Nirjal Bhurtel
Nirjal Bhurtel is a Computer Engineering graduate from Kathmandu University and an embedded systems engineer currently working as an Embedded Software Architect at Yatri Motorcycles. His work focuses on building communication systems, firmware, and testing infrastructure for electric vehicles, bridging the gap between hardware and software systems, and is currently leading Hardware In Loop Testing.
He previously worked as a Software Engineering Intern at Intra2Net AG, Germany, where he contributed to Linux-based system development and gained experience working with large-scale testing environments.
Nirjal has a strong background across embedded systems, backend development, and distributed systems, with hands-on experience in C/C++, Python, Rust, and modern web technologies. He has led and contributed to multiple projects ranging from IoT systems and FPGA-based computing to data-driven applications and developer tools.
He is also an active researcher, with several publications in areas such as IoT, network security, and high-performance computing.
In addition to his engineering work, Nirjal is passionate about building practical, scalable systems and exploring better testing methodologies. He has worked with the Avocado testing framework in Linux environments and is currently exploring its adoption for hardware-in-the-loop (HIL) testing in embedded systems.
Session
Autotest and KVM virt-test have long served as the backbone of system and virtualization testing in Linux environments. However, their tightly coupled architecture and operational complexity present growing challenges for modern development workflows, particularly in terms of modularity, scalability, and CI/CD integration.
As highlighted in Ubuntu Testing Automation, Ubuntu’s testing ecosystem has historically relied on Autotest and KVM autotest. Over time, this ecosystem has evolved, with KVM autotest and virt-test transitioning into the Avocado and Avocado-VT projects. Avocado represents a natural progression of the Autotest lineage, reflecting a broader shift toward more maintainable, extensible, and developer-friendly testing frameworks.
This talk provides a clear and technical comparison between Autotest and Avocado, focusing on their architectural differences, strengths, and trade-offs. We will explore key features of Avocado, including its Python-based test model, plugin architecture, parameterized execution, and enhanced reporting capabilities. The role of Avocado-VT as a continuation of virt-test for virtualization testing will also be examined.
Rather than advocating for a full rewrite, the session outlines a practical migration strategy for Ubuntu-based systems, demonstrating how teams can incrementally transition from Autotest to Avocado while preserving existing test investments. We will examine when to leverage Avocado-VT for compatibility and when to adopt native Avocado tests, along with approaches for integrating Avocado into modern CI/CD pipelines.
Attendees will gain a balanced understanding of both frameworks, along with actionable guidance on adopting Avocado to build more maintainable, scalable, and future-ready system testing workflows on Ubuntu.
More info: https://events.canonical.com/event/146/contributions/939/