Validation Overview

Detecting and fixing bugs when developing software can be difficult, expensive and time-consuming; not surprisingly, validation can easily be many times more demanding and labor-intensive. As the complexity and sophistication of software in end-use applications increases, there is a need for more regimented and automated procedures to ensure thorough testing and help with code validation

Type of Testing

Unit test

unit testing is a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine if they are fit for requirements. In procedural programming a unit could be an entire module but is more commonly an individual function or procedure. In object-oriented programming a unit is often an entire interface, such as a class, but could be an individual method. The goal of unit testing is to isolate each part of the program and show that the individual parts are correct

Integration testing

Integration testing (sometimes called Integration and Testing, abbreviated "I&T") is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before validation testing.

System Testing

System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing is performed on the entire system in the context of a Functional Requirement Specification(s) (FRS) and/or a System Requirement Specification (SRS) As a rule, system testing takes, as its input, all of the "integrated" software components that have successfully passed integration testing

Validation testing

validation is the process of checking that a software system meets specifications and that it fulfills its intended purpose. According to the Capability Maturity Model (CMMI-SW v1.1), Validation defined as The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements. [IEEE-STD-610]. verification is ensuring that the product has been built according to the requirements and design specifications

Performance testing

In general, performance testing is a testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system

Regression/Sanity Testing

Regression testing is any type of software testing that seeks to uncover new software bugs in existing functional and non-functional areas of a system after changes, such as enhancements, patches or configuration changes, have been made to them. One of the main reasons for regression testing is to determine whether a change in one part of the software affects other parts of the software

LAVA (Linaro Automated Validation Architecture)

LAVA is automated testing framework developed by Linaro, LAVA framework provides flexible and scalable automated testing environment for most development cycle. Automated testing is getting essential as time goes on with the increasing complexity of software components. The mission of LAVA is to enhance software quality for all those types of software development cycle.

LAVA is composed of several components that are LAVA Server, LAVA Dashboard, LAVA Scheduler, LAVA dispatcher and LAVA test. LAVA includes a web framework with extensions for things like scheduling jobs, and storing test job results. The web framework can be extended with custom extensions for storing new types of data, or presenting custom result views. As with the web interface, custom extensions can be written to support additional client types, or operations to perform.

How LAVA work

So, LAVA could be an idle solution that is optimized to Linux based software development cycle with following reasons

LAVA is scalable and flexible

LAVA components can be installed on your labtop or high performance server and LAVA configuration can be start from for one Device Under Test (DUT) to multiple DUTs with additional infrastructure such as Power Distribution Unit (PDU), Network switch, Console Switch server. Even more, submit testing job and result dashboard can be accessible through network for easy operation and management the LAVA framework as well as DUTs

LAVA also provides health page showing every DUTs health status of your LAVA server environment. Example page is available at Health page is generated by running well-known simple test suites on given DUT periodically.

Scalable & flexible LAVA

LAVA is evolving

LAVA supports many types of test suites for Linaro Evaluation Builds (LEBs) for Ubuntu and Android, of course the test suites are growing by Linaro and open community. You can check the latest available test suits at Supported Android LEB Tests and Supported Ubuntu LEB Tests.

Validation team of Linaro provides a short LAVA version history, LAVA Test can be extended in several ways and you can add your exist test or benchmark into LAVA framework as well as writing a new tests from scratch for your own purpose privately or publicly depending on you’re your organization policy.

Even more Linaro QA team supports QA test scenario and pass/fail criteria with detail for Ubuntu and Android LEBs

LAVA is free

LAVA is freely available on your validation environment and one of the major part of Linaro monthly release. LAVA Deployment Tool is designed for both personal and more “production” installations that are expected to perform adequately with more concurrent users. Installation LAVA provides details instructions all the steps to install LAVA on your environment. The project is maintained on Launchpad at and is the location to where you can contribute to make better LAVA out-of-box experience by reporting bugs.

Resource for LAVA


validation overview (last modified 2012-05-18 02:03:34)