Integrating software testing early into programming does have many benefits for students. For example, students can easier accept that testing is part of writing software, the design and implementation of software improves, software is easier to test, and it encourages students to more carefully read the assignments. Unfortunately, many drawbacks still exist, resulting in introductory programming courses that are, even today, being taught without testing. For example, the negative attitude of students towards testing, and most programming courses are already fully packed. To help educators to improve this situation, we developed the TILE approach: Test Informed Learning with Examples. It is a new approach to introduce software testing in introductory and advanced programming courses in the following ways:
- early introduce students to testing from the very first example program they see and write themselves in exercises;
- seamless testing will be introduced in a smooth and continuous way as an inherent part of programming, and not as a separate activity;
- subtly we will make use of clever and indirect methods to teach testing knowledge and skills.
How to apply in your education
To apply TILE in your education, four different types are developed:
- Test run TILES - When we show (or ask) our students what happens when we run (or execute) a piece of programming code, we can, with a minor change of the wording make a TILE out of the example. For example, we can ask the students to test the program, or ask them to assert the right output instead of asking them to run the program.
- Test cases TILES - If we ask students to test their programs, they often only test happy path execution and hence do not really get that awareness we want about the importance of testing. A better way to TILE exercises would be to add more concrete examples of, or ideas about, possible test cases that the student should use to check the workings of their code. These example test cases should not just include the happy path tests, but also make sure that their code is challenged on some corner cases and other exceptional cases.
- Test message TILES - TILES of this type hide a subliminal message about the importance of testing.
- Test domain TILES - TILES of this type require a bit more creativity than the previous ones. In some programming exercises, we use examples from a well-known domain. For example, in explanations of Object-Oriented Programming one might use the concept of shapes with classes such as Rectangle and Circle as a domain. If the domain does not influence the concepts we are teaching, then it can be replaced with examples from the testing domain directly.
Available material
- A large number of TILED exercises has been developed and is available in our TILE repository
- Example of a complex, project-like assignment using TILE
- More information about how to apply TILE in your education
- Some example exercises ready-to-use in the Quarteral platform following the TILE principle that are especially suitable to beginners:
- Publications
- S. Dick, T. Dreyer and C. Bockisch, "TILE and MASS, a retrospective", In Software Engineering im Unterricht an Hochschulen (SEUH 2024), Lecture Notes in Informatics (LNI), Gesellschaft für Informatik, Bonn, 2024. To Appear
- N. Doorn, T. Vos, B. Marín and E. Barendsen, "Set the right example when teaching programming: Test Informed Learning with Examples (TILE)," 2023 IEEE Conference on Software Testing, Verification and Validation (ICST), Dublin, Ireland, 2023, pp. 269-280. https://doi.org/10.1109/ICST57152.2023.00033
- N. Doorn, T. Vos and B Marín, "Towards understanding students’ sensemaking of test case design", Data & Knowledge Engineering, Volume 146, 2023, 102199, ISSN 0169-023X https://doi.org/10.1016/j.datak.2023.102199
- N. Doorn, T. Vos, B. Marín, C. Bockisch,S. Dick and E. Barendsen, "Domain TILEs: Test Informed Learning with Examples from the Testing Domain". In: S. Nurcan, A. Opdahl, H Mouratidis, A. Tsohou (eds) Research Challenges in Information Science: Information Science and the Connected World (RCIS 2023), Lecture Notes in Business Information Processing, Vol 476. Springer, Cham. https://doi.org/10.1007/978-3-031-33080-3_31
- T. Vos, N. Doorn, B. Marín, "Test Informed Learning with Examples", In Proceedings of the 10th Computer Science Education Research Conference (CSERC '21), Association for Computing Machinery, New York, NY, USA, 1–2. https://doi.org/10.1145/3507923.3507924