REST-rajapinnan testauksen kattavuuden mittaaminen |
|
Author: | Pajukangas, Jukka1 |
Organizations: |
1University of Oulu, Faculty of Information Technology and Electrical Engineering, Computer Science |
Format: | ebook |
Version: | published version |
Access: | open |
Online Access: | PDF Full Text (PDF, 2.1 MB) |
Pages: | 94 |
Persistent link: | http://urn.fi/URN:NBN:fi:oulu-202006242650 |
Language: | Finnish |
Published: |
Oulu : J. Pajukangas,
2020
|
Publish Date: | 2020-06-30 |
Thesis type: | Master's thesis (tech) |
Tutor: |
Röning, Juha |
Reviewer: |
Röning, Juha Leppänen, Teemu |
Description: |
Tiivistelmä Internetin kautta käytettävien sovellusten kasvattaessa suosiotaan ja merkittävyyttään yhteiskunnassa on myös olemassa olevien web-rajapintojen määrä kasvanut. Representational State Transfer (REST) -ohjelmistoarkkitehtuurityyli on noussut suosituksi tavaksi toteuttaa web-rajapintoja. REST-pohjaisille rajapinnoille on kehitetty useita kuvauskieliä, joista suosituimmaksi on noussut OpenAPI-spesifikaatio (OAS). Ohjelmistotestaus nähdään usein todella kriittisenä osa-alueena ohjelmistokehitystä, joten myös REST-pohjaisten rajapintojen testaamiseen on kehitetty erilaisia testaustyökaluja. Tässä työssä luotiin työkalu REST-pohjaisten rajapintojen testauksen kattavuuden mittaamiseen. API Specification Coverage tool (ASC) analysoi rajapinnan testauksen kattavuutta käyttämällä hyväkseen OAS:n mukaista rajapinnan kuvaustiedostoa ja testauksen aikana tallennettua verkkoliikennettä. ASC pystyy myös etsimään epäyhteneväisyyksiä rajapinnan kuvaustiedoston tapahtuneen verkkoliikenteen välillä, mikä voi paljastaa mahdollisia ongelmakohtia rajapinnan kuvauksessa, toteutuksessa tai testauksessa. Työssä testattiin viittä erilaista OAS:n mukaisia rajapintoja automaattisesti testaavaa työkalua. Työkaluja testattiin rakennetun testijärjestelyn avulla, jossa työkalujen testisuorituksia valikoituja rajapintoja kohtaan evaluoitiin ASC:n avulla. Työkalujen tuottamaa testausta vertailtiin kattavuuden ja löytyneiden rajapinnan kuvauksen ja verkkoliikenteen epäyhteneväisyyksien määrän näkökulmasta. Testien tuloksien analysoinnissa havaittiin työkalun Schemathesis tuottavan parhaimpia tuloksia useimmissa tilanteissa. Measuring test coverage of REST API Abstract With web-based applications having increased popularity and significance in society, also amount of existing web APIs (Application Programming Interface) has increased. Representational State Transfer (REST) software architectural style has become popular for creating web APIs. Several description languages for REST APIs have been developed, and most popular amongst them has been OpenAPI Specification (OAS). Software testing is often seen as critical part of the software testing, so there also exists different tools dedicated to REST API testing. This thesis contributed a tool for REST API test coverage measurement. API Specification Coverage tool (ASC) analyses coverage of API testing by using OpenAPI document of API and traffic captured during testing effort. ASC is also able to search for inconsistencies between API description and traffic during test effort, which may uncover possible sticking points in API description, implementation or testing. This work inspected five different tools dedicated to automated API testing of OpenAPI-conformant APIs. Tools were tested in test setup built in this thesis, which utilized ASC for evaluation of test runs made against selected set of test targets. Testing generated by tools were compared by examining results from viewpoint of coverage and amount of inconsistencies between test traffic and API description. Analysis of results revealed that tool named Schemathesis produced best results in most of the situations. see all
|
Subjects: | |
Copyright information: |
© Jukka Pajukangas, 2020. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited. |