Sto lavorando all'implementazione di un processo di sviluppo conforme allo standard IEC 62304 nella nostra azienda e ho una domanda riguardante il SOUP (Software of Unknown Provenance).
Il nostro obiettivo è sviluppare un'applicazione web in futuro.
Per questa applicazione useremo diverse librerie open-source sul back-end e sul frontend.
Per la maggior parte di queste librerie è nota la nostra procedura di documentazione SOUP.
- Identifica la libreria, il numero di versione, la licenza ecc.
- Elenca i requisiti che abbiamo per la libreria.
- Verifica questi requisiti in forma di test di unità / integrazione.
Per queste librerie è anche possibile separare il loro codice dal nostro codice con interfacce chiare e documentare questa separazione.
Ora passiamo al problema. Cosa dovremmo fare con Framework come Spring / JEE sul backend o Angular / React sul frontend. Il codice di queste librerie non è separabile dal nostro codice. Usiamo anche questi framework per strutturare il nostro codice. Possiamo generare requisiti per questi framework, ma non sono sicuro di come verificare che questi requisiti siano soddisfatti. Le due opzioni in considerazione sono:
- Ci sono diversi test di integrazione e di sistema che verificano che il il sistema software generale, che viene costruito utilizzando i framework, viene eseguito come dovrebbe. Questi test sono sufficienti anche se non sono esplicitamente testare la funzionalità del framework?
- Scrivi molti e molti test di framework che testano le dipendenze sono iniettati o che endpoint Rest sono disponibili o che html modello di iniezione funziona e così via.
Personalmente tendo all'opzione 1. Ciò che non mi piace dell'opzione 2 è che l'unità che testa un framework è uno sforzo completamente ridondante. Questi framework hanno già una quantità enorme di test che coprono già tutte le funzionalità che hanno. Inoltre, in alcuni casi, ho bisogno di utilizzare parti del framework stesso per testare il framework. (ad esempio, Spring MockMVC per testare i controller).
Quindi le mie domande sono:
- I framework software (Spring / JEE / Angular / React) sono considerati SOUP?
- Se sì, come documentare e testare questi Framework per diventare IEC 62304 conforme?