riihikallio / ohte

Ohjelmistotekniikka

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DNS Tester

Sovellus testaa halutun DNS-palvelimen vasteaikaa. Käyttäjältä kysytään DNS-palvelmen IP-osoite ja selvitettävä domain nimi. Sovellus lähettää oikeanlaisen UDP-paketin palvelimelle ja kellottaa vastausajan. Testiajankohta, palvelin, ja vasteaika tallennetaan tietokantaan myöhempää vertailua varten.

Dokumentaatio

Käyttohje

Vaatimusmäärittelyt

Arkkitehtuuri

Testausdokumentti

Tuntikirjanpito

Releaset

Loppupalautus

Komentorivitoiminnot

Suorittaminen

Sovelluksen voi käynnistää komennolla

mvn compile exec:java -Dexec.mainClass=dnstester.Main

Testaus

Testit suoritetaan komennolla

mvn test

Testit lähettävät DNS-kyselyjä Googlen palvelimelle, joten testien läpimenoa varten koneella pitää olla Internet-yhteys.

Testikattavuusraportti luodaan komennolla

mvn test jacoco:report

Kattavuusraporttia voi tarkastella avaamalla selaimella tiedosto target/site/jacoco/index.html

Suoritettavan jarin generointi

Komento

mvn package

generoi hakemistoon target suoritettavan jar-tiedoston DNSTester-1.0-SNAPSHOT.jar

Paksun JAR:n generointi kolmelle käyttöjärjestelmälle (Linux, macOS ja Windows) tuottaa paljon varoituksia, joista en päässyt eroon. JAR kuitenkin toimii. Vaihtoehtona olisi tehdä jokaiselle käyttöjärjestelmälle oma JAR, mutta tässä tapauksessa paksu JAR ei paisunut kohtuuttoman kokoiseksi.

JavaDoc

JavaDoc generoidaan komennolla

mvn javadoc:javadoc

JavaDocia voi tarkastella avaamalla selaimella tiedosto target/site/apidocs/index.html

Checkstyle

Tiedostoon checkstyle.xml määrittelemät tarkistukset suoritetaan komennolla

 mvn jxr:jxr checkstyle:checkstyle

Mahdolliset virheilmoitukset selviävät avaamalla selaimella tiedosto target/site/checkstyle.html

Tällä hetkellä siellä on pari virhettä Tester-luokassa, metodit ovat hieman liian pitkiä. Ne voisi vielä pilkkoa alimetodeiksi, mutta samalla ohjelmalogiikka monimutkaistuisi.

About

Ohjelmistotekniikka

License:Apache License 2.0


Languages

Language:Java 100.0%