11.10.2013 Aufrufe

Download - Fakultät 06 - Hochschule München

Download - Fakultät 06 - Hochschule München

Download - Fakultät 06 - Hochschule München

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Hochschule</strong> <strong>München</strong><br />

<strong>Fakultät</strong> Für Feinwerk- und Mikrotechnik, Physikalische Technik<br />

BACHELORARBEIT<br />

Testautomatisierung für die Absicherung der<br />

Integration von externen Multimediaplayern in<br />

asiatische Fahrzeug-Varianten<br />

von<br />

Yang LU<br />

in Zusammenarbeit mit<br />

der Berner & Mattner Systemtechnik GmbH, <strong>München</strong><br />

Bearbeitungsbeginn: 19.05.2012<br />

Abgabetermin: 17.08.2012


<strong>Hochschule</strong> <strong>München</strong><br />

<strong>Fakultät</strong> Für Feinwerk- Und Mikrotechnik, Physikalische Technik<br />

Bachelorarbeit<br />

Zum Erlangen des akademischen Grades Bachelor of Engineering<br />

Testautomatisierung für die Absicherung der<br />

Integration von externen Multimediaplayern in<br />

asiatische Fahrzeug-Varianten<br />

Test automation for the hedge to the integration of<br />

external multimedia players in Asian vehicle-types<br />

Vorgelegt von<br />

Yang LU<br />

Matrikelnummer: 05479211<br />

Betreuender Hochschulprofessor: Prof. Dr.-Ing. Michael Hermann<br />

Betreuerin (Berner & Mattner): Dipl.-Math. Viola Maier<br />

Bearbeitungsbeginn: 19.05.2012<br />

Abgabetermin: 17.08.2012


Selbständigkeitserklärung<br />

Ich erkläre hiermit, dass ich die vorliegende Bachelorarbeit selbständig verfasst und noch<br />

nicht anderweitig zu Prüfungszwecken vorgelegt habe.<br />

Sämtliche benutzte Quellen und Hilfsmittel sind angegeben, wörtliche und sinngemäße Zitate<br />

als solche gekennzeichnet.<br />

<strong>München</strong>, den 07. August 2012<br />

Yang LU


Kurzfassung<br />

Mit der Weiterentwicklung von Softwaretechnik ist heutzutage der Einsatz eines Computer-<br />

Kontrollsystems mit mehreren Funktionen im Fahrzeug immer sinnvoller. Diese<br />

angeforderten Funktionen sollen in der Entwicklungsphase des Fahrzeugs integriert und<br />

abgesichert werden. In dieser Arbeit werden die besonderen Multimedia-Funktionen in<br />

asiatischen BMW-Fahrzeug-Varianten vorgestellt und die spezifizierten Anforderungen an<br />

diese Softwarefunktionen dargestellt und analysiert. Aufbauend auf dieser Analyse werden<br />

automatisierte Testfälle zur Verifikation des spezifizierten Systemverhaltens entwickelt.<br />

Abstract<br />

With the development of software technology in recent years the use of a computer control<br />

system with multiple functions in the vehicle is more and more important. These requested<br />

functions should be integrated and tested in the development phase of vehicle. In this thesis<br />

the special multimedia features in the Asian BMW vehicle variant were introduced and the<br />

specified requirements for these software functions were shown and analyzed. On base of this<br />

analysis, the automated test cases were developed for the verification of the specified system<br />

behavior.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

i


Inhaltsverzeichnis<br />

Inhaltsverzeichnis<br />

1. Einleitung ........................................................................................................................................ 1<br />

1.1. Die Berner & Mattner Systemtechnik GmbH ......................................................................... 2<br />

1.2. Motivation ............................................................................................................................... 3<br />

1.3. Aufgabenstellung ..................................................................................................................... 4<br />

1.4. Aufbau und Gliederung der Arbeit .......................................................................................... 5<br />

2. Testumgebung für die Testautomatisierung .................................................................................... 6<br />

2.1. Technische Grundlage ............................................................................................................. 6<br />

2.1.1. MOST-Bus ...................................................................................................................... 6<br />

2.1.2. CAN-Bus ......................................................................................................................... 7<br />

2.2. Hardware ................................................................................................................................. 8<br />

2.2.1. Steuergeräte im Testaufbau ............................................................................................. 8<br />

2.2.2. Multimedia ...................................................................................................................... 8<br />

2.3. Software................................................................................................................................... 9<br />

2.3.1. TAF – Testautomatisierungsframework .......................................................................... 9<br />

2.3.2. TAQT (Testautomatisierung – QTInterface) ................................................................. 10<br />

2.3.3. Zusammenarbeit von TAF und TAQT .......................................................................... 11<br />

3. Testmethode der Testautomatisierung ........................................................................................... 12<br />

3.1. Simulation des ZBEs ............................................................................................................. 12<br />

3.2. Screenshot und Bildvergleich ................................................................................................ 13<br />

3.3. Bildbearbeitung ..................................................................................................................... 14<br />

3.4. Zeichenerkennung (OCR) ..................................................................................................... 15<br />

4. Anforderung der Funktionen ......................................................................................................... 16<br />

4.1. Hintergrund ........................................................................................................................... 16<br />

4.1.1. Zeichenkodierungsstandard ........................................................................................... 16<br />

4.1.2. Umschrift ....................................................................................................................... 17<br />

4.1.3. Sortierung ...................................................................................................................... 17<br />

4.2. Anforderungen für Asienabsicherung ................................................................................... 19<br />

5. Testfälle ......................................................................................................................................... 20<br />

5.1. Voraussetzung der Testfälle .................................................................................................. 20<br />

5.2. Testfallaufbau ........................................................................................................................ 20<br />

5.2.1. Precondition ................................................................................................................... 21<br />

5.2.2. Testrun ........................................................................................................................... 22<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

ii


Inhaltsverzeichnis<br />

5.2.3. Postcondition ................................................................................................................. 22<br />

5.3. Erstellung der Testfälle.......................................................................................................... 23<br />

5.3.1. Coverart ......................................................................................................................... 23<br />

5.3.2. Richtige Anzeige eines chinesischen Zeichens ............................................................. 27<br />

5.3.3. Sortierung ...................................................................................................................... 31<br />

5.3.4. Speller und Suche .......................................................................................................... 35<br />

5.4. Auswertung ........................................................................................................................... 39<br />

6. Zusammenfassung ......................................................................................................................... 40<br />

6.1. Problem und mögliche Lösungsvarianten ............................................................................. 41<br />

6.1.1. Problem ......................................................................................................................... 41<br />

6.1.2. Lösungsvarianten ........................................................................................................... 42<br />

6.2. Ausblick................................................................................................................................. 42<br />

6.2.1. Mögliche Verbesserung und Erweiterungen ................................................................. 42<br />

6.3. Fazit ....................................................................................................................................... 43<br />

7. Glossar ........................................................................................................................................... 44<br />

8. Abbildungsverzeichnis .................................................................................................................. 46<br />

9. Tabellenverzeichnis ....................................................................................................................... 47<br />

10. Literaturverzeichnis ................................................................................................................... 48<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

iii


1. Einleitung<br />

1. Einleitung<br />

Wegen der Entwicklung der Softwaretechnik spielt Embedded System in Steuergeräte<br />

eine immer wichtigere Rolle im Bereich der Automobilindustrie. In der Vergangenheit hat<br />

jeder Hebel, Knopf, Schalter oder Pedal bei der Steuerung eines Geräts ohne die<br />

Unterstützung eines Embedded Computers meistens eine einzige Bedeutung. Wird ein<br />

Computer eingesetzt, kann man einem Knopf oder Schalter mehrere Bedeutungen geben,<br />

je nachdem in welchem Kontext oder Modus dieser Knopf oder Schalter betätigt wird [1].<br />

Mit Hilfe dieser Technik können viele innovative Funktionen im Automobil realisiert<br />

werden. In den Fahrzeugen der letzten Jahre befinden sich immer mehr Steuergeräten mit<br />

Embedded Software. In der Gegenwart haben moderne Fahrzeuge zum Teil mehr als 70<br />

Steuergeräte eingebaut.<br />

Die Software wird wegen steigender Anforderung von Kunden oder Konkurrenz immer<br />

komplexer. Autos sind momentan rollende Computer – bis zu rund 1 Gigabyte Software<br />

steuern in modernen Fahrzeugen sämtliche Komponenten und technischen Extras [2]. Die<br />

Zusammenfassung vieler verschiedener Funktionen in einem einzigen Steuergerät hat<br />

jedoch für den Hersteller den Vorteil, dass er nur noch ein einziges Interaktionselement<br />

anbieten muss, das an verschiedene Modelle des Fahrzeuges nur durch Änderungen in der<br />

Software angepasst werden kann. Für den Kunden ist diese Zentrierung vieler Funktionen<br />

in einem einzigen Gerät auch vorteilhaft, da sie damit leicht die Funktionen betätigen<br />

können [1].<br />

In der Regel liefert der Automobilhersteller die Spezifikationen und Anforderungen an die<br />

gewünschten Funktionen, deren Entwicklungen und Implementierungen sich auf mehrere<br />

Lieferanten verteilen. Die entwickelten Funktionen werden dann beim Fahrzeughersteller<br />

und teilweise auch beim Zulieferer integriert.<br />

Obwohl die Funktion allein ohne Fehler laufen kann, können tatsächlich mehrere Fehler<br />

im Zusammenspiel aller Funktionen entstehen. Um diese Fehler zu vermeiden, soll die<br />

Software in der Entwicklungsphase beim Fahrzeughersteller überprüft werden und dann<br />

beim Lieferanten die überprüften Fehler bewertet und zum Schluss die Software<br />

verbessert werden. Somit ist die Überprüfung eine sehr wichtige Stufe in der<br />

Entwicklungsphase der Software.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

1


1. Einleitung<br />

1.1. Die Berner & Mattner Systemtechnik GmbH<br />

Das Unternehmen Berner & Mattner ist spezialisiert auf Systems Engineering,<br />

Entwicklung und Test leistungsfähiger elektronischer und mechanischer Systeme. Das<br />

branchenübergreifende Leistungsspektrum reicht von der Beratung, Konzeption,<br />

Software- und Systementwicklung bis hin zum Aufbau und Betrieb kompletter Test-<br />

und Integrationssysteme [3].<br />

Als strategischer Partner für die Entwicklungsbereiche der Kunden aus den Branchen<br />

Automobil, Energie, Maschinenbau, Raumfahrt, Transportation und Verteidigung<br />

liefern sie maßgeschneiderte Software- und Engineering-Lösungen auf Basis ihrer<br />

Produkte und Dienstleistungen. Dabei tragen sie maßgeblich zur Optimierung von<br />

Effizienz und Qualität in der Software- und Systementwicklung ihrer Kunden bei.<br />

Daher vertrauen namhafte Unternehmen wie AUDI, BMW, Bombardier, Daimler,<br />

Deutsche Bahn, Siemens u.v.m. der Kompetenz von Berner & Mattner [3].<br />

Berner & Mattner ist Pionier modellbasierter Technologien und agiert seit über 30<br />

Jahren als wichtiger Entwicklungspartner weltweit führender Konzerne. Dies zeugt<br />

von einem hohen Innovationsgeist und einer starken Mitarbeitermotivation. Heute<br />

arbeiten 370 Spitzenkräfte der Elektronik- und Softwareentwicklung an sieben<br />

Standorten in Deutschland und Österreich [3].<br />

Seit 2011 ist Berner & Mattner Mitglied der Assystem Group. Das Netzwerk<br />

innovativer Engineering-Dienstleister beschäftigt weltweit mehr als 10.200<br />

Mitarbeiterinnen und Mitarbeiter [3].<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

2


1. Einleitung<br />

1.2. Motivation<br />

Ein wichtiger Grund dafür, dass ich das Thema „Testautomatisierung für die<br />

Absicherung der Integration von externen Multimediaplayern in asiatische Fahrzeug-<br />

Varianten― als meine Bachelorarbeit bei Berner & Mattner ausgewählt habe, lag darin,<br />

dass ich großes Interesse für die Programmierung habe. Dass ich bereits einige<br />

Sprachen wie C und JAVA gelernt habe, war vorteilhaft für mich, um die<br />

Testautomatisierung durchzuführen. Da das bereits bestehende Testframework auf der<br />

Programmiersprache „Python― basiert, sollte ich während meiner Bachelorarbeit die<br />

Testskripts mit „Python― schreiben, damit ich nicht nur eine neue Sprache kennen<br />

lernen, sondern auch meine Kenntnisse der Informatik wegen der Ähnlichkeit<br />

unterschiedlicher Programmiersprachen verbessern konnte.<br />

Außerdem sammelte ich schon Vorkenntnisse davon im Verlauf meines Praktikums.<br />

Im Rahmen meines Praktikums hatte ich die Gelegenheit mich in die<br />

Fahrzeugfunktionen, die verwendeten Technologien sowie die verwendeten<br />

