zurück zu Interaktives WWW | Informationen für Psychologen 

Fragebogen erstellen und auswerten im WWW

Inhalt
Zielsetzung
Einfache Beispiele (2 Fragen) für den Anfänger
Fragebogen Aktuelle Angst
Eine weiteres im Internet gefundenes psychologisches Beispiel

Fragebogen erstellen
Fragebogen auswerten und Ergebnis mitteilen
Fragebogen abspeichern

Gegenüberstellung der Erfassungsmethoden cgi-script und JavaScript

Weitere Quellen zur Erstellung von Online-Fragebögen 
neu:[CGI-Skript-Lösung zur Datenspeicherung für alle möglichen Fragebögen (20.1.1997)]
      [Die Mailto-variante zum Abspeichern von Fragebogendaten (9.6.1997)]
      [Kurioses: Fragebogen abschicken durch Return in einem Textfeld (18.6.1997)]
      [Fragebogen auswerten mit PHP (12.3.1999)]

Zielsetzung

Hier soll am Beispiel zweier kleiner Fragebögen aufgezeigt werden, wie man im WWW
  1. Fragebogen erstellen,
  2. das Ergebnis auswerten und dem Probanden mitteilen, sowie
  3. das Fragebogenergebnis abspeichern kann.
Dabei sollen zwei unterschiedliche Verfahren vorgestellt werden:
  1. Fragebogenauswertung über cgi-bin-Script
  2. Fragebogenauswertung durch JavaScript-Language

  3. (Hinweis: JavaScript ist nicht gleich Java Applet)

Einfache Beispiele für den Anfänger

Zunächst wird ein noch recht übersichtliches Beispiel in mehreren Varianten vorgestellt. Dabei werden stets nur zwei Fragen gestellt. Aus den Ergebnissen dieser beiden Fragen wird eine dritte Variable berechnet. .

Die Angstfragebogen

Inhaltlich sind die nachfolgenden Fragebogenvarianten weitgehend identisch, so daß der am Fragebogen Interessierte nur eine Variante anzuklicken braucht.

Weitere auf dem Netz gefundene Beispiele

Unmittelbar nach Erstellung dieser Seite (also zu spät) habe ich den Fragebogen zur Erfassung von Presence in virtuellen Welten von Thomas Schubert, Uni Jena, entdeckt. Der Fragebogen wurde mit JavaScript konzipiert, ist gut strukturiert und programmiert, erfaßt die Ergebnisse auf recht einfache und anschauliche Art und sollte unbedingt als weiteres Lernbeispiel herangezogen werden.

Der programmiertechnisch versierte Nutzer ist damit nun hinreichend informiert und die nachfolgenden Ausführungen richten sich vornehmlich an denjenigen, dem diese Angaben nicht genügen, um die Funktionsweise der Fragebogen zu verstehen, wobei vollständiges Begreifen allerdings gewisse Programmierkenntnisse (, die über das Erstellen einfacher HTML-Texte hinausgehen,) voraussetzt, partielles Verstehen aber auch schon etwas weiter hilft. 


zum Anfang der Seite 

Fragebogen erstellen

Hinsichtlich der Konstruktion der Fragen gibt es kaum Unterschiede zwischen den Methoden cgi-bin-Script bzw. JavaScript, so daß auf eine gesonderte Differenzierung verzichtet wird.

