Skip to content
Snippets Groups Projects
Commit f5d998ea authored by Yorick's avatar Yorick
Browse files

Initial push

parent 900d3f73
No related branches found
No related tags found
No related merge requests found
Showing
with 10519 additions and 89 deletions
.DS_Store 0 → 100644
File added
MIT License
Copyright (c) [2024] [Yorick Behme]
Hiermit wird unentgeltlich jeder Person, die eine Kopie der Software und der zugehörigen Dokumentationen (die "Software") erhält, die Erlaubnis erteilt, uneingeschränkt mit der Software zu verfahren, einschließlich ohne Einschränkung des Rechts, sie zu nutzen, kopieren, ändern, zusammenzuführen, zu veröffentlichen, zu verbreiten, unterzulizenzieren und/oder zu verkaufen, und Personen, denen diese Software überlassen wird, diese Rechte zu verschaffen, unter den folgenden Bedingungen:
Der obige Urheberrechtshinweis und dieser Erlaubnishinweis sind in allen Kopien oder wesentlichen Teilen der Software beizufügen.
DIE SOFTWARE WIRD OHNE JEDE AUSDRÜCKLICHE ODER IMPLIZIERTE GARANTIE BEREITGESTELLT, EINSCHLIESSLICH DER GARANTIE DER MARKTFÄHIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR JEGLICHEN ANSPRUCH, SCHADEN ODER SONSTIGE VERPFLICHTUNGEN VERANTWORTLICH, OB AUS EINEM VERTRAG, EINER UNERLAUBTEN HANDLUNG ODER ANDERWEITIG, DIE AUS, AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER VERWENDUNG ODER ANDEREN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHEN.
\ No newline at end of file
# BA Yorick Behme # **ArTEMiS-Testskriptgenerierung**
Diese Python-Anwendung nutzt ein lokal mit Ollama betriebenes **Llama3.1-Modell**, um automatisch Testskripte für vorgegebene Musterlösungen zu erstellen. Die generierten Tests sind speziell für den Einsatz in der **ArTEMiS-Lernumgebung** konzipiert.
## Getting started Ziel ist es, **Kursentwicklerinnen und -entwickler** zu entlasten, die Erstellung neuer Kurse zu vereinfachen und die Qualität der Kurse durch automatisierte Testskriptgenerierung zu steigern.
To make it easy for you to get started with GitLab, here's a list of recommended next steps. Vor jeder Anfrage wird die Eingabe optional auf **syntaktische Korrektheit** und das Vorhandensein von **testbaren Strukturen** überprüft. Anschließend wird die Anfrage mittels eines speziell entwickelten **Kombinations-Prompts** oder einem belibigen **Spezialisierungs-Prompt** an das lokale Llama3.1-Modell übergeben. Das Modell verarbeitet die Anfrage und liefert einen generiertes Testscript zurück.
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! ---
## Add your files ## **Features**
- **Automatisierte Testskriptgenerierung**: Basierend auf einer Musterlösung werden Testskripte generiert.
- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files - **ArTEMiS-Integration**: Speziell für den Einsatz in der ArTEMiS-Lernumgebung optimiert.
- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: - **Flexible Eingaben**: Unterstützt verschiedene Python-Programmieraufgaben.
- **Lokale Ausführung**: Modell läuft lokal ohne Internetverbindung.
- **Validierung**: Eingaben werden vor der Verarbeitung überprüft (syntaktische Korrektheit, testbare Strukturen).
---
## **Voraussetzungen**
- Python **3.10** oder höher (Du kannst Python [hier herunterladen](https://www.python.org/))
- Installation und Nutzung über das Terminal
---
## **Installation**
1. **Terminal öffnen:**
Öffne dein Terminal und navigiere zu dem Ordner, in welchem du das Tool ablegen möchtest.
2. **Ollama installieren:**
Installiere Ollama, um das Llama3-Modell lokal auszuführen:
```bash
pip install ollama
```
3. **Llama3-Modell laden:**
Lade das Modell lokal herunter:
```bash
ollama pull llama3.1:8b
```
4. **Repository klonen:**
Lade das Projekt herunter:
```bash
git clone https://git-st.inf.tu-dresden.de/ag-feedbacksysteme/student-projects/ba-yorick-behme.git
```
5. **Ins Code-Verzeichnis wechseln:**
Navigiere in das Hauptverzeichnis des Projekts:
```bash
cd ba-yorick-behme/src
```
5. **Programm starten:**
Führe die Anwendung aus:
```bash
python3 main.py
```
---
## **Projektstruktur**
```plaintext
├── appx/
│ ├── artemis_integration.md
│ ├── beispiel_optimierung.md
│ ├── feedback_nutzerbefragung.md
│ ├── modelfileuntersuchung.md
│ ├── modellauswertung.md
│ ├── modelluntersuchung.md
│ ├── modellvergleich.md
│ ├── poc_nutzerbefragung.md
│ └── promptuntersuchung.md
├── src/
│ ├── generator_manager.py
│ ├── main.py
│ ├── prompt_manager.py
│ ├── prompts.json
│ ├── ui_main.py
│ ├── ui_settings.py
│ └── validator_manager.py
├── LICENSE
└── README.md
``` ```
cd existing_repo
git remote add origin https://git-st.inf.tu-dresden.de/ag-feedbacksysteme/student-projects/ba-yorick-behme.git
git branch -M main
git push -uf origin main
```
## Integrate with your tools
- [ ] [Set up project integrations](https://git-st.inf.tu-dresden.de/ag-feedbacksysteme/student-projects/ba-yorick-behme/-/settings/integrations)
## Collaborate with your team
- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
## Test and Deploy
Use the built-in continuous integration in GitLab.
- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
***
# Editing this README
When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template.
## Suggestions for a good README
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
## Name
Choose a self-explaining name for your project.
## Description
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
## Badges
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
## Visuals
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
## Installation
Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
## Usage
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
## Support
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
## Roadmap
If you have ideas for releases in the future, it is a good idea to list them in the README.
## Contributing
State if you are open to contributions and what your requirements are for accepting them.
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
## Authors and acknowledgment ---
Show your appreciation to those who have contributed to the project.
## License ## **Hinweise**
For open source projects, say how it is licensed. - **Version:** Diese Anwendung basiert auf Prototyp-Version `version-50`.
- **Einschränkungen:** Derzeit wird nur Python-Code und nur das Model Llama3.1:8b unterstützt.
- **Feedback:** Für Fragen, Fehlerberichte oder Vorschläge kannst du ein [Issue](https://git-st.inf.tu-dresden.de/ag-feedbacksysteme/student-projects/ba-yorick-behme/-/issues) erstellen.
## Project status ## **Lizenz**
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. Dieses Projekt steht unter der [MIT-Lizenz](./LICENSE). Details dazu findest du in der Datei `LICENSE`.
File added
This diff is collapsed.
This diff is collapsed.
### **Feedback Nutzerbefragung**
## **Auswertungstabelle**
### Aufgabe 1-3 Ergebnisüberischt
| **Aufgabe** | **Antwort** | **richtige Antworten** | **Prozent** |
|---------------------|-------------------|-----------------------|-------------|
| Aufgabe 1 | 4 | 8/10 | 80.00% |
| Aufgabe 2 | 2 | 8/10 | 80.00% |
| Aufgabe 3 | 6/3 | 9/10 | 90.00% |
## Ergebnisse der Umfrage zur Feedback-Qualität
| **Frage** | **Proband 1** | **Proband 2** | **Proband 3** | **Proband 4** | **Proband 5** | **Proband 6** | **Proband 7** | **Proband 8** | **Proband 9** | **Proband 10** | **Durchschnitt** |
|-----------------------------------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|----------------|------------------|
| Wie hilfreich war Feedback zu „add(0, 1)“? | 1 | 1 | 2 | 3 | 1 | 1 | 1 | 4 | 1 | 1 | 1,7 |
| Wie verständlich war Feedback zu „add(-2, 3)“?| 1 | 1 | 2 | 2 | 3 | 1 | 1 | 3 | 2 | 1 | 1,8 |
| Wie hilfreich war Feedback zu Kommazahlen? | 2 | 2 | 2 | 3 | 3 | 2 | 1 | 3 | 4 | 1 | 2,3 |
---
## **Einleitungstext**
Testfeedback Fragebogen
Mit diesem Fragebogen möchte ich herausfinden, wie hilfreich KI-generiertes Feedback zu Programmiertests in der ArTEMiS-Lernumgebung für Programmieranfänger*innen ist. Programmiertests sind kurze Codeabschnitte, die überprüfen, ob ein anderer Code wie erwartet funktioniert.
Falls dir Begriffe wie „Codeabschnitt“ und „Programmiertest“ noch kompliziert vorkommen, keine Sorge – diese Umfrage ist genau für dich gemacht!
Bitte beantworte die Fragen so genau und ehrlich wie möglich.
Vielen Dank für deine Teilnahme!
---
## **Aufgaben der Teilnehmenden**
Deine Aufgabe
Stell dir vor, du sollst einen Programmiercode schreiben, der zwei Zahlen addiert (Additionsfunktion). Damit deine Lösung als korrekt gilt, müssen alle Programmiertests bestanden werden. Du erhältst jedoch Fehlermeldungen, diese sind in den folgenden Fragen aufgeführt. Kannst du herausfinden, warum dein Code nicht funktioniert?
---
## **Hinweis-Einschub**
Feedback-Nachrichten
Werfen wir nun einen genaueren Blick auf die Feedback-Nachrichten, die jeweils am Anfang der Fehlermeldung nach ‘AssertionError:’ in den ersten drei Fragen zu finden sind.
(VORSICHT: Die Fragen unterscheiden sich, bitte lies sie dir genau durch!)
---
## **Frage 1**
**Warum funktioniert dein Code nicht?**
AssertionError: 0 != 1 : ‚add‘ soll mit ‚0‘ addieren können. Stelle sicher, dass der Code ‚0‘ korrekt behandelt. Hast du getestet, ob ‚0‘ als Teil der Addition funktioniert?
self = < behavior.behavior_test.TestAddFunctionBehavior testMethod=test_add_zero_and_integer >
def test_add_zero_and_integer(self):
"""
Prüft, ob ‚add‘ die Zahl ‚0‘ korrekt addiert.
"""
> self.assertEqual(
add(0, 1), 1,
"’add‘ soll mit ‚0‘ addieren können. Stelle sicher, dass der Code ‚0‘ korrekt behandelt. Hast du getestet, ob ‚0‘ als Teil der Addition funktioniert?“
)
Antwortoptionen:
1 Weil sehr große Zahlen falsch addiert wurden.
2 Weil eine positive und eine negative Zahl falsch addiert wurden.
3 Weil zwei positive Zahlen falsch addiert wurden.
4 Weil 0 nicht richtig addiert wurde.
5 Weil nur eine Zahl, statt zwei Zahlen eingegeben wurde.
6 Keine der Optionen ist richtig.
7 Ich weiß es nicht.
Proband 1: 4
Proband 2: 4
Proband 3: 7
Proband 4: 7
Proband 5: 4
Proband 6: 4
Proband 7: 4
Proband 8: 4
Proband 9: 4
Proband 10: 4
---
## **Frage 2**
**Warum funktioniert dein Code nicht?**
AssertionError: 3 != 1 : ‚add‘ soll eine negative und eine positive Zahl addieren können. Achte darauf, dass Vorzeichen korrekt verarbeitet werden. Wie behandelst du Vorzeichen in deinem Code?
self = < behavior.behavior_test.TestAddFunctionBehaviortestMethod=test_add_positive_and_negative_integer >
def test_add_positive_and_negative_integer(self):
"""
Prüft, ob ‚add‘ eine positive und eine negative Zahl korrekt addiert.
"""
> self.assertEqual(
add(-2, 3), 1,
"’add‘ soll eine negative und eine positive Zahl addieren können. Achte darauf, dass Vorzeichen korrekt verarbeitet werden. Wie behandelst du Vorzeichen in deinem Code?“
)
Antwortoptionen:
1 Weil sehr große Zahlen falsch addiert wurden.
2 Weil eine positive und eine negative Zahl falsch addiert wurden.
3 Weil zwei positive Zahlen falsch addiert wurden.
4 Weil 0 nicht richtig addiert wurde.
5 Weil nur eine Zahl, statt zwei Zahlen eingegeben wurde.
6 Keine der Optionen ist richtig.
7 Ich weiß es nicht.
Proband 1: 2
Proband 2: 2
Proband 3: 1
Proband 4: 7
Proband 5: 2
Proband 6: 2
Proband 7: 2
Proband 8: 2
Proband 9: 2
Proband 10: 2
---
## **Frage 3**
**Warum funktioniert dein Code nicht?**
AssertionError: 4.5 != 4.0 : ‚add‘ soll mit Kommazahlen umgehen können. Überprüfe, ob Fließkommazahlen korrekt summiert werden. Wird das Ergebnis auf die richtige Genauigkeit geprüft?
self = < behavior.behavior_test.TestAddFunctionBehavior testMethod=test_add_two_floats >
def test_add_two_floats(self):
"""
Prüft, ob ‚add‘ zwei Kommazahlen korrekt addiert.
"""
> self.assertEqual(
add(1.5, 2.5), 4.0,
"’add‘ soll mit Kommazahlen umgehen können. Überprüfe, ob Fließkommazahlen korrekt summiert werden. Wird das Ergebnis auf die richtige Genauigkeit geprüft?“
)
Antwortoptionen:
1 Weil sehr große Zahlen falsch addiert wurden.
2 Weil eine positive und eine negative Zahl falsch addiert wurden.
3 Weil zwei positive Zahlen falsch addiert wurden.
4 Weil 0 nicht richtig addiert wurde.
5 Weil nur eine Zahl, statt zwei Zahlen eingegeben wurde.
6 Keine der Optionen ist richtig.
7 Ich weiß es nicht.
Proband 1: 6
Proband 2: 6
Proband 3: 3
Proband 4: 7
Proband 5: 3
Proband 6: 3
Proband 7: 6
Proband 8: 6
Proband 9: 6
Proband 10: 6
---
## **Frage 4**
**Wie hilfreich fandest du diesen Satz, um bei der ersten Frage herauszufinden, warum dein Code nicht funktioniert?**
‚add‘ soll mit ‚0‘ addieren können. Stelle sicher, dass der Code ‚0‘ korrekt behandelt. Hast du getestet, ob ‚0‘ als Teil der Addition funktioniert?
Antwortoptionen:
1 Sehr hilfreich
2 Hilfreich
3 Neutral
4 eher nicht hilfreich
5 Gar nicht Hilfreich
Proband 1: 1
Proband 2: 1
Proband 3: 2
Proband 4: 3
Proband 5: 1
Proband 6: 1
Proband 7: 1
Proband 8: 4
Proband 9: 1
Proband 10: 1
---
## **Frage 5**
**Wie verständlich findest du diesen Satz aus Frage zwei?**
‚add‘ soll eine negative und eine positive Zahl addieren können. Achte darauf, dass Vorzeichen korrekt verarbeitet werden. Wie behandelst du Vorzeichen in deinem Code?
1 Sehr verständlich
2 verständlich
3 Neutral
4 eher nicht verständlich
5 Gar nicht verständlich
Proband 1: 1
Proband 2: 1
Proband 3: 2
Proband 4: 2
Proband 5: 3
Proband 6: 1
Proband 7: 1
Proband 8: 3
Proband 9: 2
Proband 10: 1
---
## **Frage 6**
**Wie hilfreich würdest du diesen Satz aus Frage drei finden, um an einer Lösung der Aufgabe weiterzuarbeiten?**
‚add‘ soll mit Kommazahlen umgehen können. Überprüfe, ob Fließkommazahlen korrekt summiert werden. Wird das Ergebnis auf die richtige Genauigkeit geprüft?
1 Sehr hilfreich
2 Hilfreich
3 Neutral
4 eher nicht hilfreich
5 Gar nicht Hilfreich
Proband 1: 2
Proband 2: 2
Proband 3: 2
Proband 4: 3
Proband 5: 3
Proband 6: 2
Proband 7: 1
Proband 8: 3
Proband 9: 4
Proband 10: 1
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
### **Proof Of Concept Nutzerbefragung**
## **Auswertungstabelle**
| **Proband 1** | **Proband 2** | **Proband 3** | **Proband 4** | **Proband 5** | **Proband 6** |
|---------------|---------------|---------------|---------------|---------------|---------------|
| 4 | 1 | 4 | 4 | 4 | 5 |
| 3 | 1 | 4 | 3 | 4 | 3 |
| 3 | 1 | 5 | 3 | 4 | 4 |
| 4 | 1 | 4 | 5 | 5 | 4 |
| 4 | 1 | 4 | 4 | 4 | 4 |
---
## **Einleitungstext**
ArTEMiS-Tests Fragebogen
Dieser Fragebogen dient dazu, die Benutzerfreundlichkeit und Qualität der von einer KI entwickelten Tests für Python-Programmieraufgaben in der ArTEMiS-Lernumgebung zu bewerten. Bitte lies dir die unten stehenden Tasks durch und bearbeitet anschließend die entsprechenden Aufgaben in der ArTEMiS-Lernumgebung. Achtet dabei besonders auf das Feedback der bereitgestellten Tests und nimm dir anschließend kurz Zeit, die Fragen zu beantworten.
Vielen Dank für dein Feedback – es hilft, die Qualität der Tests weiter zu verbessern!
---
## **Aufgaben der Teilnehmenden**
Tasks
1. Bearbeite die Aufgabe 1: ‘Listenlänge berechnen’, versuche dabei zunächst einen Fehler auszulösen und orientiere dich anschließend an dem Testfeedback, um eine vollständige Lösung zu entwickeln.
2. Bearbeite die Aufgabe 2: ‘Listenausgabe’ versuche dabei zunächst alle Existenztests abzudecken und anschließend nacheinander die Tests der rekursiven und der iterativen Funktion zu erfüllen.
3. (Optional) Löse die Aufgabe 3: ‘Rechtecks Umfang Berechnung’ und überprüfe mithilfe der Tests dein Ergebnis.
---
## **Frage 1**
**Hattest du das Gefühl, dass die Tests hilfreich waren?**
Antwortoptionen:
1 Überhaupt nicht hilfreich
2 Wenig hilfreich
3 Neutral
4 Hilfreich
5 Sehr hilfreich
Proband 1: 4
Proband 2: 1
Proband 3: 4
Proband 4: 4
Proband 5: 4
Proband 6: 5
---
## **Frage 2**
**Wie verständlich war das Feedback der Tests formuliert?**
Antwortoptionen:
1 Überhaupt nicht verständlich
2 Wenig verständlich
3 Neutral
4 Verständlich
5 vollkommen verständlich
Proband 1: 3
Proband 2: 1
Proband 3: 4
Proband 4: 3
Proband 5: 4
Proband 6: 3
---
## **Frage 3**
**Konntest du das Feedback nutzen, um deine Lösung zu verbessern?**
Antwortoptionen:
1 Überhaupt nicht nutzbar
2 Wenig nutzbar
3 Neutral
4 Gut nutzbar
5 Sehr gut nutzbar
Proband 1: 3
Proband 2: 1
Proband 3: 5
Proband 4: 3
Proband 5: 4
Proband 6: 4
---
## **Frage 4**
**Wie gut deckten die Tests die Anforderungen der Aufgabe ab?**
Antwortoptionen:
1 Überhaupt nicht
2 Kaum
3 Teilweise
4 Größtenteils
5 Vollständig
Proband 1: 4
Proband 2: 1
Proband 3: 4
Proband 4: 5
Proband 5: 5
Proband 6: 4
---
## **Frage 5**
**Wie zufrieden bist du mit den Tests insgesamt?**
Antwortoptionen:
1 Überhaupt nicht zufrieden
2 Wenig zufrieden
3 Neutral
4 Zufrieden
5 Sehr zufrieden
Proband 1: 4
Proband 2: 1
Proband 3: 4
Proband 4: 4
Proband 5: 4
Proband 6: 4
---
## **Frage 6**
**Was hat dir an den Tests besonders gut gefallen?**
Freitextfeld:
Proband 1:
-
Proband 2:
- Kleine Aufgaben, bei den man einfach ausprobieren kann
- Regt zum Ausprobieren an
Proband 3:
-Die kürze der Aufgaben
-Das Feedback umzusetzen
-Die einfachen Möglichkeiten z.B. mit Chatgpt diese Aufgaben zu lösen.
-Übersichtlichkeit der Aufgabenstellungen
Proband 4:
Die Tests waren vor allem in den ersten beiden Aufgaben sehr präzise formuliert und haben mir dabei geholfen, die Aufgaben effektiv zu lösen sowie effizient die fehlerhaften Stellen in meinem Code aufzuspüren.
Proband 5:
Einfacher Satz und nicht lang/kompliziert
Proband 6:
-
---
## **Frage 7**
**Welche Verbesserungsvorschläge hast du für die Tests?**
Freitextfeld:
Proband 1:
-
Proband 2:
- Für komplette Anfänger nicht geeignet
- Ich konnte mit den Aufgaben und daher mit den Hinweisen nichts anfangen
- Ohne das nötige Hintergrundwissen kommt man nicht weiter
- Vorher Erklärungen der Aufgaben und der Funktionen (was bedeutet das Ganze?)
- z.B. Video Tutorials oder ähnliches als Einstieg
Proband 3:
-Fehlercodes verbessert darstellen
-Genauer hervorheben, an welcher Stelle der Fehler ist
-Übersichtlichkeit der Hilfestellungen und Zugänglichkeit der Informationen zur Lösung des Problemes
Proband 4:
Vor allem in der letzten Aufgabe fehlten mir Tests in Bezug auf die verwendeten Datentypen. Zudem empfand ich die Formulierung der Tests teilweise als unverständlich/undurchsichtig und ich konnte mit den angegebenen Fehlermeldungen nicht viel anfangen.
Proband 5:
Die entscheidenen Stellen habe ich nicht gleich gesehen. Vielleicht kann der Testcode außenrum weg.
Proband 6:
Hab sie nicht immer gleich verstanden.
This diff is collapsed.
File added
File added
File added
File added
File added
File added
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment