Blog

Kattava opas: Testauksen hallinta Atlassian Jirassa

JUN 27, 2019

Testauksen hallinta Jira:ssa voi olla kömpelöä, mutta Atlassian Jiraan on saatavilla useita lisäosia, jotka helpottavat esihenkilöiden ja testaajien työtä. Tässä blogikirjoituksessa keskitymme Xray-testauksenhallintaan, joka on kokemustemme ja asiakkaidemme kokemusten perusteella menestynein työkalu.

Hamzah Mohamed

Testitapausten hallinta Jirassa ei ole mitenkään tavatonta. Issuet ovat hyvä tapa tallentaa testimäärittelyt ja -vaiheet.

Perinteisesti testien hallinta Jirassa on edellyttänyt uusien mukautettujen kenttien luomista testivaiheille sekä erillistä kenttää vaatimuksille. Tämä tuntuu usein kömpelöltä, minkä vuoksi testien hallinta siirretään pois Jirasta ja testituloksista raportoidaan vain Confluencessa. Saatavilla on kuitenkin useita Jira-lisäosia, jotka helpottavat tuotepäälliköiden ja testaajien työtä.

Kokemuksemme mukaan tämän alan neljä selkeää kärkitoimijaa ovat Xpand IT:n Xray, Zephyr, Adaptavistin TM4J ja Go2Groupin SynapseRT.

Jokaisella lisäosalla on hyvät ja huonot puolensa. Me ja asiakkaamme olemme onnistuneet parhaiten Xrayn kanssa, joten keskitymme siihen tänään.

Mikä on Xray Test Management for Jira?

Xray on ”kattava testienhallintatyökalu Jiraan”. Projektipäällikkö voi sen avulla määrittää Robot Framework -testitapaukset, joita testikehittäjät alkavat kirjoittaa. Xray hyödyntää Jiran taustalla olevaa Issues-järjestelmää, joten kaikki tavalliset Jira-toiminnot, kuten mukautetut kentät, kommentit, JQL ja Jira REST API, toimivat kuten muuallakin Jirassa.

Xrayn issuetyypit

Kun Xray asennetaan Jiraan, luodaan viisi uutta issuetyyppiä:

  • Esiehto

  • Testisuunnitelma

  • Testijoukko

  • Testi

  • Testin suoritus

Issuetyyppejä voidaan käyttää niissä Jira-projekteissa, joiden issuetyyppimalliin ne on lisätty. Voit määrittää, missä Jira-projekteissa vaatimukset tallennetaan, ottamalla käyttöön ”Requirement Coverage” -asetuksen projektin määritysnäkymässä. Vaatimusten issuetyypit määritetään Xray Issue Type Mapping -asetuksissa.

  • Esiehto-issuetyyppi Määrittää, mitä on tehtävä ennen testivaiheiden suorittamista

  • Testisuunnitelma-issuetyyppi Määrittää, mitkä testit suoritetaan millekin versiolle

  • Testijoukko-issuetyyppi Testiryhmä, joka voi sisältää esimerkiksi kaikki tiettyyn sovellustoiminnallisuuteen liittyvät testit. Yksi testi voi kuulua useaan testijoukkoon.

  • Testi-issuetyyppi Testitapaus, joka sisältää testivaiheet, toiminnot ja odotetut tulokset

  • Testin suoritus -issuetyyppi Kuvaa testin yksittäistä suorituskertaa. Testin suorituksia voidaan luoda suoraan Jenkins-integraation avulla

Xrayn käyttö Jirassa

Vaihe 1: Xray-lisäosan asentaminen

Asenna lisäosa seuraamalla näitä ohjeita: Xray installation. Ilman lisenssiä Xray-paneelit eivät näy Jiran käyttöliittymässä, joten muista noudattaa myös lisenssiohjeita!

Peruskäyttö etenee seuraavasti:

  • Testisuunnittelija kirjaa testikokonaisuuden käyttäen issuetyyppiä UserStory

  • Tämän User Storyn alle kirjoitetaan yksittäinen testitapaus issuena. Tämän issuen issuetyyppi on Test. Luo nämä testi-issuet User Storyn näkymässä, jotta voit linkittää ne toisiinsa helpommin.

  • Kun kehittäjän tehtäväksi annetaan robottitestin kirjoittaminen, hän lisää testitapaustunnisteeksi sen Jira User Storyn yksilöllisen avaimen, joka määrittelee kirjoitettavan testikokonaisuuden.

  • Kehittäjä vie muutokset ja testitapaukset versionhallintaan, ja CI-palvelin hakee koodin.

  • CI-palvelin (tässä tapauksessa Jenkins) tallentaa robotin tulosten XML-tiedoston ja lähettää sen Jiraan Xray-integraation kautta.

  • Integraatio luo jokaista testitapausta varten Jiraan testitiketin tunnisteessa määritellyn User Storyn alle.

  • Jokainen myöhempi testiajo luo uusia tikettejä, jotka kuvaavat yksittäisen testitapauksen tuloksen (hyväksytty/hylätty).

  • User Story: Kirjautumisen tulee onnistua

