Yhteensopivuustestaus on olennainen osa monia laadunvarmistusstrategioita, sillä sen avulla yritykset voivat nähdä, toimiiko niiden ohjelmisto oikein eri alustoilla. Jopa pelkästään työpöydälle tarkoitetussa ohjelmassa on useita merkittäviä käyttöjärjestelmiä, jotka on otettava huomioon, ja satoja – ellei jopa tuhansia – laitteistoeroja, jotka voivat vaikuttaa vakauteen. Yhteensopivuustestiprosessin ja sen tavanomaisten hyötyjen ymmärtäminen voi auttaa takaamaan tehokkaan tuotteen lanseerauksen, jolla voidaan tavoittaa mahdollisimman suuri käyttäjäjoukko.
Vaikka yhteensopivuustestaus voi tarjota monia etuja, on myös lukuisia merkittäviä haasteita, jotka ohjelmistotestausryhmän on voitettava maksimoidakseen tämän tekniikan potentiaalin. Näiden osastojen olisi myös sovellettava tiettyjä käytäntöjä, jotta ne saisivat parhaat tulokset – ja varmistaisivat kattavan testikattavuuden.
Tässä artikkelissa tarkastelemme tarkemmin yhteensopivuustestausta, mukaan lukien keskeiset vaiheet, joita tiimien on noudatettava, sekä tällä hetkellä saatavilla olevat hyödyllisimmät testausvälineet.
Mikä on yhteensopivuustestaus
ohjelmistotestaus ja -tekniikka?
Yhteensopivuustestauksessa tutkitaan ohjelmistoja eri laitteilla, laitteistoilla ja laiteohjelmistoilla sen varmistamiseksi, että ne toimivat tiimin odotusten mukaisesti. Jokainen käyttäjä saattaa käyttää ohjelmaa uudella laitteella, ja siksi on tärkeää, että yritys voi taata, että kaikilla käyttäjillä on samanlainen kokemus. Yhteensopivuustesteissä voidaan esimerkiksi tarkistaa sovelluksen jokainen ominaisuus sen varmistamiseksi, että se toimii kaikissa tärkeimmissä käyttöjärjestelmissä.
Ilman perusteellista yhteensopivuustestausta on täysin mahdollista, että yritys julkaisee sovelluksen, joka ei toimi tietyillä suosituilla laitteilla. Näiden tarkistusten on oltava täysin kattavia, koska ongelma voi ilmetä monella eri tavalla – tämä sovellus ei ehkä toimi esimerkiksi tietyntyyppisellä näytönohjaimella. Kun laadunvarmistusryhmät yhdistetään muihin ohjelmistotestauksen muotoihin, ne voivat varmistaa, että ohjelma on valmis julkaistavaksi.
1. Milloin ja miksi sinun on tehtävä yhteensopivuustestaus mobiilisovelluksille, verkkosivustoille, järjestelmille ja ristiselaimille?
Yritykset suorittavat yhteensopivuustestauksen ohjelmistotestausvaiheessa, erityisesti silloin, kun niillä on ohjelmasta ”vakaa” versio, joka kuvaa tarkasti, miten se käyttäytyy asiakkaille. Tämä jatkuu alfa- ja hyväksymistestauksen sekä muiden testausmuotojen jälkeen, joissa usein etsitään yleistä vakautta ja ominaisuuksiin liittyviä ongelmia. Jos yhteensopivuustestausvaiheessa ilmenee ongelmia sovelluksen kanssa, ne johtuvat yleensä tietyistä yhteensopivuuteen liittyvistä ongelmista. Jos nämä tarkistukset tehdään liian aikaisin, ne voivat käytännössä tehdä niistä tarpeettomia, sillä pienet muutokset myöhemmin ohjelman kehityssyklin aikana voivat vaikuttaa radikaalisti yhteensopivuuteen.
Selainten ja ohjelmistojen yhteensopivuustestaus on tärkeää, koska se auttaa yrityksiä julkaisemaan sovelluksen, jonka ne tietävät toimivan asianmukaisesti lähes kaikilla mahdollisilla laitteilla. Esimerkiksi selaintenvälisen yhteensopivuuden testaaminen auttaa varmistamaan, että Operaa käyttävillä käyttäjillä on sama kokemus kuin Firefoxia ja muita merkittäviä selaimia käyttävillä. Ryhmä testaa yleensä niin monta laitteisto-/ohjelmistovariaatiota kuin sen aika ja budjetti sallivat. Tämä tarkoittaa, että heidän on älykkäästi priorisoitava järjestelmät tai selaimet, joita heidän asiakkaansa todennäköisemmin käyttävät, jotta he voivat taata laajan testauskattavuuden ja elinkelpoisen tuotteen.
2. Kun sinun ei tarvitse tehdä ohjelmistojen yhteensopivuustestausta.
Yritykset saattavat luoda räätälöidyn sovelluksen tiettyä käyttöjärjestelmää tai mallia varten, mikä rajoittaa tarvittavien tarkastusten määrää huomattavasti. Selaintenvälisen yhteensopivuuden testaaminen ohjelmistotestauksessa voi olla tarpeetonta, jos ohjelma ei vaadi esimerkiksi selainta. Aika voi myös olla vakava tekijä yrityksen kyvyssä suorittaa nämä testit, vaikka testausryhmien pitäisi silti pyrkiä varmistamaan, että tärkeimmät järjestelmät ja selaimet ovat yhteensopivia ohjelmiston kanssa. On myös tiettyjä hankkeita, jotka eivät voi hyötyä perusyhteensopivuustesteistä.
3. Kuka osallistuu yhteensopivuustestiin?
Tässä ovat tärkeimmät henkilöt, jotka suorittavat yhteensopivuustestausta ohjelmistotestauksessa:
1. Kehittäjät
Kehitystiimi tarkistaa sovelluksen suorituskyvyn yhdellä alustalla kehityksen aikana, ja tämä voi olla jopa ainoa laite, jolle yritys aikoo julkaista ohjelman.
2. Testaajat
Laadunvarmistusryhmät, joko yrityksen sisällä tai ulkopuolelta palkatut, tarkistavat monia mahdollisia kokoonpanoja osana sovelluksen yhteensopivuustestausvaihetta, mukaan lukien kaikki tärkeimmät käyttöjärjestelmät ja selaimet.
3. Asiakkaat
Yrityksen asiakkailla saattaa olla laitteistoja tai kokoonpanoja, joita tiimi ei pystynyt testaamaan perusteellisesti, jolloin heidän käyttökokemuksensa voi olla ensimmäinen todellinen tarkistus kyseisestä kokoonpanosta.
Yhteensopivuuden testauksen edut
Ohjelmistojen yhteensopivuustestauksen tavanomaisiin etuihin kuuluvat:
1. Laajempi yleisö
Mitä perusteellisemmin tiimi testaa ohjelmistonsa, sitä useammalle laitteelle se voi huoletta julkaista sen ja varmistaa, että laaja yleisö monilla alustoilla voi nauttia sen sovelluksesta. Näin yritykset voivat saada enemmän tuotemyyntiä ohjelmalla ja voivat myös parantaa positiivisten arvostelujen määrää, joita tämä ohjelmisto saa käyttäjiltä.
2. Parantaa vakautta
Ohjelmistotestauksessa yhteensopivuustestaus on olennaisen tärkeää vakauden ja suorituskyvyn ongelmien esiin tuomiseksi, sillä ne voivat usein olla selvempiä eri laitteilla – varsinkin jos kehittäjät ovat suunnitelleet sovelluksen vain yhdelle alustalle. Järjestelmäyhteensopivuustesti osoittaa yritykselle, mitä käyttäjät (useilla eri laitteilla) voivat odottaa ohjelmiston kokonaissuorituskyvyltä.
3. Jalostaa kehitystä
Näillä testeillä on myös merkittäviä pitkän aikavälin vaikutuksia kehitystiimiin. Esimerkiksi mobiiliyhteensopivuuden testaus voi antaa arvokasta tietoa sovelluskehityksestä, jonka yritykset voivat ottaa huomioon luodessaan lisäohjelmia. Tämä voi alentaa huomattavasti yhteensopivuustestien kustannuksia tulevissa hankkeissa, koska näin voidaan hyödyntää tästä prosessista saatuja kokemuksia.
4. Tarkistaa muut testit
Useimmat tähän asti tehdyt testaukset ovat rajallisia, eikä niissä testata kaikkia mahdollisia laitteisto- tai ohjelmistoyhdistelmiä – näillä testeillä voidaan tehokkaasti tarkistaa nämä tulokset. Selaintenvälisen yhteensopivuustestaus esimerkiksi validoi jo olemassa olevat laadunvarmistusvaiheet osoittamalla, että tulokset ovat samat, kun käyttäjällä on eri selain.
5. Vähentää kustannuksia
Yhteensopivuustestaus voi myös alentaa nykyisen ohjelman kustannuksia, sillä se auttaa tiimejä tunnistamaan ongelmat ennen sovelluksen julkista julkaisua – tässä vaiheessa virheiden korjaaminen tulee kalliimmaksi. Mitä monipuolisempia tiimin testit ovat (ja mitä korkeampi testien kattavuusaste on), sitä halvempaa on poistaa mahdolliset virheet heti, kun niitä ilmenee.
Yhteensopivuuden testauksen haasteet
Seuraavassa on lueteltu yleisiä haasteita, joita yritykset voivat kohdata ottaessaan käyttöön yhteensopivuustestauksen ohjelmistotestauksessa:
1. Rajoitettu aika
Vaikka automaatiotyökalut ja muut ratkaisut voivat nopeuttaa yhteensopivuustestejä merkittävästi simuloimalla erilaisia laitteita, prosessin on silti noudatettava yrityksen kehitysaikataulua. Tämä tarkoittaa, että testaustiimin on priorisoitava yleisimmät laitteet ja selaimet, jotta varmistetaan, että ne saavat mahdollisimman laajan (ja runsaslukuisimman) yleisön.
2. Todellisten laitteiden puute
Näissä tarkastuksissa käytetään yleensä virtuaalikoneita, jotka simuloivat todellisten laitteiden komponentteja ja olosuhteita; tämä on paljon halvempaa (ja nopeampaa) kuin hankkia itsenäisesti tarvittavat osat ja alustat. Tämä voi kuitenkin vaikuttaa tulosten tarkkuuteen, varsinkin kun suorituskyky riippuu usein siitä, miten käyttäjät käyttävät todellista laitetta.
3. Vaikea varmistaa tulevaisuutta
Yhteensopivuustestaus voi kohdistua vain jo olemassa oleviin alustoihin, mikä tarkoittaa, että se ei voi taata, että sovellus toimii odotetulla tavalla Windowsin ja Google Chromen tulevissa versioissa. Organisaatiot pystyvät korjaamaan tämän vasta käyttöönoton jälkeen, mikä on usein kalliimpaa, ja sovellus saattaa lopulta vanhentua.
4. Infrastruktuurin ylläpito
Jos tiimi päättää tarkastaa merkittävän määrän alustoja itse, tämä voi johtaa korkeisiin infrastruktuurimaksuihin. Mobiilisovellusten yhteensopivuustestaus voi esimerkiksi edellyttää useiden todellisten mobiililaitteiden hankkimista. Vaikka tämä on tarkempaa kuin simuloitu laitteiston yhteensopivuustestaus, se on kallista ja edellyttää yleensä säännöllistä ylläpitoa.
5. Yhdistelmien suuri määrä
Yhteensopivuuden testauksessa otetaan huomioon monia eri tekijöitä, kuten käyttöjärjestelmä, selain, laitteisto, laiteohjelmisto ja jopa näytön resoluutio. Vaikka testiryhmällä olisi paljon aikaa, olisi käytännössä mahdotonta ottaa huomioon kaikkia mahdollisuuksia. Konfiguraatio- ja yhteensopivuustestauksessa on jälleen asetettava etusijalle todennäköisimmät laiteyhdistelmät.
Yhteensopivuuden testauksen ominaisuudet
Yhteensopivuustestien keskeisiä ominaisuuksia ovat:
1. Perusteellinen
Näillä tarkistuksilla on pystyttävä eristämään mahdolliset yhteensopivuusongelmat laitteiden välillä – tai tiimi saattaa lopulta julkaista virheellisen ohjelman. Näillä tarkistuksilla on esimerkiksi varmistettava, että kaikki sovelluksen ominaisuudet toimivat odotetulla tavalla riippumatta käyttäjän näytön resoluutiosta.
2. Laajentuva
Testeissä olisi säilytettävä tasapaino syvyyden ja laajuuden välillä, jotta tiimit voivat tutkia useita ongelmia useissa laitekokoonpanoissa. Ristiselainyhteensopivuuden testauksessa tarkastellaan laajaa valikoimaa käyttöjärjestelmä- ja selainyhdistelmiä ja varmistetaan korkea kattavuus – joskus automaattisen ratkaisun avulla.
3. Kaksisuuntainen
Tämä prosessi sisältää sekä taaksepäin että eteenpäin yhteensopivuustestauksen; ensin mainitun avulla tiimi näkee, miten heidän sovelluksensa toimii vanhemmissa laitteistoissa. Jälkimmäisen ansiosta tiimi saa käyttöönsä huippuluokan alustoja, mikä auttaa heitä takaamaan menestyksekkään pitkän aikavälin suorituskyvyn, vaikka niiden tulevaisuudensuuntautumisvalmiudet ovatkin melko rajalliset.
4. Toistettava
Näiden tarkistusten paljastamien ongelmien on oltava helposti toistettavissa muille testaajille ja osastoille, mikä osoittaa, että ne heijastavat virheitä, joita käyttäjät todennäköisesti kohtaavat. Jos verkkosivuston yhteensopivuustesti osoittaa, että tietyt ominaisuudet eivät toimi tietyllä selaimella, toistettavuus auttaa kehittäjiä ratkaisemaan ongelman.
Yhteensopivuuden testauksen tyypit
Yhteensopivuuden testauksen päätyypit ovat seuraavat:
1. Yhteensopivuuden testaus taaksepäin
Taaksepäin yhteensopivuuden testaaminen tarkoittaa sovelluksen tarkistamista nykylaitteiston vanhemmilla versioilla – tämä on tärkeää, koska tarkistusten rajoittaminen nykyaikaisiin laitteisiin voi rajoittaa merkittävästi käyttäjien määrää. Monet käyttävät edelleen vanhempia käyttöjärjestelmiä, kuten esimerkiksi Windows 8:aa.
2. Yhteensopivuuden testaus
Yhteensopivuuden testaus on samanlaista, mutta siinä tarkastellaan nykyaikaisia tai tulevia tekniikoita, jotta nähdään, toimiiko sovellus todennäköisesti vielä vuosienkin kuluttua kehityksestä ja päivityksistä huolimatta. Ilman näitä testejä ohjelmisto saattaa jopa lakata toimimasta esimerkiksi seuraavan selainpäivityksen yhteydessä.
3. Selainyhteensopivuuden testaus
Verkkosivuston selainyhteensopivuustesteillä varmistetaan, että verkkosovellus tai -sivusto toimii eri selaimilla; tämä on elintärkeää, koska ne käyttävät erilaisia ulkoasumoottoreita. Laadunvarmistusryhmät testaavat jopa selainten välistä yhteensopivuutta eli tarkistavat, että kukin selain pystyy käsittelemään sovellusta eri käyttöjärjestelmissä.
4. Yhteensopivuuden testaus mobiililaitteille
Mobiilisovellusten testaaminen on samanlainen prosessi kuin työpöytä- ja verkkosovellusten testaaminen, varsinkin kun puhelimen käyttöjärjestelmä on toinen keskeinen tekijä. Esimerkiksi Android- ja iOS-sovellukset ovat täysin erilaisissa muodoissa, ja niiden kehittäminen ja testaus vaatii täysin erillisen kehitys- ja testausprosessin.
5. Laitteiston yhteensopivuuden testaus
Näissä tarkistuksissa tarkastellaan koneen yksittäisiä komponentteja ja sitä, miten ne voivat vaikuttaa ohjelmaan; tämä on kriittistä lähes minkä tahansa laitteen kohdalla. Tietokoneessa voi esimerkiksi olla näytönohjain, joka ei pysty renderöimään verkkosovelluksen käyttöliittymää.
6. Laitteiden yhteensopivuuden testaus
Jotkin sovellukset ovat yhteydessä ulkoisiin laitteisiin Bluetoothin, laajakaistan tai langallisen yhteyden kautta. Sovelluksen on ehkä muodostettava yhteys esimerkiksi tulostimeen. Näillä testeillä pyritään varmistamaan, että ohjelma toimii alustan omien yhteyksien ja kaikkien niiden laitteiden kanssa, joihin se pääsee käsiksi.
7. Verkon yhteensopivuuden testaus
Jos sovellus vaatii verkkotoimintoja toimiakseen – esimerkiksi muodostamalla yhteyden verkkotietokantaan yrityksen palvelimen kautta – tämä edellyttää lukuisia yhteensopivuustarkastuksia. Näin varmistetaan, että ohjelma toimii sopivalla nopeudella Wi-Fi-, 4G- tai 3G-verkkoyhteyden kanssa.
Mitä yhteensopivuustesteissä testataan?
Yhteensopivuuden testaajat tarkistavat yleensä seuraavat asiat:
1. Suorituskyky
Yksi yhteensopivuustestien päätarkoituksista on varmistaa vakaus, sillä jotkin sovelluksen osat voivat olla täysin yhteensopimattomia yleisten alustojen kanssa. Tarkastelemalla ohjelman yleistä reagointikykyä testausryhmä varmistaa, ettei tietyillä laitteilla tapahdu vakavia kaatumisia.
2. Toiminnallisuus
Yhteensopivuuden testauksessa tarkistetaan myös sovelluksen yleiset ominaisuudet ja toiminnot sen varmistamiseksi, että ohjelmisto pystyy tarjoamaan oikeat tulokset. Esimerkiksi asiakassuhteiden hallintajärjestelmä ei ehkä pysty tarjoamaan myyntitietoja tai yleistä analytiikkaa käyttäjille, joilla on vanhentunut käyttöjärjestelmä.
3. Grafiikka
Joillakin selaimilla tai laitteilla voi olla vaikeuksia tiettyjen graafisten elementtien esittämisessä monista eri syistä, ja yhteensopivuustarkastukset voivat auttaa tässä. Ohjelma voi toimia vain tietyillä näytön resoluutioilla, elleivät kehittäjät muuta ohjelman sisällön esittämistapaa.
4. Liitettävyys
Yhteensopivuustesteissä tarkastellaan myös sitä, miten ohjelma integroituu sekä käyttäjän laitteeseen että sen omaan tietokantaan, jolloin se pystyy havaitsemaan laitteet, kuten tulostimet. Nämä tarkistukset voivat esimerkiksi paljastaa, että sovellus ei pysty muodostamaan yhteyttä omaan tietokantaansa 3G-verkoissa.
5. Monipuolisuus
Näillä tarkistuksilla varmistetaan, että yrityksen sovellus on riittävän monipuolinen toimimaan saman käyttöjärjestelmän vanhoissa ja uusissa versioissa taaksepäin- ja eteenpäinyhteensopivuustestien avulla. Näin varmistetaan, että käyttäjät eivät jää pois ohjelmasta, jos heidän ohjelmistonsa on muutaman vuoden vanhentunut.
Yhteensopivuustestien tuotostyypit
Yhteensopivuustestien kolme tärkeintä tulosta ovat:
1. Testitulokset
Näiden tarkastusten yleisin tulos on itse tulokset, jotka voivat olla monessa eri muodossa. Selainyhteensopivuustestaus voi esimerkiksi paljastaa, että verkkosovellus aiheuttaa muistivuodon Microsoft Edge -selaimessa, kun taas Chrome-pohjaisissa selaimissa samasta sovelluksesta ei aiheudu kielteisiä vaikutuksia. Vaihtoehtoisesti sovellus voisi toimia juuri niin kuin tiimi odottaa kyseisillä alustoilla.
2. Testilokit
Testitulokset ilmenevät myös sovelluksen omina lokitiedostoina, jotka tuovat virheilmoitusten avulla esiin kaikki havaitut ohjelmisto-ongelmat. Näistä lokitiedostoista voidaan jopa tunnistaa ohjelman tietty osa, joka aiheuttaa tämän virheen. Erityisesti yhteensopivuustestauksessa testaajien on tunnettava, miten nämä lokit ilmenevät ja miten ne esitetään eri alustoilla.
3. Testitapaukset
Yhteensopivuustestit määrittelevät, mitä testejä tiimi suorittaa, ja tarjoavat tiimille tilaa tulosten kirjaamiseen yksinkertaisessa muodossa. Testaajien tulisi käyttää ohjelmiston tuntemustaan yhdessä tulosten ja lokien kanssa ongelman syyn selvittämiseksi. Mitä enemmän tietoja he antavat, sitä nopeammin kehittäjät voivat aloittaa virheiden korjaukset.
Havaittujen vikojen tyypit
yhteensopivuustestien avulla
Tässä ovat yleisimmät virheet, jotka yhteensopivuustestit voivat tunnistaa:
1. Asettelun skaalaus
Verkkosivuston yhteensopivuustesti voi osoittaa, skaalautuvatko verkkosovelluksen tai jopa verkkosivujen elementit käyttäjän laitteelle, erityisesti näytön resoluutiolle ja koolle. Tämän vuoksi joitakin grafiikoita voi olla vaikea nähdä tietyillä selaimilla.
2. Ohjelmisto kaatuu
Yhteensopivuustestien avulla on helpompi nähdä, voiko sovellus edes toimia joillakin alustoilla. Esimerkiksi pelinkehittäjä voisi selvittää tuotteensa vähimmäisjärjestelmävaatimukset tarkistamalla, mitkä laitteet kaatuvat riittämättömän RAM-muistin ja prosessorin nopeuden vuoksi, kun testaajat käynnistävät pelin.
3. HTML/CSS-validoinnin ongelmat
Eri selaimet ja laitteet lukevat koodia eri tavoin – jotkin niistä korjaavat automaattisesti yksinkertaiset koodauksen kirjoitusvirheet, kuten HTML-tunnisteen sulkematta jättämisen. Selainyhteensopivuuden testauksessa voidaan havaita virheellinen CSS, joka estää sovellusta tuottamasta sisältöään ja jopa perustoimintojaan.
4. Videon toistovirheet
Monet nykyaikaiset videosoittimet käyttävät HTML5:tä videoiden suoratoistoon verkossa, ja tämä voi olla keskeinen osa yrityksen verkkosovellusta. Verkkosivuston selainyhteensopivuuden tarkistavat tiimit saattavat kuitenkin huomata, että heidän sovelluksensa video-ominaisuudet eivät ole yhteensopivia vanhentuneiden selainten kanssa.
5. Tiedoston turvallisuus
Ohjelmistotekniikan yhteensopivuustestaus voi myös löytää ongelmia tiedostojen tietoturvassa ja siinä, miten se vaihtelee laitteiden välillä. Esimerkiksi Windows-käyttöjärjestelmän uusissa versioissa on vahvempi tulo- ja lähtösuojaus. Tämä voi johtaa siihen, että sovellus (kuten virustorjuntaohjelmisto) ei pääse käsiksi laitteen tiedostoihin.
Yhteensopivuuden testausprosessi
Yhteensopivuuden testauksen tavanomaiset vaiheet ovat:
1. Laadi testaussuunnitelma
Kattava testaussuunnitelma on ratkaisevan tärkeä yhteensopivuustestauksen kannalta; laadunvarmistusryhmä voi tarvittaessa viitata siihen tarkastustensa aikana. Siinä on esimerkiksi eriteltävä yksityiskohtaisesti testattavat laitteet ja kriteerit, joiden perusteella testit hyväksytään tai hylätään; on myös määriteltävä, käytetäänkö robottiprosessien automatisointia.
2. Testitapausten määrittäminen
Testitapaukset ovat yhtä tärkeitä, sillä niissä selvitetään tiimien suorittamat erityiset yhteensopivuustarkastukset ja tietyt laitteet, joiden kanssa ne työskentelevät. Se sisältää myös tarkat vaiheet, jotka testaajat suorittavat, ja runsaasti tilaa, jotta he voivat kirjata tulokset ja kaikki tiedot, jotka auttavat kehittäjiä varmistamaan yhteensopivuuden.
3. Testausympäristön luominen
Eristetty ja riippumaton testiympäristö, jossa ei ole ulkopuolisia vaikutteita, on välttämätön tarkkojen testien varmistamiseksi, ja laadunvarmistusryhmä voi myös tunnistaa, mistä heidän havaitsemansa ongelmat johtuvat. Tämän lisäksi testaajat voivat tehdä tarkistuksiaan sovellukseen vaarantamatta ”oikeaa” versiota millään tavalla.
4. Testien suorittaminen
Kun testitapaukset ja -ympäristö ovat täysin valmiit, tiimi voi aloittaa yhteensopivuustestit – jopa automaattisen ratkaisun kanssa heillä on vain rajallinen määrä aikaa. Testaajien on priorisoitava yleisimpiä käyttöjärjestelmiä ja laitekokoonpanoja tämän huomioon ottamiseksi ja varmistettava testien laaja kattavuus näistä rajoituksista huolimatta.
5. Testaa uudelleen
Kun testit on suoritettu ja kehittäjät ovat saaneet testitapaukset, he muuttavat sovellusta siten, että sen yhteensopivuus paranee, vaikka tämä ei välttämättä ole mahdollista kaikissa laitteissa. Tämän jälkeen testaajat tarkistavat sovelluksen uudelleen ja varmistavat, että aiemmin havaittuja ongelmia ei enää ole eikä uusia merkittäviä virheitä ole.
Yhteensopivuuden testauksen yleiset mittarit
Seuraavassa on joitakin yleisiä yhteensopivuustesteissä käytettäviä mittareita:
1. Kaistanleveys
Verkkoyhteensopivuustesteillä mitataan, miten sovellus toimii eri verkkojen, kuten laajakaista- ja mobiilidataverkkojen, kanssa. Ohjelman tavanomaisten tehtävien suorittamiseen ja yhteyden muodostamiseen yrityksen tietokantaan tarvittava vähimmäiskaistanleveys saattaa olla liian suuri esimerkiksi keskimääräiselle 3G-yhteydelle.
2. CPU:n käyttö
Yksi tapa, jolla suorituskykyongelmat ilmenevät, on suhteettoman suuri suorittimen käyttö – tämä voi tarkoittaa, että laite ei yksinkertaisesti täytä ohjelman vähimmäisvaatimuksia. Suoritinongelmat saattavat vaikuttaa myös sovelluksen vasteaikaan, mikä rajoittaa sen toimivuutta ja aiheuttaa niin paljon viivettä, että käyttäjät eivät enää käytä sovellusta.
3. Järjestelmän käytettävyysasteikko
Järjestelmän käytettävyysasteikko on yleinen tapa mitata ohjelman subjektiivisia yksityiskohtia, ja se sisältää kymmenen peruskysymystä sovelluksen käytettävyydestä. Tuloksena saatava SUS-pistemäärä on 100 pistettä, ja se saattaa vaihdella alustasta toiseen graafisten virheiden vuoksi.
4. Vikojen kokonaismäärä
Tämä mittari on vakio useimmissa testaustyypeissä, ja sen avulla testaajat ymmärtävät ohjelman tämänhetkisen kunnon. Tiimin on myös mahdollista vertailla vikojen kokonaismäärää eri alustojen välillä. Näin testaajat voivat tuoda esiin virheet, jotka johtuvat yhteensopimattomuudesta.
5. SUPRQ-pisteet
Samanlainen kuin sovelluksen SUS-pistemäärä, Standardized User Experience Percentile Rank Questionnaire on tapa, jolla testaajat voivat arvioida sovellusta useiden avaintekijöiden, kuten käytettävyyden ja ulkoasun, perusteella. Tämä auttaa heitä tunnistamaan, miten asiakkaat saattavat vaikeuttaa sovelluksen käyttöä tietyillä laitteilla.
7 virhettä ja sudenkuoppaa yhteensopivuustestien toteuttamisessa
Seuraavassa on seitsemän merkittävää virhettä, joita on syytä välttää yhteensopivuustestauksessa:
1. Todellisten laitteiden puute
Vaikka olisi mahdotonta testata kaikilla mahdollisilla laiteyhdistelmillä, testausryhmä voi silti hyötyä siitä, että se käyttää mahdollisimman monia oikeita laitteita. Useat alustat tarjoavat ”oikeita” laitteita pilviratkaisujen kautta, jotta selaintenvälistä yhteensopivuustestausta voidaan helpottaa niin, että se vastaa natiivia suorituskykyä.
2. Vanhojen laitteiden välttäminen
Monet käyttäjät käyttävät sovelluksiaan edelleen vanhemmilla Windows- tai iOS-versioilla; keskittyminen pelkästään suosittujen laitteiden ja käyttöjärjestelmien uusiin versioihin voi rajoittaa tuotteen tavoittavuutta. Jos tiimi ei laajenna testejään ”vanhentuneisiin” laitteisiin, merkittävä osa yleisöstä saattaa joutua vaikeuksiin ohjelman käytön kanssa.
3. Ajan huono hallinta
Yhteensopivuustestiä vaativien laitteiden ja kokoonpanojen määrä on usein suuri, joten tiimin on hallittava aikansa niin, että se voi tarkistaa mahdollisimman monta näistä laitteista ja kokoonpanoista. Tämä on tärkeää, koska testit ovat tyypillisesti vielä kesken lähellä kehityksen loppuvaihetta; huono hallinnointi voi rajoittaa tarkastusten määrää huomattavasti.
4. Virheellinen aikataulutus
Samoin on ensiarvoisen tärkeää, että tiimit varmistavat, että ne suorittavat nämä testit kohtuullisessa vaiheessa ohjelman kehitystä, mieluiten alfatestien ja useimpien toiminnallisten testien jälkeen. Näin on helpompi nähdä, onko ongelma yleinen vai tiimin tarkastelemien laitteiden erityinen vika.
5. Näytön resoluutiota ei oteta huomioon
Näytön resoluutio voi olla paljon suurempi tekijä yhteensopivuuden kannalta kuin monet testausryhmät tunnistavat – varsinkin kun se on muokattavissa ja vaikuttaa siihen, miten laite näyttää graafiset elementit. Vaikka yhteensopivuustestien määräaika lähestyy, on tärkeää, että testausryhmät pyrkivät ottamaan tämän huomioon strategiassaan.
Asiantuntemuksen puute
Testaajien on oltava erittäin taitavia, jotta he voivat tarkistaa verkkosivuston, selaimen ja ohjelmiston yhteensopivuuden monien muiden testien lisäksi. Jos testauspäällikkö määrää yhden tiiminsä jäsenistä suorittamaan yhteensopivuustarkastuksia, vaikka hänellä ei ole riittävästi kokemusta, tämä voi hidastaa testejä ja rajoittaa niiden tarkkuutta.
6. Ei aiempaa keskustelua
Koska yhteensopivuustestit ovat usein aikaa vieviä (ja vaativat mahdollisesti laajan laitevalikoiman), tiimien on määriteltävä tarkastustensa laajuus jo laadunvarmistusvaiheessa. Heillä on esimerkiksi oltava selkeä käsitys siitä, mitä laitteita tai kokoonpanoja he aikovat testata ennen tarkastusten aloittamista.
Yhteensopivuuden testauksen parhaat käytännöt
Parhaita tapoja varmistaa laadukkaat yhteensopivuustestit ovat:
1. Testaa koko kehityksen ajan
Koska ohjelmistot muuttuvat merkittävästi viikosta toiseen, tämä voi vaikuttaa siihen, kuinka yhteensopiva ohjelma on sen käyttötarkoituksen mukaisten laitteiden kanssa. Tiimien on toistuvasti testattava ohjelmistojen ja selainten yhteensopivuutta varmistaakseen, että sovellus toimii edelleen hyvin näillä alustoilla kehitysmuutosten jälkeen.
2. Käytä oikeita laitteita
Jotkin yhteensopivuustestityökalut tarjoavat pääsyn ”oikeisiin” simuloituihin laitteisiin, jotka pystyvät muistuttamaan hyvin paljon kyseisen alustan käyttäjäkokemusta. Näin voit varmistaa yhteensopivuuden useammalla laitteella ja säilyttää samalla korkean tarkkuuden tason, jota ei ole tietyissä automaattisissa ratkaisuissa.
3. Testien priorisointi
Koska aikaa näiden tarkistusten tekemiseen on rajoitetusti, yhteensopivuustestaajat saattavat joutua priorisoimaan yleisimmät laitteet, selaimet ja käyttöjärjestelmät. Vastaavasti testausryhmän olisi tarkastettava ensin ohjelmiston kriittisimmät ominaisuudet, jotta voidaan taata perustoiminnallisuus näissä laitteissa.
4. Ketterien tekniikoiden integrointi
Jotkin yritykset valitsevat yhteensopivuustesteissään sprinttipohjaisen lähestymistavan, jonka avulla ne voivat helposti saavuttaa testauksen välitavoitteet – kuten tietyn laitemäärän tarkistamisen. Ketterä lähestymistapa edistää osastojen välistä viestintää ja tarjoaa samalla kiinteän testirakenteen, jolla voidaan taata johdonmukainen ja nopea parantaminen.
5. Rajoita testauksen laajuutta
Laadunvarmistusryhmien on tiedettävä, milloin testit on lopetettava ja jopa hyväksyttävä yhteensopimattomuus. Tässä tapauksessa kehittäjä ei välttämättä muuta ohjelmistoa, vaan voi sen sijaan muuttaa vähimmäisvaatimuksia, jos sitä on liian vaikea kiertää korjaamalla virheitä.
Esimerkkejä yhteensopivuustestitapauksista ja -skenaarioista
Yhteensopivuustestitapauksissa määritellään testausryhmän panokset, testausstrategia ja odotetut tulokset, joita verrataan todellisiin tuloksiin. Koska tarkastukset kattavat monia laitteita ja kokoonpanoja, tämä on usein laaja prosessi.
Tällaisia tapauksia ovat yleensä:
– Testaa, että verkkosovelluksen HTML-näytöt näkyvät oikein.
– Tarkista, että ohjelmiston JavaScript-koodi on käyttökelpoinen.
– Katso, toimiiko sovellus eri resoluutioilla.
– Testaa, että ohjelma voi käyttää tiedostohakemistoa.
– Varmista, että sovellus muodostaa yhteyden kaikkiin käyttökelpoisiin verkkoihin.
Seuraavassa on erityisiä esimerkkejä yhteensopivuustestauksesta eri ohjelmien ohjelmistotestauksessa:
1. Sosiaalisen verkostoitumisen sovellus
Sosiaaliset verkostot ovat yleensä verkkosovelluksia selaimissa ja mobiilisovelluksia vastaavissa laitteissa; molemmat vaativat yhtä perusteellista testausta. Esimerkiksi mobiilisovelluksen on oltava täysin toimiva vähintään iOS- ja Android-laitteissa – tiimi tarkistaa vanhat ja uudet laitteet kussakin käyttöjärjestelmässä. Jos esimerkiksi tietty iPhone-malli ei pysty renderöimään animoituja GIF-tiedostoja, tiimin on selvitettävä, mistä tämä johtuu, jotta käyttäjäkokemus olisi yhdenmukainen.
2. Videopeli
Videopelit tarjoavat yleensä mukautettavia graafisia vaihtoehtoja, joita käyttäjät voivat muuttaa koneelleen sopiviksi; tähän sisältyy näytön resoluution säätäminen ja käyttöliittymän skaalautuminen sopivaksi. Tietyt ongelmat voivat ilmetä pelaajan laitteistosta riippuen – esimerkiksi antialiasing-virheet johtavat rakeiseen grafiikkaan. Tämä voi johtua yleisestä näytönohjaimesta, joka ei ole yhteensopiva yrityksen tekstuurien renderöinnin kanssa. Tarkasta ongelmasta riippuen tämä saattaa ilmetä jopa järjestelmän kaatumisena, kun peli käynnistetään tietyillä laitteilla.
3. CRM-pilvipalvelujärjestelmä
Asiakassuhteiden hallintaratkaisuissa käytetään runsaasti tietokantoja, jotta voidaan hakea tietoja liiketoimista, myyjistä ja muista liiketoiminnan tärkeistä osa-alueista pääasiassa pilvitallennuksen avulla. Testaajien on varmistettava, että tietokanta ja sen pilvipalvelut toimivat eri verkoissa, myös 3G- ja 4G-verkoissa, jos käyttäjän on käytettävä sitä ilman internet-yhteyttä. Ryhmän on myös tarkastettava laaja valikoima käyttöjärjestelmiä, sillä tietyt häiriöt saattavat esiintyä esimerkiksi vain Linux-laitteissa.
Manuaaliset vai automaattiset yhteensopivuustestit?
Automatisoinnista voi olla paljon hyötyä yhteensopivuustesteissä, sillä sen avulla tiimit voivat tarkistaa suuren määrän laitteita paljon nopeammin kuin manuaalisesti. Manuaalinen testaus saattaa kuitenkin olla tarkoituksenmukaisempaa, kun tarkastukset tehdään rajoitetulla määrällä selaimia ja laitteita – esimerkiksi videopeli, joka on saatavilla vain kahdella alustalla. Ohjelmiston käytettävyys on usein keskeinen tekijä yhteensopivuustesteissä, ja se edellyttää yleensä ihmisen näkökulmaa, jonka avulla voidaan paremmin havaita graafisen renderöinnin ongelmat. Robottiprosessien automatisointi voi auttaa tässä toteuttamalla ohjelmistorobotteja, jotka voivat helpommin jäljitellä ihmiskäyttäjän lähestymistapaa yhteensopivuustesteissä.
Kun ohjelmat on suunniteltu useille eri laitteille, kuten mobiili- ja verkkosovellukset, tiimi voi automaation avulla varmistaa laajemman testikattavuuden. Ne voisivat jopa käyttää hyperautomaatiota näiden tarkastusten älykkääseen ulkoistamiseen siten, että inhimilliset testaajat voivat silti tarkastaa alustat käyttäjäkohtaisten toimintojen varalta. Yhteensopivuuden testaus manuaalisessa testauksessa on edelleen pakollista joissakin tehtävissä – esimerkiksi sen tarkistamisessa, että käyttöliittymä näkyy oikein kaikilla laitteilla. Tämä tarkoittaa, että paras lähestymistapa voisi olla yhdistelmästrategia, jossa voidaan testata useampia laitteita automatisoimalla ja nopeuttamalla testausta samalla kun otetaan huomioon käytettävyyden merkitys.
Mitä tarvitset yhteensopivuustestien aloittamiseen?
Yhteensopivuuden testauksen tärkeimpiä edellytyksiä ovat yleensä seuraavat:
1. Pätevä testaushenkilöstö
Yhteensopivuuden testaajilla on yleensä korkeammat ammattitaitovaatimukset kuin muilla laadunvarmistuksen aloilla, koska he tarkastavat laajemman valikoiman laitteita ja kohtaavat usein enemmän virheitä. Tähän voi kuulua ongelmanratkaisu, viestintä ja yksityiskohtien huomioiminen. Ryhmänjohtajien olisi nimettävä testaajia, joilla on kokemusta saman sovelluksen tutkimisesta useilla alustoilla.
2. Vahva laiteemulointi
Voi olla vaikeaa hankkia ja testata jokaista fyysistä laitetta tiimin toimialueella, joten emulointi on välttämätöntä, jotta voidaan nähdä, miten eri alustat reagoivat samaan ohjelmaan. Tämä prosessi on harvoin täydellinen, ja testaajien on tarkasteltava monia saatavilla olevia emulaattoreita ja automatisoituja testaustyökaluja nähdäkseen, mikä niistä tarjoaa suurimman tarkkuuden.
3. Selkeä testauksen laajuus
Ryhmällä olisi oltava käsitys siitä, mikä on sen toiminnan laajuus ennen tarkastusten aloittamista, varsinkin kun tämä voi ratkaista työskentelytahdin. Vaikka ohjelmalla voidaan pyrkiä kattamaan useita alustoja, testaajien olisi määriteltävä sopiva raja-arvo. Esimerkiksi ennen Windows 7:ää julkaistujen käyttöjärjestelmien testaaminen saattaa johtaa pieneneviin tuottoihin.
4. Ajanhallinta
Yhteensopivuuden testaaminen voi tapahtua missä tahansa laadunvarmistusvaiheessa, mutta yleensä se tehdään vasta kehityksen lopussa, kun ohjelma on vakaa ja ominaisuuksiltaan valmis. Testaajien olisi kuitenkin pohdittava yhteensopivuutta jo kauan ennen tätä, sillä se on usein aikaa vievää. Tiivis etukäteissuunnittelu auttaa tiimiä varmistamaan, että heillä on riittävästi aikaa jokaiseen tarkastukseen.
Yhteensopivuuden testaus
tarkistuslista, vinkit ja niksit
Seuraavassa on muita vinkkejä, jotka laadunvarmistusryhmien on pidettävä mielessä yhteensopivuustestejä suorittaessaan:
1. Älä tavoittele absoluuttista kattavuutta
Vaikka jokaisen testausstrategian tavoitteena on maksimoida testien kattavuus, ne yleensä pysähtyvät ennen 100 prosentin kattavuuden saavuttamista, koska tuotot vähenevät, kun vain harvat käyttäjät saavat vain vähäisiä parannuksia. Yhteensopivuuden osalta tiimien olisi ymmärrettävä, milloin liian harvat asiakkaat käyttäisivät laitetta, jotta nämä tarkistukset olisivat kannattavia.
2. Priorisoi selaintenväliset yhdistelmät
Selainten välisen yhteensopivuuden testauksessa tarkistetaan, että kukin selain on yhteensopiva eri käyttöjärjestelmien kanssa. Testaajien on käytettävä kattavia analyysejä yleisöstään määrittääkseen, mitkä ovat suosituimpia molemmista, ja käytettävä tätä lähestymistapansa ohjaamiseen. Ne saattavat jopa laatia selainyhteensopivuusmatriisin, jossa määritetään näiden tarkistusten laajuus ja niiden erilaiset kokoonpanot.
3. Tarkista ulkoasu
Yhdenmukaisen käyttökokemuksen varmistaminen on yhteensopivuustestauksen ydin, ja näiden tarkistusten on mentävä syvemmälle kuin sen selvittäminen, toimivatko ohjelman ominaisuudet eri laitteilla. Ryhmien tulisi myös tarkistaa ohjelmiston yleinen ulkoasu, mukaan lukien lomakkeiden tai taulukoiden kohdistus, sekä ohjelman CSS- ja HTML-formaattien eheys.
4. Tarkista API:t
Sovellusohjelmointirajapinnat ovat keskeinen osa sitä, miten selaimet lukevat sovelluksia, joten ne ovat elintärkeitä tiimin selaintenvälisen yhteensopivuustestin kannalta. Eri selaimilla on omat API-kutsunsa, ja niiden päivitykset voivat vaikuttaa yhteensopivuuteen. Testaajien on tarkistettava nämä säännöllisesti, vaikka yritys käyttäisikin samanlaista API:ta jokaisessa ohjelmassa.
5. Tutki SSL-sertifikaatti
SSL-varmenteet parantavat selaimen tietoturvaa salaamalla verkkoliikenteen ja antamalla käyttäjille mahdollisuuden hyödyntää HTTPS-protokollia. Verkkosivuston tai verkkosovelluksen varmenne voi olla yhteensopimaton tiettyjen selainten kanssa. Tämä tarkoittaa, että testaajien on validoitava varmenne kaikilla tärkeimmillä alustoilla, jotta käyttäjät voivat olla varmoja verkkosivuston käytöstä.
6. Validoi videosoittimet
Videota näyttäviä ohjelmia, kuten suoratoistopalveluja tai mainoksilla tuettuja freemium-mobiilipelejä, olisi testattava sen varmistamiseksi, että videot näkyvät kaikilla tarkoitetuilla laitteilla. Monissa sovelluksissa nämä tarkistukset koskevat sekä työpöytä- että mobiililaitteita, ja niissä voidaan tarkastella videon laatua, nopeutta ja kuvataajuutta.
5 parasta yhteensopivuustestityökalua ja -ohjelmistoa
Tehokkaimpia ilmaisia ja maksullisia työkaluja yhteensopivuuden testaamiseen ovat muun muassa seuraavat:
1. ZAPTEST Free & Enterprise Edition
ZAPTEST tarjoaa erinomaiset toiminnot sekä ilmaisessa että maksullisessa (Enterprise) versiossaan, mikä auttaa kaikenkokoisia (tai -budjetin) yrityksiä yhteensopivuustarkastuksissa. Yritykset, jotka valitsevat ZAPTESTin Enterprise-version, voivat jopa saada jopa 10-kertaisen tuoton alkuperäisistä investoinneistaan. Ratkaisun 1SCRIPT-ominaisuus on erityisesti sovitettu yhteensopivuustestaajien tarpeisiin, ja sen avulla he voivat suorittaa täsmälleen samat testit useilla alustoilla muuttamatta koodia. Lisää uusimmat RPA-toiminnot ilman lisäkustannuksia, ja saat yhden luukun automatisointiratkaisun kaikkiin tehtäviin.
2. LambdaTest
LambdaTest käyttää pilvipohjaista lähestymistapaa 3 000 automatisoidun laitteen toimittamiseen – tosin keskittyen erityisesti verkkoselaimiin, mikä saattaa rajoittaa tämän ratkaisun tehokkuutta tietyissä ohjelmissa. Alusta on erikoistunut jatkuvaan testaukseen ja integroi laadunvarmistusprosessin tiiviimmin kehitystyöhön. Tämän sovelluksen tarkistusten avulla käyttäjät voivat myös asettaa resoluutionsa, mikä helpottaa selaintenvälistä yhteensopivuustestausta huomattavasti. Tämä ratkaisu tarjoaa freemium-mallin, joka tosin sisältää rajoitettuja testejä ilman päivityksiä eikä oikeita laitteita.
3. BrowserStack
Samoin kuin LambdaTest, BrowserStack tarjoaa pääsyn 3 000 todelliseen laitteeseen; heidän luettelossaan on myös vanhoja ja beta-vaihtoehtoja selaimille. Vaikka ihmiset päivittävät selaimensa todennäköisemmin kuin käyttöjärjestelmänsä, monet saattavat silti käyttää vanhempia versioita – BrowserStack ottaa tämän huomioon. Käyttäjät voivat myös tehdä geopaikannustestejä nähdäkseen, miltä verkkosivustot ja verkkosovellukset näyttävät eri maissa. Ilmaisia tai freemium-vaihtoehtoja ei kuitenkaan ole, ja todellisten laitteiden testaus voi olla hidasta.
4. TestGrid
TestGrid mahdollistaa rinnakkaisen testauksen, jolloin tiimit voivat tarkistaa useita yhdistelmiä samanaikaisesti prosessin nopeuttamiseksi. Ratkaisu integroituu myös hyvin testaus- ja kehitystyönkulkuun – se voi helpottaa ketterää lähestymistapaa muodostamalla keskeisen osan osaston sprinttejä. TestGridillä on kuitenkin joskus vaikeuksia yhteyden muodostamisessa pilvilaitteisiin ja selaimiin. Tämän lisäksi ohjelma on melko rajallinen kuormitustestauksen, dokumentoinnin ja uusien laitteiden lisäämisen osalta.
5. Browsera
Browsera keskittyy pääasiassa verkkosivustojen testaamiseen sen varmistamiseksi, että ne näkyvät oikein eri laitteilla, selaimilla ja käyttöjärjestelmillä. Koska kyseessä on pilvipohjainen lähestymistapa, laadunvarmistusryhmien ei tarvitse asentaa tätä virtuaalista testauslaboratoriota laitteisiinsa. Browsera voi myös vertailla tuotoksia, jotta se voi älykkäästi havaita ulkoasuun liittyviä ongelmia ja JavaScript-virheitä, jotka jopa inhimilliseltä testaajalta saattavat jäädä huomaamatta. Browsera ei kuitenkaan tue useita yleisiä selaimia, kuten Operaa, ja se tarjoaa vain perustestitoiminnot ilmaiseksi.
Päätelmä
Yhteensopivuustestaus on kriittinen osa onnistunutta laadunvarmistusstrategiaa, sillä sen avulla tiimit voivat validoida sovelluksensa useilla eri laitteilla. Jos yritykset eivät käytä tätä tekniikkaa, ne eivät välttämättä tiedä, että niiden ohjelmisto toimii suurelle osalle kohderyhmästä vasta lanseerauksen jälkeen. Tämä maksaa paljon aikaa ja rahaa verrattuna julkaisua edeltävään testaukseen, ja ZAPTESTin kaltaiset sovellukset voivat virtaviivaistaa tätä prosessia entisestään. 1SCRIPT:n ja monien muiden ilmaiseksi saatavilla olevien ominaisuuksien, kuten rinnakkaistestauksen, ansiosta ZAPTESTin valitseminen testaustyökaluksi voi muuttaa minkä tahansa projektin ja antaa tiimeille täydellisen luottamuksen sovellukseensa.