26.05.2020 Aufrufe

Testfibel

Du bist angehender Tester und dir fehlt die Orientierung? Du fragst Dich, wie Du sinnvolle Testfälle aufbauen kannst? Und was ist eigentlich Black-Box-Testing? Unser kleines 1x1 des Softwaretests hilft dir bei diesen und vielen weiteren Fragen. Die Testfibel – powered by syracom!

Du bist angehender Tester und dir fehlt die Orientierung? Du fragst Dich, wie Du sinnvolle Testfälle aufbauen kannst? Und was ist eigentlich Black-Box-Testing? Unser kleines 1x1 des Softwaretests hilft dir bei diesen und vielen weiteren Fragen. Die Testfibel – powered by syracom!

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

From BU-WI-12

with

v1.0


GRUNDLAGEN SOFTWARETEST

WARUM TESTEN WIR?

Das Testen von Software dient durch die Identifizierung

von „Defekten“ und deren anschließender Beseitigung zur

Steigerung der Softwarequalität. Dazu wird die zu testende

Software ausgeführt, um festzustellen, ob sie die gestellten

Anforderungen erfüllt oder nicht.

ZIELE DES TESTENS

• Ausführung des Programms mit dem Ziel, Fehlerwirkungen

nachzuweisen

• Ausführung des Programms mit dem Ziel, die Qualität zu

bestimmen

• Ausführung des Programms mit dem Ziel, Vertrauen in das Programm

zu erhöhen

• Analysieren des Programms oder der Dokumente, um Fehlerwirkungen

vorzubeugen

Durch Testen verringern sich also Risiken beim Einsatz der

Software, da mögliche Fehler bzw. Fehlerwirkungen bereits

frühzeitig aufgedeckt werden. Dem Testen kommt daher eine

extrem wichtige Aufgabe im Rahmen des Entwicklungsprozesses

zu, denn unentdeckte Fehler können der Software, der

Hardware und im schlimmsten Falle sogar dem Menschen

gefährlich werden.

Berühmte Beispiele für Softwarefehler und deren mögliche

Auswirkungen findest du auf der Karte „Wirkung von Fehlern“.


GRUNDLAGEN SOFTWARETEST

WIRKUNG VON FEHLERN

Software ist nie fehlerfrei – eine der grundlegendsten Aussagen im

ISTQB. Oftmals ist uns jedoch nicht bewusst, welche Auswirkungen

Fehler in Software haben können. Hier ein paar Beispiele:

Ein internationaler Finanzdienstleister muss 25 Mio. $

Strafe zahlen, weil er einen Softwarefehler in einer Anwendung

für Investmentfonds vertuscht hatte.

Zusätzlich bekamen geprellte Anleger den entstandenen

Schaden von 217 Mio. $ zurückerstattet.

In Japan fielen durch einen Softwarefehler bei einer der

größten Banken 24 Stunden alle Geldautomaten aus.

Onlinebanking war mehrere Tage nicht möglich. Dadurch

wurden Lohnüberweisungen im Wert von 1,5 Mrd. $ erst

nach zehn Tagen verarbeitet.

Massenrückruf von einer Million Autos eines japanischen

Herstellers. Ein Fehler in der Programmierung des Motormanagementsystems

sorgte dafür, dass die Autos wie

von Geisterhand vor- und zurückfuhren. Die Aktie des

Unternehmens fiel um 5 %.


GRUNDLAGEN SOFTWARETEST

FEHLERKETTE

FEHLHANDLUNG (ERROR)

Handlung durch Entwickler bzw. Anwender, die zu einem Fehlerzustand

in der Software führt bzw. eine Fehlerwirkung zur Folge hat oder unwissentlich,

versehentlich oder absichtlich ausgeführte Handlung oder

Unterlassung, die unter gegebenen Umständen (Aufgabenstellung,

Umfeld) dazu führt, dass eine geforderte Funktion eines Produkts beeinträchtigt

ist.

FEHLERZUSTAND/DEFEKT (FAULT)

Zustand eines (Software-)Produkts oder einer seiner Komponenten (z.B.

Teilprogramm mit inkorrekter Anweisung oder Datendefinition), der

unter spezifischen Bedingungen (z.B. bei einer hohen Belastung) eine

geforderte Funktion des Produkts beeinträchtigen kann bzw. zu einer

Fehlerwirkung führt.

