Zum Inhalt springen
  • 0

Verwendbarkeit der Programmiersprachen Python, C/C++, C#, JavaScript in IDE Visual Studio und welche Programmiersprache (als SW under Tests) gegen welcher Programmiersprache als TestAutomatisierung/Testausführungsprogramm im VS verwendbar ist?


Frage

Geschrieben (bearbeitet)

Meine diese Frage berührt zum Teil auch meine bisherige Frage vom Thema Weiterbildung... jetzt wollte ich mehr an Verwendbarkeit der Programmiersprachen Python, C/C++, C#, JavaScript in IDE Visual Studio akzentieren und welche Programmiersprache (als SW under Tests) gegen welche Programmiersprache als TestAutomatisierung/Testausführung im VS verwendbar ist?

Ich habe angefangen und bin gewöhnt an die Microsoft Visual Studio und wollte wennmöglich so bleiben. So bevor ich mit einer oder mit zwei Programmiersprachen zu lernen beginne, hoffe ich zu klären welche Programmiersprache in Microsoft Visual Studio als IDE verwendbar ist. So hoffe ich zu klären, welches Selbstlernbuch ich für gewählte Programmiersprache ich mir nehme.

1. Gingen unter Microsoft Visual Studio 2019 folgende Programmiersprachen in Home-Edition (fürs Durcharbeiten mit einem Selbstlernbuch):

       Python, C/C++, C#, JavaScript ?

zuerst aus der Retrospektive als "Programme under Tests" (zuerst ohne Tests, TA plane ich danach).

2. Wenn ein "Programm under Test" in Visual Studio (VS) z.B. auf Python geschrieben wäre, dann könnte man in VS als in IDE gegen das "Programm under Test"   die Testautomatisierungsprogramm/Testausführungsprogramm auch in gleiche Programmiersprache (in dem Fall Python) schreiben? Also: Python als Programm under test    und auch Testautomatisierung/Testausführungsprogramm auf Python?

2a: Kann man für Python-Programm-under-Tests" eine Testautomatisierungsprogramm/Testausführungsprogramm in C#, in C/C++, in JavaScript schreiben (so dass es funktioniert 😊 ) ? Was als Testautomatisierung/Testausführungs-Sprache   ist für Python-Programm under Test verwendbar?

 

