Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Testable, a gamified tool to teach unit tests ...

Marabesi
February 20, 2020

Testable, a gamified tool to teach unit tests in javascript - MadridJs

Testing has always been a subject of attention. Nowadays modern libraries come with their own test suite, usually a unit test suite. Therefore, enterprise developers and students might have the perception that testing is a boring task.

Testable, is a web-based application built with reactjs to teach unit test teaching for professional developers and students that uses gamification as a teaching strategy approach.

In this scenario, the talk presents the challenges faced during the development phase such as:

- Why javascript in the first place?
- Understanding javascript code with AST
- Front end patterns used
- Tracking system and animations

As well as the gamification part of it:

- Should we use gamification an alternative strategy?

This talk was hosted by MadridJs:

- Access the meetup event

This research is public available:

- Towards a Gamified Tool to Improve Unit Test Teaching
- EVALUATION OF TESTABLE, A GAMIFIED TOOL TO IMPROVE UNIT TEST TEACHING
- Source code on GitHub

Marabesi

February 20, 2020
Tweet

More Decks by Marabesi

Other Decks in Research

Transcript

  1. AGENDA ▪ Motivation: developers usually don't write tests. ▪ Gamification:

    Is an alternative approach of teaching. ▪ Javascript: as a main programming language to teach and develop unit tests. 5
  2. 8

  3. Subject Unit testing has less attention compared to other compared

    to others subjects TEACHING STRATEGY Strategy Students (and professional developers) tend to perceive testing as a boring task 10
  4. GAMIFICATION The approach to use game elements, in a context

    that is not a game. (For The Win - How Game Thinking Can Revolutionize Your Business. 1. ed. ) 11
  5. GAME ELEMENTS Leader boards Level based ranking to show user

    progress. Narrative A history to conduct the main history. 16
  6. GAME ELEMENTS Leader boards Level based ranking to show user

    progress. Narrative A history to conduct the main history. Experience points Collect experience to achieve higher objectives. 17
  7. INTRO FORGOT PASSWORD SIGNUP INITIAL SCREEN LOGIN SCREEN LEVEL 1

    LEVEL 2 LEVEL 3 N N N Y Y PASS PASS PASS
  8. 25

  9. INTRO FORGOT PASSWORD SIGNUP INITIAL SCREEN LOGIN SCREEN LEVEL 1

    LEVEL 2 LEVEL 3 N N N Y Y PASS PASS PASS
  10. 27

  11. INTRO FORGOT PASSWORD SIGNUP INITIAL SCREEN LOGIN SCREEN LEVEL 1

    LEVEL 2 LEVEL 3 N N N Y Y PASS PASS PASS
  12. TECH LIST ▪ ReactJs + Redux ▪ Firebase ▪ Jest

    + enzyme ▪ Github + travis / gitlab CI ▪ Now.sh
  13. TECH LIST ▪ ReactJs + Redux ▪ Firebase ▪ Jest

    + enzyme ▪ Github + travis / gitlab CI ▪ Now.sh ▪ Esprima ▪ Docz
  14. 38