Um dem Nutzer die Möglichkeit zu bieten, irgendwelche Eingaben auf einer WWW-Seite machen zu können, werden sogenannte Forms verwendet. Siehe dazu:

  • Wie erstelle ich ausfüllbare WWW-Felder? von B. Batinic
  • Formulare von Stefan Münz.
  • Formulare von Rainer Klute
  • Charlos' Forms Tutorial von Carlos A. Pero; (gleich zur Übersicht über die Forms)
  • Als Eingabevarianten werden in der Hauptsache unterschieden: Für alle Eingabevarianten gibt es bestimmte Befehle mit diversen Einstellungen, die meistens mit input beginnen und so dem BASIC-Kenner schon ein gewisses Verständnis liefern. Die Wirkung der einzelnen Eingabevarianten zeigt sich allerdings erst dann, wenn irgendwo vor den Befehlen ein Form-Tag ( <FORM>) gesetzt wurde und irgendwo nach den Befehlen ein Form-Ende-Tag (</FORM>) steht.

    Die Befehlsfolge

            <FORM>
              Geben Sie Ihren Nachnamen ein ! 
              <input type=text name=Meintext size=20>
            </FORM>
    produziert als Ergebnis:
    Geben Sie Ihren Nachnamen ein ! 

    So wurde ein einfaches Textfeld (deshalb: type=text) mit dem Namen Meintext (deshalb: name=Meintext) erstellt, welches Platz für gleichzeitig sichtbare 20 Zeichen bereithält (deshalb: size=20). Wenn Sie nun einmal einen Namen eingeben und auf Return tippen, so sehen Sie, daß sich die Adresse dieser Page erweitert hat und zwar um "?meintext='Was Sie als Nachname eingegeben haben'". Das heißt: Diese Form wurde durch Return aktiviert, was normalerweise jedoch durch ein Submit-Button realisiert wird. Durch die Aktivierung wurde eine neue Seite produziert.

    Zwischen <FORM> und </FORM> könnten nun mehrere Eingabevarianten sowie beliebig viel normaler HTML-TEXT stehen. Auf diese Weise kann jeder Fragebogenkonstrukteur Fragen entwerfen und in HTML - Text integrieren. Fragen werden demnach auf gleiche Weise editiert wie normaler HTML- Text und die Edition des Fragebogens kann auf einem lokalen Rechner ohne Internetanschluß abgewickelt werden. Für Short Answer-Aufgaben kommen dabei vornehmlich Textfelder in Frage, für Multiple Choice Aufgaben können je nach Konzeption Listenfelder, Radiobuttons oder Checkboxen verwendet werden. Nach der Edition des Fragebogens kann der Nutzer den Fragebogen auch ausfüllen. Die Auswertung sowie ein entsprechendes Feedback erhält er jedoch nicht so einfach.

    Konstruktion der Fragebögen

    Wie die Fragebögen entworfen wurden, kann man am Source-Code des Fragebogens ablesen. Klicken Sie dazu einen Fragebogen an und schauen Sie sich den SourceCode an. Bei Netscape "View" anklicken, dann "Dokument Source" anwählen und Maustaste loslassen! z.B.:

    Subjektive Kompetenz und Anspruchsniveau (in der cgi-bin-Script Fassung; einfaches Beispiel)
    Aktuelle Angst ohne Situationsbezug (in der cgi-bin-Script Fassung)

    Der Fragebogen Subjektive Kompetenz und Anspruchsniveau basiert auf dem Short-Answer-Aufgabentyp. Deshalb werden zur Erfassung Textfelder gewählt, die freie Beantwortung zulassen. Bei der aktuellen Angst liegt der MC-Aufgabentyp zugrunde. Man sieht, daß die Alternativen eines Items mit Radiobuttons erstellt wurden. Jedes Item des SPA hat einen mit F beginnenen Namen (Item ängstlich hat den Namen F1) und die Alternativen können die Werte 1 bis 7 annehmen. Es kann automatisch bei einem Item nur eine der 7 Alternativen angeklickt werden, ein großer Vorteil des Radiobuttons. Eine kleine Zusammenstellung über mögliche Aufgabenvarianten durch Forms findet man bei Roland .


    zum Anfang der Seite 

    Das Ergebnis auswerten und dem Probanden mitteilen

    Die Ergebnisauswertung und Mitteilung an den Probanden setzt Programmierung voraus:
    CGI-Script
    Die Antworten des Probanden müssen von einem Programm auf dem Server aufgefangen und verarbeitet werden. Dies funktioniert über Common Gateway Interface (CGI). Das entsprechende Programm (hier ein Perl-Programm) muß sich im cgi-bin Verzeichnis des Servers befinden. Die HTML-Seite der Fragebogenkonstruktion muß auf dieses Programm verweisen, damit es auf dem Server auch aktiv werden kann. Dies geschieht durch eine Erweiterung des Form Tags.
    Durch die Befehlszeile

    <form method="get" action="/cgi-bin/sk.cgi"> bzw.

    <form method="get" action="/cgi-bin/spa1.cgi">

    wird dem Server mitgeteilt, daß das Programm sk.cgi bzw. spa1.cgi im cgi-bin Verzeichnis des Servers nach der Formaktivierung der Fragebogen-Page gestartet werden soll.
    Aus Sicherheitsgründen empfehle ich, statt der Methode "get" die Methode "post" zu verwenden, was zum Zeitpunkt der Fragebogenkonstruktion auf unserem Server leider nicht möglich war, also z.B.:
    <FORM method="post" action="/cgi-bin/spa1.cgi">
     

    Bei beiden Fragebögen mit CGI-Variante wird der Fragebogen zur Auswertung durch ein submit-Button abgeschickt (=Formaktivierung), was in der Datei sk.html wie folgt aussieht.

    <input type="submit" value="Antworten bestätigen">

    Nach Formaktivierung der Fragebogenpage sieht man eine neue Seite, deren Adresse (bei Netscape hinter Location:) neben dem Programmnamen noch weitere Eingaben enthält, z.B.: bei der aktuellen Angst

    http://www.phil.uni-sb.de/cgi-bin/spa1.cgi?F1=6&F2=6&F3=5&F4=5&F5=6&F6=4&F7=3&F8=2&F9=4

    Was man hinter dem Fragezeichen sieht, sind die Eingaben des Probanden. Den 9 Items der Fragebogenerhebung zur aktuellen Angst wurden in der Fragebogenpage die Namen F1 bis F9 zugeordnet, und diesen Namen sind durch Gleichheitszeichen die Antwortwerte des Probanden zugewiesen worden.

    Das cgi-Programm sk.cgi ist noch recht übersichtlich und sollte zuerst studiert werden. Wie man sieht, müssen zunächst die Übergabedaten der Fragebogenpage für das Programm lesbar gemacht werden (Thanks to Steven Brenner). Dann folgen ganz einfache Variablenwertzuweisungen und am Ende wird für den Probanden in Form eines einfachen HTML-Textes eine Rückmeldung gegeben.

    Das cgi-Programm spa1.cgi nimmt noch einige weitere Auswertungsschritte und Berechnungen vor. Unter anderem wird hier noch festgestellt, ob alle Fragen beantwortet wurden. Schließlich erzeugt das CGI-Programm ebenso wie sk.cgi eine neue Seite, indem das Ergebnis sowie weitere Informationen als HTML-Text dem Probanden zugänglich gemacht werden.

    Verweise zu CGI und Perl:

  • Andre's CGI-Tutorial (in Deutsch)
  • Perl Tutorial, eine deutsche Bearbeitung des Perl Tutorials von Nik Silver ( School of Computer Studies, University of Leeds GB), offenbar von Roland Dietlicher

  •  
    JavaScript-Language
    Unter JavaScript wird das Programm zur Auswertung direkt in der HTML- Fragebogenpage untergebracht. Fragebogenerstellung- und auswertung sind somit in einer Datei zusammengefaßt. Der Programmcode wird in der HTML-Page von einem Script-Tag umrahmt.
            <SCRIPT LANGUAGE="JavaScript">
              ........Programmcode...........
            </SCRIPT>
    Klicken Sie auf "Subjektive Kompetenz und Anspruchsniveau" oder "Aktuelle Angst" und schauen Sie sich den Source-Code an!

    Subjektive Kompetenz und Anspruchsniveau Variante 1 (als JavaScript)
    Aktuelle Angst auf eine Prüfungssituation bezogen Variante 1 (als JavaScript)

    Der Programmcode greift ebenfalls auf die Forms zu, ermittelt die Werte des Probanden, führt entsprechende Berechnungen aus und teilt das Ergebnis mit. Das Programm läuft auf jedem Rechner, der über einen JavaScript-interpretierenden Browser verfügt. Man braucht demnach überhaupt keinen Anschluß an das weltweite Netz, weil das Programm nicht auf einen Server zugreifen muß.

    Einige nützliche Verweise zur Programmierung von JavaScript

  • JavaScripts selbst erstellen von Stephan Münz
  • Introduction to Javascript von Stefan Koch
  • The Java Script Schweden Side von Tobias Nyberg
  • Java-Script Referenz von Netscape

  • zum Anfang der Seite 

    Fragebogenergebnisse abspeichern

    CGI-Script-Variante [ein genereller Lösungsvorschlag (20.1.1997)]
    Um genau zu verstehen, wie das CGI-Skript abläuft, muß man über Programmierkenntnisse (hier Perl) verfügen und sich das Script anschauen. (Beim generellen Lösungsvorschlag sind keine Perlkenntnisse notwendig, da lediglich 3 Zeilen abgeändert werden müssen.)
    das cgi-Script zur aktuellen Angst

    Haben Sie geahnt oder gewußt, daß Ihr Ergebnis in der CGI-Script-Variante bei mir zunächst in einer Mail mitgeteilt und anschließend als neuer Datensatz in einer Datei angefügt wurde ? Aber keine Angst. Die Daten werden anonym erhoben: [ wirklich ? ]

    Beispiel für eine Ergebnismitteilung via EMail an mich:

    Date: Wed, 12 Jun 1996 11:13:49 +0200 (MET DST)
    From: WWW Kennung <runwww@phil.uni-sb.de>
    Apparently-To:  <pf00bj@rz.uni-sb.de>
    
    12.06.96
    
    Ergebnisse zur situativen, aktuellen Angst
    -----------------------------------------------------------------
    2       3       2       1       4       1       1       3       0
    -----------------------------------------------------------------
    17

    Die ersten 8 Daten repräsentieren die Ergebnisse der Items des SPA, dessen Gesamtergebnis hier 17 beträgt. Der letzte Wert entspricht dem Testwert für den FT.


    zum Anfang der Seite  

    Beispiel für einige Datensätze aus der Datendatei: 


    7       7       6       5       4       3       2       1       7
    7       7       6       5       4       3       2       1       7
    3       7       6       5       4       3       2       1       7
    7       7       6       5       4       3       2       1       7
    7       6       6       6       6       5       4       3       7
    1       3       3       4       5       2       2       2       0
    7       6       4       5       7       7       6       7       8
    4       6       5       7       7       4       4       7       5
    3       1       4       5       3       3       1       2       3
    1       3       2       1       4       1       1       2       0
    1       1       1       1       6       1       1       1       0
    6       6       7       4       5       5       2       7       4
    3       3       4       5       5       4       4       2       2
    2       3       4       4       3       4       4       3       3

    Aus der entsprechenden Datendatei können die Daten kopiert (select all; copy) und direkt in ein Statistikprogramm (z.B. SPSS) eingefügt werden (paste). Es müssen lediglich noch die Variablen festgelegt werden. Hinweis: Aus dem WWW-Browser kann man die Daten zwar kopieren, aber das Einfügen in ein Tabellenkalkulationsprogramm mißlingt, weil die Tabs fehlen.

    Der Programmcode zur Herstellung einer derartige Datendatei ist relativ einfach und sieht hier im Prinzip wie folgt aus: 


    open (out,">>/rechner/DirA/DirB/ergebnis.txt");
    
      print out  $input{'F1'}  ."\t"; 
      print out  $input{'F2'}  ."\t";  
      print out  $input{'F3'}  ."\t";  
      print out  $input{'F4'}  ."\t";  
      print out  $input{'F5'}  ."\t";  
      print out  $input{'F6'}  ."\t";  
      print out  $input{'F7'}  ."\t";  
      print out  $input{'F8'}  ."\t"; 
      print out  $input{'F9'}  ."\n";  
    
    close (out);

    Ergebnisspeicherung durch Zusendung via Email
    Eine Möglichkeit, mit Javascript Daten abzuspeichern, funktioniert über die Zusendung via EMail. Zu diesem Zweck muß der Form Tag um die Befehle action=mailto:Mailadresse und method=post erweitert werden. Nachfolgendes ganz einfaches Beispiel soll die Funktionsweise erklären:
    <HTML><HEAD>
    </HEAD><BODY>
    <H3>Mailtoversuch</H3>
     <form name=meinname action="mailto:erika-mustermann@rz.uni-xyz.de" method=post>
        Geben Sie bitte Ihren Namen ein ! <p>
        <input type="text" name="Deinname" size=20 value="unbekannt"><p>
        <input type="submit" name="ende"  value="bestätigen">
     </form>
    </body></html>
    Durch den Befehl submit werden die Ergebnisse abgeschickt, hier in Form von 'Send as Email'. In der Mail kommen Sie allerdings nicht schön formatiert in einer solchen Weise an, daß man sie problemlos in ein Statistikprogramm einfügen könnte. Stattdessen sieht man eine Ansammlung von Variablennamen, Werten und Sonderzeichen. Das sieht im obigen Beispiel etwa so aus:

    Deinname=Bernhard+Jacobs&ende=best%E4tigen

    Folglich muß man die Daten mühsam entziffern oder ein entsprechendes Programm schreiben bzw. verwenden, was diese Arbeit automatisch übernimmt. (siehe dazu: Die Mailto-variante zum Abspeichern von Fragebogendaten vom 9.6.1997)

    In der Datei skjava2.html ist die Möglichkeit, die Daten via mailto abzuspeichern in einer etwas komplizierteren Form (in Analogie zu einem Programm von Thomas Schubert, Uni Jena) realisiert worden. Dabei wurden die für die EMAIL-Speicherung relevanten Textzeilen auskommentiert.

    Achtung: Bei der mailto-Fassung wird die Email-Adresse des Probanden erfaßt, womit offenkundig wird, wer den Fragebogen abgeschickt hat. Denn aus der E-Mail-Adresse ist auch relativ einfach die Identität des Probanden zu ermitteln. In Analogie zum Fragebogen des herkömmlichen Papierformates ist die mailto-Fassung vergleichbar der Aufforderung, man solle seinen Namen (und weitere Daten) auf den Fragebogen schreiben, bevor man diesen abgibt. Die Anonymität des Verfahrens ist maschinell nicht garantiert und muß dann vom Untersucher sichergestellt werden.


    Auf diese Weise kann man über das Netz nun munter Daten erheben. Ich werte diese Daten aber nicht aus, weil dies im gegebenen Fall ganz offensichtlich weder psychologisch inhaltlich noch methodisch ernsthaft zu vertreten wäre. Die Frage, unter welchen Umständen es sinnvoll sein kann, Untersuchungen über das Netz abzuwickeln, steht auf einem ganz anderen Blatt.

    Anregungen zu Vor- bzw. Nachteilen von Erhebungen via Internet kann man entnehmen bei

  • Matthias Romppel Untersuchungen im Internet
  • Ulf-D. Reips Warum Experimente im Web?
  • S_Ware, Dalhousie University World Wide Web Survey Research
  • Die erste mir bekannte, im WWW-veröffentlichte Untersuchung, die unter anderem auch den empirischen Vergleich von Untersuchungsformen im Labor und via WWW zum Gegenstand hat - Laboratory and Internet Collected Judgments of Female Attractiveness are Similar and Different. von Krantz, J.H., Scher, J. & Ballard, J. (1996) - ergab insgesamt recht ähnliche Ergebnisse für beide Untersuchungsvarianten.

    Ilona Jerabek (Cyberia Shrink) stellt mehrere Tests zur direkten Online-nutzung im Internet zur Verfügung und teilt zu einigen dieser Fragebögen teststatistische Kennwerte (z.B. Reliabilitäten) mit, die auf anonymen Angaben via WWW basieren und insgesamt nicht schlecht aussehen.


    Gegenüberstellung einiger wichtiger Punkte zu den beiden Erhebungsverfahren

    Bedingung cgi-bin-Script JavaScript
    Der Browser muß Forms unterstützen Ja Ja
    Der Browser muß JavaScript-Language interpretieren können Nein Ja
    zentrale Ergebnisspeicherung recht komfortabel Ja Nein
    Der Fragebogen kann auch auf einem lokalen Rechner ohne Internetanschluß ausgewertet werden. Nein Ja
    Der Programmcode ist zwingend öffentlich zugänglich.  Nein Ja
    Weil der Code des CGI-Programms in der Regel öffentlich nicht zugänglich ist, bleibt undurchsichtig, was im einzelnen sonst noch so erhoben wird. Beispiel: Es ist auch leicht festzustellen, daß vom Rechner xy vornehmlich zu bestimmten Zeitpunkten ziemlich neurotische Antworten herkommen. Wie die eigene Erfahrung mit dem Angstfragebogen in der cgi-Variante zeigt, werden bestimmte Daten ohnehin automatisch gespeichert und es ist nicht ausgeschlossen, daß sie in die Hände von Unbefugten gelangen. Die Verfügbarkeit des Programmcodes unter JavaScript erlaubt ein Nachvollziehen der Abläufe und damit auch die Entdeckung möglicher Fehler sowie die Modifizierung bestehender Programme. Für CGI-Script-Programmierung benötigt man Schreibrechte, wenn man ernsthaft ein Programm austesten will und die Funktionsfähigkeit des Programms ist immer an den Server gebunden. Zwar läuft JavaScript nicht unter jedem Browser, aber wegen der Serverunabhängigkeit eignet sich dieses Verfahren insbesondere für Demonstrationen von Fragebögen bzw. für eine Selbstdiagnostik.

    Im übrigen gilt ohne jede Einschränkung, daß die psychologische Fundierung und testtheoretische Prüfung eines Fragebogens allemals wichtiger ist als die technische Umsetzung, auf welches System auch immer.


    Weitere Quellen zur Erstellung von Fragebögen im WWW


    zum Anfang der Seite | Interaktives WWW | Informationen für Psychologen 
    Bernhard Jacobs created 14.6.1996 ; last update 18.6.1997