Nykyiset testit on jäsennelty Jira-projektiin, jossa Xray on käytössä:

the ultimate guide test management for atlassian jira blog image 1

Xray tarjoaa myös raportointityökaluja vaatimuskatteen, testisuoritusten ja historiatietojen seurantaan. Testisuunnitelma-, testisuoritus-, testiajo- ja jäljitettävyysraportit voi myös viedä CSV-muotoon.

the ultimate guide test management for atlassian jira blog image 2

Tutustu Xrayn käyttöön Jirassa tarkemmin tässä Xpand IT:n seminaarissa.

Seminaarissa käsitellään seuraavia aiheita:

  1. Xrayn määrittäminen

  2. Vaatimusten käsittely

  3. Erilaisten testityyppien luominen

  4. Esiehdon luominen ja sen käyttäminen testissä

  5. Erilaisia tapoja hallita testikirjastoa Xrayssa

  6. Testisuunnitelman ja testisuoritusten luominen

  7. Manuaalisten ja automatisoitujen testien suorittaminen

  8. Raportointiominaisuudet

  9. Integraatio Xporter-lisäosan kanssa

Xrayn määrittäminen

Miten integroin Xrayn Jenkinsiin ja Robot Frameworkiin?

Xray Connectorin asentaminen Jenkinsiin

Integration with Jenkins -dokumentaatiosivu

  1. Lataa lisäosan .hpi-tiedosto. Integration with Jenkins -Confluence-sivulta löydät linkit uusimpiin versioihin. Siirry haluamaasi versioon ja lataa .hpi-tiedosto.

  2. Avaa Jenkinsin käyttöliittymä. Tarvitset järjestelmänvalvojan oikeudet.

  3. Siirry kohtaan Manage Jenkins. Avaa Plugin Manager. Napsauta lisäosavalikosta Advanced-välilehteä. Vieritä alas kohtaan Upload Plugin.

  4. Lataa vaiheessa 1 lataamasi xray-for-jira-connector.hpi-tiedosto. Saatat joutua käynnistämään palvelimen uudelleen asennuksen jälkeen.

  5. Siirry palvelimen uudelleenkäynnistyksen jälkeen lisäosien sivulle ja varmista, että Xray on asennettu.

  6. Kun lisäosa on asennettu, yhdistä Jenkins ja Jira-palvelin. Siirry kohtaan Jenkins > Manage Jenkins > Configure System.

  7. Etsi Xrayn määritysosio. Kirjoita Configuration alias -kenttään määritykselle nimi. Server address on Jira-instanssisi osoite. Käyttäjätunnuksen ja salasanan on oltava Jira-instanssissa, ja niillä on oltava Create Test- ja Test Execution Issues -oikeudet.

Lataa lisäosan .hpi-tiedosto. Integration with Jenkins -Confluence-sivulta löydät linkit uusimpiin julkaisuihin. Siirry haluamaasi julkaisuun ja lataa .hpi-tiedosto.

Avaa Jenkinsin käyttöliittymä. Tarvitset järjestelmänvalvojan oikeudet.

Siirry kohtaan Manage Jenkins. Avaa Plugin Manager. Napsauta lisäosavalikosta Advanced-välilehteä. Vieritä alas kohtaan Upload Plugin.

Lataa vaiheessa 1 lataamasi xray-for-jira-connector.hpi-tiedosto. Saatat joutua käynnistämään palvelimen uudelleen asennuksen jälkeen.

Siirry palvelimen uudelleenkäynnistyksen jälkeen lisäosien sivulle ja varmista, että Xray on asennettu.

Kun lisäosa on asennettu, yhdistä Jenkins ja Jira-palvelin. Siirry kohtaan Jenkins > Manage Jenkins > Configure System.

