Home QA & Testing soorten Funktionale Tests

Funktionale Tests

Was sind funktionale Tests?

  • Smoke Tests
  • Regression Tests
  • Integration Tests
  • Acceptance Tests

Was sind funktionale Tests?

Funktionale Tests sind eine Art von Softwaretests, die auf der Funktionsbeschreibung der Software basieren, mit der Hauptzielsetzung, die Qualität der Umsetzung der Funktionen zu bewerten und mögliche Fehler frühzeitig zu erkennen. Bei funktionalen Tests geht es hauptsächlich darum, eine zuvor beschriebene Funktion auf Richtigkeit zu testen. Es wird also das Ergebnis der Entwicklung getestet im Vergleich zu dem, was in der Anforderungsspezifikation als User Story hinterlegt wurde.

Funktionale Tests liefern unter anderem Antworten auf folgende Fragen:

  • Welche Funktionen werden von der Software erwartet?
  • Mit welchen Ausgangskriterien werden wir die beschriebenen Funktionen testen und auf welche Weise?
  • Was erwarten wir als Output aus diesen Daten?
  • Wie führen wir die Tests durch?
  • Wie vergleichen wir das tatsächliche Ergebnis mit dem erwarteten Ergebnis, um herauszustellen, ob die Anwendung unsere Erwartungen erfüllt?

In einer Timeline wäre dieser Prozess wie folgt strukturiert:

Testszenario ⇒  Testcase ⇒  Testausführung ⇒  Testbericht

Arten von funktionalen Tests

Es gibt eine Reihe von unterschiedlichen funktionalen Tests, die während des gesamten Softwareentwicklungsprozesses eingesetzt werden können, um die Qualität des gelieferten Produkts zu überprüfen und den Lieferprozess auf das gewünschte Niveau zu bringen. Um das volle Potenzial von funktionalen Tests auszunutzen, reicht es nicht aus, wenn Sie den Entwickler selbst testen lassen. Ein erfahrener Entwickler baut Unit Tests und führt Regression Testing für seinen Quellcode auch ohne zusätzliche Anweisung durch. Funktionale Tests hingegen sollten im gesamten Entwicklungslebenszyklus einer Anwendung festgeankert und als eigenständige Aufgabe von einem erfahrenen Tester durchgeführt werden.

Die am häufigsten eingesetzten Testarten sind:

  • Unit Tests. Diese Tests werden normalerweise von den Softwareentwicklern selbst durchgeführt. Sie testen den von ihnen erstellten Code unter anderem auf Vollständigkeit und Methode. Im Zusammenhang mit Funktionstests ist es wichtig, dass der Code korrekt geschrieben ist und fehlerfrei funktioniert.
  • Smoke Tests.  Dies ist ein erster Test, der zeigen muss, ob die Basisfunktionalitäten in Ordnung sind. Anhand einer Reihe von Testfällen wird festgestellt, ob diese Version der Software stabil ist und zur weiteren Entwicklung und zum Testen bereit ist.
  • Sanity Tests. Diese werden normalerweise nach dem Smoke Test ausgeführt, um festzustellen, ob alle wichtigen Funktionen des Codes funktionieren.
  • Regression Tests. Ein Regressionstest überprüft, ob alle Systemkomponenten nach Änderungen an der Software weiterhin ordnungsgemäß miteinander kommunizieren. Der Fokus liegt oft auf den Teilen, die möglicherweise durch Änderungen an der Software beeinflusst wurden oder an denen Fehler in der Software gefunden wurden.
  • Integration Tests. Wenn verschiedene Teile der Software Daten austauschen müssen, sollte geprüft werden, ob der Datenaustausch ordnungsgemäß funktioniert. Mit anderen Worten: Sind sie gut miteinander integriert?
  • Abnahmetests. Ein Abnahmetest wird auch als Beta-Test oder Usability-Test bezeichnet. Diese Testmethode soll feststellen, ob die Software letztendlich die Funktionen erfüllt, die erwartet werden. Aus der Kundenperspektive ist die Abnahme eher ein Prozess, der prüfen und dokumentieren soll, ob die Software auf Grund der formulierten funktionalen Anforderungen entwickelt wurde. Bei der Agile-Entwicklung richtet man sich dabei an die im Vorfeld erstellten User Stories.
  • verbesserte Testabdeckung
  • schnellere Testdurchläufe
  • einfach skalierbare Testabläufe
  • sichere Releases
  • Steigerung der Entwicklungsproduktivität

