Examination hints

Figure 608. Personal examination cheat sheets Slide presentation

Figure 609. Unit tests in examinations Slide presentation
  • Task definitions by Javadoc.

  • Corresponding Unit tests.

  • Automated evaluation scoring your achievements.

  • Individual weights reflecting a test's significance.

Figure 610. Example interface definition Slide presentation
* Finde das n-te ungerade Element einer Wertefolge.
* <p>Beispiel: Im Array {3, 2, 0, 1, 4} ist der Wert «1» an der Index-
*   position «3» das zweite ungerade Element.</p>
* @param werte Die zu durchsuchenden Werte.
* @param n Die gewünschte Position, Start bei 1.
* @return Den Index des n-ten ungeraden Wertes falls es mindestens n
* ungerade Werte gibt, ...
static public int getNtesUngeradesElement(final int[] werte, final int n){     
    return 12345; // TODO: Implementiere mich korrekt!

Figure 611. Corresponding test Slide presentation
@Marking(points=1) /* 1 point if test passes */
public void test_400() {
    2, /* Expected result */
    Helper.getNtesUngeradesElement(new int[]{-4,  6,  1, -2,   8}, 1));

Figure 612. Don't cheat! Slide presentation
Unit Tests Your solution
assertTrue (isPrime(2));
assertTrue (isPrime(3));
assertTrue (isPrime(5));
assertTrue (isPrime(7));
... boolean isPrime(final int p) {
  switch (p) {
    case 2:
    case 3:
    case 5:
    case 7:
      return true;
      return false;    }

Will be treated as an attempt at deception / Täuschungsversuch.

Figure 613. Unit tests strategy in examinations Slide presentation
  • Unit testing is relentless: You are no longer at high school where a result having just a wrong sign used to matter next to nothing.

  • Focus on completing units of work rather than nearly finishing a large number of tasks.

  • Watching a test fail just happens. Learn to systematically fix bugs:

    1. Use your IDE's debugger. Practise debugging Junit tests individually addressing failures one by one.

    2. Insert log statements using log4j.