Navigation

  • index
  • next |
  • previous |
  • LEPL1402 2019-2022 documentation »

Logo

Table of Contents

  • Module 4 | Software Engineering Topics: Testing, Design patterns
    • Objective
    • Resources: Part 1 (Testing)
    • Resources: Part 2 (Design patterns)
      • Restructuration 2021

Previous topic

Module 3 | Arborescent data structures, Object Oriented Programming (inheritance, polymorphism, delegation)

Next topic

Module 5 | Functional Programming and Lambda expressions

This Page

  • Show Source

Quick search

Module 4 | Software Engineering Topics: Testing, Design patterns¶

Objective¶

  • Understanding control flows
  • Designing test cases and how to use code coverage
  • Design patterns

Resources: Part 1 (Testing)¶

Slides

  • Software testing (PDF file)
  • Automated testing (PDF file)
  • Test coverage (PDF file)
  • Practical aspects (PDF file)

Youtube playlist:

  • Lecture 4a - Testing (Playlist)

Java code examples (right-click to download):

  • Example code: min method (java source)
  • Example code: test code for min method without JUnit (java source)
  • Example code: test code for min method with JUnit (java source)

Exercises:

  • Blackbox testing
  • CFG basics
  • Coverage testing basics
  • Coverage testing intermediate
  • Coverage testing advanced

Resources: Part 2 (Design patterns)¶

Slides:

  • Singleton (PDF file)
  • Factory method (PDF file)
  • Observer/Observable (PDF file)
  • Visitor (PDF file)

Youtube playlist:

  • Lecture 4b - Design patterns (Playlist)

Java code examples:

  • Example code: singleton (zip file)
  • Example code: factory (zip file)
  • Example code: observer (zip file)
  • Example code: visitor (zip file)

Exercises:

  • Factory design pattern
  • Observer design pattern
  • Visitor design pattern basics: list filtering
  • Visitor design pattern: staff statistics

Restructuration 2021¶

  • Slides
  • Versions 1 and 2 of the “find pattern” quiz: FindPattern.java
  • Version 3 of the “find pattern” quiz: FindPattern.java
  • Source code of the “merge linked lists without duplicates” quiz: MergeSortedLinkedListDuplicate.java

Navigation

  • index
  • next |
  • previous |
  • LEPL1402 2019-2022 documentation »
Created using Sphinx 1.8.6.
Creative Commons License
Authors: Pierre Schaus & Ramin Sadre. This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.