3. Welche Programmiersprachen aus der Liste (Python, C/C++, C#, JavaScript)  als Programme-under-Tests unterliegen in VS    der Testautomatisierungs/Testausführungs-Programmierung mit welchen Programmiersprachen aus der gleichen Liste?

Welche aus (Python, C/C++, C#, JavaScript) testen die Programmierung under Tests (auf Python, C/C++, C#, JavaScript) in Microsoft Visual Studio?

Ich weiss, ich konnte mal  was verdoppelt schreiben, ich bin kein Muttersprachler (falls ich nicht super klar formuliert habe),

 

4 Noch eine Frage: über Python habe ich den Begriff "ScriptSprache" gehört. Sollten für TestAutomatisierung/Testausführung die Scriptsprachen verwendet werden? Ich frage weil ich seinerzeit SW-Tests durchgeführt habe, und dann bei der Fehleranalyse habe ich Testscripte angeschaut (da könnte man die Stelle indetifizieren, wo Fehler passiert.   Wovon die Scripte (im Testreports) stammen und wie die entstehen - weiss ich noch nicht. Ich weiss, dass die Scripte dabei sein müssen. Aber ich will eine Programmiersprache für die Testautomatisierung/Testausführung lernen.    

Könnte die Testautomatisierung/Testausführung auch mit Testscripten (zwecks spätere Fehleridentifikation bei TestRun) auch mit C/C++, mit C#. mit JavaScript geschrieben werden? 

Bearbeitet von ankon

5 Antworten auf diese Frage

Empfohlene Beiträge

  • 0
Geschrieben

Hey Ankon,

du hast sehr viele Fragen und leider habe ich große Schwierigkeiten zu verstehen, was genau dein Ziel ist.

Was möchtest du lernen? Was ist dein Ziel?
Wenn du mit Visual Studio arbeiten möchtest, bietet sich C# als Programmiersprache an (wesentlich einfacher als C oder C++) - in der Regel ist die Entwicklungsumgebung aber nicht der wichtigste Punkt bei der Entscheidung, welche Programmiersprache man benutzt. Hier ist es eher relevant, was du damit tun möchtest: Windows-Applikation, Web-Entwicklung, Server-Programm?

So ähnlich ist eas auch mit Testautomatisierung: Was willst du erreichen? Wenn du z.B. die Funktionalität einer Webseite automatisiert testen möchtest, könnten "End-to-End" Tests mit Frameworks wie Selenium geeigneter sein. Wenn du hingegen Test-driven arbeiten möchtest, dann benötigst du ein Framework, das Micro-Unit-Tests erlaubt (für C# z.B. NUnit)

Machst du denn gerade eine Ausbildung als Fachinformatiker?

Grüße,

Pesse

  • 0
Geschrieben
Am 23.9.2020 um 22:26 schrieb ankon:

Aber ich will eine Programmiersprache für die Testautomatisierung/Testausführung lernen.    

Normalerweise schreibt man Unit-Tests in der Sprache, mit der auch die Software geschrieben wurde. Das heißt, wenn du C#-Software testen möchtest, schreibst du die Tests in C#. Wenn du Python-Software testen möchtest, dann schreibst du die Tests in Python. Was du machen möchtest hört sich ein bisschen nach: "ich möchte Tests schreiben, habe aber keine Software, die ich testen möchte" an. Deshalb ist es schwer, eine konkrete Antwort zu geben.

Etwas komplizierter wird es, wenn du mehrere Bestandteile einer Software hast, die in verschiedenen Sprachen geschrieben wurden oder Schnittstellen verwendet. Hierfür gibt es dann sogenannte Integrationstests. Aber anfangen würde ich an deiner Stelle erst mal mit einfachen Unit-Tests.

Am 23.9.2020 um 22:26 schrieb ankon:

Aber ich will eine Programmiersprache für die Testautomatisierung/Testausführung lernen.    

Es gibt keine "Programmiersprache für Tests". Wie gesagt, schreibst du die Tests in der Sprache, in der du deine Software entwickelst.

Am 23.9.2020 um 22:26 schrieb ankon:

bin gewöhnt an die Microsoft Visual Studio und wollte wennmöglich so bleiben

Die IDE bzw. der Editor ist der Programmiersprache und den Test egal. Es gibt aber IDEs, die das Testen vereinfachen indem zum Beispiel die Testausführung grafisch angezeigt wird. Aber das ist nur "nice to have". 

  • 0
Geschrieben

Eine vernünftige Testautomation wird mittels eines Testautomationstools realisiert. Hier gibt es eine große Auswahl an Tools, die teils ohne Programmiersprache auskommen, teils nur in Programmiersprachen geschrieben werden. Es kommt hier immer auf den Anwendungsfall an.

Einfache Unit Tests fallen noch nicht unter eine Testautomatisierung, sondern sind Entwicklertests. Diese werden, wie @pr0gg3rschon richtig beschrieben hat, in der jeweiligen Programmiersprache geschrieben, in der die Anwendung entwickelt wurde.

Selenium ist wohl das bekannteste Tool für Webanwendungen und bietet über die Selenium Language Bindings eine Vielzahl an möglichen Programmiersprachen an.

Ein anderes Tool zur GUI-Testautomation wäre Ranorex, in der viel über die Oberfläche gemacht werden kann (mittels Capture&Replay und einer Art Baukasten Prinzip, in der einzelne Testschritte zusammengeführt werden können), aber auch C# zur Einbindung von Usercode.

Es gilt immer abzuwägen, was Du mit Deinen Tests erreichen möchtest. Wenn Du die Funktionalität einzelner Methoden in Deinem Code überprüfen möchtest, ist sicherlich Unit-Testing die richtige Wahl. Möchtest Du einen Anwender simulieren und bestimmte Anwendungsfälle Deiner Anwendung auf Funktionalität und Korrektheit überprüfen, wird ein komplexeres Testautomationstool notwendig. Die bieten Dir zusätzlich auch deutlich bessere Reporting Funktionen und Möglichkeiten zum Integrations/Systemtest an. Ganz zu schweigen von der Anbindung an gängige Softwarekollaborations Plattformen wie Azure Devops und die Einbindung der Tests in den Continuous Delivery Prozesses.

  • 0
Geschrieben

Entscheide dich erst einmal, welche Sprache du lernen willst. Noch schwirren C++, C# und Python durch den Raum.

Und beim Erlernen einer Programmiersprache erlernt man auch, wie man diese testet! Da fängt man klein an mit UnitTests, danach kleinere Integrationstests und am Ende kann man über Testautomatisierung auf Endanwender-Oberfläche nachdenken.

 

Sich jedoch von der festgelegten IDE ausgehend auf Testautomatisierung zu stürzen ist der falsche Weg.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...