SlideShare a Scribd company logo
1
Testing hardware
Paweł Noga
Testwarez 2015-10-08
Agenda
• Wstęp – co testujemy?
• Współpraca z klientem – „zapewnijcie mi jakość”
• Laboratorium testów
• Case study – mierzenie transferów sieciowych
• Ciekawe błędy i problemy
• Wnioski
Co będziemy testować?
Co będziemy testować?
• System modułowy do zastosowania w dronach,
kamerach, systemach bezpieczeństwa
• Każdy moduł to niezależna jednostka (wzorowana na bannana PI) +
OS (linux) + sterowniki
• Moduły są wyspecjalizowane w nagrywaniu obrazu 4k,
encodowaniu, streamowaniu
• Moduły mogą pracować równolegle – współpracować ze sobą i
tworzyć systemy typu „swarm” – z modułem zarządzającym
„królową”
• Komunikacja modułów odbywa się przez sieć (wifi lub kabelek
(10Gbit/s))
Współpraca z klientem
Współpraca z klientem
Zapewnijcie
mi jakość
Współpraca z klientem
Zapewnijcie
mi jakość
Rozpoznanie
narzędzi do
pomiarów
Budowa
laboratorium
testów i jego
utrzymywanie
Propozycje
scenariuszy i
konfiguracji
Utrzymywanie
wiki z
instrukcjami i
workaroundami
Automatyzacja
testów
Raportowanie
wyników,
zgłaszanie
błędów
Laboratorium testów
Laboratorium testów
Laboratorium
testów
Prototypy
Sprzęt w
różnych
konfigura-
cjach (Device
Under Test)
Narzędzia
wsparcia
(KVM, WDS,
Clonezilla,
Powerswitch)
Kontrolery
testów i
narzędzia do
debugowania
Dużo części
zapasowych

Laboratorium testów
Laboratorium
testów
Prototypy
Sprzęt w
różnych
konfigura-
cjach (Device
Under Test)
Narzędzia
wsparcia
(KVM, WDS,
Clonezilla,
Powerswitch)
Kontrolery
testów i
narzędzia do
debugowania
Dużo części
zapasowych