FEHLERWIRKUNG (FAILURE)

Wirkung eines Fehlerzustands, die bei der Ausführung eines Programms

(Testobjekt) nach außen in Erscheinung tritt, z.B. Abweichungen

zwischen (spezifizierten) Soll-Wert und (beobachtetem) Ist-Wert (bzw.

Soll- und Ist-Verhalten). Fehlerwirkungen können (selten) auch durch

Strahlung, elektromagnetische Felder oder Hardwarefehler

hervorgerufen werden.


TESTARTEN

FUNKTIONALER TEST

Ein funktionaler Test hat die Aufgabe, den Erfüllungsgrad von funktionalen

Anforderungen zu überprüfen. Funktionale Anforderungen beschreiben

die vom Anwender erwarteten Fähigkeiten eines Systems zur

Lösung eines oder mehrerer fachlicher Probleme.

Der Funktionstest beinhaltet somit das Testen einzelner Funktionen

und soll den Nachweis erbringen, dass alle fachlichen Anforderungen

korrekt umgesetzt wurden.

Der Test wird als Blackbox-Test durchgeführt, d. h., der Anwender

testet, ohne den Code kennen zu müssen.

Die Vollständigkeit der Prüfung (Überdeckungsgrad) kann anhand der

funktionalen Spezifikation bewertet werden. Mögliche Testaufgaben

können die Prüfung einer korrekten Verarbeitung von fachlich richtigen

und fachlich bzw. formal falschen Eingaben zum Gegenstand haben.

Neben dem Testen des Positivfalls werden ergänzend Negativtests

durchgeführt. Hierbei wird durch Eingabe unzuverlässiger Werte (laut

Spezifikation) oder fälschliche Bedienung geprüft, ob das System die

Werte zum Beispiel durch eine Fehlermeldung abweist.


TESTARTEN

NICHT-FUNKTIONALER TEST

Nicht-funktionale Testarten zielen auf die Überprüfung

weiterer allgemeiner Qualitätsmerkmale von Software

ab, außer der reinen Funktionalität. Diese sind entlang der

Qualitätsmerkmale in der DIN-ISO 9126 definiert.

EFFIZIENZ

Wird durch Performancetests (betreffend Antwortzeiten und

Verarbeitungsgeschwindigkeit) und Lasttests (betreffend

Systemlast) geprüft.

ZUVERLÄSSIGKEIT

Zuverlässigkeitstests prüfen, ob das Testobjekt ein bestimmtes

Leistungsniveau unter bestimmten Bedingungen über

einen bestimmten Zeitraum aufrechterhalten kann.

BENUTZBARKEIT

Benutzbarkeitstests (auch: Usability-Tests) prüfen typischerweise,

wie gut und wie einfach ein System für die Benutzer

zu bedienen ist.

ÄNDERBARKEIT / WARTBARKEIT

Wird typischerweise durch Reviews und werkzeuggestützte

statische Analyse geprüft (Wartbarkeitstests).

ÜBERTRAGBARKEIT

Wird durch Portabilitätstests geprüft. Fokus dabei ist, wie

leicht sich die Software in eine andere Umgebung

übertragen lässt.


TESTDESIGN

SCHREIBEN VON TESTFÄLLEN

Eine der wichtigsten Aufgaben des Testers ist das Schreiben von Testfällen.

Damit dir dies gelingt, sind hier die die wichtigsten Tipps zum

erfolgreichen Schreiben von Testfällen.

Sammeln aller nötigen Informationen

Als Grundlage für den Testfall dienen meist die Fachanforderungen,

welche in schriftlicher Form vorliegen

sollten. Zudem können ergänzende Dokumente existieren,

die zum Schreiben des Testfalls beitragen können.

Wichtiger Hinweis: Sorge dafür, dass alle Akzeptanzkriterien

der Anforderung durch einen oder mehrere Testfälle

abgedeckt sind.

Definieren des Namens des Testfalls

Verwende einen Namen für den Testfall, sodass ein Bezug

zu dem Testobjekt hergestellt werden kann. Oft gibt

es auch Namenskonventionen, an die es sich zu halten

gilt.

Ermitteln von Vorbedingungen

Sollten Vorbedingungen nötig sein, damit der Testfall

ausgeführt werden kann, dann notiere diese.

Benennung des Testobjektes

Schreibe auf, welche Komponente oder welches System

