Ohjelmistotuotanto, kevät 2003, harjoitus 7 (3.-7.3.)

  1. Tarkastellaan seuraavalle sivulle listattua luokka TableNameParser. Sen tehtävänä on löytää SQL-kyselyyn sisältyvät taulunimet. Sen ei tarvitse toimia oikein, jos kyselyssä on syntaksivirheitä. Piirrä vuoverkot luokan metodeille.

  2. Tarkastellaan metodin getTableNames testaamista tekijäperustaisella black box - tekniikalla (category partitioning). Mitä tekijöitä (kategorioita) liittäisit metodin getTableNames parametriin ja millaisia ekvivalenssiluokkia niihin liittyy?

  3. SQL-kyselyn syntaksi on seuraava:
     
      SELECT <tulostietomäärittely>
      FROM <taulut>
      [WHERE <ehdot>]
      [GROUP BY <ryhmitys> [HAVING <ryhmäehto>]]
      [ {UNION | INTERSECT | MINUS } <sql-kysely> ]
      [ORDER BY <järjestys>]
    
      <taulut>= <tlauseke> | <tlauseke>, <taulut>;
      <tlauseke>= {<taulunimi> | (<alikysely>)} [[AS]<alias>]
      <alikysely>= SQL-kysely ilman ORDER BY -osaa.
      (Sekä <ehdot> että <ryhmäehto> voi sisältää alikyselyn. )
    
    Laadi haarakattava testiaineisto moduulille getTableNames.

  4. Miksi integrointitestauksessa löytyy virheitä, vaikka yksikkötestaus on suoritettu? Miksi validointitestauksessa löytyy virheitä, vaikka integrointitestaus on suoritettu? Miksi beta-testauksessa löytyy virheitä, vaikka validointitestaus on suoritettu?


Jukka Paakki, 27.2.2003