Werkzeuge zur Testautomatisierung einzuarbeiten. Dabei lernte ich die manuellen<br />

Testfälle für die Asienabsicherung kennen. Mit den besonderen Anforderungen<br />

bestimmter Länder machte ich mich bereits vertraut. Diese Erfahrungen waren nötig<br />

und nützlich für mich, um die Testfälle für die Testautomatisierung aufzubauen.<br />

Darüber hinaus bin ich Chinese. Daher beherrsche ich die chinesischen Schriftzeichen<br />

und die Buchstabierung dieser. Diese Kenntnisse waren hilfreich für die<br />

Testautomatisierung in asiatische Fahrzeug-Varianten.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

3


1. Einleitung<br />

1.3. Aufgabenstellung<br />

Die Bachelorarbeit wurde in Zusammenarbeit mit der Berner & Mattner<br />

Systemtechnik GmbH im Rahmen des Projekts „Entertainment und mobile Endgerät―<br />

bei der BMW AG in <strong>München</strong> angefertigt. Meine Bachelorarbeit umfasste folgende<br />

Aufgaben, die ich eigenverantwortlich umsetzen sollte.<br />

In die bereits bestehende Testumgebung habe ich weitere Testskripts integriert, die ich<br />

auch selbst entwickelte und überprüfte. Diese Skripts sollten für die Ländervarianten<br />

China, Hongkong und Taiwan folgende Use Case absichern,<br />

1. ob Coverart vom Lied im Bildschirm richtig angezeigt wird. (Besonderheit:<br />

Coverart ist in Hongkong immer verboten)<br />

2. ob die Zeichen der Titelnamen bei verschieden Zeichenkodierungsstandards<br />

richtig angezeigt werden. (China: GB18030 und Hongkong/Taiwan: Big5)<br />

3. ob die Lieder nach der Anforderung richtig sortieren werden.<br />

4. ob das erwartete Zeichen in der Suchmaske ausgewählt und in der Ergebnisliste<br />

die erwarteten Lieder angezeigt werden.<br />

Besondere Herausforderung hierbei war die automatische Überprüfung der<br />

chinesischen Zeichen über eine OCR oder einen Bildvergleich. Für die entwickelten,<br />

integrierten und getesteten Testskripts erstellte ich eine Dokumentation. Des Weiteren<br />

gebe ich einem Ausblick auf den Test die Verbesserungsvorschläge für Robustheit und<br />

Sicherheit.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

4


1. Einleitung<br />

1.4. Aufbau und Gliederung der Arbeit<br />

Alle notwendigen Grundlagen und Detailinformationen zum Aufbau der<br />

Testumgebung für die Testautomatisierung werden im zweiten Kapitel beschrieben.<br />

Dabei wird ein Überblick über die technischen Grundlagen der verwendeten<br />

Bussystems gegeben. Im anschließenden Teil wird auf die Hardware der einzelnen<br />

Steuergeräte sowie Multimediafunktionen eingegangen. Zum Schluss dieses Kapitels<br />

wird die Software für die Testautomatisierung präsentiert.<br />

Das dritte Kapitel beschreibt Methoden wie die Simulation des ZBEs und<br />

Zeichenerkennung mit einigen Code-Beispielen im Rahmen der vorhandenen Services<br />

im TAF (Testautomatisierungsframework). Dabei wird hauptsächlich auf die bei den<br />

umgesetzten Testfällen genutzten Methoden eingegangen.<br />

Anschließend wird der Hintergrund der chinesischen Zeichenkodierungsstandards,<br />

Umschreibungen und Sortierungen im vierten Kapitel präsentiert. Dann werden die<br />

speziellen BMW-Anforderungen für asiatische Fahrzeug-Varianten mit drei Tabellen<br />

dargestellt.<br />

Das darauf folgende Kapitel beschreibt zuerst den Testfallaufbau und Ablauf der<br />

implementieren Testfälle. Mit Hilfe von Ablaufdiagrammen, Screenshots und Code-<br />

Beispielen soll der Leser mit diesem Kapitel die genaue Umsetzung der einzelnen<br />

Testfälle nachvollziehen können. Darin ist mein Gedankengang für die Analyse des<br />

Problems, die damit erworbene Lösung und Verbesserung entstanden. Zum Schluss<br />

dieses Kapitels wird die Auswertung des Testergebnisses dargestellt.<br />

Im letzten Kapitel wird eine Zusammenfassung dieser Arbeit gegeben, einen Ausblick<br />

auf die Verbesserung und Erweiterung der aktuellen Testfälle.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

5


2. Testumgebung für die Testautomatisierung<br />

2. Testumgebung für die Testautomatisierung<br />

Die nachfolgende Abbildung 2.1 zeigt den Aufbau der Testumgebung mit relevanten<br />

Komponenten. Der Aufbau teilt sich in zwei Bereiche, zum einen die Steuergeräte am<br />

MOST-Bus und zum anderen die am CAN-Bus. Mit dem ZGW (Zentrales Gateway) sind<br />

die zwei Bussystems verbunden. Via USB war der Rechner mit CAN-Case und Verctor-<br />

Box für MOST, die beide für die Bearbeitung der Nachrichten benutzt werden,<br />

angeschlossen. Auf dem Rechner liefen die Skripts für die Testautomatisierung. Die<br />

Befehle des Rechners können per CAN-Bus oder Vector-Box für MOST an die<br />

Steuergeräte gesandt werden.<br />

Im Testrack befinden sich die Infotainment-Steuergeräte (hier-zu gehören unter anderem:<br />

Head Unit, Verstärker, Multimediasteuergeräte) und die zum Testen nötigen Tools<br />

(Framegrabber, VectorBox usw.). Nachfolgend werden die technische Grundlage,<br />

Hardware und Software der Testumgebung vorgestellt.<br />

Endgerät<br />

Head Unit<br />

Zentrales<br />

Gateway<br />

MOST<br />

Fahrzeugkomponenten<br />

Vector Box<br />

für MOST<br />

2.1. Technische Grundlage<br />

CAN<br />

CAN-Case<br />

Rechner<br />

Abbildung 2.1: Aufbau der Testumgebung<br />

2.1.1. MOST-Bus<br />

In den letzten Jahren sind vor allem in den Fahrzeugen der Premiumklasse mehr<br />

und mehr Multimedia- und Telematikapplikationen integriert worden. Dies hat zu<br />

einer raschen Zunahme der Komplexität geführt [4].<br />

Alle diese Funktionen und der große Bandbreitenbedarf haben zur Entwicklung<br />

eines speziellen Infotainment-Kommunikationssystems geführt, dem MOST<br />

(Media Oriented Systems Transport). Die MOST Technologie bietet nicht nur eine<br />

synchrone Übertragung für Audio- und Videodaten, sondern stellt für die<br />

Beherrschung der Komplexität ein sogenanntes Application-Framework zur<br />

Verfügung, das Schnittstellen und Funktionen für Infotainment-Systeme auf einem<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

USB<br />

USB<br />

6


2. Testumgebung für die Testautomatisierung<br />

hohen Abstraktionsniveau definiert- MOST verbindet die verschieden<br />

Multimediakomponenten in einem Ring [4]. In der Ringtopologie 1 werden<br />

Lichtwellenleiter eingesetzt. Dabei nimmt ein Busteilnehmer die Rolle des Masters<br />

an, welcher das Timing des synchronen Busses vorgibt. Zusätzlich sendet er<br />

kontinuierlich Frames, welche von den Teilnehmern für ihre Datenübertragung<br />

verwendet werden können.<br />

Eine weitaus höhere Performance in Bezug auf den Datenaustausch bietet MOST<br />

gegenüber CAN. MOST ermöglicht einen schnellen Informationsaustausch<br />

zwischen Infotainment-Steuergeräten, er erfüllt aber nicht die Anforderungen<br />

bezüglich Echtzeitfähigkeit und Sicherheit, die z.B. Fahrdynamikregelsystem an<br />

die Kommunikation stellen [6].<br />

2.1.2. CAN-Bus<br />

Der CAN-Bus (Controller Area Network) ist ein asynchrones, serielles Bussystem<br />

und gehört zu den Feldbussen. Der derzeit eingesetzte CAN-Bus vernetzt durch<br />

eine High- oder Low-Speed-Übertragung die Antriebs- und Komfortkomponenten<br />

miteinander, welche im Motor- und Innenraum des Fahrzeugs verbaut sind. Der<br />

High Speed CAN ist bis zu einer Baudrate von 1 Mbit/s und der Low Speed CAN<br />

ist bis 125 Kbit/s spezifiziert [5].<br />

Der CAN-Bus dient dazu, elektronische Fahrzeugsysteme miteinander über eine<br />

Kommunikationsleitung zu vernetzen. Beim CAN-Bus kann eine Vielzahl<br />

elektronischer Systeme miteinander kommunizieren und Daten austauschen [6].<br />

Das CAN-Protokoll wurde ursprünglich für die Echtzeitanwendungen im<br />

Antriebsstrang und der Fahrzeugbewegung entwickelt und wird seit 1991 mit<br />

wachsender Marktdurchdringung eingesetzt. Das Protokoll hat sich durch<br />

dominantes Design weltweit durchgesetzt, als Standard etabliert und wird heute in<br />

nahezu jedem Fahrzeug mit unterschiedlicher Anzahl von Busteilnehmern genutzt.<br />

Beim Einsatz eines Bussystems entfällt im Steuergeräteverbund eine Vielzahl von<br />

schwer diagnostizierbaren Kabeln und Verbindungsstellen. Der mit Bussystem<br />

aufgebaute Netzwerkverbund verringert daher die Ausfallrate im Vergleich zu den<br />

Punkt-zu-Punkt-Verbindungen und bedeutet damit eine in der Systementwicklung<br />

planbare Qualitätsverbesserung [7].<br />

1 Ringtopologie: Eine Vernetzung, bei der in einem Ring jeweils zwei Teilnehmer über Zweipunktverbindungen miteinander<br />

verbunden sind, so dass ein geschlossener Ring entsteht.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

7


2. Testumgebung für die Testautomatisierung<br />

2.2. Hardware<br />

2.2.1. Steuergeräte im Testaufbau<br />

- Zentrales Infotainmentssteuergerät / Head Unit<br />

Die HU (Head Unit) stellt das zentrale Steuergerät, also den Master, auf<br />

dem MOST-Ring (siehe Kapitel 2.1.1.) dar. Für die Entwicklung der<br />

Testfälle wurde die Serien HU „NBT― verwendet. Diese HU ist anders als<br />

die anderer Serien davor, weil sie alle Funktionen der Infotainment-<br />

Software des Fahrzeugs, wie z.B. die Navigation, Radio, CD und<br />

Multimedia-Wiedergabe, Fahrzeuginformation und Einstellungen integriert.<br />

Andere HUs benötigten im Ring zusätzliche Steuergeräte, auf denen<br />

Funktionen verteilt waren. Die Ausgabe erfolgt auf einem CID (Central<br />

Information Display). Die Auflösung vom CID ist 1280*480.<br />

- Zentrales Gateway – ZGW<br />

Das MOST-CAN-Gateway ist im zentralen Gateway implementiert. Für<br />

den CAN-Bus und das MOST Interface existieren unterschiedliche<br />

Abstraktionslevel. Während auf der CAN-Seite Signale, die an einer<br />

bestimmten Position im CAN-Frame transportiert werden, vorhanden sind,<br />

besteht die MOST Schnittstelle aus einem Funktionsblock, d.h., die Signale<br />

werden auf der MOST Seite als Properties des Funktionsblocks behandelt<br />

[6]. Ein zentrales Gateway stellt eine Schnittstelle zwischen den<br />

verschiedenen Bussystemen dar. Seine Aufgabe ist die Nachrichten von<br />

einem Bus auf einen anderen Bus zu senden und die dafür nötige<br />

Umwandlung der Nachrichten vorzunehmen.<br />

- Zentrales Bedienelement – ZBE<br />

Das Zentrale Bedienelement, auch „iDrive― genannt, ist das Eingabegerät<br />

des Fahrers zur Bedienung der Funktionen der Head Unit. Die<br />

Kommunikation des ZBEs mit der HU erfolgt mittels CAN-Bus.<br />

2.2.2. Multimedia<br />

Die Multimediafunktionen, wie Musik und Video, in der HU „NBT― bestehen aus<br />

CD/DVD, Musiksammlung und externen Geräte. In der Asienabsicherung sollte<br />

die Überprüfung mit externen Geräten, wie USB-Stick und iPhone/iPod,<br />

durchgeführt werden. Im Folgenden sind diese zwei Arten der Endgeräte<br />

beschrieben.<br />

- USB-Storage/USB-Stick<br />

Über den KuZu (Kunden-Zugang) wird ein USB-Stick mit der HU<br />

verbunden. Der Verbindungsmodus von USB ist in der Regel MSC (mass<br />

storage class). Die Daten vom USB-Stick können in der HU ausgelesen<br />

werden. Nach dem Auslesen werden diese Daten in der HU bearbeitet.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

