Mitspieler Online

· Gäste: 33

· Mitspieler Online: 0

Login

Benutzername

Passwort



Passwort vergessen?
Um ein neues Passwort anzufordern klicke hier.

Ereignisse

<< Mai 2024 >>
Mo Di Mi Do Fr Sa So
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Social

Thema ansehen

 Thema drucken
Automatisches Funktionen testen
25.12.2015 um 15:50

Top  #1  Beitrag drucken

Anonymer Benutzer

Anonymer Benutzer
Laborratte

Eine ArmA-3 Modifikation für Gruppe W erstellt

Forenprofi


Beiträge: 1694

Registriert am: 20.01.13

Hey liebe Skripter und frohe Weihnachten (auch dem Rest!),
mir ist die Festtage eine Idee gekommen, die ich gerne mit euch erörtern würde, vielleicht finden sich ja weitere Vorschläge, die mir helfen, diese Idee zu konkretisieren.

Und zwar ist vor allem das Testen von Funktionen o.ä. auf Korrektheit immer eine lästige Sache. Aus dem wp-Kalkül heraus, kam mir die Idee, eine Implementation für automatisches Testen in die CfgFunctions einzubauen.
Das Skript würde bei Missionsstart (wenn vorhanden), die CfgFunctions durchgehen und markierte Funktionen testen. Jede Funktion würde eine definierte Mengen an Eingabewerten haben, wobei die Menge nicht explizit angegeben wäre, dann wäre der Sinn ja nicht mehr vorhanden, sondern es wäre eine Art Mengenkonstruktor. Und genau so eine Menge würde man für die Ausgabewerte definieren. Vielleicht sogar in Abhängigkeit von den Eingabe werten.
Also z.B. der ganz einfache Test einer quadratischen Funktion. Er müsste von dem Datentyp Scalar ind den Datentyp Scalar gehen. Eventuell auch mit einer Abschätzung des Ausgabewertes.
Wenn Skriptfehler auftauchen, wäre ja schon viel geholfen.

Probleme, die mir da einfallen:
  • Wie geht man mit kontextsensitiven Daten um? (Z.b. Funktionen, die nur auf Spielern oder auf eine bestimmte Weise initialisierten Objekten funktionieren)
  • Wie erhält man eine allgemeine, einfache Formulierung für Ausgabedaten, ohne die Funktion, die man testen möchte, selbst zu implementieren?
  • Wie kann man solche Mengen überhaupt schlau modellieren, sodass ein Skript sie interpretieren könnte?


Klingt schon nach einer ziemlichen Mamutaufgabe, aber sollte sich da etwas finden lassen, wäre das in meinen Augen den Aufwand mehr als Wert.

Ich freue mich auf Anregungen oder Zweifel!
25.12.2015 um 19:27

Top  #2  Beitrag drucken

BlauBaer

Benutzeravatar
W-ichtigtuer


Beiträge: 832

Registriert am: 06.02.15

Meiner Meinung nach ist es mehr Arbeit so einen Test zu schreiben als selbst kurz ein paar Werte reinzustecken und zu schauen was dabei rauskommt. Gerade mit der Debugkonsole und den vier Zeilen darunter ist das extrem einfach und schnell.

Komplexere Funktionen die man in Arma hat haben alles was mit Objekten zu tun und seltenst ein Ergebnis das einen Zahlenwert hat - da würden Tests ziemlich umfangreich werden müssen, dann lohnt sich das Verhältnis zum Aufwand erst recht nicht.

Wenn du etwas sinnvolles fürs debuggen tun möchtest, würde ich eher Zeit in einen Parser stecken.
25.12.2015 um 19:41

Top  #3  Beitrag drucken

Anonymer Benutzer

Anonymer Benutzer
Anfänger


Beiträge: 162

Registriert am: 05.12.14

Schau dir mal das Thema "unit testing" an
25.12.2015 um 21:38

Top  #4  Beitrag drucken

Anonymer Benutzer

Anonymer Benutzer
Veteran


Beiträge: 379

Registriert am: 03.10.14

Oha, da scheint aber jemand mächtig Langeweile zu haben Wink
Ich denke Blaubär sieht das ganz richtig.
Ich würde für Funktionen ein paar Grenzwerte (am Rande der (Un)Gültigkeit) definieren und diese dann testen. Somit hast du schonmal ein gutes Maß an "Sicherheit", bei relativ wenig Aufwand.
Komplexere Funktionen die man in Arma hat haben alles was mit Objekten zu tun und seltenst ein Ergebnis das einen Zahlenwert hat

Auch wenn ich eher wenig Erfahrung mit Armascripting habe, ich würde, falls sich das umsetzen lässt, einen "Wrapper" um die Funktionen bauen, sodass man diese einmal wie üblich mit den entsprechenden Input-Objekten aufrufen kann und einmal, für Testzwecke, mit einem Dummy, der gewisse Eigenschaften wie das Objekt besitzt.

Gruß
25.12.2015 um 21:59

Top  #5  Beitrag drucken

Anonymer Benutzer

Anonymer Benutzer
Laborratte

Eine ArmA-3 Modifikation für Gruppe W erstellt

Forenprofi


Beiträge: 1694

Registriert am: 20.01.13

Oha, da scheint aber jemand mächtig Langeweile zu haben Wink


Noch hatte ich keine Langeweile, sondern nur eine Idee und wollte die erstmal von anderen durchkauen lassen, bevor ich eventuell auftretende Langeweile in diese Idee investiere Wink
Springe ins Forum:
Seitenaufbau in 0.10 Sekunden
Serverzeit: 04:35:50 Uhr , 55,250,130 eindeutige Besuche