Software Quality

Software Quality Assurance

During development or from existing code, creation of unit, integration, and functional tests. Implementation of continuous integration to achieve project metrics: code coverage, static and dynamic code analysis, compliance with MISRA-C standard.

Methodology


  • Analysis of needs and specifications
  • Test planning and case definition
  • Test execution and result monitoring, including static and dynamic code analysis to identify potential errors
  • Addition of tests to the continuous integration process to verify daily non-regression
  • Use of Modified Condition/Decision Coverage (MC/DC) method for tests to ensure comprehensive coverage of logical conditions
  • Adherence to good practices recommended by the ISTQB (International Software Testing Qualifications Board)
  • Anomaly and regression reports
  • Adherence to ISO-26262 standards to ensure functional safety of embedded systems
  • Implementation of automated tests in the continuous integration environment

Tools


  • Jenkins: Test automation for continuous integration
  • RobotFramework: Automated test framework for functional testing
  • Unity, Unit Testing for C: Integrated development environment for unit testing
  • Razorcat Tessy: Testing tool for development and validation of embedded software
  • Matlab Polyspace: Static and dynamic analysis tool to detect programming errors and ensure code quality

Standards


  • Automotive SPICE: Evaluation of software development processes for the automotive industry
  • MISRA-C: Guidelines for safe and secure development of embedded software in C language