getestet werden soll.

Erstellung der nötigen Testschritte

Ein Testfall kann n Testschritte beinhalten. Jeder Testschritt

besteht aus einer Aktion und dem erwarteten

Ergebnis. Am Ende des Testfalls kann es zusätzlich nötig

sein, eine Nachbedingung zu definieren.


TESTDESIGN

FEHLERFALL DOKUMENTIEREN

Bist du beim Testen auf einen Fehler gestoßen, dann sorge dafür, dass

er vernünftig dokumentiert wird. Der Entwickler wird es dir danken.

INHALT DES FEHLERFALLS

Umgebung und Version

Auf welcher Umgebung und Softwareversion ist der Fehler aufgetreten?

Priorität des Fehlers

Welche Priorität hat der Fehler? Verhindert der Fehler ein Weiterkommen

im Test, handelt es sich meist um einen Blocker. Ist nur die Farbe

eines Buttons falsch, handelt es sich meist um einen Fehler mittlerer

Priorität.

Zeitpunkt des Fehlerauftritts

Zu welcher Uhrzeit und an welchem Datum ist der Fehler aufgetreten?

Sinnvoller Name des Fehlerfalls

Angabe eines sprechenden Namens für den Fehlerfall, damit auf einen

Blick ersichtlich ist, welchem Bereich der Fehler zuzuordnen ist.

Notwendige Schritte um den Fehlerfall nachzustellen

Beschreibung der notwendigen Schritte um den Fehlerfall in der

Anwendung nachstellen zu können.

IST-Verhalten

Aktuelles Verhalten der Anwendung, welches den Fehlerfall darstellt.

SOLL-Verhalten

Gewünschtes Verhalten der Anwendung abgeleitet aus den

Anforderungen.


TESTENTWURFSVERFAHREN

WHITEBOX-VERFAHREN

Das Whitebox-Verfahren ist ein strukturbasiertes

Testverfahren. Als Grundlage dient der Quellcode.

Dementsprechend wird das Whitebox-Verfahren auch

codebasiertes Testverfahren genannt.

Ziel ist es, möglichst alle Codeteile eines Testobjektes

mindestens einmal zur Ausführung zu bringen. Demzufolge

sollte der Quellcode für die Tests vorliegen.

Das Testen aller Anweisungen ist meist nicht möglich.

Daher ist eine sinnvolle Auswahl möglicher Testfälle

zu treffen.

VERFAHREN ZUR AUSWAHL VON TESTFÄLLEN

• Anweisungstest

• Entscheidungstest

• Bedingungstest

• Mehrfachbedingungstest

• Definierter Bedingungstest

• Pfadtest


TESTENTWURFSVERFAHREN

BLACKBOX-VERFAHREN

Das Blackbox-Verfahren ist ein spezifikationsorientiertes

Testverfahren. Die Testfälle werden aus der

Spezifikation des Testobjektes abgeleitet. Code wird

dabei nicht berücksichtigt.

Ziel ist es, die Übereinstimmung von Spezifikationen

und System zu prüfen. Dabei wird das zu testende

System als Ganzes betrachtet. Zur Bewertung der

Testergebnisse wird das Außenverhalten des Systems

betrachtet.

Das Testen aller möglichen Eingabewerte ist meist

nicht möglich. Daher ist eine sinnvolle Auswahl möglicher

Testfälle zu treffen.

VERFAHREN ZUR AUSWAHL VON TESTFÄLLEN

• Äquivalenzklassenbildung

• Grenzwertanalyse

• Entscheidungstabelle

• Zustandsbezogener Test

• Ursachen-Wirkungs-Graph-Analyse

• Anwendungsfallbasierter Test


TESTENTWURFSVERFAHREN

ENTSCHEIDUNGSTABELLEN

Entscheidungstabellen dienen dazu, komplexe Regelwerke

in übersichtlicher Weise darzustellen. Entscheidungstabellen

werden eingesetzt, um mehrere Bedingungen und die

jeweils auszuführenden Aktionen übersichtlich, vollständig

und widerspruchsfrei zu veranschaulichen.

Eine Entscheidungstabelle besteht aus vier Teilbereichen:

einer Auflistung der zu berücksichtigenden Bedingungen

einer Auflistung der möglichen Aktionen

einem Bereich, in dem die möglichen Bedingungskombinationen

zusammengestellt sind