8


2. Testumgebung für die Testautomatisierung<br />

Beispielsweise entscheidet die HU, wie die ausgelesenen Lieder sortiert<br />

werden und welche Ergebnisse eine Suche liefert.<br />

Über USB kann Audio und im Stand auch Video in BMW-Fahrzeugen<br />

abgespielt werden.<br />

- iPhone/iPod<br />

Ebenfalls am KuZu kann über ein spezielles Kabel oder den SIA (Snap in<br />

Adapter) 1 ein iPhone oder iPod mit der HU verbunden werden. Der<br />

Verbindungsmodus von iPhone/iPod ist iAP (iPod accessory protocol).<br />

Anderes als bei USB-Sticks sendet die HU an das iPhone oder den iPod die<br />

Nachrichten zur Datenbearbeitung wie zum Beispiel Sortierung oder Suche,<br />

die dann im iPhone/iPod durchgeführt wird. D.h. die Sortierung oder Suche<br />

ist nicht abhängig von der HU sondern von iPhone oder iPod selbst.<br />

Im Vergleich mit USB-Sticks kann nur Audio von iPhone/iPod abgespielt<br />

werden, wenn dieser über den KuZu mit Kabel angeschlossen ist. Über den<br />

SIA ist nicht nur Audio sondern auch Video (wenn die Geschwindigkeit<br />

des Fahrzeugs gleich 0 ist) möglich.<br />

- Relaiskarte<br />

Mit Hilfe einer Relaiskarte ist es möglich gleichzeitig bis zu fünf Endgeräte<br />

an den USB-Eingang des Steuergerätes anzuschließen und diese einzeln<br />

durchzuschalten. Dies ermöglicht die automatisierte Simulation des<br />

manuellen An- und Absteckens eines Endgerätes sowie sequentielle Tests<br />

von mehreren Geräten. Die Relaiskarte wird nur zum Test eingesetzt und<br />

ist kein offizielles BMW Zubehör.<br />

2.3. Software<br />

2.3.1. TAF – Testautomatisierungsframework<br />

Das Testautomatisierungsframework (TAF) ist eine Eigenentwicklung der BMW<br />

AG, das im E-Resort entwickelt wird. Das Framework unterstützt die<br />

Spezifikation, Durchführung und Auswertung von Testfällen. Die Testfälle werden<br />

in Excel spezifiziert, über einen Parser in eine Python-Testsequenz umgewandelt<br />

und diese ausgeführt. Testergebnisse können danach über Reporterfunktionen<br />

aufbereitet werden [8].<br />

Neben Elementen zur Ablaufsteuerung wie Schleifen stellt das Framework dem<br />

Testspezifikateur eine Reihe von Funktionen bereit, um das „System under<br />

Test― (SUT) zu steuern bzw. zu testen. Diese Funktionen sind in sogenannten<br />

Services gekapselt. Beispiele für Services sind MOST, CAN, Ediabas, etc. [8].<br />

1 SiA (Snap in Adapter): er ist von BMW entwickelt und hergestellt, um das Telefon an das Fahrzeug anzuschließen. Bisher<br />

ist er vielen Marken der Mobiltelefone angepasst, wie Apple, Nokia, BlackBerry und so weiter.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

9


2. Testumgebung für die Testautomatisierung<br />

2.3.2. TAQT (Testautomatisierung – QTInterface)<br />

TAQT Interface ist eine von BMW geschriebene Applikation und bietet<br />

verschiedene Funktionen an, um Testfälle automatisiert ablaufen zu lassen. Es<br />

bietet weiterhin die Möglichkeit, Testreports zu generieren [9].<br />

In der Abbildung 2.2 ist die Startansicht des TAQT dargestellt. Im linken oberen<br />

Bereich lässt sich ein Modell, das die Überprüfungen der Funktionen von<br />

Multimedia unterstützt, auswählen und über die Schaltflächen Init und Stop starten<br />

und anhalten. Außerdem findet man dort den Network Status zum MOST-Ring<br />

(Licht an/aus).<br />

Im linken Bereich des Tab TA sind die Testfälle, die in bestimmte Ordnern des<br />

Rechners abgelegt sind, zu finden. Nachdem ein Modell initialisiert wurde, wird<br />

im rechten Bereich ein neuer Ordner erstellt, in dem die nun in der Mitte stehenden<br />

Testfälle aufgerufen werden können.<br />

Das TestcaseLog 1 -Fenster unten zeigt Info- und Fehlermeldungen der<br />

Testergebnissen selbst und der Verbindung zum Modell; die Ausgaben des<br />

Modells befinden sich in einer Windowskonsole, die zusammen mit der TAQT<br />

gestartet wird.<br />

Abbildung 2.2: TAQT-Interface<br />

1 Log: in dem die Kommentare des Tests stehen, wie Informationen oder Fehler des Testlaufs, im Kapitel 5.1.1. ist ein<br />

Beispielbild zu finden.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

10


2. Testumgebung für die Testautomatisierung<br />

2.3.3. Zusammenarbeit von TAF und TAQT<br />

Wie im Kapitel 2.3.1. beschrieben kann TAF als eine Bibliothek betrachtet werden,<br />

in der viele Services mit bestimmten Methoden vorhanden sind. Im Vergleich dazu<br />

ist TAQT ein GUI (Graphical User Interface) für Testorganisation, wie zum<br />

Beispiel Konfiguration und Testablauf.<br />

TAQT kann auf die Ordnerstruktur der Testskripte zugreifen. Damit kann eine<br />

Auswahl der Skripte, sowie deren Reihenfolge für einen Testablauf festgelegt<br />

werden. Außerdem kann hier die Iteration, d.h. die Anzahl der Durchläufe, für<br />

jedes Skript definiert werden. Während die Testskripts ablaufen, müssen die von<br />

TAF angebotenen Services aktiviert werden. So können die Methoden, die von<br />

diesen Services angeboten werden, in den Testskripts erfolgreich aufgerufen und<br />

genutzt werden. Mit der Zusammenarbeit von TAF und TAQT kann die<br />

Testautomatisierung durchgeführt werden.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

11


3. Testmethode der Testautomatisierung<br />

3. Testmethode der Testautomatisierung<br />

Die Testautomatisierung der Multimediatests wird am Testracks entwickelt. Mit TAF, in<br />

dem sich viele Services mit unterschiedlichen Methoden befinden, kann die TA besser<br />

und einfacher umgesetzt werden. Im Folgenden wird auf die für die Multimedia-TA<br />

relevanten Methoden des TAF eingegangen.<br />

3.1. Simulation des ZBEs<br />

Man kann mit der vom ZBE gesendeten Nachricht direkt zu dem benötigen Menü<br />

(Media, Radio, Navigation, Telefon und Hauptmenü) springen. Da ZBE nur<br />

physikalische Knöpfe beinhaltet, soll die Simulation des ZBEs für TA genutzt werden.<br />

ZBEL6Service<br />

Der ZBEL6Service ist die auf dem CANService basierende Umsetzung von<br />

Nutzeraktionen der zentralen Bedieneinheit in der Baureihe L6 [8].<br />

Dieser Service besitzt die Funktionen für die verschiedenen ZBE-Aktionen. Die<br />

nachfolgend aufgelisteten Methoden habe ich im Programm gebraucht:<br />

Drehen:<br />

- Left ( sleepTime, repeat )<br />

- Right ( sleepTime, repeat )<br />

Shift:<br />

- East ( sleepTime, repeat )<br />

- West ( sleepTime, repeat )<br />

Tasten am ZBE:<br />

- CD ( sleepTime )<br />

- Mainmenü ( sleepTime )<br />

Funktionsparameter der oberen verschiedenen Methoden<br />

repeat (integer): Anzahl der Wiederholungen des Befehls<br />

sleepTime (float): die nach Ausführen des Befehls gewartete Zeit. Bei mehreren<br />

Wiederholungen, wie ZBE mehrere Male nach links drehen, wird diese Zeit nach jeder<br />

Wiederholung gewartet.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

12


3. Testmethode der Testautomatisierung<br />

Code – Beispiel:<br />

3.2. Screenshot und Bildvergleich<br />

Eine der einfachsten Methoden um die Ausgabe auf dem Bildschirm zu überprüfen ist<br />

der Vergleich des Bildes im Bildschirm mit einem Referenzbild. Vor dem Vergleich<br />

muss das Bild im Bildschirm abgegriffen werden. Dann muss das Bild bearbeitet<br />

werden, damit die Dimension des Bildes gleich ist wie die des Referenzbildes.<br />

FrameGrabberL6Service:<br />

Dieser Service bietet verschiedene Methoden zur Aufnahme von Screenshots sowie<br />

dem Vergleich dieser Screenshots untereinander.<br />

Im Folgenden stehen die Methoden, die ich im Programm brauchte:<br />

GetImage()<br />

Macht einen Screenshot und gibt das Bild als PIL-Image Objekt zurück.<br />

SaveImage(Pfad+filename)<br />

Macht einen Screenshot und speichert ihn unter dem gegebenem Pfad +<br />

Bildname.<br />

CompareImages2(Pfad+filename, Pfad+filename)<br />

Macht einen Vergleich zwischen zwei Bilder und gibt ein „bool― zurück.<br />

Code – Beispiel:<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

13


3. Testmethode der Testautomatisierung<br />

3.3. Bildbearbeitung<br />

MMIService<br />

Der Service bietet die Funktionen, das Bild vom Screenshot zu verarbeiten.<br />

Im Folgenden steht die Methode, die ich im Programm brauchte:<br />

ExtractCursorRegion(img)<br />

Erkennung von Cursor im Bild und Rückgabe der Koordinate des Cursors.<br />

Code – Beispiel:<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

14


3. Testmethode der Testautomatisierung<br />

3.4. Zeichenerkennung (OCR)<br />

Beim Bildvergleich sollen die Referenzbilder zunächst gespeichert werden. Um die<br />

Überprüfung effizienter zu machen, bietet TAF die Zeichenerkennung an. Damit kann<br />

die Überprüfung ohne Referenzbild automatisch durchgeführt werden. Diese optische<br />

Zeichenerkennung ist eine wesentlich bessere Alternative zum Bildvergleich. Sie heißt<br />

im Englisch OCR (Optical Character Recognition). Mit dieser Funktion können die in<br />

einem vom FrameGrabber geschossenem Screenshot dargestellten Zeichen erkannt<br />

werden. Diese lassen sich dann sehr komfortabel im Testskript durch einen einfachen<br />

String-Vergleich mit der erwarteten Referenz abgleichen.<br />

OCR2Service<br />

OCR2Service bietet die Funktion der Zeichenerkennung. Das heißt, dass mit Hilfe des<br />

Services die Zeichen oder die lateinischen Buchstaben im Bild erkannt werden können.<br />

Recognize(img)<br />

Zeichenerkennung aller Zeichen oder lateinischen Buchstaben im Bild und Rückgabe<br />

einer Liste mit diesen.<br />

Momentan unterstützt der Service die chinesischen Zeichen, und zwar vereinfachtes<br />

Chinesisch und traditionelles Chinesisch. Die Rückgabe erfolgt in Hexadezimalcode,<br />

der nach Unicode kodiert ist.<br />

Obwohl es funktioniert, ist die Erkennungsrate ca. 60%, z.B. chinesische Zeichen „一,<br />

二, 三― sind nicht erkennbar. Deswegen ist die OCR für chinesische Zeichen zu<br />

schlecht für die Testautomatisierung. Daher benutzte ich im Programm kein OCR für<br />

die Erkennung der chinesischen Zeichen, diese Funktion habe ich mit Bildvergleich<br />

ersetzt.<br />

Code – Beispiel:<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

15


4. Anforderung der Funktionen<br />

4. Anforderung der Funktionen<br />

4.1. Hintergrund<br />

Gegenwärtig besteht Chinesisch aus vereinfachtem Chinesisch und traditionellem<br />

Chinesisch. Der Unterschied ist, dass die Zeichen im vereinfachten Chinesisch mit<br />

weniger Striche als im traditionellen Chinesisch geschrieben werden. In der Regel<br />

wird vereinfachtes Chinesisch auf dem Festland genutzt, während traditionelles<br />

Chinesisch in Hongkong und Taiwan genutzt wird. Im nachfolgenden Kapitel werden<br />

die Unterschiede im Bereich Zeichenkodierungsstandard, Umschreibung und<br />

Sortierung erklärt.<br />

4.1.1. Zeichenkodierungsstandard<br />

Um die Zeichen im Computer anzeigen zu können, werden die eignen<br />

Zeichenkodierungsstandards von den Ländern erstellt. Obwohl Unicode<br />

(international Zeichenkodierungsstandard) bereits erstellt worden ist, wird<br />

gewöhnlich der eigene Standard genutzt. Da unterschiedlich es Chinesisch auf dem<br />

Festland und in Hongkong/Taiwan genutzt wird, werden zwei verschiedenen<br />

