How quality assurance on the Processor SDK can improve software scalability

In our previous blog post, we discussed the various ways the Processor software development kit (SDK) can be used for industrial products. In this blog post, we’ll focus on how Processor SDK can continuously scale through our software quality assurance infrastructure. Our quality assurance (QA) infrastructure, which has evolved over many decades, uses industry standard open source tools. Why is software QA important? It serves two main purposes. The first purpose is to provide a stable foundation for customers to develop new application code as use cases grow. The second purpose is to improve our internal quality and performance as we increase the load on our test infrastructure with new platforms and features. A higher quality of Processor SDK means a higher quality of end products.

How does software quality assurance help provide a stable foundation to build applications? A focus on software quality assurance (fig 1) helps us vet new features and bug fixes via preemptive peer-reviews using continuous integration and automated testing during the quarterly release cadence. Processor SDK packages this fully tested reference code so that software developers can ramp quickly. It also includes a diverse set of out of the box examples and demos that are tested across TI’s Sitara™ Arm® and digital signal processor (DSP) processor portfolio, providing a strong foundation for maximum reuse and efficiency as your use cases and industrial applications grow. Scalability + stable foundation = winning toolset to build high quality application code.

Fig. 1: Software Quality Assurance

Our QA infrastructure has been instrumental in improving our internal quality and performance over the years. As part of software quality infrastructure, our internal test management system (figure 2) tests Processor SDK code across multiple operating systems, platforms and cores. This test management system allows TI engineers from all over the world to utilize the internal test farm that runs automated nightly regressions. Early detection of defects and testing of example code across multiple platforms and development hosts simultaneously allows our internal development teams to develop code that can be scaled reliably and rapidly. Our internal quality metrics ensure that we measure and maintain a high quality as the Processor SDK scales.

Fig 2: Processor SDK Test Infrastructure

In addition to testing example code, our internal test management system invokes an automated build process to test software packages that are built with a free and open source tool chain. Processor SDK uses Yocto Project for Linux (Yocto is an efficient, scalable, modular distribution build environment for embedded systems) and Makefiles for the TI real-time operating system (TI-RTOS). This automated build process helps us accommodate a changing test load internally. The pre-tested build infrastructure also increase external developer efficiency, helping you bring differentiated and competitive products to market quickly.

With our software QA, you have a solid foundation to develop applications using the high quality Processor SDK that works reliably and scales easily. The Processor SDK makes migration to new Sitara devices easy: using pre-tested reference software, an automated build process and comprehensive documentation. The two pillars of Processor SDK – scalability and quality – ensure that developers win every day, with every release.

Additional resources