einem Bereich, in dem jeder Bedingungskombination die

jeweils durchzuführende Aktivität zugeordnet ist


TESTENTWURFSVERFAHREN

GRENZWERTANALYSE

Die Grenzwertanalyse ist ein dynamisches Softwaretestverfahren,

welches aus der Beobachtung entstanden ist,

dass Fehler besonders häufig an den „Rändern“ auftreten.

Daher werden hier nicht beliebige Werte getestet, sondern

sog. Randwerte oder Grenzwerte.

EIN BEISPIEL

Für ein Feld ist definiert, dass Eingabewerte zwischen 1,00 und 9.999,99

gültig sein sollen. Die entsprechenden Grenzwerte, die es zu testen gilt,

wären somit:

0,99 = ungültige Eingabe

1,00 = gültige Eingabe

9.999,99 = gültige Eingabe

10.000 = ungültige Eingabe

UNGÜLTIGE WERTE GÜLTIGE WERTE UNGÜLTIGE WERTE

≤ 0,99 1,00 bis 9.999,99 ≥ 10.000,00


TESTVERFAHREN

ÄQUIVALENZKLASSENBILDUNG

Stell dir folgendes Szenario vor: Deine Software prüft, ob du

dein Kind schon in den Kindergarten bringen darfst. Ab Erreichen

des 2. Lebensjahres bis zum vollendeten 6. Lebensjahr

kann dein Kind dort eine schöne Zeit verbringen.

Wenn du dir viel Arbeit machen möchtest und auch ansonsten

zu wenig zu tun hast, könntest du jedes Lebensjahr ab Geburt

bis ins Unendliche testen – oder schlau sein und für diesen

Anwendungsfall die Äquivalenzklassen bilden.

Die Äquivalenzklasse ist eine Menge möglicher Eingaben. Die

Idee dahinter ist, dass sich das Testobjekt bei allen Elementen

einer Äquivalenzklasse gleich verhält. Somit muss der Test

nur noch mit jeweils einem Repräsentanten jeder Äquivalenzklasse

durchgeführt werden.

Folgende Ä-Klassen gibt es im Beispiel:

1. Klasse: 0 ≤ Alter < 2

2. Klasse: 2 ≤ Alter ≤ 6

3. Klasse: Alter > 6

Pro Klasse könnte ein Repräsentant wie folgt aussehen:

1. Klasse: 1

2. Klasse: 3

3. Klasse: 10

Somit sollte ein Testfall geschrieben werden, in dem die Eingaben von

1, 3 und 10 verwendet werden.


TESTMANAGEMENT

AUFGABEN DES TESTMANAGERS

Die Aufgaben eines Testmanagers sind vielseitig. In der

Regel ist er Teilprojektleiter des Teilprojektes Test und

verfügt somit sowohl über Management- als auch über

Fachexpertise.

Typische fachbezogene Aufgaben des Testmanagers:

• Erstellung und Abstimmung des Testkonzepts

• Beschaffung der notwendigen Ressourcen

• Auswahl und Einführung von Testwerkzeugen

• Einführung/Optimierung unterstützender Prozesse

• Einführung und Anwendung von definierten Metriken

• Steuerung und Überwachung der Tests

• Erstellung und Kommunikation des Testabschlussberichts

Darüber hinaus sind gewisse Soft Skills und Fertigkeiten

für den Testmanager essenziell, um im Tagesgeschäft

zusammen mit seinem Testteam bestehen zu können.

Soft Skills des Testmanagers:

• Geschickte Verhandlungsführung mit Stakeholdern

• Einnahme eines klaren und vermittelnden Standpunktes bei

Differenzen

• Aufbauen von Vertrauen und Empathie

• Erfahrungsbasiertes Abstraktionsvermögen

• Beeinträchtigungen der Leistungsbereitschaft des Teams frühzeitig

erkennen


TESTMANAGEMENT

TESTFALLPRIORISIERUNG

Hast du unendlich Zeit und Budget in deinem Projekt? Wenn ja, dann

kannst du diese Karte getrost überspringen. Wenn du zu den restlichen

99,99999999998 % der Testmanager/Tester in Projekten gehörst, solltest

du weiterlesen. Hier lernst du, anhand welcher Kriterien ein Testfall

priorisiert werden könnte/sollte.

PRIORISIEREN HILFT

Priorisieren anhand der Anforderungen