Standards erstellt. Im Folgenden werden kurz die Standards GB18030 vom<br />

Festland und Big5_HKSCS von Hongkong und Taiwan beschrieben.<br />

4.1.1.1. GB18030 in China – Festland<br />

Der chinesische Zeichenkodierungsstandard GB18030 beschreibt 27.484<br />

Zeichen der chinesischen Schrift. Seit dem 1. September 2001 ist er<br />

verbindlich für alle in der Volksrepublik verkauften Betriebssysteme und<br />

Programme; es ist der Nachfolgestandard für die Kodierungen GBK und<br />

GB2312 und deckt traditionelle und vereinfachte Zeichen ab[10].<br />

4.1.1.2. Big5_HKSCS in China – Hongkong und Taiwan<br />

Big5 ist eine Zeichenkodierung für traditionelle chinesische Schriftzeichen. Sie<br />

kodiert 13.<strong>06</strong>2 chinesische Schriftzeichen und ist bei weitem der am meisten<br />

benutzte Zeichensatz in Taiwan [11].<br />

Das HKSCS (Hong Kong Supplementary Character Set) ist eine Erweiterung<br />

der Big5-Kodierung, die 4.941 zusätzliche Zeichen für Kantonesisch enthält.<br />

Es ist eine Weiterentwicklung des Government Chinese Character Set und<br />

wurde zunächst nur in Behörden, später auch in der Öffentlichkeit benutzt [12].<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

16


4. Anforderung der Funktionen<br />

4.1.2. Umschrift<br />

In diesem Kapitel werden drei Umschreibungen, die in China heutzutage<br />

üblicherweise genutzt werden, je mit einem Beispiel beschrieben.<br />

4.1.2.1. Pinyin<br />

Pinyin ist die offizielle chinesische Romanisierung des Hochchinesischen in<br />

der Volksrepublik China [13]. Damit kann jedes chinesische Zeichen durch<br />

einen Pinyin-String ersetzt werden. Eine Besonderheit ist, dass die Buchstaben<br />

„i―, „u― und „v― im Pinyin-String als erste Buchstaben nicht erlaubt sind, um<br />

chinesischen Zeichen umzuschreiben. Pinyin wird auf dem Festland überall<br />

und in Hongkong teilweise genutzt.<br />

Beispiel:<br />

木 : die Umschreibung in Pinyin ist „mu―.<br />

4.1.2.2. Strich/Strokes<br />

Weil chinesische Zeichen aus Strichen bestehen und alle Zeichen mit 5<br />

unterschiedlichen Basisstrichen in bestimmter Reihenfolge gezeichnet werden<br />

können, wird die Buchstabierung durch fünf Striche, sogenanntes 5 Strokes,<br />

erstellt. In der Gegenwart wird 5 Strokes üblicherweise in Hongkong und auf<br />

dem Festland genutzt.<br />

Beispiel:<br />

木 : die Umschreibung durch 5 Strokes ist „一丨丿丶―.<br />

4.1.2.3. Bopomofo<br />

Bopomofo ist eine nichtlateinische, phonetische Transkription für die<br />

chinesischen Schriftzeichen. Von 1921 bis 1956 war sie in ganz China als<br />

Umschrift in Gebrauch, in Taiwan (seit 1949) ist sie es bis heute. Auf dem<br />

Festland wurde sie durch das lateinschriftliche Pinyin abgelöst [14].<br />

Beispiel:<br />

木 : die Umschreibung von Bopomofo ist „ㄇㄨ―.<br />

4.1.3. Sortierung<br />

Weil auf dem Festland vereinfachtes Chinesisch und die Umschreibung durch<br />

Pinyin überall genutzt wird, ist die Sortierung der chinesischen Zeichen auf dem<br />

Festland abhängig vom Pinyin-String. Obwohl in Hongkong und Taiwan<br />

traditionelles Chinesisch genutzt wird, ist die Sortierung von chinesischen Zeichen<br />

unterschiedlich. In Hongkong ist die Sortierung wegen der Umschrift durch 5<br />

Strokes abhängig von der Anzahl der Striche, während in Taiwan laut der<br />

Reihenfolge von Bopomofo sortiert wird.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

17


4. Anforderung der Funktionen<br />

Als Beispiel zeigt das untenstehende Bild die richtige Sortierung auf dem Festland:<br />

Abbildung 4.1: Beispiel der Sortierung nach der Anforderung auf dem Festland<br />

Die Anforderung der Sortierung auf dem Festland ist eine sogenannte Mischung-<br />

Sortierung, die abhängig von der Reihenfolge der lateinischen Buchstaben (von A<br />

bis Z) ist. In jeder Gruppe, beispielweise A, sollen zuerst die Chinesischen Zeichen,<br />

deren Pinyin-String mit A oder a beginnt, einsortiert werden. Dann folgen die Titel,<br />

deren Namen mit lateinischen Buchstaben geschrieben sind.<br />

Entsprechend der Anforderung werden die chinesischen Zeichen in der HU, die für<br />

China-Festland codiert ist, zuerst in Pinyin-Strings umgewandelt. D.h. die HU<br />

betrachtet die chinesischen Zeichen als Pinyin-Strings. Die folgende Tabelle zeigt<br />

die Umwandelung, die der Sortierungsliste mit den Gruppen A und B des oberen<br />

Bildes entspricht.<br />

Sortierungsliste lateinische Buchstaben oder Pinyin-String von<br />

爱是怀疑<br />

chinesischen Zeichen<br />

Ai Shi Huai Yi<br />

Angels angels<br />

半梦半醒<br />

Ban Meng Ban Xing<br />

别怕我伤心<br />

Bie Pa Wo Shang Xin<br />

不让我的眼泪陪我过夜 Bu Rang Wo De Yan Lei Pei Wo Guo Ye<br />

Baby Be Mine baby be mine<br />

Bed Of Roses bed Of Roses<br />

Tabelle 4.1: Beispiel der Umwandelung der chinesischen Zeichen in der HU<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

18


4. Anforderung der Funktionen<br />

4.2. Anforderungen für Asienabsicherung<br />

Nach dem Lastenheft von BMW sind die Anforderung für das Festland, Hongkong<br />

und Taiwan unterschiedlich. Im Folgenden werden die jeweiligen Anforderungen in<br />

einer Tabelle dargestellt.<br />

Coverart<br />

China-Festland<br />

erlaubt<br />

Zeichenkodierungsstandard GB18030 wird unterstützt<br />

Sortierung der Lieder mit abhängig von Pinyin-String (erster Buchstabe von A bis<br />

chinesischen Zeichen<br />

Ergebnis<br />

der Suche<br />

Mit<br />

chinesischem<br />

Zeichen<br />

Mit<br />

lateinischem<br />

Buchstaben<br />

Z)<br />

Die Titel, die das Zeichen beinhalten<br />

Alle chinesischen Titel, die den Buchstaben als ersten<br />

Buchstaben im Pinyin-String haben, ebenso wie<br />

lateinische Titel, die mit diesem Buchstaben beginnen<br />

Tabelle 4.2: Anforderung für das Festland<br />

Coverart<br />

Hongkong<br />

Nicht erlaubt<br />

Zeichenkodierungsstandard Big5_HKSCS wird unterstützt<br />

Sortierung der Lieder mit abhängig von der Anzahl der Striche des Zeichens<br />

chinesischen Zeichen<br />

Ergebnis<br />

der Suche<br />

Mit<br />

chinesischem<br />

Zeichen<br />

Mit<br />

lateinischer<br />

Buchstabe<br />

Die Titel, die das Zeichen beinhalten<br />

Alle lateinischen Titel, die mit diesem Buchstaben<br />

beginnen<br />

Tabelle 4.3: Anforderung für Hongkong<br />

Taiwan<br />

Coverart erlaubt<br />

Zeichenkodierungsstandard Big5_HKSCS wird unterstützt<br />

Sortierung der Lieder mit<br />

chinesischen Zeichen<br />

abhängig von der Bopomofo-Tabelle<br />

Ergebnis Mit<br />

Die Titel, deren erstes Zeichen gleich wie das Zeichen<br />

der Suche chinesischem<br />

Zeichen<br />

ist<br />

Mit<br />

Alle lateinischen Titel, die mit dieser Buchstaben<br />

lateinischer<br />

Buchstabe<br />

beginnen<br />

Tabelle 4.4: Anforderung für Taiwan<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

19


5. Testfälle<br />

5. Testfälle<br />

5.1. Voraussetzung der Testfälle<br />

In der Implementierung der Testfälle wird die Methode Bildvergleich verwendet.<br />

Somit müssen zuerst bestimmte Lieder auf dem USB-Stick gespeichert werden. Dann<br />

können die Referenzbilder manuell angefertigt werden. Mit diesen Bildern wird<br />

danach der Ordner im Computer erstellt. Die auf dem USB-Stick vorhandenen Lieder<br />

dürfen nicht verändert werden, weil die Referenzbilder, die abhängig von den auf dem<br />

Stick gespeicherten Lieder sind, bereits erstellt sind.<br />

Auf meinem Test-USB-Stick sind alle Testlieder. Außerdem wurden die Ordner mit<br />

bestimmten Namen im USB-Stick erstellt (Abb.: 5.11 zeigte die vorhanden Ordner im<br />

USB-Stick). Alle Überprüfungen in dieser Arbeit konnten mit diesem USB-Stick<br />

durchgeführt werden.<br />

5.2. Testfallaufbau<br />

Die Testfälle, die für die Ausführung im TAQT geschrieben werden, sollen nach der<br />

definierten Vorlage aufgebaut werden. Jeder Testfall soll mit einer Vorbedingung<br />

(precondition) beginnen, in der z.B. die Aktivität des Bussystems, die Verbindung<br />

eines externen Gerätes usw. überprüft werden soll. Danach folgt der Programmcode<br />

des eigentlichen Tests. Der Testfall endet mit der Schlussbedingung (postcondition).<br />

Damit wird das Programm beendet. Das Bussystem wird heruntergefahren und die<br />

Verbindung der externen Geräte getrennt.<br />

Im Folgenden wird der vollständige Testfallaufbau graphisch dargestellt:<br />

1<br />

2<br />

3<br />

4<br />

5<br />

• Start<br />

• Vorbedingung<br />

• Test laufen<br />

• Schlussbedingung<br />

• Ende<br />

Abbildung 5.1: Diagramm des Testfallaufbaus<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

20


5. Testfälle<br />

5.2.1. Precondition<br />

In der Precondition werden alle notwendigen Schritte für die Testdurchführung<br />

vorbereitet. Dies sind folgenden Punkte:<br />

Einstellung der Relaiskarte<br />

Start des MOST-Ring und starten der TAF-Services<br />

Einlesen der Konfigurationsvariablen<br />

Warten auf die Verbindung des Endgerätes<br />

Die unten stehende Abbildung zeigte die ganzen Log-Informationen in der<br />

Precondition:<br />

Abbildung 5.2: Log-Informationen in der Vorbedingung<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

21


5. Testfälle<br />

5.2.2. Testrun<br />

In diesem Abschnitt wird der Test durchgeführt. Treten Fehler auf, werden diese<br />

am Ende des Testprotokolls/Testlogs aufgeführt. Dies wird ausführlich in Kapitel<br />

5.3. vorgestellt.<br />

5.2.3. Postcondition<br />

In der Postcondition wird der MOST-Ring nach einer kurzen Wartezeit<br />

ausgeschaltet. In den folgenden Testfällen müssen die Steuergeräte und Testtools<br />

neu gestartet werden.<br />

Dieses Vorgehen beugt aus Erfahrung vielen Fehlern vor. Es zeigte sich, dass z.B.<br />

die Vector-Box für MOST durch einen Neustart zuverlässiger arbeitete. Ein<br />

Nachteil ist jedoch der Zeitaufwand, der daraus entsteht. Aber der Anspruch an die<br />

Stabilität des Systems überwiegt.<br />

Die unten stehende Abbildung stellt die ganzen Log-Informationen in der<br />

Postcondition dar:<br />

Abbildung 5.3: Log-Informationen in der Nachbedingung<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

22


5. Testfälle<br />

5.3. Erstellung der Testfälle<br />

Wie oben genannt gibt es vier spezielle Anforderungen für Multimedia in Fahrzeugen,<br />

die auf dem Festland, in Hongkong und Taiwan eingesetzt werden. Aus diesem Grund<br />

sollen vier Testfälle für jeweils eine Funktion aufgebaut werden. Damit kann man<br />

einfach erkennen, welche Funktionen richtig oder falsch umgesetzt sind.<br />

Im folgenden Kapitel werden die vier Testfälle beschreiben. Zuerst werden in diesem<br />

Kapitel die wichtigen Probleme, die Lösung dazu, die mögliche Variante und<br />

Verbesserungsvorschläge präsentiert. Dann werden die Tests mit Schritten, Ablaufbild,<br />

Diagrammdarstellung und Code-Beispiel erklärt.<br />

5.3.1. Coverart<br />

5.3.1.1. Problem, Lösung und Verbesserung<br />

