Metrological validation of spreadsheets, scripts and calculation libraries: test cases, version control, numerical accuracy and auditability.
1. Mit kell validálni?
Nemcsak a képletet, hanem a teljes calculationi láncot kell ellenőrizni: adatbeolvasás, unitkezelés, korrekciók, deriválás, kovariancia, distributionmintavétel, kerekítés és jelentéskészítés. A szoftver akkor alkalmas, ha a meghatározott felhasználási cél mellett reprodukálhatóan helyes resultt ad, és a hibás bemeneteket felismeri.
2. Tesztelési rétegek
Egységteszt
Egy-egy függvény ismert bemenetre ismert kimenetet ad.
Integrációs teszt
A teljes calculationi lánc helyesen adja át az adatokat.
Referenciaeset
Kézi vagy független programmal számított hiteles példa egyezik.
Limit-teszt
Nulla, szélső, korrelált és fizikailag tiltott bemenetek kezelése.
Regressziós teszt
A jóváhagyott resultek szoftverupdate után sem változnak indokolatlanul.
3. Numerikus accuracy és kondicionáltság
A lebegőpontos aritmetika, a közel azonos számok kivonása, a rosszul kondicionált mátrixok és a túl kicsi differencialépés jelentős hibát okozhat. A megjelenített számjegyek egyezése nem bizonyítja a belső calculation helyességét. Kondíciószám, maradék, alternatív algoritmus és nagyobb accuracyú referencia segítheti az ellenőrzést.
4. Táblázatkezelők sajátos riskai
- rejtett cellák és képletek;
- kézi felülírás;
- relatív/abszolút hivatkozási hiba;
- területi beállítástól függő tizedes- és dateértelmezés;
- másolásból eredő tartományhiba;
- makrók és külső hivatkozások ellenőrizetlen változása.
5. Approval és change control
Minden kiadott calculationi eszköznek azonosítható verzióval, jóváhagyott tesztjegyzőkönyvvel, felelőssel és backállítható forrásállapottal kell rendelkeznie. A változás hatásanalysise dönti el, hogy részleges vagy teljes újravalidálás szükséges. A certificateon vagy nyers adatokban tárolt szoftververzió megkönnyíti az utólagos rekonstruálást.
Elsődleges szakmai sources
A normatív vagy hivatalos szöveg mindenkori hatályos kiadása az irányadó. A cikk a sources szakmai értelmezése, nem azok helyettesítője.
- JCGM GUM-6:2020 — Developing and using measurement models
Részletes útmutató measurement modellek kialakításához, validálásához, számítógépes megvalósításához és dokumentálásához. - JCGM 101:2008 — Propagation of distributions using a Monte Carlo method
A bemeneti distributionok measurement modellen keresztüli terjesztésének és a Monte Carlo-módszer applyásának hivatalos útmutatója. - JCGM 102:2011 — Extension to any number of output quantities
A több kimeneti quantityet adó measurement modellek, közös distributionok és kovarianciamátrixok kezelése.