NIER Ingegneria è diventata Società Benefit →

Verification, validation and testing

Technological evolution and progress are leading to a progressive increase in complexity of the systems used in every field (plants, machines, vehicles, automated systems, control systems, etc.). In particular, then, growing automation makes software increasingly fundamental, often with major security functions.

In this context, ensuring high quality and safety standards becomes more challenging every day: it is essential to have software designers and developers working alongside an independent team that carries out verification, validation and testing activities.

In this way, it is possible to detect “bugs”, errors and critical issues in the design phase, before the system is deployed, thus maximising quality, efficiency and security.

For over 15 years, NIER Engineering has been performing verification, validation and testing of embedded software for safety-critical (and not) applications, contributing to the development of efficient, effective and safe products.

In general, “V-Cycles” are developed, in accordance with the applicable legislation, starting by verifying and/or drafting design documents, through inspecting the source code for security checks, static and dynamic source code analysis in order to verify its adherence to the Coding Rules, up to software component testing, software integration and software/hardware integration, right up to software validation.

Functional tests in the laboratory complete the validation process, testing the software on the “target” hardware platform in order to expose integration issues between different modules, which cannot be detected by tests performed only on the software.

For this purpose, the test team designs scenarios to be verified based on the requirements specifications, defines the test procedures, sets up and configures the test environment in the laboratory, then analyses the causes of any anomalies or deviations.


Services provided

  • Verification of design documents:
  • Software requirements
  • Software architecture
  • Component specifications
  • Software tests, by means of Software Component, Software Integration and Software/Hardware Integration tests, including in particular:
  • Definition of Test specifications and procedures
  • Execution of Tests and drafting of Test Reports
  • Assistance with Debugging and anomaly analysis
  • Management of anomalies and Change Requests (Configuration Management)
  • Static inspection of source code for safety-critical systems
  • Static analysis of source code quality according to the Coding Rules deemed applicable (for example, MISRA C/C++ standards or internal coding rules)
  • Software Validation
  • Verification and Validation of safety-critical system application/configuration data
  • Functional and System Integration Tests in the laboratory
  • Setup and configuration of the test environment
  • Design of scenarios and test cases
  • Specification of test procedures
  • Performance of laboratory tests (simulated environment / real targets)
  • Drafting of the Test Report
  • Debugging and anomaly analysis
  • Management of anomalies and Change Requests (Configuration Management)
  • Development of simulators for functional tests in the laboratory
  • Development of scripts for test automation
  • Development of analysis tools customised to the application
  • Drafting of Impact Analysis



  • Checklist
  • Input Partitioning and Equivalence Classes
  • Boundary Value Analysis
  • Static Analysis
  • Dynamic Analysis
  • Functional/Black Box Testing
  • White Box Testing
  • Interface Testing
  • Performance Testing
  • Regression Testing
  • System Acceptance testing
  • Accessibility/Usability testing
  • System Integration testing
  • Hardware in the Loop testing
  • Software Error Effect Analysis
  • Traceability matrices
  • Code Coverage
  • Impact Analysis
  • Modelling



  • Microsoft Visual Studio
  • IBM Rational Test Real Time
  • VectorCAST
  • Microsoft SQL Server R2 with Microsoft SQL Server Management Studio (SSMS)
  • Understand
  • PCLint
  • FxCop
  • Protocols analyser (Ethernet / Serial)
  • Programming and scripting languages (C, C++, Python, VBasic)
  • Laboratory Instrumentation Management (Biomedical, Telecommunications)
  • Source code debugging tools
  • Matlab
  • Image analysis and processing software
  • Database management software (SqLite)


Reference standards

EN50126, EN50128, MISRA C/C++, ISO 26262, IEC 62304