Problem 1: wie wird ein<br />

bestimmter Titel, der Coverart<br />

enthält, gefunden.<br />

Problem 2: Die Position hat mit<br />

der Sortierung zu tun. Die<br />

Sortierung, deren Änderung die<br />

Position beeinflusst, soll auch<br />

überprüft werden.<br />

Problem 3: Die Koordinate<br />

des Cursors muss bestimmt<br />

werden. Die Methode wird im<br />

MMI.Service angeboten. Diese<br />

Methode funktioniert nicht<br />

zuverlässig, somit wird das<br />

Zeichen falsch erkannt.<br />

Lösung 1: die Position des<br />

Titels in der Titelliste muss<br />

bestimmt werden. Mit der<br />

genauen Position kann der<br />

Titel einfach und schnell<br />

gefunden werden.<br />

Lösung 2: TAF<br />

OCR2.Service bietet die<br />

Methode der<br />

Zeichenerkennung an. Damit<br />

kann der erwartete Titel<br />

gefunden werden.<br />

Verbesserung 1: Basierend<br />

auf Lösung 2 muss das<br />

Programm verbessert werden,<br />

um die Zeichenerkennung zu<br />

verbessern.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

23


5. Testfälle<br />

In meinem Programm wird der Titel „Baby be Mine― gesucht. Wegen der vier<br />

mögliche unterschiedlichen Erkennungen des OCR mit „Baby be<br />

Mine― musste ich dies im Programm wie folgt abfangen.<br />

Abbildung 5.4: Verbesserung des Programms im ersten Testfall<br />

5.3.1.2. Testablauf<br />

Der Testablauf ist gemäß des Ablaufplan (Abb.: 5.6) implementiert. In diesem<br />

Testfall basiert die komplette Überprüfung nicht nur auf der grafischen<br />

Darstellung sondern auch auf der Zeichenerkennung in der HMI.<br />

Der erste Schritt in diesem Testfall ist die Simulation der Navigation mit dem<br />

ZBE zur Kategorie „Alle Titel― (Abb.: 5.5 zeigt die Titellistenansicht eines<br />

Beispiel-Titel). Danach wird mit dem TAF MMI.Service die Koordinate des<br />

Cursor ausgelesen und zurückgegeben und dann mit dem OCR2.Service das<br />

Zeichen in der Cursor-Region erkannt, um den bestimmten Titel zu finden.<br />

Nachdem der Titel gefunden und ausgewählt ist, wird zunächst der Screenshot<br />

mit dem FrameGrabberL6.Service erzeugt und mit bestimmten Koordinaten<br />

ausgeschnitten. Die Überprüfung von Coverart wird anschließend durchgeführt.<br />

Abbildung 5.5: Titellistenansicht im Bildschirm<br />

Dazu muss bekannt sein, für welches Land die Head Unit vorab codiert wurde.<br />

Der Grund dafür ist, dass Coverart in Hongkong, wie in Kapitel 4.2.<br />

beschrieben, verboten ist. Deswegen ist das Referenzbild anders als das für das<br />

Festland oder Taiwan. Der Unterschied kann mit zwei Bilder (Abb.: 5.7<br />

Festland und Taiwan, Abb.: 5.8 Hongkong) erkannt werden.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

24


5. Testfälle<br />

Test Start<br />

Navigieren zu<br />

„Alle Titel―<br />

Titelname mit OCR<br />

erkennen<br />

„Baby be Mine―?<br />

Ja<br />

Auswahl von<br />

„Baby be Mine―<br />

Ausschneiden des<br />

Coverarts und als<br />

Bild speichern<br />

Vergleich des gespeicherten<br />

Bildes mit dem<br />

entsprechenden Referenzbild<br />

ZBE einmal nach<br />

rechts drehen bis<br />

zum nächsten Titel<br />

Abbildung 5.6: Testablaufdiagramm des ersten Testfalls auf dem Festland<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

Nein<br />

Nein<br />

entsprechen? Test mit Fehler<br />

beenden<br />

Ja<br />

Test ohne Fehler<br />

beenden<br />

25


5. Testfälle<br />

Abbildung 5.7: Anzeige von Coverart auf dem Festland und in Taiwan<br />

Abbildung 5.8: keine Anzeige von Coverart in Hongkong<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

26


5. Testfälle<br />

5.3.2. Richtige Anzeige eines chinesischen Zeichens<br />

5.3.2.1. Problem, Lösung und Verbesserung<br />

Problem 1: wie viele Titel sind<br />

im „GB―-Ordner 1 .<br />

Problem 2: Wie in Abb.: 5.9<br />

gezeigt, kann mit dem unteren<br />

linken Knopf, der mit Rot<br />

hinterlegt ist, der nächste Titel<br />

ausgewählt werden.<br />

Problem 3: Mit dem im<br />

Problem 2 genannten Knopf<br />

kann der Titel unendlich<br />

zyklisch ausgewählt werden.<br />

Z.B. im oberen Bild, der<br />

nächste Titel nach dem<br />

dreizehnten Titel ist der erste<br />

Titel.<br />

Mit der Lösung 2 und Verbesserung 2 konnte im Programm eine For-Schleife<br />

verwendet werden. Das unten stehende Bild zeigte ein Code-Beispiel, bei dem der<br />

Code mit Schleife den älteren ersetzt.<br />

1 „GB―-Ordner: Test-Ordner im TestUSB-Stick, in dem die Lieder, die mit dem Zeichenkodierungsstandart GB18030 (in<br />

Kapitel 4.1.1.1) codiert sind, abgelegt werden. Im TestUSB-Stick befinden sich außerdem die „HKBig5―-Ordner und<br />

„TWBig5―-Ordner.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

27<br />

Lösung 1: Da die Inhalte in<br />

USB-Stick immer gleich sein<br />

müssen, kann die Anzahl der<br />

Titel direkt im Programm<br />

verwendet werden.<br />

Verbesserung 1: Um das<br />

Programm flexibel zu machen,<br />

sollte es selbst die Anzahl<br />

auswerten.<br />

Lösung 2: Das Bild eines<br />

Titels kann sukzessive<br />

gespeichert werden, bis das<br />

aktuelle Bild gleich wie das<br />

zuletzt aufgenommene ist.<br />

D.h., die Bilder aller Titel<br />

werden gespeichert.<br />

Verbesserung 2: Basierend<br />

auf der Lösung 2 soll das<br />

aktuelle Bild sukzessive mit<br />

den schon gespeicherten<br />

Bildern verglichen werden.


5. Testfälle<br />

Abb. 5.9: Anzeige des von GB kordierten Liedes<br />

Abbildung 5.10: Verbesserung des Programms im zweiten Testfall<br />

5.3.2.2. Testablauf<br />

Im zweiten Testfall wird die Anzeige des chinesischen Zeichens überprüft. Der<br />

Test läuft gemäß des Ablaufdiagramms (Abb.: 5.12) ab.<br />

Als erster Schritt in diesem Testfall wird mit dem TAF ZBEL6.Service zur<br />

Kategorie „Verzeichnis― navigiert (Abb.: 5.11 zeigt die Ordnerlistenansicht der<br />

Referenz-USB-Stick). Dann wird der Ordner „GB― in der Verzeichnisliste mit<br />

der Zeichenerkennung, wie im Kapitel 5.3.1 beschrieben, gesucht. Nachdem<br />

der Ordner „GB― gefunden wurde, wird er anschließend geöffnet. Dann wird<br />

das erste Lied in diesem Ordner ausgewählt. Danach wird der Screenshot, wie<br />

Abb.: 5.9 zeigt, mit der Informationsregion (Mittelfeld in der Abb.: 5.9, rechts<br />

von Coverartregion) ausgeschnitten und gespeichert.<br />

Erst dann kann die Überprüfung der Sortierung mit der Methode Bildvergleich<br />

beginnen. Um sicher zu sein, sollen alle Lieder im Ordner „GB― überprüft<br />

werden. Deswegen ist der Prozess der Überprüfung komplexer als der erste<br />

Testfall. In der Überprüfung muss zuerst das aktuelle, gespeicherte Bild mit<br />

dem entsprechenden Referenzbild verglichen werden. Damit kann die Anzeige<br />

getestet werden. Dadurch, dass das aktuelle, gespeicherte Bild dann mit den<br />

bereits gespeicherten Bildern verglichen wird, kann erkannt werden, ob alle in<br />

dem Ordner vorhandenen Lieder bereits überprüft sind. Für diesen Fall werden<br />

zwei verschachtelte Schleifen verwendet, die eine für den Vergleich mit den<br />

gespeicherten Bildern und die andere für den mit den Referenzbildern.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

28


5. Testfälle<br />

Abbildung 5.11: Anzeige des Ordnerverzeichnisses im USB-Stick<br />

Abb.: 5.11 zeigt, dass es insgesamt 5 Ordner im USB-Stick gibt. Die drei in<br />

diesem Testfall genutzten Ordner, „GB―, „HKBIG5― und „TWBIG5―, sind im<br />

Mittelfeld. Der Grund dafür ist, dass die Koordinate der Region des Cursors<br />

wegen des TAF-Services nicht richtig erkannt werden kann, wenn der Cursor<br />

auf dem ersten Eintrag steht. Z.B. kann im oberen Bild, die Koordinate der<br />

Cursor-Region falsch zurückgegeben werden. Dies führt dann zur falschen<br />

Zeichenerkennung von „Englisch―.<br />

Außerdem sind die Namen der drei Test-Ordner alle mit großen Buchstaben.<br />

Im ersten Testfall habe ich beschrieben, dass der Name des Liedes „Baby Be<br />

Mine― manchmal falsch erkannt wird. Nach meiner Analyse ist der Grund<br />

dafür, dass die Koordinate der Cursor-Region nicht immer genau richtig<br />

bestimmt wird. Es gibt immer eine kleine Abweichung. Deswegen können die<br />

Buchstaben, wie „y―, „g―, „j―, mit der Methode Zeichenerkennung jeweils als<br />

„v―, „o―, „i― erkannt werden. Mit großen Buchstaben kann dieser Fehler<br />

vermieden werden. Wegen der Länder-Varianten und der unterschiedlichen<br />

Zeichenkodierungsstandards müssen die Lieder mit entsprechenden Standards<br />

aufgebaut werden. Deswegen werden die drei Ordner „GB―, „HKBIG5― und<br />

„TWBIG5― jeweils für Festland, Hongkong und Taiwan im USB-Stick erstellt.<br />

Damit kann die TA einfach mit nur einem USB-Stick implementiert werden.<br />

Das obere Code-Beispiel und folgende Abbildung sind Beispiele für den Test<br />

mit der Länder-Variante Festland. Für die Tests für Hongkong oder Taiwan<br />

kann man einfach mit dem entsprechenden Ordner-Namen den Name<br />

„GB― ersetzen.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

29


5. Testfälle<br />

ZBE einmal nach<br />

rechts drehten bis<br />

zum nächsten<br />

Ordner<br />

Test Start<br />

Eintritt in das<br />

Verzeichnis des<br />

USB-Stick<br />

Ordnername mit<br />

OCR erkennen<br />

Nein<br />

Ja<br />

„GB―?<br />

Eintritt in den<br />

„GB― Ordner und<br />

erstes Lied<br />

auswählen<br />

Die Information<br />

des ersten Lieds als<br />

Bild speichern<br />

Vergleich des<br />

gespeicherten Bildes<br />

mit dem<br />

entsprechenden<br />

Referenzbild<br />

Abbildung 5.12: Testablaufdiagramm des zweiten Testfalls auf dem Festland<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

Nein<br />

entsprechen?<br />

Ja<br />

Die Information<br />

des nächsten Lieds<br />

als Bild speichern<br />

Vergleich des gerade<br />

gespeicherten Bildes<br />

mit dem<br />

entsprechenden<br />

Referenzbild<br />

entsprechend?<br />

Ja<br />

Vergleich des aktuellen<br />

gespeicherten Bildes<br />

mit allen gespeicherten<br />

Bildern<br />

Einmal<br />

entsprechen?<br />

Ja<br />

Test ohne Fehler<br />

beenden<br />

Nein<br />

Nein<br />

30<br />

Test mit Fehler<br />

beenden


5. Testfälle<br />

5.3.3. Sortierung<br />

5.3.3.1.Problem, Lösung und Verbesserung<br />

Lösung 1:<br />

Bildvergleich mit<br />

mehreren Titel<br />

Die folgende Tabelle zeigt jeweils ein Beispiel und die Analyse jeder Lösung:<br />

Lösungsva<br />

rianten<br />

Beispiel<br />

Problem 1: wie die Überprüfung der<br />

Sortierung implementiert werden kann.<br />

Lösung1 Lösung2 Lösung3<br />

Analyse Damit ist es effizienter<br />

und die Zeit der<br />

Überprüfung kürzer.<br />

Aber das Problem ist,<br />

dass der Bildvergleich<br />

falsch sein kann, obwohl<br />

die Sortierung ganz<br />

