Vývoj vašeho zařízení jsme připraveni podpořit s přihlédnutím k velikosti, délce a fázi projektu - a to vhodnou volbou úrovní a technik testování:

Manuální a automatizované testování

  • Manuální testování je ideální na začátku projektu, při menším rozpočtu nebo nízkém počtu opakování. Rychle poskytuje zpětnou vazbu.
  • Automatizované testování je vhodné pro pokročilejší fáze, častá opakování nebo požadavky na přesné časování. Hlavní výhodou je vysoká opakovatelnost.
 

Skriptované a explorativní testování

  • Skriptované (scénářové) testování se hodí pro stabilní zadání nebo jasnou představu o chování zařízení.
  • Explorativní (průzkumné) testování je užitečné ve všech fázích projektu: na začátku pro dynamické specifikace, na konci pro "out-of-the-box" pohled a ověření limitů.
 

Návrh a tvorba testovacích sestav

  • Vestavná zařízení typicky interagují s reálným světem - umíme vytvořit komplexní testovací zařízení, která dokáží simulovat potřebné vstupní signály a analyzovat výstupní signály i při vysokých rychlostech a objemech dat.
  • Testovací sestavy sestavené z mechanických, hardwarových a softwarových komponent jsou vhodné zejména pro ověření výstupní kvality produktu, případně pro ověření interakce produktu s okolím.
Zaujala vás naše nabídka nebo máte dotaz?
Neváhejte nás kontaktovat, společně najdeme nejvhodnější řešení.
 

Zajišťujeme kvalitu vašich projektů

Kdekoliv je to možné a vhodné, snažíme se o využití automatizace. Převážně využíváme skriptování v jazyce Python - v případech, kde Python není vhodný (např. sledování rychlých dějů), využíváme prostředí LabVIEW v kombinaci se specializovaným real-time hardwarem cRIO / sbRIO umožňujícím rovněž implementaci na úrovni FPGA.

Máme rozsáhlé zkušenosti s konstrukcí testovacích přípravků pro účely ověření specifických rozhraní a předepsaného chování. Tyto přípravky umíme také napojit na CI/CD procesy (nejčastěji Gitlab), čímž přinášíme podporu nejen pro manuální ale také automatizované exekuce.

Námi vyvíjené podpůrné a testovací nástroje mívají dle potřeby grafické uživatelské rozhraní – GUI. K testování neodmyslitelně patří i vytváření reportů (zpráv) o výsledcích testů. Naše automatizované suity standardně produkují přehledné HTML reporty. Reporty umíme upravit na míru vašim potřebám nebo standardům (např. MS Office).

Každý projekt vyžaduje jiný přístup. Náš tým umí vhodně zvolit řešení dle velikosti, rozpočtu a charakteru projektu a doporučit vhodný postup pro dosažení kýžené kvality.

Co jsme schopni odhalit?

  • Okrajové případy: Jednou z nejčastějších chyb ve vývoji firmware a software jsou okrajové hodnoty nejrůznějších rozsahů nebo podmínek - identifikace a zachycení těchto případů během vývoje zvyšuje stabilitu a předvídatelnost vyvíjeného řešení.
  • Problémy časování: Specifické pořadí nebo rychlost událostí, jejich úspěšné zpracování a případné podchycení nestandardních stavů může být klíčem ke správné funkčnosti - prevence nestandardního chování zařízení.
  • Mezery ve specifikaci: Podle fáze projektu mohou být doplněny nebo může být vloženo upozornění do uživatelské dokumentace - snížení reklamovanosti.
  • Specifické případy dle potřeb zákaznických projektů, např.:
    • Chování zařízení v elektromagnetickém poli (testem řiditelné elektromagnetické pole).
    • Automatizace fyzické interakce (dotykové displeje, pohyb mechanických součástí, …).
    • Záznam průběhu testu na kameru pro účely zpětné analýzy, případně identifikace obrazu či OCR.
Zaujala vás naše nabídka nebo máte dotaz?
Neváhejte nás kontaktovat, společně najdeme nejvhodnější řešení.
 

Jak konkrétně naše testování šetří vaše peníze?

Včasné zachycení přináší spokojenost s výsledkem a úspory v dalším vývoji, případně během životního cyklu zařízení. Níže uvádíme příklady našich nálezů a možné dopady na zákazníka, kdyby nebyly zachyceny:

  • Nestandardní chování zařízení při opakovaném stlačení tlačítka: Vedlo by k předčasnému vybití jednorázového bateriového zařízení - vysoká reklamovanost, případně recall.
  • Náchylnost detekce barvy na znečištění: Vedlo by k chybné identifikaci zpracovávané látky - v závislosti na oboru může vést k chybné diagnostice a poškození součástí, případně lidského zdraví.
  • Náchylnost na rychlé děje: Vedlo by k chybnému pohybu aktuátoru a potenciálně k fyzickému poškození.
  • Nedokonalost zadání: Řešení by plně odpovídalo zadání, ale neřešilo by zákaznický problém - byl by nutný další vývoj spojený s dalšími náklady.

Často používané nástroje

V průběhu let se naše zkušenosti s vývojem testů profilují do často využívaných přístupů a prostředků.

Virtualizace znamená škálovatelnost - v prostředí jednotkových i vyšších úrovní testování přináší Docker a jiná virtualizace vysokou efektivitu v reakci na měnící se požadavky. Testování na úrovni nativního programovací jazyka vhodně využívá podpůrných knihoven (unity, fff, ceedling nebo gcov) a je pomocí mechanismů Continuous Integration (CI) spouštěno nad každým commitem do verzovacího systému. Jednotkově integrační testy zase využijí virtualizované simulátory sběrnic, emulaci nižších vrstev kódu a podobné techniky.

Zaujala vás naše nabídka nebo máte dotaz?
Neváhejte nás kontaktovat, společně najdeme nejvhodnější řešení.

Instrumentace na systémové nebo systémově integrační úrovni zajišťuje připojení k testovanému zařízení na jeho fyzických rozhraních. Takové testy zpravidla tvoříme v jazyce Python za přispění vhodných knihoven (unittest, pytest a behave) a využíváme podpůrná zařízení připojená k test PC:

  • Napájení: fixní i programovatelné laboratorní zdroje
  • Digitální a analogové vstupy a výstupy: dle potřeby je využit logický analyzátor, osciloskop, multimetr (ručně ovládané nebo programovatelné dle potřeby), řiditelná relé (pro automatizaci), nebo multifunkční IO desky s řiditelnými digitálními i analogovými vstupy a výstupy (LabJack apod.).
  • Vysokorychlostní komunikace: Přepínače / přerušovače USB spojení, Ethernet / WiFi síťové prvky, instrumentace standardu Bluetooth
  • Standardní sběrnice: zpravidla USB převodníky (UART, CAN, LIN, SPI, Modbus RTU / RS485) s podporou softwarových stacků vyvinutých dle potřeby zákazníka
  • Nástroje založené na technologiích firmy NI/Emerson - prostředí LabVIEW a specifické embedded cílové platformy řady DAQ (sběr senzorických dat) a cRIO / sbRIO + C moduly (real-time měření a řízení).

Kromě zákaznicky-specifické instrumentace vyvíjíme i obecná řešení pro podporu testování - některé softwarové balíky jsme již zpřístupnili veřejně na github.com/BenderRobotics, další zahrnují hardwarové nástroje: UART sniffer, Display sniffer, Touch Screen tester.