Oplægget blev holdt ved et seminar i InfinIT-interessegruppen Softwaretest den 11. februar 2014. Læs mere om interessegruppen her: http://infinit.dk/dk/interessegrupper/softwaretest/softwaretest.htm
Remote control of test solution for developers and tester af Henning Nielsen, Rohde & Schwarz A/S
1. Automated testing solution
for 3G L1 development in Rohde & Schwarz
Technology Center A/S (TCDK)
Remote control of test solution for developers and tester
2. The company group at a glance
ı History
Established 1933 in Munich, Germany
ı Type of enterprise
Independent family-owned company
ı Global presence
In over 70 countries, approx. 60 subsidiaries
ı Net revenue
Approx. EUR 1.8 billion (FY 11/12, July through June)
ı Export share
Approx. 90 percent
ı Employees
8700 worldwide, with approx. 5500 in Germany
ı Success
A leading international supplier in all of its fields of business
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
2
3. Facts about TCDK
Founded February 2001 to have a development house
close to the Scandinavian countries.
100 % daughter of Rohde & Schwarz GmbH & Co. KG
Dealing with engineering 100 %.
One customer (Rohde & Schwarz GmbH & Co. KG)
49 employees
3 HW developers
10 FPGA developers
29 SW developers
7 staff members
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
3
4. Hvad beskæftiger afdelingen sig med?
(3G L1)
Afdelingen har ansvaret for at udvikle sw og FPGA’er til 3G lag 1
ı DSP sw
ı FPGA udvikling
ı Nye features
ı Arbejde med bug reports
3G lag1 benyttes i forskellige af firmaets produkter.
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
4
5. Hvordan kan man teste 3G lag 1
3G Lag 1 testes oftest ved hjælp af de produkter det indgår i:
ı Produktionstester/Callbox (CMW700)
ı Protokoltester (CMW500)
Ved test af specifikke egenskaber på 3G signalet kan der testes ved hjælp af en special
platform. Denne platform er udviklet i München og kaldes Forum
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
5
7. Test opgaver
ı Test af ny funktionalitet
ı Test af bugfix
ı Regressionstest
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
7
8. Test ved hjælp af produktionstester
Produktionstestere er kendetegnet ved at de ofte benyttes 24/7 og kræver derfor stor
stabilitet.
ı SCPI sekvenser
ı Ofte stort antal loops for at teste stabilitet
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
8
9. Test ved hjælp af protokoltester
Protokoltester er typisk baseret på et interface kaldet MLAPI
Firmaet udvikler, vedligeholder og markedsfører et antal ”pakker” der benyttes til at teste en
telefon (UE)
Når man tester ved hjælp af protokoltester benyttes oftest test cases fra disse pakker.
Ca. 50 ud af pt. 338 test cases er dog specielt udviklet med henblik på intern test af enten
3GL1 eller andre dele af vores 3G løsning.
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
9
11. Automatiseret løsning
tilsyneladende modstridende ønsker
ı
ı
ı
ı
ı
ı
Udviklere: Typisk 1 test case ad gangen og ønske om specifikation af telefon m.m.
Udviklere: Typisk ønsker de at benytte test systemet i løbet af dagen.
Udviklere: Ofte ønsker flere udviklere at benytte det samme system
Tester: Sekvens af test cases og med foruddefineret valg af telefon for hver test case
Tester: Oftest køres regressionstest i løbet af natten
Tester: Ved opfølgning på test kan det blive nødvendigt at køre en eller flere testcases om
formiddagen efter man har kørt en natlig test.
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
11
12. Automatiseret system, der muliggør deling af test system
Udfordinger:
ı For hver test case eller test sekvens skal det være muligt at skifte 3GL1 SW
ı For hver test case eller test sekvens skal det være muligt at skifte miljø version (MLAPI)
ı For hver test case eller test sekvens skal det være muligt at gemme logfiler så de nemt
kan findes.
ı For hver test case skal det være muligt at skifte telefon (UE)
ı Det skal være muligt, mellem en enkelte test cases i en test sekvens, at køre en specifik
test case. Også selv om det indebærer at der for den pågældende test case skal benyttes
en anden 3GL1 SW, anden UE eller anden MLAPI version.
Endvidere skal man kunne sætte test job i kø, således man ikke behøves sidde og vente på
man får adgang. Når et test job er sat i kø, får brugeren (eller i hvert fald det tool der starter
testen) besked når testen er færdig.
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
12
13. Elementer i løsningsmodellen
på CMW siden
ı Grundlæggende værktøjer allerede til stede i form af de værktøjer R&S sælger til vores
ı
ı
ı
ı
ı
ı
ı
kunder
Da flere brugere samtidig og uafhængigt skal kun sætte test job i kø vælges en socket
baseret model
På CMW’en skal der køre et program, der via socket kan modtage test job
Da man ønsker at kunne køre både enkelt test og sekvenser samtidig oprettes 2 tråde
A: 1 tråd for afvikling af enkelt test cases
B: 1 tråd for afvikling af sekvens af test cases.
CMW’s program skal så kunne ”flette” de enkelte test ind imellem hinanden
Program skrevet i Python (Et script der er under 1000 linjer langt)
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
13
15. Elementer i løsningsmodellen
på brugersiden
ı Ønske om at benytte et konfigurerbart værktøj
ı Ønske om et værktøj der kan visualisere hvad der ligger i kø
ı Jenkins blev valgt, da det i forvejen benyttes til at builde SW for 3G L1
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
15
19. Test opfølgning
Værktøj der gennemser logfiler fra test:
ı Genererer PASS/FAIL oversigt, summering af antal test m.m.
Summary: total test cases : 382, passed: 334, failed: 2, inconclusive: 0, nack : 46, repeated:22
MLAPI test cases: 338, CMW700 test cases: 33, Forum test cases: 11
MLAPI versions: MCT Tools = 8.36.3 Stack = 3G-MLAPI29.40.1701 BS = 3.2.20.18 PTLI = 3.2.15.4
WM700 versions: CMW_BASE,X3.2.21.5 CMW_WCDMA_Sig,X3.2.70.15
No. of Exceptions=6 No. of SABU Exceptions=0, HardwareServiceTimeouts=0 LicensException=0
ı Lister evt. fejlede test cases
Se eksempel senere
ı Lister evt. test cases der er blevet gentaget for at få dem til at pass’e
Se eksempel senere
ı Analyse over visse specielle ting i logfiler
ı Liste evt. opståede exceptions under testen
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
19
20. Yderligere ønsker til test / testmiljø
Idéer til fremtidig ”udvidelse” af test miljøet:
ı Liste over de funktioner der er/tilføjes til 3GL1
ı Database over de test cases vi har til rådighed, hvor der for hver test case kan vælges
hvilke af ovennævnte funktioner der benyttes i den givne test case.
ı Søgemulighed for at finde den eller de test cases der udnytter en given funktion. Det gør
det muligt for en udvikler at lave en sekvens af test cases der tester eller i hvert fald
benytter en given funktion
ı Ud fra ovenstående vil det også være muligt at finde ud af test dækning, målt på
funktioner / faciliteter der testes af en given sekvens af test cases.
11.02.2014
Infinit interessegruppen Softwaretest, Seminar 20
20