richtig ist. Der Grund<br />

dafür ist, dass die Farbe<br />

des Cursors das Ergebnis<br />

des Bildvergleich<br />

beeinflussen kann.<br />

Lösung 2:<br />

Zeichenerkennung<br />

Von Vorteil ist, dass<br />

man Speicher für<br />

Referenzbilder<br />

sparen kann. Wegen<br />

dem Problem, das im<br />

Kapitel 3.4.<br />

beschrieben ist, ist<br />

die Erkennung nicht<br />

immer richtig. Somit<br />

gibt es ein Risiko,<br />

bei der Überprüfung<br />

nicht sicher zu sein.<br />

Lösung 3:<br />

Bildvergleich mit<br />

einem Titel<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

31<br />

Mit dieser Methode<br />

ist es zeitaufwändig<br />

und die<br />

Referenzbilder<br />

müssen zuerst<br />

erstellt werden. Das<br />

Überprüfungsergeb<br />

nis ist jedoch<br />

sicherer als das mit<br />

Lösung 1 und<br />

Lösung 2.<br />

Zusammen Anhand der oberen Analyse wird klar, dass Lösung 1 und Lösung 2<br />

-fassung jeweils Zeit und Speicher sparen, während Lösung 3 jeweils viel Zeit<br />

und Speicher verbraucht. Die Richtigkeit der Überprüfung ist jedoch<br />

auf jeden Fall wichtiger. Deshalb ist die Lösung 3 auszuwählen.<br />

Tabelle 5.1: Analyse und Konsequenz des Vergleiches drei Lösungen


5. Testfälle<br />

Zur Lösung 3 sind zwei Varianten verfügbar.<br />

- Erste Variante: zuerst werden die Namen aller Titel gespeichert. Dann<br />

wird der gespeicherte Name mit dem entsprechenden Referenzbild<br />

verglichen.<br />

- Zweite Variante: nachdem ein Name des Titels gespeichert wird, wird<br />

der gespeicherte Name sofort mit dem entsprechenden Referenzbild<br />

verglichen.<br />

Mit der ersten Variante ist das Programm, in dem nur zwei separaten For-<br />

Schleifen benutzt werden, ganz einfach. Aber es ist nachteilig, dass es<br />

zeitaufwändig ist. Im Vergleich dazu ist es effizienter mit der zweiten Variante.<br />

Wenn der Name eines Titels nicht entspricht, wird das Programm sofort<br />

beendet. Das Programm der zweiten Variante ist jedoch komplex. Es braucht<br />

zwei verschachtelte For-Schleifen.<br />

Verbesserung:<br />

Um Fehler leichter zu analysieren wird noch eine Funktion eingesetzt:<br />

Nachdem ein Fehler gefunden ist, wird das Programm nicht sofort beendet.<br />

Zuerst wird noch geprüft, in welcher Position der Titel sein sollte oder ob es<br />

kein entsprechendes Referenzbild von dem Titel gibt, was beides zur falschen<br />

Anzeigen des Namens führen könnte. Damit muss man nicht manuell die falsch<br />

gelegenen Titel suchen, sondern kann direkt den Grund für den Fehler<br />

analysieren. Die Analysearbeit wird dadurch erleichtert.<br />

Variante auswählen:<br />

Um diese Funktion zu erfüllen ist noch eine For-Schleife nötig. Nicht nur mit<br />

der ersten Variante sondern auch mit der zweiten braucht man bereits zwei<br />

Schleifen. Deswegen wird die erste Variante ausgewählt. Der Grund dafür ist,<br />

dass mit der zweiten Variante drei Schleifen verschachtelt werden müssten,<br />

was zu einem komplexen Programm führen würde. Außerdem entfällt die<br />

Verbesserung in der Zeit der zweiten Variante, weil das Programm mit der<br />

Verbesserung nicht sofort beendet wird, sondern weiter läuft, um die<br />

zusätzliche Funktion zu erfüllen, wenn ein Fehler gefunden ist.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

32


5. Testfälle<br />

5.3.3.2. Testablauf<br />

In diesem Testfall wird die Sortierung der Namen der im USB-Stick<br />

gespeicherten Lieder überprüft. Der Test läuft gemäß des Ablaufdiagramms<br />

(Abb.: 5.13) ab.<br />

Als ersten Schritt in diesem Testfall wird mit dem ZBEL6.Service zu Kategorie<br />

„Alle Titel― navigiert. Dann werden die Namen aller Titel mit dem<br />

MMI.Service (CursorRegion erkennen) und dem FrameGrabberL6.Service<br />

(Screenshot und Bild speichern) sukzessiv als Bilder gespeichert. Nachdem die<br />

Speicherung fertig ist, beginnt die Sortierungsüberprüfung mit der Methode<br />

Bildvergleich.<br />

Wegen der unterschiedlichen Sortierungsregeln vom Festland, Hongkong und<br />

Taiwan werden drei verschiedene Ordner mit Referenzbildern vorbereitet.<br />

Obwohl das Prinzip der Überprüfung leicht ist, nur die gespeicherten Bilder<br />

mit den Referenzbildern zu vergleichen, ist der Prozess komplexer. Im<br />

Vergleich zu den ersten zwei Testfällen ist die Überprüfung unterschiedlich.<br />

Wie oben genannt wird das Programm nicht sofort gestoppt, wenn ein<br />

Sortierungsfehler gefunden wurde. Die zusätzliche Funktion, deren Ergebnis<br />

als Kommentar in der Log-Information steht, kann als Analyse betrachtet<br />

werden.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

33


5. Testfälle<br />

ZBE einmal<br />

nach rechts<br />

drehen bis zum<br />

nächsten Titel<br />

Nein<br />

Test Start<br />

Eintritt in das<br />

Verzeichnis „Alle<br />

Titel―<br />

ZBE einmal nach<br />

rechts drehen bis<br />

zum ersten Titel in<br />

der Titelsliste<br />

Das Bild mit erstem<br />

Titelname durch<br />

FrameGrabber<br />

speichern<br />

Das Bild mit<br />

Titelname durch<br />

FrameGrabber<br />

speichern<br />

Vergleich des aktuellen<br />

gespeicherten Bildes<br />

mit dem letzten<br />

gespeicherten Bild<br />

entsprechen?<br />

Ja<br />

Vergleich der<br />

gespeicherten Bilder<br />

mit den entsprechenden<br />

Referenzbildern<br />

entsprechen?<br />

Titel-Nummer plus<br />

1<br />

Abbildung 5.13: Testablaufdiagramm des dritten Testfalls auf dem Festland<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

Nein<br />

Ja<br />

Vergleich der<br />

Titel-Nummer mit<br />

der Anzahl der<br />

Lieder im USB-<br />

Stick<br />

Ja<br />

>=<br />

Test ohne Fehler<br />

beenden<br />

Nein<br />

FehlerFlag ersetzen<br />

Nein<br />

Das gerade<br />

verglichene Bild mit<br />

Referenzbild<br />

sukzessiv vergleichen<br />

entsprechen?<br />

Ja<br />

Nein<br />

Kommentar: In welcher<br />

Position der<br />

Sortierungsliste soll der<br />

Titel gelegt werden.<br />

Nummer<br />

plus 1<br />

34<br />

Kommentar: Der<br />

Name des Titels ist<br />

nicht richtig gezeigt.<br />

Ja<br />

Nummer>=<br />

Anzahl der Titeln?


5. Testfälle<br />

Speller<br />

benutzt<br />

Anzeige<br />

von<br />

Speller<br />

Name<br />

von<br />

Speller<br />

5.3.4. Speller und Suche<br />

Zuerst werden die verschiedenen Arten von Speller der drei unterschiedlichen<br />

Fahrzeug-Varianten beschrieben. Auf dem Festland und in Hongkong gibt es drei<br />

verschiedenen Speller, sogenannt „Pinyin with conversion―, „Stroke with<br />

conversion― und „Latin― (der dritte Speller auf dem Festland wird wegen der<br />

besonderen Anforderung, die in Tabelle 4.2 im Kapitel 4.2 beschrieben ist,<br />

„Pinyin/Latin― genannt), während es in Taiwan die Speller „BPMF with<br />

conversion― und „Latin― gibt.<br />

Diese unterschiedlichen Speller werden mit Bildern in folgender Tabelle gezeigt:<br />

Festland,<br />

Hongkong<br />

Pinyin with<br />

conversion<br />

Festland,<br />

Hongkong<br />

Stroke with<br />

conversion<br />

Festland,<br />

Hongkong,<br />

Taiwan<br />

Latin (auf dem<br />

Festland<br />

„Pinyin/Latin―)<br />

Tabelle 5.2: Anzeige unterschiedlicher Speller<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

35<br />

Taiwan<br />

BPMF with<br />

conversion<br />

In diesem Kapitel beschreibe ich nur die Testautomatisierung vom Speller „Pinyin<br />

with conversion―. Der Grund dafür ist, dass das Prinzip der TA von allen Speller<br />

ähnlich ist.<br />

5.3.4.1. Problem, Lösung und Verbesserung<br />

Problem 1: wie wird Pinyin-String eingegeben<br />

Lösung 1: Die Anzahl der Drehungen des ZBE nach rechts werden gezählt<br />

und diese Zahl dann einfach im Programm verwendet. Damit wird ein<br />

bestimmter Buchstabe eingegeben.<br />

Vorteile:<br />

- Das Programm ist sehr einfach zu schreiben<br />

- Zeit wird gespart<br />

- Funktioniert und hat bisher kein Fehler erzeugt


5. Testfälle<br />

Nachteil:<br />

- Das Programm ist nicht robust. Z.B. wird ein Fehler auftreten, wenn<br />

das Symbol von Delete mit weißem Highlight erschienen ist (ohne<br />

Highlight kann das Symbol nicht ausgewählt werden und die<br />

Drehungsanzahl bleibt korrekt. D.h. mit Highlight ist die<br />

Drehungsanzahl falsch und führt dann zu einem Fehler.).<br />

Um den oberen genannten Nachteil zu vermeiden wird die folgende<br />

Verbesserung benutzt.<br />

Verbesserung: der Buchstabe wird jeweils mit OCR (Zeichenerkennung)<br />

erkannt, wenn ZBE einmal nach rechts gedreht wurde.<br />

Mit der Verbesserung ist das Programm robust, jedoch zeitaufwändig, weil<br />

mehr als zwanzig Mal Screenshots und Zeichenerkennungen gemacht werden,<br />

wenn der Buchstabe „Z― einzugeben ist.<br />

Problem 2: wie kann man die Zeit sparen<br />

Analyse: Aus dem Bild (erstes Bild in der Tabelle 5.2) kann man sehen, dass<br />

die Drehungsanzahl mit der Reihenfolge von a bis z zu tun hat.<br />

Reihenfolge 1 2 3 4 5 6 7 8 9 10 11 12 13<br />

Buchstabe auszuwählen a b c d e f g h i j k l m<br />

Drehungsanzahl 2 3 4 5 6 7 8 9 * 10 11 12 13<br />

Reihenfolge 14 15 16 17 18 19 20 21 22 23 24 25 26<br />

Buchstabe auszuwählen n o p q r s t u v w x y z<br />

Drehungsanzahl 14 15 16 17 18 19 20 * * 21 22 23 24<br />

Tabelle 5.3: Analyse der Beziehung zwischen Reihenfolge und Drehungsanzahl<br />

(Mit Stern * bedeutet, dass diese Buchstaben nicht ausgewählt werden kann. Der Grund dafür<br />

ist im Kapitel 4.1.2.1 erklärt.)<br />

Aus der oberen Tabelle und dem Nachteil der ersten Lösung ist die<br />

Konsequenz:<br />

Drehungsanzahl ∈ [Reihenfolge minus drei, Reihenfolge plus drei]<br />

Lösung 2:<br />

In der zweiten Lösung sind zwei Varianten verfügbar.<br />

0<strong>06</strong>0<br />

00 01 02 03 04 05 <strong>06</strong> 07 08 09 0A 0B 0C 0D 0E 0F<br />

a b c d e f g h i j k l m n o<br />

0070 p q r s t u v w x y z<br />

Tabelle 5.5: die Buchstaben a bis z in Unicode-Tabelle<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

36


5. Testfälle<br />

Variante 1 Variante 2<br />

Inhalt Die Buchstaben a bis z<br />

werden sukzessiv in<br />

einer Liste abgelegt.<br />

Die Position des<br />

Buchstabens in der<br />

Liste steht für die<br />

Reihenfolge. (Im<br />

Programm beginnen die<br />

Positionen der Liste bei<br />

0. Deshalb darf man im<br />

Programm nicht<br />

vergessen, die Position<br />

plus eins zu rechnen.)<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

37<br />

In der Programmiersprache<br />

Python gibt es eine Funktion<br />

„ord―, mit der der Buchstabe<br />

oder das Zeichen nach<br />

Unicode umgewandelt werden<br />