Powtarzalność /
reprodukowalność
Odtwarzalność
Konfigurowalność Skalowalność
Stabilność
Łatwość
fizycznego
dostępu
Możliwość pracy
zdalnej
Bezpieczeństwo
Opis /
Dokumentacja
Łatwość w
zarządzaniu i
przydzielaniu
Automatyzacja
Automatyzacja
Narzędzie
(klasa + metody)
Core: ssh, cmd,
regex, log, xml
konfiguracja XML
Automatyzacja
Zautomatyzowany scenariusz
Narzędzie
(klasa + metody)
Core: ssh, cmd,
regex, log, xml
konfiguracja XML
Automatyzacja
Kontroler
Testowane
urządzenie 1
Testowane
urządzenie 2
Testowane
urządzenie 3
Zautomatyzowany scenariusz
Narzędzie
(klasa + metody)
Core: ssh, cmd,
regex, log, xml
konfiguracja XML
Automatyzacja
Kontroler
Testowane
urządzenie 1
Testowane
urządzenie 2
Testowane
urządzenie 3
Zautomatyzowany scenariusz
Narzędzie
(klasa + metody)
Core: ssh, cmd,
regex, log, xml
konfiguracja XML
RAPORT
Automatyzacja pomiarów transferów sieciowych
Poszukiwanie
narzędzi
Wybór
narzędzi oraz
opracowanie
testów i ich
parametrów
Stworzenie prototypu
testu automatycznego
Stworzenie
konfiguracji do
automatów i
zautomatyzowanie
zestawu testów
System
raporto-
wania
testów
Automatyzacja pomiarów transferów sieciowych
Poszukiwanie
narzędzi
Wybór
narzędzi oraz
opracowanie
testów i ich
parametrów
Stworzenie prototypu
testu automatycznego
Stworzenie
konfiguracji do
automatów i
zautomatyzowanie
zestawu testów
System
raporto-
wania
testów
Oczekiwane szybkości
pomiarów drastycznie
zmniejszyły listę
narzędzi
Konieczność mierzenia
transferów po TCP i UDP
zmniejszyła listę narzędzi
jeszcze bardziej
Klient narzucił kilka własnych,
które nie mierzyły tego co trzeba
(np. przesyłały pliki, a nie
strumieniowały)
„co jest ważne” zmieniało
się wielokrotnie – przez
co priorytety nie były
stabilne
Kontekst od „chcemy znać
dla różnych parametrów
zachowanie systemu”
przeszedł do „znajdźcie taką
konfigurację gdzie wyniki
będą najlepsze”
Czasem nie ma na
czym testować
O czym jeszcze nie
pomyśleliśmy?
Stabilność
testowanego
sprzętu
Praca ma sens jeśli jest
odpowiednio
wykorzystana
Zestawienia,
porównywanie buildów,
jasne deklarowanie gdzie
jesteśmy względem
oczekiwań
Nieznane było finalne
użycie biznesowe
Mnogość konfiguracji:
Wersje OS, platform
(dronów) sprzętu, etc
Ciekawe błędy
Ciekawe błędy
• Napięcie z kabelka USB służącego do debugowania było konieczne do działania urządzenia
• Wyjście z jednego portów było zasłonięte przez obudowę
• Zastosowano delikatne piny do zworek i łatwo było je wyłamać
• Sterowniki dostarczone przez zewnętrznego dostawcę uniemożliwiały włożenie kości RAM większych niż
4GB
• Wciśnięcie reset na urządzeniu gdzie podpięty był moduł – nie powodowało resetu na module
• Sterowniki zamiast prawidłowo wyłączać sieć, tylko ukrywały istnienie połączenia – efekt nie dało się bez
rebootu maszyny na nowo zestawić połączenia
• W przypadku równoległych transferów – moduły nie potrafiły się po równo dzielić dostępnym pasmem.
• Zworka do debugowania na module nie działała (było fizyczne przerwanie na scieżce)
• Kontroler do zmiejszania częstotliwości CPU w przypadku przegrzania nie działał
• Kabelków USB służących do debugowania nie można było podłączyć pod port
USB 3.0 gdyż zawieszało to system
• Moduł „królowa” potrafił zarządzać tylko modułami podłączonymi w momencie
jego startu (dodawanie kolejnych modułów psuło istniejące połączenia sieciowe)
Wnioski
Wnioski
• Zawsze stosuj co najmniej dwa narzędzia do pomiarów
• Znaj ograniczenia narzędzi, sposób ich parametryzacji i możliwości
• Prototypowanie i skalowalność są warunkiem koniecznym do sukcesu
• Konfiguracje lubią rosnąć eksponencjalnie – prędzej czy później utraci się możliwość uzyskania
100% pokrycia testów i należy stosować analizę ryzyka
• Powinno się jasno definiować kryteria przejścia milestone’ów (oczekiwane wyniki, ilości błędów
krytycznych, ilości workaround’ów)
• To ważne aby określać czy przyczyna leży po stronie hardware czy software
• Kontekst i zrozumienie biznesowego wykorzystania produktu bardzo ułatwia pracę (a jest krytyczne
kiedy klient daje wolną rękę)
• Brak dokumentacji można skutecznie zamienić w TDD
• Raportuj nie tylko błędy ale i workaroundy i known issues
22
Dziękuję za uwagę
pawel.noga@solwit.com

More Related Content

Similar to Testing hardware

PLNOG 4: Paweł Andrejas - Onet Moduły
PLNOG 4: Paweł Andrejas - Onet ModułyPLNOG 4: Paweł Andrejas - Onet Moduły
PLNOG 4: Paweł Andrejas - Onet Moduły
PROIDEA
 
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFXPLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PROIDEA
 
Continuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowychContinuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowych
DreamLab
 
PLNOG 3: Tadeusz Knapik - E = (DC)2 czyli jak można pracować w oparciu o dwa ...
PLNOG 3: Tadeusz Knapik - E = (DC)2 czyli jak można pracować w oparciu o dwa ...PLNOG 3: Tadeusz Knapik - E = (DC)2 czyli jak można pracować w oparciu o dwa ...
PLNOG 3: Tadeusz Knapik - E = (DC)2 czyli jak można pracować w oparciu o dwa ...
PROIDEA
 
