Java Academy · Oppitunti

Testaus ja laajennukset

Testatkaa reunatapauksilla ja lisätkää pieniä parannuksia. Pitäkää esimerkit yksinkertaisina ja helposti luettavina.

Oppitunti 3/38 vaihetta

Testaus ja laajennukset on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.

Miksi testata

Miksi testata? Pienillä testeillä yllätykset havaitaan varhain. Aloitamme helpoilla syötteillä ja lisäämme reunatapauksia vaiheittain.

Normaalitapaus

Kokeillaan ensin lyhyttä virkettä, jossa on selkeitä sanoja. Kokonaismäärien pitäisi täsmätä ja yleisimpien sanojen vaikuttaa järkeviltä.

Reunatapaukset

Reunatapauksia ovat tyhjä merkkijono, pelkät välilyönnit, pelkät välimerkit, sanoihin sekoitetut numerot ja toistuvat välilyönnit. Mikään näistä ei saisi kaataa ohjelmaa, ja tulosten pitäisi olla järkeviä.

Normalisoinnin tarkistus

Käytetään erikokoisia kirjaimia ja pilkkuja normalisoinnin tarkistamiseen. Pieniksi kirjaimiksi muuntamisen ja siistimisen jälkeen Hello ja HELLO pitäisi laskea samaksi sanaksi.

Pienet laajennukset

Pieniä laajennuksia ovat hyvin lyhyiden sanojen, kuten a tai an, ohittaminen, N:n määrittäminen muuttujaksi ja tasatilanteiden tulostaminen missä tahansa järjestyksessä. Muutokset kannattaa pitää vähäisinä ja koodin helposti luettavana.

Koodi: pienet testit

Suoritus: jokainen näyte tulostaa kokonaismäärät ja eri sanojen määrät. Näin voidaan tarkistaa tyhjän syötteen, välilyöntien, välimerkkien ja erikokoisten kirjainten käsittely.

public class Main {
  public static void main(String[] args) {
    // Very small test set for beginners. Each case prints a short result.
    String[] samples = new String[] {
      "Hello world hello",
      "",                            // empty
      "   ",                         // spaces
      "Hello, HELLO, hello!",        // mixed case and punctuation
      "Numbers 1 2 3 and words",     // numbers and words
      "Only... punctuation!!!"       // punctuation only
    };

    for (int t = 0; t < samples.length; t = t + 1) {
      String text = samples[t];
      System.out.println("-- Case " + (t + 1) + " --");
      // 1) Lowercase
      String lower = text.toLowerCase();
      // 2) Replace non letters with spaces
      String cleaned = lower.replaceAll("[^a-z]+", " ");
      // 3) Split on spaces and filter empties
      String[] tokens = cleaned.trim().split("\\s+");

      java.util.Map<String, Integer> freq = new java.util.HashMap<>();
      int total = 0;
      for (int i = 0; i < tokens.length; i = i + 1) {
        String w = tokens[i];
        if (w.length() == 0) continue;
        // Optional tiny extension: skip one letter words like "a"
        if (w.length() == 1) continue;
        total = total + 1;
        Integer c = freq.get(w);
        if (c == null) freq.put(w, 1);
        else freq.put(w, c + 1);
      }

      // Print a very small summary (no top N here to keep it simple)
      System.out.println("Total words: " + total);
      System.out.println("Unique words: " + freq.size());
    }
  }
}

Normalisoinnin testi

Pikatarkistus: mikä syöte sopii parhaiten normalisoinnin eli kirjainkoon ja välimerkkien käsittelyn tarkistamiseen?

Kertaus

Kertaus: testasimme normaalitapauksia ja reunatapauksia ja lisäsimme pieniä laajennuksia, kuten yksikirjaimisten sanojen ohittamisen. Esimerkit kannattaa pitää lyhyinä ja selkeinä.

Aloita maksutta

Opi Java tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
104
Oppitunnit
374

Usein kysytyt kysymykset

Onko oppitunti ”Testaus ja laajennukset” ilmainen?

Kyllä – oppitunnin ”Testaus ja laajennukset” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.

Mitä opin oppitunnilla ”Testaus ja laajennukset”?

Testatkaa reunatapauksilla ja lisätkää pieniä parannuksia. Pitäkää esimerkit yksinkertaisina ja helposti luettavina. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.

Kuinka kauan ”Testaus ja laajennukset”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?

Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Vaatimukset ja suunnittelu
  2. Toteutus
  3. Testaus ja laajennukset
← Takaisin: Java Academy