Download - Fakultät 06 - Hochschule München
Download - Fakultät 06 - Hochschule München
Download - Fakultät 06 - Hochschule München
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