Etsi Xrayn määritysosio. Kirjoita Configuration alias -kenttään määritykselle nimi. Server address on Jira-instanssisi osoite. Käyttäjätunnuksen ja salasanan on oltava Jira-instanssissa, ja niillä on oltava Create Test- ja Test Execution Issues -oikeudet.

Jenkinsin, Xrayn ja Robot Frameworkin käyttö yhdessä

  1. Tutustu videoesityksen avulla issueiden luontiin (osio 2: erityyppisten testien luominen).

  2. Jirassa: Luo User Story, joka määrittää toteutettavan testikokonaisuuden. Kun issue on luotu, avaa kyseinen user story ja napsauta “create test” -painiketta. Kirjaa tämän jälkeen ylös User Storyn yksilöllinen tunniste.

  3. Robotissa: Lisää User Storyjen tunnisteet tageina robot-testiisi. Varaa yksi tagi yhtä User Story- / testikokonaisuus-tikettiä kohden: Xray - Robot XML Report Documentation Page.

  4. Jenkinsissä: Luo Jenkins Pipeline Syntax Generatorilla Step Jenkinsfilen ajon jälkeisiä toimintoja varten. Lisää tämän stepin avulla Jenkinsfileen yksilöllinen projektitunnus. Alla on esimerkki post-stepistä, johon sisältyvät artifactien tallennus, Robot-raportointi ja lopuksi Xray Importing (Robot XML:n lähettäminen Jiraan Xray Jenkins -lisäosan kautta). Tässä esimerkissä projektiavain on EDS. Palvelininstanssi tulee Jenkinsin määrityssivun asetuksista (“configuration ID”). Tässä on esimerkki pipeline-stepistä.

Tutustu videoesityksen avulla issueiden luontiin (osio 2: erityyppisten testien luominen).

Jirassa: Luo User Story, joka määrittää toteutettavan testikokonaisuuden. Kun issue on luotu, avaa kyseinen user story ja napsauta “create test” -painiketta. Kirjaa tämän jälkeen ylös User Storyn yksilöllinen tunniste.

Robotissa: Lisää User Storyjen tunnisteet tageina robot-testiisi. Varaa yksi tagi yhtä User Story- / testikokonaisuus-tikettiä kohden: Xray - Robot XML Report Documentation Page.

Jenkinsissä: Luo Jenkins Pipeline Syntax Generatorilla Step Jenkinsfilen ajon jälkeisiä toimintoja varten. Lisää tämän stepin avulla Jenkinsfileen yksilöllinen projektitunnus. Alla on esimerkki post-stepistä, johon sisältyvät artifactien tallennus, Robot-raportointi ja lopuksi Xray Importing (Robot XML:n lähettäminen Jiraan Xray Jenkins -lisäosan kautta). Tässä esimerkissä projektiavain on EDS. Palvelininstanssi tulee Jenkinsin määrityssivun asetuksista (“configuration ID”). Tässä on esimerkki pipeline-stepistä.

test management blog code-1

5. Kun olet ajanut buildin ja robot-testit, palaa Jiraan ja tarkista luomasi User Story. Sen alta pitäisi löytyä luomasi “test”-issue sekä sen vierestä automaattisesti luodut issuet. Kukin issue vastaa yhtä avainsanaa, ja löydät kaikki avaimet yhdestä robot-tiedostosta kohdan “test execution” alta.

Haluatko oppia lisää testiautomaatiosta ohjelmistokehityksessä?

Eficoden kollegani ovat kirjoittaneet useita erinomaisia blogikirjoituksia testauksesta ohjelmistomaailmassa ja siitä, miksi se on ratkaisevan tärkeää. Tässä esimerkiksi blogit Acceptance Test-Driven Developmentista ja testiautomaation kypsyystason itsearvioinnista.

Testitapausten suurin hyöty Jirassa on se, että vaatimukset, bugit ja storyt ovat kaikki samassa järjestelmässä. Jiran tehokkaiden hakutoimintojen avulla löydät todennäköisesti syyn siihen, miksi ja miten jokin on tehty. Kun hallinnoit myös helpdeskiä Jirassa, bugien raportointi, korjaaminen ja testaus pysyvät samassa sovelluksessa.

Xpand IT on kehittänyt Xrayta huolellisesti ja julkaissut uusia ominaisuuksia johdonmukaisesti.

Seuraamme Xrayta tiiviisti ja pidämme silmämme auki entistä useammille automaattisen testauksen integraatioille ja muille kustannussäästöjä tuoville parannuksille!

  • Eficode ROOT
  • Atlassian

Subscribe to our newsletter