Welche Anforderungen sind am wichtigsten für die Software?

Priorisieren anhand der Häufigkeit der Nutzung

Welche Teile der Software werden am häufigsten von Anwendern

genutzt?

Priorisieren anhand des Schadensmaßes bei Fehlern

Welche Teile der Software führen zum größten Schaden für den

Kunden?

Priorisieren anhand der Komplexität der Softwarekomponente

In welchen Teilen der Software werden z. B. komplexe Berechnungen

durchgeführt?

HALTE DICH NICHT MIT

UNWICHTIGEN TESTS AUF


TESTMANAGEMENT

TESTKONZEPT

Die umfangreiche Aufgabe des Softwaretestens erfordert

ein Konzept, um eine möglichst reibungslose Umsetzung

zu gewährleisten. Das Testkonzept wird vom Testmanager

erarbeitet und umfasst u. a. die Teststrategie, die Testmethoden,

die zu testenden Objekte und deren Leistungsmerkmale

sowie Angaben über Ressourcen, Infrastruktur

und Verantwortlichkeiten.

Eine Orientierung gibt hierbei die Norm IEEE 829-2008.

Im Allgemeinen soll die Vorbereitung und Planung der

Tests im Projekt so früh wie möglich beginnen.

TIPPS FÜR DAS TESTKONZEPT

• Durchdenke Themen schrittweise und im Dialog mit Experten und

Stakeholdern.

• Orientiere dich an den Teststufen/Testquadranten.

• Überlege, was genau getestet werden soll, und nutze das Qualitätsmodell

ISO 25010 als Ideengeber außerhalb der funktionalen

Eigenschaften.

• Effektivität: Setze Prioritäten und entwickle/nutze die passende

Strategie.

• Organisiere und beantrage rechtzeitig die passende Testumgebung

sowie die benötigten Testdaten und Werkzeuge.

• Skizziere die Zusammenarbeit, lege Verantwortlichkeiten fest und

schätze vorsichtig (Aufwand).

• Was kann schiefgehen? Habe einen Plan B in der Hinterhand.

• Erfinde das Rad nicht neu, halte dein Wissen als Best Practice fest,

teile es und mache es für andere nutzbar.


TESTWERKZEUGE

ARTEN VON TESTWERKZEUGEN

Werkzeuge für Testmanagement und Teststeuerung ...

unterstützen dich bei der Erfassung, Priorisierung, Planung, Verwaltung

und Überwachung von Testfällen. Des Weiteren ermöglichen sie dir die

Auswertung von Problem- und Fehlermeldungen.

Werkzeuge zur Testspezifikation ...

sind beispielsweise sog. Testdatengeneratoren und helfen dir, Testdaten

auf Grundlage von Datenbanken, Codes, Schnittstellen oder Spezifikationen

des Testobjektes abzuleiten und festzulegen.

Werkzeuge für statische Tests ...

sind dir im Rahmen von Reviews und statischer Analyse von Quellcodes

oder Spezifikationen behilflich und werden vorwiegend in frühen Phasen

des Entwicklungszyklus eingesetzt.

Werkzeuge für dynamische Tests ...

versorgen das Testobjekt mit Eingabedaten und protokollieren den

Testverlauf. Sie können ebenfalls Testtreiber & Stubs bereitstellen,

Produktivumgebungen simulieren, Kennzahlen liefern oder mittels Testrobotern

aufgezeichnete Bedienschritte automatisch wiederholen. Somit

entlasten sie dich von ansonsten notwendigen manuellen Arbeitsschritten.

Werkzeuge für nicht funktionale Tests ...

bieten dir insbesondere bei Last- und Performancetests Unterstützung,

indem sie synthetische Last generieren und umfangreiche Analysemittel

zur Verfügung stellen. Ebenso können die Daten- und Zugriffssicherheit

sowie die Datenqualität überprüft werden.


TESTFALLERSTELLUNG

TESTFALL-GLOSSAR

Testfall-ID

Priorität

Umgebung

Software-Version

Testfall-Titel

Testfall-Beschreibung

Vorbedingung

Testdaten

Testschritte

Nachbedingungen

Eindeutiger Identifier aus dem Testmanagement-Tool.

Priorität des Testfalls. Oftmals auch Vorgabe

für Reihenfolge der Testdurchführung.

Auf welcher Umgebung wurde der Testfall