Egor Gucinsky - QA manager

Wie wählt man das passende Tool zur Unterstützung der Testplanung und -organisation?

Da die Bedeutung von Testing für moderne Softwareentwicklungsunternehmen immer weiter zunimmt, hat sich die Industrie auf den Bedarf der QA-Manager und Testingenieure ausgerichtet und eine Reihe von Tools geschaffen, die nicht nur die Produktivität der Stakeholder steigern sollen, sondern auch die Transparenz der QA-Prozesse in Entwicklungsprojekten verbessern können.

Da die reinbungslose Kommunikation zwischen den Projektbeteiligten ein wichtiger Aspekt für den Erfolg jedes Entwicklungsprojekts ist, sollte man möglichst versuchen, die Kommunikation zwischen Testern, Entwicklern und Projektleitern an übergeordneten Stellen zu standardisieren. Um das für Ihr Unternehmen passende Tool für die Testplanung und -organisation auswählen zu können, zählen wir hiermit einige Anforderungen auf, die Sie auf jeden Fall berücksichtigen sollten:

  • Requirements-Spezifikation. Ein Testtool sollte in der Lage sein, die Anforderungen an das zu testende System zu erfassen, um damit bestimmte Testfälle verknüpfen zu können. Alternativ kann auch mittels Kommunikationsschnittstellen zu Entwicklungstools der Datenaustausch hergestellt werden, um die Anforderungen dort einzusehen.
  • Testfall-Spezifikation. Jeder Testfall wird aus Testszenarien zusammengestellt, die man einzeln oder komplett im Testsystem durchlaufen kann. Diese sollten möglichst ausführlich beschrieben und dokumentiert werden, um das erwartete Ergebnis auf Vollständigkeit einschätzen zu können.
  • Defect Management. Die Registrierung und Verwaltung von Defects spielt eine große Rolle im Entwicklungs- und Testprozess. Besonders bei größeren Teams sollte die Möglichkeit jederzeit gegeben sein, erfasste Defects rechtzeitig zu signalisieren und zur Behebung weiterzugeben.
  • Kommunikationsschnittstellen. Ein wichtiger Aspekt bei der Anschaffung von Planungstools ist die Erweiterbarkeit und Verfügbarkeit von Schnittstellen zu anderen Tools, die der Testingenieur für die Durchführung seiner Arbeit einsetzt. Dazu zählen z.B. Schnittstellen zu Automation, Test execution, Continuos Integration und Reporting Tools u.a.

Gerne beraten wir Sie bei der Auswahl des passenden Tools für Ihre spezifische Umgebung und Ihr Organisationsmodell!

Siehe die Entwicklung von Technosoft

1977 Heute
1998
Projektmanagementsoftware
1983
Markenregistrierung Technosoft
1984
Start der Entwicklung CAD Software
2000
Übernahme der Tätigkeiten von Brunel und Niederlassung in Deventer
2007
Technosoft Deutschland
2009
Technosoft Moldawien
2015
Technosoft Rumänien
1993
Von DOS zur Windows-Plattform
2001
Start Verkauf AxisVM Software
2014
Einführung 3Muri Erdbebensoftware + erste KOMO Zertifizierung
2013
Start Business Unit Qualitätssicherung & Testing
2011
Übergang zu Eurocodes
2012
Start von Nearshoring unter dem Markennamen In-shore
2006
Technosoft von Brunel verkauft durch ein Management Buy Out