kann. (In der Tabelle 5.5<br />

stehen die Entsprechung von<br />

lateinischen Buchstaben und<br />

Unicode, die Zahlen sind<br />

hexadezimal.)<br />

Beispiel: das Ergebnis der<br />

Funktion ord(‚n‘) ist die ganze<br />

Zahl 110.<br />

ord(‚n‘)-96 1 = 14, es ist die<br />

Position des Buchstabes „n― in<br />

der Gruppe „A bis Z―.<br />

Analyse Im Vergleich der ersten Variante mit der zweiten<br />

Variante ist das Programm mit Variante 2 viel einfacher<br />

zu erfüllen. Beispielweise kann man das Programm so<br />

schreiben:<br />

ZBEL6.Right(0.1, (ord(‚n‘)-96))<br />

Man muss damit keine Liste erstellen und kann so<br />

Speicher sparen.<br />

Zusammenfassung Nach der Analyse ist die zweite Variante auszuwählen.<br />

Tabelle 5.4: zwei Varianten der zweiten Lösung<br />

5.3.4.2.Testablauf<br />

In diesem Testfall ist das Suchergebnis zu überprüfen. Der Test läuft gemäß<br />

des Ablaufdiagramms (Abb.: 5.14) ab.<br />

Als ersten Schritt in diesem Testfall wird mit dem ZBEL6.Service zur<br />

Kategorie „A – Z Suche― navigiert. Dann ist die Umschrift (z.B. Pinyin with<br />

conversion) auszuwählen. Nachdem die Umschrift eingestellt wurde, wird der<br />

Pinyin-String (z.B. „ni―) mit der Funktion „ord― und Zeichenerkennung<br />

eingegeben. Danach ist das chinesische Zeichen mit der Methode Bildvergleich<br />

zu finden und auszuwählen. Zum Schluss ist mit dem Bildvergleich das<br />

aktuelle Ergebnis mit dem Referenzbild zu vergleichen.<br />

1 96: (0<strong>06</strong>0)16 = (96)10. Z.B. der Unicode des Buchstabes a ist (0<strong>06</strong>1)16, wenn die Zahl minus (0<strong>06</strong>0)16 oder (96)10<br />

rechnet wird, entspricht die erworbene Zahl die Position des Buchstabes a in der Gruppe „A bis Z―.


5. Testfälle<br />

Den ausgewählten<br />

Buchstaben mit OCR<br />

erkennen<br />

Ja<br />

„n―?<br />

Test Start Eintritt in das<br />

Verzeichnis „A-Z<br />

Suche―<br />

Umschrift „Pinyin with<br />

Conversion― auswählen<br />

„n― mit ord-Funktion<br />

im Python nach<br />

Unicode umwandeln<br />

Nein<br />

Nein<br />

Press-Funktion von<br />

ZBE simulieren, um<br />

die Buchstabe<br />

„i― einzugeben<br />

ZBE einmal nach<br />

rechts drehen<br />

Vergleich des aktuellen<br />

gespeicherten Bildes mit<br />

dem Referenzbild<br />

Ja<br />

entsprechen?<br />

Das chinesische Zeichen<br />

auswählen und ZBE nach<br />

links schieben<br />

Vergleich des aktuellen<br />

gespeicherten Bildes mit<br />

dem Referenzbild<br />

Nr1 += 1<br />

Nr1 >=2?<br />

Nein<br />

ZBE einmal nach rechts<br />

schieben und Eintritt in<br />

das Verzeichnis<br />

„Umschrift Auswahl―<br />

ZBE (ord(‚n‘)-96) mal<br />

nach rechts drehen<br />

Ja<br />

Nr2 += 1<br />

ZBE viermal nach<br />

links drehen<br />

Abbildung 5.14: Testablaufdiagramm des vierten Testfalls auf dem Festland<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

Ja<br />

Nr2 ==0?<br />

Nochmal Press-Funktion<br />

von ZBE simulieren, um<br />

den Pinyin-String<br />

„ni― auszuwählen<br />

Das Bild mit ausgewählten<br />

chinesischen Zeichen durch<br />

FrameGrabber speichern<br />

ZBE einmal nach<br />

rechts drehen<br />

Nein<br />

Das Bild mit Suchergebnis<br />

durch FrameGrabber<br />

speichern<br />

Ja<br />

entsprechen?<br />

Test ohne Fehler beenden<br />

Nein<br />

FehlerFlag ersetzen und<br />

Kommentar: der<br />

Buchstabe „n― kann nicht<br />

gefunden werden<br />

ZBE einmal nach<br />

links drehen<br />

Nein<br />

Nr2 >3?<br />

Nr2 += 1<br />

Ja<br />

Test mit Fehler beenden<br />

38


5. Testfälle<br />

5.4. Auswertung<br />

Zur Auswertung des Testfalls kann bei aufgetretenen Fehlern das Logfile analysiert<br />

werden. Die Logfiles liegen im Unterordner „logs― auf der Ebene der Testfälle. Für<br />

jeden Testfall wird ein separates Logfile angelegt. Im Gutfall hat der Dateiname den<br />

Zusatz „OK―, im Fehlerfall „FAILED―.<br />

Im Folgenden sind zwei Ausschnitte als Beispiele für Logfiles: das erste ist, dass<br />

Testfall (China_Festland_Sortierung) mit Fehler beendet wurde und der andere<br />

(China_Festland_Pinyin) beendet ohne Fehler.<br />

15:52:17.885 msc Begin: Testcase<br />

15:52:26.338 info ZBEControl is gone<br />

15:52:28.541 info, seq<br />

FBBluetoothS: did not receive status for<br />

function ManualConnectRequired<br />

15:58:25.582 error<br />

The 19th title should be in 20th position<br />

sorted<br />

15:58:26.457 error<br />

The 20th title should be in 19th position<br />

sorted<br />

15:58:27.573 msc, error<br />

Testcase failed, test stopped Error flag<br />

set.<br />

Aus dem oberen Ausschnitt des Logfile ist deutlich, dass es zwei Fehler in diesem<br />

Testfall gibt. Nach den Error-Informationen kann man einfach die fehlende Bilder<br />

nachschauen und damit den Grund dieser Fehler analysieren.<br />

16:20:43.195 msc Begin: Testcase<br />

16:20:43.351 info<br />

Select the speller with 'Pinyin with<br />

conversion'<br />

16:20:43.523 info A-ZSearch<br />

16:21:00.148 info Set the speller with 'Pinyin with conversion'<br />

16:21:00.148 info Input a pinyin-string 'ni'<br />

16:21:01.085 info Input_Letter1 =[u'I1']<br />

16:21:03.491 info select the pinyin-string 'ni'<br />

16:21:05.960 info select the chinese character 'ni'<br />

16:21:08.882 info the result of search are stored<br />

16:21:11.100 info save the image China_Mainland_Pinyin<br />

16:21:11.475 info Pinyin Search in China_Mainland is correct<br />

16:21:11.475 msc Testcase passed<br />

In dieser Log-Information steht der Satz „Testcase passed―, d.h. der Testfall beendet<br />

ohne Fehler. Deshalb ist es unnötig, diesen Testfall nochmal zu überprüfen.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

39


6. Zusammenfassung<br />

6. Zusammenfassung<br />

Ziel dieser Arbeit ist es die speziellen Anforderungen der Multimediafunktionen in den<br />

aktuellen Serien Head Units von BMW in asiatischen Fahrzeug-Varianten zu analysieren<br />

und daraus ableitend automatisierte Testfälle zur Überprüfung der korrekten<br />

Implementierung zu erstellen.<br />

Als gemeinsame Datengrundlage für den Test-USB-Stick sind die Testlieder mit<br />

bestimmten Ordner-Namen für die entwickelten Testfälle entstanden. Außerdem sind die<br />

Referenzbilder mit bestimmter Ordner-Struktur für die Testskripts erstellt.<br />

Resultierend aus dieser Arbeit liegen nun siebzehn Testfälle (sechs für Festland, sechs für<br />

Hongkong und fünf für Taiwan) vor, die die speziellen asiatischen Multimediafunktionen<br />

des aktuellen Serienstands überprüfen. Die Vorteile des automatisierten Testens der<br />

Multimediafunktion sind klar erkennbar. Mit der Testautomatisierung wird ohne<br />

manuellen Eingriff Coverart, die Anzeige der mit bestimmtem Zeichenkodierungsstandard<br />

kordierten Lieder sowie die Sortierung aller Titel und die Suchergebnisse überprüft. Mit<br />

gleicher Genauigkeit könnte dies manuell nicht getestet werden. Bei einer großen Anzahl<br />

von Liedern treten beim manuellen Testen unweigerlich Fehler auf, die bei einer TA nicht<br />

auftreten. Außerdem kann die TA über Nacht oder am Wochenende durchgeführt werden,<br />

damit kann die Zeit der Mitarbeiter gespart werden.<br />

Bei dem Umfang der Lieder auf dem USB-Stick ist es egal, ob dieser nur ein paar wenige<br />

Lieder enthält oder mehrere tausend. Selbstverständlich muss man die Referenzbilder<br />

erneuern, wenn sich die Lieder auf dem USB-Stick verändern.<br />

Die Ausführungszeit des Testfalls bei Coverart Überprüfung beträgt wegen<br />

unterschiedlicher Sortierung ca. zwei Minuten auf dem Festland, während etwa fünf<br />

Minuten in Hongkong bzw. Taiwan benötigt werden. Mit der Zunahme der auf dem USB-<br />

Stick gespeicherten Lieder kann die Ausführungszeit sich absolut erhöhen aber nicht<br />

proportional. Deswegen könnte man die Ordner-Struktur auf dem USB-Stick ändern und<br />

einen neuen Ordner mit dem Name Coverart erstellen, in dem das Lied „Baby Be<br />

Mine― abgelegt wird. Damit kann die Ausführungszeit abnehmen und die Zeit ist nicht<br />

mehr abhängig von der Anzahl der Lieder, die für die anderen Tests benötigt werden.<br />

Die Ausführungszeit bei Anzeige der nach bestimmtem Zeichenkodierungsstandard<br />

kodierten Lieder ist ca. zwei Minuten in allen drei Länder-Varianten. Die Zeit ist abhängig<br />

von den oberen gerade genannten Liedern.<br />

Beim Testfall „Suchergebnis überprüfen― beträgt die Ausführungszeit aller Länder-<br />

Varianten etwa ein Minute und zehn Sekunden. Die Zeit hat keine Beziehung zu der<br />

Anzahl der auf dem USB-Stick gespeicherten Lieder.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

40


6. Zusammenfassung<br />

Bei der Überprüfung der Sortierung liegt die Ausführungszeit deutlich höher. Aufgrund<br />

der zahlreichen Screenshots, Erkennung der Cursor-Region und Ausschnitten sowie der<br />

Wartezeiten dazwischen und Überprüfung aller Titel, dauert der Testfall bis zu ungefähr<br />

sieben Minuten für alle Varianten. Selbstverständlich ist diese Ausführungszeit abhängig<br />

von der Anzahl der Lieder. Daraus ergibt sich eine Ausführungszeit bei tausend Liedern<br />

von etwa zwei Stunden.<br />

Die Reportfunktion erweist sich als ein ausgezeichnetes Mittel, um zum Schluss eines<br />

größeren Testfalls, schnell Aufschluss über das Testergebnis zu erhalten.<br />

6.1. Problem und mögliche Lösungsvarianten<br />

Im Verlauf der Bachelorarbeit bin ich auf viele Probleme und Hindernisse gestoßen<br />

und meistens habe ich gelöst. Noch ein Problem wird nicht gelöst, aber ich habe mir<br />

dazu zwei Variantenvorschläge überlegt. Das Problem und die Lösungsvarianten, die<br />

ich dazu erdacht habe, sind in folgenden Unterkapiteln beschrieben.<br />

6.1.1. Problem<br />

In der Überprüfung der Sortierung gibt es ein Problem, weil die Methode<br />

Bildvergleich für die Überprüfung benutzt wird. Zuerst ist die folgende Bildgruppe<br />

entstanden. Diese Bilder sind von fünf Positionen, in der der Cursor auftreten kann,<br />

im Bildschirm mit der Cursor-Region ausgeschnitten.<br />

Position Bild<br />

1<br />

2<br />

3<br />

4<br />

5<br />

Tabelle 6.1: Bilder von unterschiedlichen Cursor-Positionen<br />

Aus den oberen Bildern kann man sehen, dass der schwarze Teil in der Mitte des<br />

Bildes vom ersten Bild bis zum fünften Bild immer nach oben wandert. Dies führt<br />

zu einer Beeinflussung der Methode Bildvergleich. Um die Beeinflussung zu<br />

bestätigen, werden diese Bilder jeweils mit andere verglichen. Das Ergebnis ist in<br />

der folgenden Tabelle ergänzt:<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

41


6. Zusammenfassung<br />

1 2 3 4 5<br />

1 - In 3369 Pixel In 7863 Pixel In 10087 Pixel In 12200 Pixel<br />

