Testability Learning Support System (TLS)

What’s New

  • 2022-12-12
    • Publish source codes for demo version via bitbucket.
  • 2022-11-25
    • fix minor bugs
  • 2022-09-01
    • Add some exercises using the system in the list
  • 2022-01-21
    • Some updates were released.
      • Design reconstructing step of DI (Dependency Injection) is separated.
      • It prepared sub exercises to confirm basic knowledge of object oriented concepts.
      • For intermediate learners, they can start their reconstructing process from their reasonable step.
  • 2021-11-15
    • TLS (for Java programming language) with Mock exercise materials was opened.
  • 2021-10-15
    • TLS (for Java programming language) with some exercise materials was opened.
  • 2021-09-15
    • TLS (for C programming language) with some exercise materials was opened.
  • 2021-09-01
    • This site was opened.

Abstract

Testability Learning Support System (TLS) supports learners who would like to improve software component design to enable to be automated tested. Learners acquire knowledge and skills for evaluating and improving the design of the test target component based on testability perspectives. In current TLS, it focuses on the testability features related to the component design: Obsevabiliy, Controllability and Decomposability.

In the exercise using TLS, learners are provided a test target component that is difficult to be automated tested. Learners evaluate the test target component, and improve the component design to be automated tested. Finally, learners can download their improved test target component as an Eclipse workspace. So they can write their testing code for the test target component.

Basic Usage of TLS

We published some exercises with TLS. There are exercises for C programming language and for Java programming language. So, you can try the exercises via your browser.

  1. Choose a problem in the list of prepared problems.
  2. Read the code of the test target component in the problem.
  3. Try to write your testing code for provided test target component without modifying the test target component.
  4. Externalize the reason that the test target component is difficult to be write its testing code.
  5. Organize your externalized reason based on the following testability perspectives or a combination of them.
    • Lack of Observability
    • Lack of Controllability
    • Lack of Decomposability
  6. Improve the component design of the test target component via some steps.
  7. Try to write your testing code for the improved test target component

Learning Materials with TLS

For Learners of C Programming Language

There are three sample exercises in C programming language.

For Learners of Java Programming Language

There are four sample exercises and a tutorial exercise in Java programming language. In addition, there are extra two sample exercises that should be improved by using mock techniques.

List of class/exercises in which the system was used

C Exercise

  • C Proguramming Courcse: Test and Design, HEPT Consortium, 2022 [25 participants].
  • C Proguramming Courcse: Test and Design, HEPT Consortium, 2021 [19 participants].
  • C Proguramming Courcse: Test and Design, HEPT Consortium, 2020 [20 participants].
  • C Proguramming Courcse: Test and Design, HEPT Consortium, 2019 [25 participants].

Java Exercise

  • Software Design, Graduated School of Integrated Science and Technology, Shizuoka University, 2022.
  • Software Design, Graduated School of Integrated Science and Technology, Shizuoka University, 2021.
  • Software Design, Graduated School of Integrated Science and Technology, Shizuoka University, 2020.
  • Test Driven Development, Shizuoka Information Industory Association (Siia), 2022 [15 participants]
  • Test Driven Development, Shizuoka Information Industory Association (Siia), 2021 [10 participants]
  • Test Driven Development, Hamanako Institute Corporation (HIC), 2022 [8 participants]
  • Test Driven Development, Hamanako Institute Corporation (HIC), 2021 [14 participants]
  • Test Driven Development, Hamanako Institute Corporation (HIC), 2020 [21 participants]

Mock Exercise

  • Test and Design, Shizuoka Information Industory Association (Siia), 2022 [15 participants]
  • Test and Design, Shizuoka Information Industory Association (Siia), 2021 [10 participants]
  • Test and Design, Hamanako Institute Corporation (HIC), 2022 [8 participants]
  • Test and Design, Hamanako Institute Corporation (HIC), 2021 [14 participants]
  • Test and Design, Hamanako Institute Corporation (HIC), 2020 [21 participants]

References

  • Muramatsu, M., Noguchi, Y., Kogure, S., Yamashita, K., Konishi, T., Itoh, Y. (2020.11). Introducing a Mock Technique into a Learning Support System for Program Design Based on Testability, Proceedings of the 28th International Conference on Computers in Education, 205-214.
  • Noguchi, Y., Ihara, D., Kogure, S., Yamashita, K., Konishi, T. and Itoh, Y. (2019.12) Learning Support System for Software Component Design based on Testability, Proceedings of the 27th International Conference on Computers in Education, 306-311. (Kao Shuan, Taiwan). (Best Technical Design Paper Award Nominee)