Wir können alles außer Testen Andreas Zeller Universität des Saarlandes
|
|
- Tomas Giese
- vor 8 Jahren
- Abrufe
Transkript
1 Wir können alles außer Testen Andreas Zeller Universität des Saarlandes
2 Testen
3 Testen
4 Mehr Testen
5 Noch mehr Testen
6 Software ist vielfältig
7 Software ist vielfältig
8 Software ist vielfältig
9 Software ist vielfältig
10 Software ist vielfältig
11 Software ist vielfältig
12 Testen Konfigurationen
13 Tester
14 Ziel des Testens 1956 Fehlersuche Demonstration Zerstörung Evaluation 1988 heute Prävention
15 Testen Konfigurationen
16 Was testen? Wie decken wir soviel Verhalten wie möglich ab? Konfigurationen
17 Black-Box Testen Fehlschlag (wertvoll) Erfolg Fehlschläge sind im Eingaberaum dünn gesät doch dicht in einigen Bereichen Menge der Eingabewerte (der Heuhaufen) Wenn wir jeden Bereich testen, werden wir Fehler finden Ziel: Eingabebereiche partitionieren, um Bereiche mit Fehlern zu finden
18 int cgi_decode(char *encoded, char *decoded) White-Box-Testen { char *eptr = encoded; A char *dptr = decoded; int ok = 0; while (*eptr) { B char c; c = *eptr; if (c == '+') { C C elseif (c == '%') { D D *dptr = ' '; E else *dptr = *eptr; F F int digit_high = Hex_Values[*(++eptr)]; int digit_low = Hex_Values[*(++eptr)]; if (digit_high == -1 digit_low == -1) { G H else { H *dptr = 16 * digit_high + digit_low; ok = 1; I *dptr = '\0'; return ok; M M ++dptr; ++eptr; L L
19 int cgi_decode(char *encoded, char *decoded) { char *eptr = encoded; char *dptr = decoded; int ok = 0; A test while (*eptr) { B char c; c = *eptr; if (c == '+') { C C elseif (c == '%') { D D *dptr = ' '; E else *dptr = *eptr; F int digit_high = Hex_Values[*(++eptr)]; int digit_low = Hex_Values[*(++eptr)]; if (digit_high == -1 digit_low == -1) { G H else { H *dptr = 16 * digit_high + digit_low; ok = 1; I *dptr = '\0'; return ok; M ++dptr; ++eptr; L L
20 100% int cgi_decode(char *encoded, char *decoded) { char *eptr = encoded; char *dptr = decoded; int ok = 0; A test 75% 50% 63% while (*eptr) { char c; c = *eptr; if (c == '+') { B C 25% elseif (c == '%') { D *dptr = ' '; E 0% Abdeckung else *dptr = *eptr; F int digit_high = Hex_Values[*(++eptr)]; int digit_low = Hex_Values[*(++eptr)]; if (digit_high == -1 digit_low == -1) { H else { H *dptr = 16 * digit_high + digit_low; ok = 1; G I *dptr = '\0'; return ok; M M ++dptr; ++eptr; L L
21 100% int cgi_decode(char *encoded, char *decoded) { char *eptr = encoded; char *dptr = decoded; int ok = 0; A test a+b 75% 50% 72% while (*eptr) { char c; c = *eptr; if (c == '+') { B C 25% elseif (c == '%') { D *dptr = ' '; E E 0% Abdeckung else *dptr = *eptr; F int digit_high = Hex_Values[*(++eptr)]; int digit_low = Hex_Values[*(++eptr)]; if (digit_high == -1 digit_low == -1) { H else { H *dptr = 16 * digit_high + digit_low; ok = 1; G I *dptr = '\0'; return ok; M M ++dptr; ++eptr; L L
22 100% int cgi_decode(char *encoded, char *decoded) { char *eptr = encoded; char *dptr = decoded; int ok = 0; A test a+b %3d 75% 50% 91% while (*eptr) { char c; c = *eptr; if (c == '+') { B C 25% elseif (c == '%') { D *dptr = ' '; E E 0% Abdeckung else *dptr = *eptr; F int digit_high = Hex_Values[*(++eptr)]; int digit_low = Hex_Values[*(++eptr)]; if (digit_high == -1 digit_low == -1) { H else { H *dptr = 16 * digit_high + digit_low; ok = 1; G I *dptr = '\0'; return ok; M M ++dptr; ++eptr; L L
23 100% 75% 50% 100% int cgi_decode(char *encoded, char *decoded) { char *eptr = encoded; char *dptr = decoded; int ok = 0; while (*eptr) { char c; c = *eptr; if (c == '+') { B A C test a+b %3d %g 25% elseif (c == '%') { D *dptr = ' '; E E 0% Abdeckung else *dptr = *eptr; F int digit_high = Hex_Values[*(++eptr)]; int digit_low = Hex_Values[*(++eptr)]; if (digit_high == -1 digit_low == -1) { H else { H *dptr = 16 * digit_high + digit_low; ok = 1; G I *dptr = '\0'; return ok; M M ++dptr; ++eptr; L L
24
25 Testkriterien Path testing Boundary interior testing LCSAJ testing Branch testing deckt ab Compound condition testing MC/DC testing Branch and condition testing Praktische Kriterien Theoretische Kriterien Loop boundary testing Statement testing Basic condition testing
26 Weyukers Hypothese Ob ein Abdeckungskriterium angemessen ist, kann nur intuitiv definiert werden
27 Dijkstras Fluch Testen kann nur die Anwesenheit von Fehlern feststellen, nicht jedoch ihre Abwesenheit Konfigurationen
28 Formale Verifikation Konfigurationen
29 Formale Verifikation Abstraktion Konfigurationen
30 Formale Verifikation Abstraktion Konfigurationen
31 Beste zweier Welten Abstraktion Konfigurationen
32 Tests generieren Abstraktion Konfigurationen
33 Infinite Monkey Theorem
34 100% 100% int cgi_decode(char *encoded, char *decoded) { char *eptr = encoded; char *dptr = decoded; int ok = 0; A fdsakfh+ew%3gfhdi%4f 75% 50% while (*eptr) { char c; c = *eptr; if (c == '+') { B C 25% elseif (c == '%') { D *dptr = ' '; E E 0% Abdeckung else *dptr = *eptr; F int digit_high = Hex_Values[*(++eptr)]; int digit_low = Hex_Values[*(++eptr)]; if (digit_high == -1 digit_low == -1) { H else { H *dptr = 16 * digit_high + digit_low; ok = 1; G I *dptr = '\0'; return ok; M M ++dptr; ++eptr; L L
35 if (winkel = 47 kraft = 532) {
36 if (winkel = 47 kraft = 532) { 2 32 = verschiedene Werte 2 32 = = verschiedene Werte 2 64 = verschiedene Abläufe
37 2 64 = verschiedene Abläufe
38 int cgi_decode(char *encoded, char *decoded) { char *eptr = encoded; char *dptr = decoded; int ok = 0; while (*eptr) { elseif (c == '%') { char c; c = *eptr; if (c == '+') { D D B C A Ich möchte diese Stelle in meinem Code erreichen C *dptr = ' '; E else *dptr = *eptr; F F int digit_high = Hex_Values[*(++eptr)]; int digit_low = Hex_Values[*(++eptr)]; if (digit_high == -1 digit_low == -1) { G H else { H *dptr = 16 * digit_high + digit_low; ok = 1; I *dptr = '\0'; return ok; M M ++dptr; ++eptr; L L
39 Evolutionäre Algorithmen Population erzeugen Mutationen erzeugen Ranking Auswahl Neu kombinieren
40 Population erzeugen fdsakfh+ew%3gfhdi%4f fwe8^ru786234jä Mutation fdsakfh+br%3gfhdi%4f fdsakfh+ew%4gfhdi%4f fwe8^ru&26234jä xb3#ru786234jä Neu kombinieren fdsakfh+ew%4gfhdi%4f xb3#ru786234jä xb3#ru7%4gfhdi%4f
41 Auswahl und Ranking if (winkel = 47 kraft = 532) { fdsakfh+ew%4gfhdi%4f winkel = 31 xb3#ru786234jä winkel = 48 xb3#ru7%4gfhdi%4f winkel = 65
42 Auswahl und Ranking if (winkel = 47 kraft = 532) { winkel = 51 xb4%ru786234jä xb3#ru78^^&1jä xb3#ru786234jä winkel = 48 winkel = 47
43 100% 75% 50% 100% int cgi_decode(char *encoded, char *decoded) { char *eptr = encoded; char *dptr = decoded; int ok = 0; while (*eptr) { char c; c = *eptr; if (c == '+') { B A C test a+b %3d %g 25% elseif (c == '%') { D *dptr = ' '; E E 0% Abdeckung else *dptr = *eptr; F int digit_high = Hex_Values[*(++eptr)]; int digit_low = Hex_Values[*(++eptr)]; if (digit_high == -1 digit_low == -1) { H else { H *dptr = 16 * digit_high + digit_low; ok = 1; G I *dptr = '\0'; return ok; M M ++dptr; ++eptr; L L
44 public class Test0 extends TestCase { Unit-Tests XML-Tests GUI-Tests Web-Tests
45 Unit-Tests public class Test0 extends TestCase { public void test8() throws Throwable { AddressBook a1 = new AddressBook(); AddressBook a2 = new AddressBook(); Category a1c = a1.createcategory(a1.getrootcategory(), "a1c"); Category a2c = a2.createcategory(a1c, "a2c");
46 <math> <mrow> <munderover> <mo> </mo> <mrow> <mi>x</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <apply> <power/> <ci>x</ci> <cn>2</cn> </apply> </mrow> </mrow> </math> XML-Tests nx x=1 x 2
47 <math> <mrow> <munderover> <mo> </mo> <mrow> <mi>x</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <apply> <power/> <ci>x</ci> <cn>2</cn> </apply> </mrow> </mrow> </math> XML-Tests
48 EXSYST Florian Groß, Andreas Zeller gefördert durch 2.5 Mio ERC Advanced Grant Demo auf CeBIT
49 DROIDMATE Konrad Jamrozik, Andreas Zeller gefördert durch $750,000 Google Focused Research Award Demo auf CeBIT
50 DROIDMATE
51 Testabdeckung Unit Test Generators GUI Test Generators Randoop Evosuite GUItar Exsyst 100 % 75 % 50 % 25 % 0 % Addressbook Calculator TerpPresent TerpSpreadSheet TerpWord
52
53
54 Ergebnisse prüfen Abstürze Zusicherungen Regression
55 Abstürze Generische Laufzeitfehler werden frei Haus erkannt
56 Zusicherungen class RedBlackTree { boolean repok() { assert (roothasnoparent()); assert (rootisblack()); assert (rednodeshaveonlyblackchildren()); assert (equalnumberofblacknodesonsubtrees()); assert (treeisacyclic()); assert (parentsareconsistent()); return true; Testgeneratoren zielen auf Zweigabdeckung und versuchen, jede Zusicherung zu verletzen!
57 Regression nx n X x 2 x 3 x=1 x=1 Vergleich mit früherer oder alternativer Version
58
59 59
60 Wir können alles außer testen 60
Test-Driven Design: Ein einfaches Beispiel
Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms
MehrLösungsvorschläge. zu den Aufgaben im Kapitel 4
Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere
MehrFortgeschrittenes Programmieren mit Java. Test Driven Development
Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
MehrIntegrierte und automatisierte GUI-Tests in Java
Integrierte und automatisierte GUI-Tests in Java Gliederung Die Idee hinter GUI-Tests Herausforderungen und Probleme Techniken Jemmy-Framework Konzeptorientiertes Testen FIT (Framework for Integrated Tests)
Mehr2015-06-11 Tagesprogramm
1 2015-06-11 Tagesprogramm Design-by-Contract 2 Vertragspartner Anbieter (Server) bietet Leistungen (Services) an Kunde (Client) nimmt von Anbietern angebotene Leistungen in Anspruch Details der Inanspruchnahme
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrPraktische Übung 'JUnit-Test'
Praktische Übung 'JUnit-Test' Starten Sie für die folgende Übung Eclipse und laden Sie das Testprojekt von folgender URL: http://pi.informatik.uni-siegen.de/berlik/swt/currency.zip Darin ist die Klasse
MehrProgrammieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.
Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Ein Rechner Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Rechner sind überall Ihr Rechner
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrDer Wunschkunden- Test
Der Wunschkunden- Test Firma Frau/Herr Branche Datum Uhrzeit Ich plane mich im Bereich Controlling selbständig zu machen. Um zu erfahren, ob ich mit meinem Angebot richtig liege, würde ich Ihnen gerne
MehrTesten und Metriken. Einige Fehler. Fehler vermeiden. Andreas Zeller Universität des Saarlandes Microsoft Research. http://www.st.cs.uni-sb.
Testen und Metriken Andreas Zeller Universität des Saarlandes Microsoft Research http://www.st.cs.uni-sb.de/ Einige Fehler Fehler vermeiden Spezifizieren Beweisen Gegenlesen Testen Module Welche sollte
MehrEinführung in die Informatik Tools
Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
MehrPrüfung Computation, Programming
Prüfung Computation, Programming 1. Computation: Reguläre Ausdrücke [5 Punkte] Zusammenfassung reguläre Ausdrücke a Das Zeichen a. Ein beliebiges Zeichen [abc] Ein beliebiges Zeichen aus der Menge {a,
MehrSoftware Engineering in der Praxis
Software Engineering in der Praxis Praktische Übungen Dirk Wischermann Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 18. Dezember 2006 Inhalt Nachlese
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrTesten von graphischen Benutzeroberflächen. 26. Juni 2013
Testen von graphischen Benutzeroberflächen 26. Juni 2013 Überblick Testarten Methoden-, Klassen-, Komponenten-, Systemtests Motivation für automatisches Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien
Mehr.NET Code schützen. Projekt.NET. Version 1.0
.NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll
MehrTestplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013
Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael
MehrÜberblick. Lineares Suchen
Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität
MehrMethodische Grundlagen des Software Engineering - Übung 9
Engineering - Übung 9 9 Prozess und Softwarequalität Abgabe der Hausaufgaben am Anfang der jeweiligen Präsenzübung am 14.06.2011 bzw. 15.06.2011. Hinweise und Kontakt: Veranstaltungsseite 1 9.1 Grundlagen
MehrMeine Entscheidung zur Wiederaufnahme der Arbeit
Meine Entscheidung zur Wiederaufnahme der Arbeit Die nachfolgende Übersicht soll Sie dabei unterstützen, Ihre Wünsche und Vorstellungen zur Wiederaufnahme der Arbeit für sich selbst einzuordnen. Sie soll
MehrKlassendefinitionen verstehen
Klassendefinitionen verstehen Java-Programme bestehen aus Klassendefinitionen und sonst nichts! 1 1.0 Konzepte Felder Konstruktoren Methoden Parameter Zuweisungen ( = ) Anweisungen bedingte Anweisungen
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrWirtschaftsinformatik I
Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
Mehram Beispiel von JUnit
Aufbau eines Testwerkzeugs am Beispiel von JUnit Üblicher Ansatz für Tests und Fehlersuche: Print-Befehle, Debugger-Ausdrücke, Test-Skripte möglichst über globale Variable debug steuerbar Command Pattern
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrArrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
Mehr14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt
14.4.2016 Technische Hochschule Georg Agricola WORKSHOP TEIL 3 IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Morse-Tabelle...
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrEinführung in die Programmierung (EPR)
Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrUniversität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übung 8 Test Aufgabe 8.1 Testprozess Aus welchen Schritten sollte der Testprozess mindestens bestehen?
MehrSoftwarequalitätssicherung
Softwarequalitätssicherung Seminarvortrag Peter Winkelhane 1 Agenda Motivation Taxonomie zur Einordnung von Verfahren im Bereich kontraktbasiertem Testen Drei kontraktbasierte Verfahren Vergleich der drei
Mehr2A Basistechniken: Weitere Aufgaben
2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen
MehrProbeklausur Softwareengineering SS 15
Probeklausur Softwareengineering SS 15 Hinweis: Die Bearbeitungsdauer entspricht dem Punktewert. Aufgabe 1 (10 min) Beschreiben Sie das Vorgehensmodell Test-Driven-Development (TDD) a) Erläutern Sie das
MehrJetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.
Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens
MehrAVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
MehrTesten und Testautomatisierung in agilen Projekten
Testen und Testautomatisierung in agilen Projekten DR. WILHELM HUMMER wh@techtalk.at COPYRIGHT 2011, TECHTALK - WWW.TECHTALK.AT Wie es zu diesem Vortrag kam COPYRIGHT 2011, TECHTALK - WWW.TECHTALK.AT Testen
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrMachen Sie Ihre Kunden zu Botschaftern Ihrer Marke! Real Bau
Machen Sie Ihre Kunden zu Botschaftern Ihrer Marke! Real Bau Für Ihren Erfolg im Internet Agenda Wen google nicht kennt, den gibt es nicht. Desktop, Tablet, Pad, Laptop, TV, Phone Suchende zu Kunden machen
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
Mehrpublic class SternchenRechteckGefuellt {
Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und
MehrAktualisierung des Internet-Browsers
Marketingtipp Aktualisierung des Internet-Browsers Landesverband Bauernhof- und Landurlaub Bayern e.v. Was ist ein Internet-Browser? Der Internet-Browser ist das Programm, das Sie benutzen um im Internet
MehrSwp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept
Testkonzept 1.Einführung Um die Zuverläsigkeit und die Qualität der Software und des gesamten Systems zu verbessern, sind Tests durchzuführen. Die Testreihe läst sich in drei Stufen einteilen, nülich Komponententest,
MehrEinrichtung eines E-Mail Kontos in MS Outlook 2013
Einrichtung eines E-Mail Kontos in MS Outlook 2013 Voraussetzung für die Einrichtung einer E-Mail-Adresse in Outlook 2013 ist die Erstellung einer E-Mail-Adresse und eines Postfachs im Confixx- Adminbereich.
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrC++ Tutorial: Timer 1
C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und
MehrKlausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber
Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber 1) Welche Antworten zur Operatorüberladung sind richtig? (1) a) C++ - Operatoren können zusammen mit Objekten funktionieren b) C++ - Operatoren wird
MehrMusterlösungen zur Klausur Informatik 3
Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus
MehrSoftwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch
Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrJava Script für die Nutzung unseres Online-Bestellsystems
Es erreichen uns immer wieder Anfragen bzgl. Java Script in Bezug auf unser Online-Bestell-System und unser Homepage. Mit dieser Anleitung möchten wir Ihnen einige Informationen, und Erklärungen geben,
MehrÜbertragung von ArcGIS Desktop 10.1 Concurrent Use Lizenzen auf zwei oder mehr Lizenzmanager (Juni 2013)
Übertragung von ArcGIS Desktop 10.1 Concurrent Use Lizenzen auf zwei oder mehr Lizenzmanager (Juni 2013) Copyright 2013 Esri Deutschland GmbH Inhalt 1 Einleitung... 3 2 Voraussetzungen... 3 3 Alternative
MehrGraphic Coding. Klausur. 9. Februar 2007. Kurs A
Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt
MehrWhitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 7 combit Relationship Manager email-rückläufer Script Inhalt Einleitung 3 Notwendige Anpassungen 3 crm Solution
MehrHERZLICH WILLKOMMEN!
HERZLICH WILLKOMMEN! WORKSHOP: TEXTEN FÜR SOCIAL MEDIA UND WEB. EIN CRASHKURS FÜR EILIGE. Jens Reineking kurz präzise geistreich Hannover kurz präzise geistreich Wirkungsvolle Texte Welches ist Ihr Lieblingswort?
MehrSchritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr E-Mail-Konto auf Ihrem Android Tablet
Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr E-Mail-Konto auf Ihrem Android Tablet Hinweis: Bitte nehmen Sie sich kurz Zeit, um die Einstellungen in Ruhe auf Ihrem Tablet durchzuführen. Drucken
Mehr1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.
1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während
MehrSEMINAR Modifikation für die Nutzung des Community Builders
20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrWie starte ich mit meinem Account?
www.flatbooster.com Wie starte ich mit meinem Account? deutsche Auflage Datum: 03.12.2011 Version: 1.0.2 Download: http://flatbooster.com/support Inhaltsverzeichnis 1 Einleitung 1 2 Wie starte ich mit
MehrSCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...
Drucken - Druckformat Frage Wie passt man Bilder beim Drucken an bestimmte Papierformate an? Antwort Das Drucken von Bildern ist mit der Druckfunktion von Capture NX sehr einfach. Hier erklären wir, wie
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1
Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen
MehrExchange-Server - Outlook 2003 einrichten. 1. Konfiguration Outlook 2003 mit MAPI. Anleitung: Stand: 24.11.2010
Anleitung: Exchange-Server - Outlook 2003 einrichten Stand: 24.11.2010 Von Dominik Ziegler (dominik.ziegler@haw-ingolstadt.de) 1. Konfiguration Outlook 2003 mit MAPI. MAPI ist das Standardprotokoll von
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrWebDAV Sync mit GoodSync for Mac OS X
WebDAV Sync mit GoodSync for Mac OS X Anleitung gestestet unter MacOS X 10.7.4 Aufgabe der Software: Mittels WebDAV können Dateien direkt von einem Macintosh Rechner in die Giri Storage Cloud repliziert
MehrMit einem PDA über VPN in s Internet der Uni Stuttgart
Mit einem PDA über VPN in s Internet der Uni Stuttgart Version 4.0 Rechenzentrum Universität Stuttgart Abteilung NKS Andreas Greinert 06.10.2006 Mit einem PDA über VPN in s Internet der Uni Stuttgart...
MehrReparatur Vereinsverwaltung. Vereinsverwaltung schnell und sicher reparieren.
Reparatur Vereinsverwaltung Vereinsverwaltung schnell und sicher reparieren. 1. Schritt Wann reparieren? Wenn Sie diese Meldung erhalten, ist voraussichtlich eine Reparatur Ihrer Datenbank notwendig. Wichtig:
MehrX-Lite. Kurzanleitung zur Konfiguration von X-Lite (www.counterpath.com) Mehr Informationen unter http://www.e-fon.ch. Stand 22.10.
X-Lite Kurzanleitung zur Konfiguration von X-Lite (www.counterpath.com) Mehr Informationen unter http://www.e-fon.ch Sicherheitshinweis: Wir bitten Sie zu beachten, dass jeder Unbefugte mit Zugriff auf
MehrHow To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform
How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform 0. Benötigt werden folgende Softwarepakete:.NET Framework Software Development Kit (http://www.microsoft.com/downloads/details.aspx?familyid=4fe5bdb5-c7a7-4505-9927-2213868a325b&displaylang=en)
MehrGesucht und Gefunden: Die Funktionsweise einer Suchmaschine
Gesucht und Gefunden: Die Funktionsweise einer Suchmaschine Prof. Dr. Peter Becker FH Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@fh-bonn-rhein-sieg.de Vortrag im Rahmen des Studieninformationstags
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrLog xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade
HACK #76 Hack APIs mit dem Façade-Muster vereinfachen Durch die Verwendung des Façade-Entwurfsmusters können Sie die anderen Programmierern zugängliche API vereinfachen. #76 Dies ist ein Muster, von dem
MehrPrüfung Software Engineering I (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 3 A Wintersemester 2014/15 Prüfung Software Engineering I (IB) Datum : 21.01.2015, 14:30 Uhr Bearbeitungszeit
MehrDokumentieren mit Eclipse und Doxygen
Dokumentieren mit Eclipse und Doxygen Boris Budweg, 28.11.2009 Version 0.2 Abstract: Kurze Anleitung für die Benutzung von Doxygen und Eclox in Eclipse. Doxygen-Kommentare / Schlüsselwörter...2 Beispiel...2
MehrSerienbrieferstellung in Word mit Kunden-Datenimport aus Excel
Sehr vielen Mitarbeitern fällt es schwer, Serienbriefe an Kunden zu verschicken, wenn sie die Serienbrieffunktion von Word nicht beherrschen. Wenn die Kunden mit Excel verwaltet werden, genügen nur ein
MehrInformatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach
Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler Joliot-Curie-Gymnasium GR 2010 Nico Steinbach 0. Organisatorisches Warum habt Ihr euch für den Kurs eingeschrieben?
MehrArrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen
MehrBeschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung
Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung
MehrCode-Erzeugung aus UML-Klassendiagrammen
Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter
MehrAnmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)
Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv) Über den Link https://www.edudip.com/academy/dbv erreichen Sie unsere Einstiegsseite: Hier finden Sie die Ankündigung unseres
MehrTester als Coach ein Erfolgsmodell
Tester als Coach ein Erfolgsmodell Ein Praxisbericht aus dem Leben eines Testers in Scrum-Projekten - Michael Egli bbv Software Services AG www.bbv.ch 03.09.2015 Q-Event 2015 Erfolgsfaktor Testing 1 Inhaltsverzeichnis
MehrErfahrungen mit Hartz IV- Empfängern
Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November
Mehretermin Einbindung in Outlook
etermin Einbindung in Outlook 1. Einführung Über etermin gebuchte Termine können bei Bedarf auch mit externen Terminkalendern, wie zum Beispiel Outlook, ical oder Google synchronisiert werden. Dieses Dokument
MehrSchritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr E-Mail-Konto auf Ihrem Android Smartphone
Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr E-Mail-Konto auf Ihrem Android Smartphone Hinweis: Bitte nehmen Sie sich kurz Zeit, um die Einstellungen in Ruhe an Ihrem Smartphone durchzuführen.
MehrÜbung Grundlagen der Programmierung. Übung 05: Arrays. Abgabetermin: xx.xx.xxxx. Java-Programm Testplan Testergebnisse
Übung 05: Arrays Abgabetermin: xx.xx.xxxx Name: Name, Vorname Matrikelnummer: 0XXXXXX Gruppe: G1 (Prähofer) G2 (Wolfinger) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch
Mehr1. E-Mail Weiterleitungsregel einrichten
1. E-Mail Weiterleitungsregel einrichten 1. Öffnen Sie im Internet Explorer die Seite https://mail.ken.ch / (Wichtig: Es muss der Internet Explorer sein; in anderen Browsern funktioniert es nicht!!!) 2.
MehrPrüfung Software Engineering II (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 4 A Sommersemester 2015 Prüfung Software Engineering II (IB) Datum : 20.07.2015, 12:30 Uhr Bearbeitungszeit
MehrBlumen-bienen-Bären Academy. Kurzanleitung für Google Keyword Planer + Google Trends
Kurzanleitung für Google Keyword Planer + Google Trends Der Google Keyword Planer Mit dem Keyword Planer kann man sehen, wieviele Leute, in welchen Regionen und Orten nach welchen Begriffen bei Google
MehrIhr habt Probleme auf die Closed Public Beta zuzugreifen? Dieses Dokument hilft Euch Antworten auf häufig gestellte Fragen zu erhalten.
Ihr habt Probleme auf die Closed Public Beta zuzugreifen? Dieses Dokument hilft Euch Antworten auf häufig gestellte Fragen zu erhalten. Zusammenf assung I. Erhalten des M&M Heroes 6 Beta-Keys 2. Ich habe
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen
Grundlagen der Programmierung Prof. H. Mössenböck 10. Klassen Motivation Wie würde man ein Datum speichern (z.b. 13. November 2004)? 3 Variablen int da; String month; int ear; Unbequem, wenn man mehrere
Mehr