PLNOG14: Zastosowanie NFV, symulacja sieci VIRL/CML - Marek Moskal
PLNOG14: Zastosowanie NFV, symulacja sieci VIRL/CML - Marek MoskalPLNOG14: Zastosowanie NFV, symulacja sieci VIRL/CML - Marek Moskal
PLNOG14: Zastosowanie NFV, symulacja sieci VIRL/CML - Marek Moskal
PROIDEA
 
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
GOG.com dev team
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Mateusz Paprocki, PMP
 
Skazani na firmware. Świat komputera przed systemem operacyjnym.
Skazani na firmware. Świat komputera przed systemem operacyjnym.Skazani na firmware. Świat komputera przed systemem operacyjnym.
Skazani na firmware. Świat komputera przed systemem operacyjnym.
Semihalf
 
KraQA #22, Filip Cynarski - Selenium Grid w chmurze Amazon Web Services
KraQA #22, Filip Cynarski -  Selenium Grid w chmurze Amazon Web ServicesKraQA #22, Filip Cynarski -  Selenium Grid w chmurze Amazon Web Services
KraQA #22, Filip Cynarski - Selenium Grid w chmurze Amazon Web Services
kraqa
 
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura? PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
PROIDEA
 
Slackware Linux. Ćwiczenia
Slackware Linux. ĆwiczeniaSlackware Linux. Ćwiczenia
Slackware Linux. Ćwiczenia
Wydawnictwo Helion
 
Komponenty sieci
Komponenty sieciKomponenty sieci
Komponenty sieci
Tomasz Wieteska
 
Budowanie aplikacji PHP bez użycia frameworków
Budowanie aplikacji PHP bez użycia frameworkówBudowanie aplikacji PHP bez użycia frameworków
Budowanie aplikacji PHP bez użycia frameworków
Michal Lukaszewski
 
Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous Delivery
XSolve
 
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerFull Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerMarek Będkowski
 
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaTesty wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Bartłomiej Cymanowski
 
M3j1
M3j1M3j1
M3j1
Emotka
 
M3j1
M3j1M3j1
M3j1
Emotka
 
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
asquelt
 
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
PROIDEA
 

Similar to Testing hardware (20)

PLNOG 4: Paweł Andrejas - Onet Moduły
PLNOG 4: Paweł Andrejas - Onet ModułyPLNOG 4: Paweł Andrejas - Onet Moduły
PLNOG 4: Paweł Andrejas - Onet Moduły
 
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFXPLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
 
Continuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowychContinuous Integration w konfiguracji urządzeń sieciowych
Continuous Integration w konfiguracji urządzeń sieciowych
 
PLNOG 3: Tadeusz Knapik - E = (DC)2 czyli jak można pracować w oparciu o dwa ...
PLNOG 3: Tadeusz Knapik - E = (DC)2 czyli jak można pracować w oparciu o dwa ...PLNOG 3: Tadeusz Knapik - E = (DC)2 czyli jak można pracować w oparciu o dwa ...
PLNOG 3: Tadeusz Knapik - E = (DC)2 czyli jak można pracować w oparciu o dwa ...
 
PLNOG14: Zastosowanie NFV, symulacja sieci VIRL/CML - Marek Moskal
PLNOG14: Zastosowanie NFV, symulacja sieci VIRL/CML - Marek MoskalPLNOG14: Zastosowanie NFV, symulacja sieci VIRL/CML - Marek Moskal
PLNOG14: Zastosowanie NFV, symulacja sieci VIRL/CML - Marek Moskal
 
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
 
Skazani na firmware. Świat komputera przed systemem operacyjnym.
Skazani na firmware. Świat komputera przed systemem operacyjnym.Skazani na firmware. Świat komputera przed systemem operacyjnym.
Skazani na firmware. Świat komputera przed systemem operacyjnym.
 