2 - - In 3558 Pixel In 7383 Pixel In 10076 Pixel<br />

3 - - - In 3350 Pixel In 8133 Pixel<br />

4 - - - - In 3266 Pixel<br />

5 - - - - -<br />

Tabelle 6.2: Vergleichsergebnisse der Bilder in der Tabelle 6.1<br />

Aus der oberen Tabelle ist es deutlich, dass das Ergebnis des Vergleiches falsch<br />

zurückgegeben wird, obwohl gleiche Zeichen in dieser Cursor-Region stehen.<br />

Glücklicherweise ist dieser Fehler in der Testautomatisierung selten aufgetreten.<br />

Es ist jedoch nötig ihn zu lösen, damit das Programm sicher und robust ist.<br />

6.1.2. Lösungsvarianten<br />

In der Testautomatisierung gibt es momentan zwei Methoden, um die Testfälle<br />

durchzuführen, Zeichenvergleich mit der Zeichenerkennung und Bildvergleich.<br />

Deshalb habe ich mir zwei Varianten überlegt.<br />

Erste Variante: für die Titel mit lateinischen Buchstaben wird die<br />

Zeichenerkennung benutzt, während der Bildvergleich weiterhin für die Titel mit<br />

chinesischen Zeichen verwendet wird.<br />

Obwohl es das Problem nicht vollständig lösen kann, reduziert es die<br />

Auftrittswahrscheinlichkeit des oben beschriebenen Fehlers.<br />

Zweite Variante: die Bilder werden zuerst gefiltert, d.h. der Rot- und Schwarz-<br />

Teil wird in die gleiche Farbe (vollständig rot) umgewandelt. Dann wird die<br />

Methode Bildvergleich verwendet.<br />

Damit kann das Problem vollständig gelöst werden.<br />

6.2. Ausblick<br />

6.2.1. Mögliche Verbesserung und Erweiterungen<br />

In diesen Testfällen sind viele Referenzbilder nötig und man muss die<br />

Referenzbilder verändern, wenn die auf dem USB-Stick gespeicherten<br />

Lieder gewechselt werden oder die Anforderungen an die Funktionen sich<br />

ändern. Deswegen ist ein Programm, das Referenzbilder erstellen kann,<br />

nützlich und sinnvoll. Damit muss man nicht manuell diese Bilder<br />

anfertigen. Außerdem ist die Erzeugung der Bilder durch ein Programm<br />

genauer als durch manuelle Erstellung.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

42


6. Zusammenfassung<br />

Im meinen Programm gibt es eine Beschränkung, dass die Titelnamen der<br />

benutzten Lieder verschieden sein müssen, weil eine Bedingung im<br />

Programm verwendet wird, um zu erkennen, ob alle nötigen Bilder bereits<br />

gespeichert sind, z.B. in der Abb. 5.13 mit blauem Rahmen gekennzeichnet.<br />

Um diese Beschränkung aufzuheben, muss man die Referenz ändern und<br />

nicht das Bild sonder die Koordinate vergleichen.<br />

Wenn es weniger als fünf Test-Lieder gibt, sind die Koordinaten dieser mit<br />

Cursor ausgewählten Titelnamen unterschiedlich. Aber die Koordinaten<br />

der nach dem fünften Titelnamen stehenden Titelnamen sind immer gleich<br />

wie die vom fünften Titelname. D.h. dies kommt daher das beim<br />

Weiterdrehen des ZBE das nächste Lied immer an der fünften Stelle im<br />

Bildschirm erscheint. Die Veränderung der Koordinate ist nur aufgetreten,<br />

wenn der Cursor von vorletztem Titelname bis letztem Titelname wandert.<br />

Deshalb kann die Veränderung verwendet werden, um das Programm zu<br />

verbessern. Selbstverständlich gibt es eine Bedingung, dass die<br />

Koordinaten der ersten fünf Titelnamen gefiltert werden müssen.<br />

Im Folgenden beschreibe ich, eine mögliche Verbesserung ist für den<br />

Testfall Suchergebnis mit der Umschrift „BPMF with conversion―. Weil<br />

der Buchstabe von BPMF nicht lateinisch sondern ähnlich wie ein Zeichen<br />

ist, kann man nicht die oben genannte Methode benutzen, die für „Pinyin<br />

with conversion― (sehe Kapitel 5.3.4.1) benutzt wird. Deswegen muss eine<br />

neue Methode gesucht werden und bisher habe ich noch keine Idee dafür<br />

gefunden.<br />

Eine zusätzliche mögliche Erweiterung ist, dass diese Testfälle für alle<br />

Ländervarianten einmal automatisch überprüft werden können. D.h. man<br />

muss nicht zwischen den Testfällen die Ländervariante manuell kodieren.<br />

Die Voraussetzung dafür ist allerdings, dass der TAF-Service die Funktion,<br />

mit der die HU automatisch nach anderen Ländervariante kodiert werden<br />

kann, vollständig unterstützt.<br />

6.3. Fazit<br />

Im Rahmen dieser Arbeit konnten erfolgreich Testfälle entwickelt werden, die die<br />

Anforderungen der speziellen asiatischen Multimediafunktionen automatisch testen.<br />

Die daraus resultierende Zeitersparnis, gegenüber dem manuellen Testen ist vorteilig<br />

für die Abteilung. Im Vergleich zum manuellen Testen ist die Testautomatisierung<br />

auch wesentlich genauer. Dadurch ist die Fehlerrate, die vom Benutzer verursacht<br />

werden und nicht Softwarefehler sind, geringer. Nach der Analyse können die<br />

Verbesserungsideen und Erweiterungsideen im nächsten Schritt umgesetzt werden.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

43


7. Glossar<br />

7. Glossar<br />

BPMF Bopomofo: Es ist eine nichtlateinische, phonetische<br />

Transkription für die chinesischen Schriftzeichen. Momentan ist<br />

diese Umschrift in Taiwan üblich benutzt.<br />

CAN Controller Area Network<br />

CID Central Information Display<br />

CJK China Japan Korea<br />

Cursor Bezeichnet in dieser Arbeit den roten Auswahlrahmen für<br />

Menüpunkte in der BMW-HMI.<br />

GB Guojia Biaozhun: das Kürzel für nationale Normen in China<br />

GSIM Gerätesimulation<br />

HMI Human Machine Interface<br />

HU Head Unit: Zentrales Infotainmentsteuergerät zur Darstellung<br />

und Verarbeitung der Informationen. Der Großteil der<br />

Infotainment Software, wie z.B. Navigation, Radio, Multimedia<br />

und so weiter laufen auf diesem Steuergerät.<br />

KuZu Kunden Zugang<br />

MOST Media Oriented Systems Transport<br />

MSC Mass Storage Class<br />

OCR Optical Character Recognition (Optische Zeichenerkennung)<br />

Softwarefunktion zur Erkennung von Zeichen aus<br />

Bildinformationen<br />

PIL Python Imaging Library<br />

Pinyin Romanisierung von chinesischen Schriftzeichen. D.h. die<br />

Aussprache der chinesischen Zeichen wird durch lateinische<br />

Buchstaben dargestellt.<br />

QC Quality Center<br />

SIA Snap in Adapter<br />

TA Testautomatisierung<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

44


7. Glossar<br />

TAF Testautomatisierungsframework<br />

TAQT Testautomatisierung – QTInterface<br />

ZBE Zentrales Bedienelement<br />

ZGW Zentrale Gateway<br />

5 Strokes Eine Art der Umschrift von chinesischen Zeichen. Mit<br />

unterschiedlichen grundlegenden Strichen und verschiedener<br />

Reihenfolge der Eingaben dieser Striche können<br />

unterschiedliche chinesische Zeichen zusammengebaut werden.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

45


8. Abbildungsverzeichnis<br />

8. Abbildungsverzeichnis<br />

Abbildung 2.1: Aufbau der Testumgebung .................................................................. 6<br />

Abbildung 2.2: TAQT-Interface ................................................................................... 10<br />

Abbildung 4.1: Beispiel der Sortierung nach der Anforderung auf dem Festland ....... 18<br />

Abbildung 5.1: Diagramm des Testfallaufbaus ............................................................ 20<br />

Abbildung 5.2: Log-Informationen in der Vorbedingung ............................................ 21<br />

Abbildung 5.3: Log-Informationen in der Nachbedingung .......................................... 22<br />

Abbildung 5.4: Verbesserung des Programms im ersten Testfall ................................ 24<br />

Abbildung 5.5: Titellistenansicht im Bildschirm ......................................................... 24<br />

Abbildung 5.6: Testablaufdiagramm des ersten Testfalls auf dem Festland ................ 25<br />

Abbildung 5.7: Anzeige von Coverart auf dem Festland und in Taiwan ..................... 26<br />

Abbildung 5.8: keine Anzeige von Coverart in Hongkong .......................................... 26<br />

Abbildung 5.9: Anzeige des von GB kordierten Liedes ............................................... 28<br />

Abbildung 5.10: Verbesserung des Programms im zweiten Testfall ........................... 28<br />

Abbildung 5.11: Anzeige des Ordnerverzeichnisses im USB-Stick ........................... 29<br />

Abbildung 5.12: Testablaufdiagramm des zweiten Testfalls auf dem Festland............ 30<br />

Abbildung 5.13: Testablaufdiagramm des dritten Testfalls auf dem Festland.............. 34<br />

Abbildung 5.14: Testablaufdiagramm des vierten Testfalls auf dem Festland............. 38<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

46


9. Tabellenverzeichnis<br />

9. Tabellenverzeichnis<br />

Tabelle 4.1: Beispiel der Umwandelung der chinesischen Zeichen in der HU………. 18<br />

Tabelle 4.2: Anforderung für das Festland …………………………………………... 19<br />

Tabelle 4.3: Anforderung für Hongkong …………………………………………….. 19<br />

Tabelle 4.4: Anforderung für Taiwan ………………………………………………... 19<br />

Tabelle 5.1: Analyse und Konsequenz des Vergleiches drei Lösungen ……………... 31<br />

Tabelle 5.2: Anzeige unterschiedlicher Speller …………………………………….... 35<br />

Tabelle 5.3: Analyse der Beziehung zwischen Reihenfolge und Drehungsanzahl…... 36<br />

Tabelle 5.5: die Buchstaben a bis z in Unicode-Tabelle …………………………….. 36<br />

Tabelle 5.4: zwei Varianten der zweiten Lösung ……………………………………. 37<br />

Tabelle 6.1: Bilder von unterschiedlichen Cursor-Positionen ……………………….. 41<br />

Tabelle 6.2: Vergleichsergebnisse der Bilder in der Tabelle 6.1…………………….. 42<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

47


10. Literaturverzeichnis<br />

10. Literaturverzeichnis<br />

[1] Markus Dahm. Grundlagen der Mensch-Computer-Interaktion: Fallbeispiel<br />

Infotainment-Center im Auto. 20<strong>06</strong>.<br />

[2] Fraunhofer, Software im Auto – Variantenvielfalt im Griff.<br />

http://www.fraunhofer.de/de/presse/presseinformationen/2010/02/embedded-worldsoftware-im-auto.html<br />

, 2010.<br />

[3] Berner & Mattner Systemtechnik GmbH. Unternehmenspräsentation. www.bernermattner.com<br />

, 2012.<br />

[4] Andreas Grzemba. MOST: Das Multimedia-Bussystem für den Einsatz im Automobil.<br />

2007.<br />

[5] Lorena Diaz Ortega. Physical Layer Modellierung der Bussysteme CAN und FlexRay<br />

im Kraftfahrzeug. 2005<br />

[6] Manfred Krüger. Grundlagen der Kraftfahrzeugelektronik. 2004<br />

[7] Hans-Jürgen Gevatter, Ulrich Grünhaupt. Handbuch der Mess- und<br />

Automatisierungstechnik im Automobil. 20<strong>06</strong><br />

[8] Alexander Wolf. TAF Tutorial. BMW AG. 2010.<br />

[9] Thomas Rudolph. MMP-Wiki-TAQT Interface. BMW AG, 2012<br />

[10] Wikipedia. GB18030 — wikipedia, die freie enzyklopädie.<br />

http://de.wikipedia.org/wiki/GB18030 , 2010.<br />

[11] Wikipedia. Big5 — wikipedia, die freie enzyklopädie.<br />

http://de.wikipedia.org/wiki/Big5 , 2012.<br />

[12] Wikipedia. HKSCS — wikipedia, die freie enzyklopädie.<br />

http://de.wikipedia.org/wiki/HKSCS , 2011.<br />

[13] Wikipedia. Pinyin — wikipedia, die freie enzyklopädie.<br />

http://de.wikipedia.org/wiki/Pinyin , 2012.<br />

[14] Wikipedia. Bopomofo — wikipedia, die freie enzyklopädie.<br />

http://de.wikipedia.org/wiki/Bopomofo , 2012.<br />

Bachelorarbeit-<strong>Hochschule</strong> <strong>München</strong>-2012 Yang LU<br />

48

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!