Open source software for numerical computation

Skip to main content

Quality assurance

Quality processes ensure functional, reliable and optimum development of Scilab software.

quality

Our quality assurance is based in particular on:

Implementation of a new functionality follows a define process

  • Specifications drafting: SEP (Scilab enhancement proposal),
  • Respect of Scilab coding style for development,
  • Writing of unitary tests are written,
  • Writing of corresponding help page.

The functionality is integrated only after being reviewed and validated by another developer.

Code quality

  • Coding style is defined for all languages used in Scilab (C, C++, Java, XML, Scilab, Makefiles, ...)
  • Checkstyle is available for Java under Eclipse
  • Code must be documented (comments using Javadoc, Doygen, ...)

As in the case of new functionality implementation, each modification in Scilab code is reviewed and accepted by another developer.

Tests

  • Unitary tests (~1300): each new functionality is only integrated if it has a corresponding test and this test execution runs properly under all Scilab supported platforms,
  • Non-regression tests (~1900): for each bug fix, a test is written to ensure its proper correction and prevent any future regression,
  • Code coverage tools are used to check the tests quality.

Binary version generation

  • Each commit into Scilab GIT repository launches a continuous integration process based on Jenkins,
  • Daily build of Scilab binary through a nightly build process executes all unitary tests and non-regression tests under all supported platforms,
  • Various compilers are supported (Visual Studio, Intel, GCC, Clang, ...).

Useful Links

Dashboard: 
build.scilab.org | Coverity

Bug Reports: 
bugzilla.scilab.org