durchgeführt?

Welche Version hatte die getestete Software?

Angabe eines eindeutigen und sprechenden

Titels für den Testfall.

Kurze Beschreibung des Testfalls, um einen

allgemeinen Überblick zu erhalten.

Welche Voraussetzungen müssen für den

Testfall gegeben sein (Betriebssystem, Zugänge,

angeschlossene ext. Systeme)?

Angabe notwendiger Testdaten, um den

Testfall durchführen zu können.

Testschritte beschreiben kurz und verständlich,

was zu tun ist und welches Ergebnis

erwartet wird.

Erwartete Nachbedingungen, welche nach

Beendigung des Testfalls erzielt werden

sollen.


TESTFALLERSTELLUNG

INFORMATIONSQUELLEN

Du möchtest den besten Testfall der Welt schreiben,

weißt aber nicht, woher du Informationen zum Testobjekt

bekommst?

Schau dir die User Story und ihre Akzeptanzkriterien an.

Diese musst du auf jeden Fall testen.

Vielleicht ist bereits ein Lösungsdesign der Entwickler zu

deinem Thema vorhanden. Darin können auch Hinweise

auf einen Testfall enthalten sein.

Gibt es weitere Dokumente, die dir bei der Erstellung des

Testfalls helfen könnten? Frag die verschiedenen Stakeholder,

Projektleiter, Product Owner etc. in deinem Projekt.


TESTFALLDURCHFÜHRUNG

DOKUMENTATION

Sei schlau, dokumentiere die Durchführung deiner Testfälle.

Mithilfe von Screenshots, Log-Einträgen oder Datenbank-Abzügen

zeigst du, dass dir dein Testfall wichtig ist.

Stell dir vor, der Kunde möchte wissen, welche Ergebnisse

deine Tests hervorgebracht haben. Hast du richtig

dokumentiert, kannst du jetzt vor dem Kunden glänzen.

Im besten Fall hast du ein Testmanagement-Tool zur

Hand, in dem die Testdurchführung dokumentieren

werden kann (Silk, Sephyr usw.). Wenn es schlecht läuft,

musst du dir mit Word oder Excel behelfen.

Dein Ziel sollte es immer sein, hohe Qualität abzuliefern.

Mit richtiger Dokumentation kannst du sogar den Beweis

dafür erbringen. Vergiss also nie, deine Ergebnisse zu

dokumentieren, übertreibe es aber auch nicht.


TESTFALLDURCHFÜHRUNG

LINUX SHELL CHEATSHEET

clear

Löscht den Inhalt der aktuell in der Shell angezeigt wird

ls

Listet alle Dateien des aktuellen Verzeichnisses auf

tail <Dateiname>

Listet die letzten 10 Zeilen einer Datei auf

cp <Dateiname> <Ziel>

Kopiert eine Datei in ein Zielverzeichnis

rm <Dateiname>

Löscht eine Datei

chmod -options <Dateiname>

Lese-, Schreib- und Ausführrechte einer Datei verändern

grep <Pattern> <Dateiname>

Suche nach Zeichenkette in Datei

mkdir <Verzeichnisname>

Erstellen eines neuen Verzeichnisses

cd <Verzeichnisname>

In Verzeichnis wechseln

cd ..

Eine Verzeichnisebene zurück gehen

pwd

Aktuellen Ort auf Verzeichnisebene anzeigen

less

Tool zum Anzeigen von Textdateien in der Linux Shell


TESTFALLDURCHFÜHRUNG

SQL CHEATSHEET TEIL 1

DATEN EINER TABELLE ABFRAGEN

Alle Daten der Spalten c1, c2 einer Tabelle abfragen

SELECT c1, c2 FROM t;

Alle Daten der Tabelle abfragen

SELECT * FROM t;

Alle Daten einer Tabelle mit Bedingung abfragen

SELECT c1, c2 FROM t WHERE condition;

Ergebnis einer Abfrage aufsteigend [ASC] oder absteigend [DESC]

sortieren

SELECT c1, c2 FROM t ORDER BY c1 ASC [DESC];

Zeilen anhand einer Aggregatfunktion gruppieren

SELECT c1, aggregate(c2) FROM t GROUP BY c1;

Gruppen anhand HAVING Klausel filtern

SELECT c1, aggregate(c2) FROM t GROUP BY c1 HAVING condition;

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!