KraQA #22, Filip Cynarski - Selenium Grid w chmurze Amazon Web Services
KraQA #22, Filip Cynarski -  Selenium Grid w chmurze Amazon Web ServicesKraQA #22, Filip Cynarski -  Selenium Grid w chmurze Amazon Web Services
KraQA #22, Filip Cynarski - Selenium Grid w chmurze Amazon Web Services
 
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura? PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
PLNOG 9: Maciej Nabożny, Miłosz Zdybał - Jak powstaje chmura?
 
Slackware Linux. Ćwiczenia
Slackware Linux. ĆwiczeniaSlackware Linux. Ćwiczenia
Slackware Linux. Ćwiczenia
 
Komponenty sieci
Komponenty sieciKomponenty sieci
Komponenty sieci
 
Budowanie aplikacji PHP bez użycia frameworków
Budowanie aplikacji PHP bez użycia frameworkówBudowanie aplikacji PHP bez użycia frameworków
Budowanie aplikacji PHP bez użycia frameworków
 
Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous Delivery
 
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerFull Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
 
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba GajdaTesty wydajnościowe - najlepsze praktyki - Kuba Gajda
Testy wydajnościowe - najlepsze praktyki - Kuba Gajda
 
M3j1
M3j1M3j1
M3j1
 
M3j1
M3j1M3j1
M3j1
 
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
Advanced automation and provisioning in Red Hat Satellite 6 - Red Hat Archite...
 
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
PLNOG15: OpenStack + OpenContrail - from inception to implementation - Tomasz...
 

More from Stowarzyszenie Jakości Systemów Informatycznych (SJSI)

Star Trek: BDD Enterprise
Star Trek: BDD EnterpriseStar Trek: BDD Enterprise
Model based testing as a BA tool
Model based testing as a BA toolModel based testing as a BA tool
Communication - Language of Leader
Communication - Language of LeaderCommunication - Language of Leader
Miękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesuMiękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesu
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Dancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customerDancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customer
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Cosmic truths about software requirements
Cosmic truths about software requirementsCosmic truths about software requirements
Cosmic truths about software requirements
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Zagraj w zaangażowanie
Zagraj w zaangażowanieZagraj w zaangażowanie
Analiza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projektyAnaliza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projekty
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Start with Accessibility: Why, How and What
Start with Accessibility: Why, How and WhatStart with Accessibility: Why, How and What
Start with Accessibility: Why, How and What
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Agile business analyst
Agile business analystAgile business analyst
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesuAnalityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BAJak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
7 Skills for highly effective teams
7 Skills for highly effective teams7 Skills for highly effective teams
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 

More from Stowarzyszenie Jakości Systemów Informatycznych (SJSI) (20)

Star Trek: BDD Enterprise
Star Trek: BDD EnterpriseStar Trek: BDD Enterprise
Star Trek: BDD Enterprise
 
Model based testing as a BA tool
Model based testing as a BA toolModel based testing as a BA tool
Model based testing as a BA tool
 
Communication - Language of Leader
Communication - Language of LeaderCommunication - Language of Leader
Communication - Language of Leader
 
Miękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesuMiękkie umiejętności w pracy analityka biznesu
Miękkie umiejętności w pracy analityka biznesu
 
Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )Błędy w analizie z praktyki (nowe wydanie  )
Błędy w analizie z praktyki (nowe wydanie  )
 
7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop7 Skills for highly effective teams - workshop
7 Skills for highly effective teams - workshop
 
Dancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customerDancing with the devil - how to cooperate with a problematic customer
Dancing with the devil - how to cooperate with a problematic customer
 
Cosmic truths about software requirements
Cosmic truths about software requirementsCosmic truths about software requirements
Cosmic truths about software requirements
 
Zagraj w zaangażowanie
Zagraj w zaangażowanieZagraj w zaangażowanie
Zagraj w zaangażowanie
 
Analiza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projektyAnaliza prawdziwie biznesowa - skąd biorą się projekty
Analiza prawdziwie biznesowa - skąd biorą się projekty
 
Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0Internet of Things loves data - analysis of Industry 4.0
Internet of Things loves data - analysis of Industry 4.0
 
