System quality requirements have never been higher. But time-to-market pressures have also never been greater. How do you meet one without sacrificing the other?
Embedded systems users expect bug free, responsive and stable applications that provide the best user experience.
The consequence of failing to meet user expectations can result in more than just application abandonment. With the power of social media, it also can quickly lead to a tarnished brand, resulting in lost revenue opportunities from both current and future users.
At the same time, increasing competition and security issues are leading to shorter development and delivery schedules, and quicker deployment of product updates and security fixes. So application failure or releasing a product with major bugs is not an option.
Furthermore, if the embedded system application is being used in mission critical applications for industries such as medical, automotive, and industrial automation, extensive testing is required.
With increasing customer expectations and faster time-to-market demands, testing can become a bottleneck. Yet we oftentimes see companies using unscalable and inadequate test infrastructures, resulting in:
- underutilized and expensive duplication of testing resources,
- limited access to hardware variants and engineering prototypes, and
- poorly documented and unrepeatable test suites.
These inefficiencies translate to time and money being wasted. And the problem becomes worse as the number of supported releases grow, with more and more testers being needed to maintain the accepted quality for a given release.
So how do you meet increasing customer expectations for high quality while also meeting faster time-to-market demands?
Changing the Way You Test
These days, companies must transform their testing processes in order to be competitive.
Continuous Testing (CT) addresses this by executing automated tests throughout the software development cycle and by applying the right level of automation at each stage in the process.
CT is closely related to the concept of Continuous Integration (CI) which requires developers to integrate code into a shared repository several times a day. With CI, the code in the shared repository is then verified by an automated build, allowing teams to detect and fix problems early.
Some of the embedded software testing tasks, such as driver testing, can be laborious and time consuming to do manually. Test Automation (TA) takes all the necessary tasks in a formalized testing process and executes them automatically using a TA framework.
Once automated tests have been developed, they can be run quickly and repeatedly, forming the foundation for regression testing of products having a long maintenance life and reducing the time and costs associated with testing.
To maximize the productivity and efficiency of the CT process, test cases must be atomic, and they must be grouped to include the following types: smoke test (individual developer pre-check in test), nightly tests (catch multi-developer code integration), regression test (partial/weekly and full), and system tests.
These tests groups can then be executed based on scheduling policy — such as performing smoke tests and nightly tests on every commit to release branch; performing weekly regression tests on development stable branches; and performing full regression tests on the release candidate.
Timesys Continuous Testing Solution
Timesys’ hardware and software tools enable companies to build an effective CT system, addressing the demands for faster product delivery and higher quality software, and it enables development teams to catch regression bugs early.
Our Timesys Continuous Testing Solution enables the CI-driven execution of sets of tests (Test Plan Repository) on the code in the source code management (SCM) system on a regular basis (scheduling policy driven) over a production like test environment (Board Farm Cloud). And it generates auditable results (reports).
Figure 1: Timesys Continuous Testing Solution
The Timesys Continuous Testing Solution comes with pre-integrated components as well as APIs, allowing companies to easily integrate other components. Some of its key features include:
- CI system plugins (Jenkins, Bamboo, Buildbot),
- SCM integration (Git),
- build system integration (Yocto Project, Timesys Factory),
- scheduling policy management (Jenkins, manual),
- test repository for test cases and test plan management (basic built-in),
- 24×7 availability of boards with APIs for executing the automated tests (BFC),
- TA framework for pipelining and executing the tests (LAVA, Squish, Robot Framework),
- reporting (HTML, XML, XLS, JUnit), and
- accessibility via a web browser from anywhere.
Learn more about how we can accelerate time-to-market with higher quality embedded system products at Embedded World. Drop us a note today if you want to meet up to discuss these innovations at Embedded World.
Not going to the show? No problem. To learn more about the Timesys Continuous Testing Solution, just contact us.
Timesys has extensive experience with embedded system development and lifecycle management. Timesys has been instrumental in working with global leader semiconductor manufacturers with smart, quick and quality solutions for highly complex systems with accelerated product innovation and multiple product variants.