Start with Accessibility: Why, How and What
Start with Accessibility: Why, How and WhatStart with Accessibility: Why, How and What
Start with Accessibility: Why, How and What
 
Agile business analyst
Agile business analystAgile business analyst
Agile business analyst
 
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesuAnalityk i architekt w czasach automatyzacji i robotyzacji biznesu
Analityk i architekt w czasach automatyzacji i robotyzacji biznesu
 
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BAJak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
Jak sprzedać swój pomysł w 5 minut, czyli pitch deck dla BA
 
7 Skills for highly effective teams
7 Skills for highly effective teams7 Skills for highly effective teams
7 Skills for highly effective teams
 
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
[TestWarez 2017] Skomplikowane testowanie, skomplikowane terminy. Testowanie ...
 
[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...[TestWarez 2017] Przychodzi tester na rozmowę...
[TestWarez 2017] Przychodzi tester na rozmowę...
 
[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun[TestWarez 2017] A proper gun makes testing fun
[TestWarez 2017] A proper gun makes testing fun
 
[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych[TestWarez 2017] Zen testów wydajnościowych
[TestWarez 2017] Zen testów wydajnościowych
 

Testing hardware

  • 2. Agenda • Wstęp – co testujemy? • Współpraca z klientem – „zapewnijcie mi jakość” • Laboratorium testów • Case study – mierzenie transferów sieciowych • Ciekawe błędy i problemy • Wnioski
  • 4. Co będziemy testować? • System modułowy do zastosowania w dronach, kamerach, systemach bezpieczeństwa • Każdy moduł to niezależna jednostka (wzorowana na bannana PI) + OS (linux) + sterowniki • Moduły są wyspecjalizowane w nagrywaniu obrazu 4k, encodowaniu, streamowaniu • Moduły mogą pracować równolegle – współpracować ze sobą i tworzyć systemy typu „swarm” – z modułem zarządzającym „królową” • Komunikacja modułów odbywa się przez sieć (wifi lub kabelek (10Gbit/s))
  • 7. Współpraca z klientem Zapewnijcie mi jakość Rozpoznanie narzędzi do pomiarów Budowa laboratorium testów i jego utrzymywanie Propozycje scenariuszy i konfiguracji Utrzymywanie wiki z instrukcjami i workaroundami Automatyzacja testów Raportowanie wyników, zgłaszanie błędów
  • 9. Laboratorium testów Laboratorium testów Prototypy Sprzęt w różnych konfigura- cjach (Device Under Test) Narzędzia wsparcia (KVM, WDS, Clonezilla, Powerswitch) Kontrolery testów i narzędzia do debugowania Dużo części zapasowych 
  • 10. Laboratorium testów Laboratorium testów Prototypy Sprzęt w różnych konfigura- cjach (Device Under Test) Narzędzia wsparcia (KVM, WDS, Clonezilla, Powerswitch) Kontrolery testów i narzędzia do debugowania Dużo części zapasowych  Powtarzalność / reprodukowalność Odtwarzalność Konfigurowalność Skalowalność Stabilność Łatwość fizycznego dostępu Możliwość pracy zdalnej Bezpieczeństwo Opis / Dokumentacja Łatwość w zarządzaniu i przydzielaniu
  • 12. Automatyzacja Narzędzie (klasa + metody) Core: ssh, cmd, regex, log, xml konfiguracja XML
  • 13. Automatyzacja Zautomatyzowany scenariusz Narzędzie (klasa + metody) Core: ssh, cmd, regex, log, xml konfiguracja XML
  • 14. Automatyzacja Kontroler Testowane urządzenie 1 Testowane urządzenie 2 Testowane urządzenie 3 Zautomatyzowany scenariusz Narzędzie (klasa + metody) Core: ssh, cmd, regex, log, xml konfiguracja XML
  • 15. Automatyzacja Kontroler Testowane urządzenie 1 Testowane urządzenie 2 Testowane urządzenie 3 Zautomatyzowany scenariusz Narzędzie (klasa + metody) Core: ssh, cmd, regex, log, xml konfiguracja XML RAPORT
  • 16. Automatyzacja pomiarów transferów sieciowych Poszukiwanie narzędzi Wybór narzędzi oraz opracowanie testów i ich parametrów Stworzenie prototypu testu automatycznego Stworzenie konfiguracji do automatów i zautomatyzowanie zestawu testów System raporto- wania testów
  • 17. Automatyzacja pomiarów transferów sieciowych Poszukiwanie narzędzi Wybór narzędzi oraz opracowanie testów i ich parametrów Stworzenie prototypu testu automatycznego Stworzenie konfiguracji do automatów i zautomatyzowanie zestawu testów System raporto- wania testów Oczekiwane szybkości pomiarów drastycznie zmniejszyły listę narzędzi Konieczność mierzenia transferów po TCP i UDP zmniejszyła listę narzędzi jeszcze bardziej Klient narzucił kilka własnych, które nie mierzyły tego co trzeba (np. przesyłały pliki, a nie strumieniowały) „co jest ważne” zmieniało się wielokrotnie – przez co priorytety nie były stabilne Kontekst od „chcemy znać dla różnych parametrów zachowanie systemu” przeszedł do „znajdźcie taką konfigurację gdzie wyniki będą najlepsze” Czasem nie ma na czym testować O czym jeszcze nie pomyśleliśmy? Stabilność testowanego sprzętu Praca ma sens jeśli jest odpowiednio wykorzystana Zestawienia, porównywanie buildów, jasne deklarowanie gdzie jesteśmy względem oczekiwań Nieznane było finalne użycie biznesowe Mnogość konfiguracji: Wersje OS, platform (dronów) sprzętu, etc
  • 19. Ciekawe błędy • Napięcie z kabelka USB służącego do debugowania było konieczne do działania urządzenia • Wyjście z jednego portów było zasłonięte przez obudowę • Zastosowano delikatne piny do zworek i łatwo było je wyłamać • Sterowniki dostarczone przez zewnętrznego dostawcę uniemożliwiały włożenie kości RAM większych niż 4GB • Wciśnięcie reset na urządzeniu gdzie podpięty był moduł – nie powodowało resetu na module • Sterowniki zamiast prawidłowo wyłączać sieć, tylko ukrywały istnienie połączenia – efekt nie dało się bez rebootu maszyny na nowo zestawić połączenia • W przypadku równoległych transferów – moduły nie potrafiły się po równo dzielić dostępnym pasmem. • Zworka do debugowania na module nie działała (było fizyczne przerwanie na scieżce) • Kontroler do zmiejszania częstotliwości CPU w przypadku przegrzania nie działał • Kabelków USB służących do debugowania nie można było podłączyć pod port USB 3.0 gdyż zawieszało to system • Moduł „królowa” potrafił zarządzać tylko modułami podłączonymi w momencie jego startu (dodawanie kolejnych modułów psuło istniejące połączenia sieciowe)
  • 21. Wnioski • Zawsze stosuj co najmniej dwa narzędzia do pomiarów • Znaj ograniczenia narzędzi, sposób ich parametryzacji i możliwości • Prototypowanie i skalowalność są warunkiem koniecznym do sukcesu • Konfiguracje lubią rosnąć eksponencjalnie – prędzej czy później utraci się możliwość uzyskania 100% pokrycia testów i należy stosować analizę ryzyka • Powinno się jasno definiować kryteria przejścia milestone’ów (oczekiwane wyniki, ilości błędów krytycznych, ilości workaround’ów) • To ważne aby określać czy przyczyna leży po stronie hardware czy software • Kontekst i zrozumienie biznesowego wykorzystania produktu bardzo ułatwia pracę (a jest krytyczne kiedy klient daje wolną rękę) • Brak dokumentacji można skutecznie zamienić w TDD • Raportuj nie tylko błędy ale i workaroundy i known issues

Editor's Notes

  1. Trafic Control i ograniczanie przepustowości Prototypy w skryptach i półautomatycznych testach Hardware jest mało agile’owy  Jak nie masz scenariuszy – sam je zaproponuj i daj znać, że czekasz na feedback i jeśli go nie otrzymasz to staje się to obowiązujące