UniTESK-tekniikka
Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 22. joulukuuta 2020 tarkistetusta
versiosta . vahvistus vaatii
1 muokkauksen .
UniTESK (Unified Testing & Specification ToolKit) on Venäjän tiedeakatemian järjestelmäohjelmointiinstituutissa kehitetty tekniikka ohjelmistojen ja laitteistojen testaamiseen muodollisiin määrityksiin perustuen . Tekniikka on yhdistelmä vakiintuneita tekniikoita, joita voidaan soveltaa erilaisissa yhdistelmissä toisiinsa yhdistäen ja vahvistaen toisiaan. Tämä tekee tekniikasta joustavan ja mukautettavan olemassa oleviin kehitysprosesseihin ohjelmistokehityksen elinkaaren kaikissa vaiheissa vaatimusten keräämisestä ja analysoinnista ylläpitoon.
Testattavan järjestelmän toiminnan oikeellisuudesta päätettäessä ovat lähtökohtana sopimusspesifikaatiot esi- ja jälkiehtojen muodossa , jotka on kirjoitettu perinteisten ohjelmointikielten , kuten C :n , Javan , laajennuksilla ja jotka mahdollistavat tuomion täysin automaattisesti. Tekniset tiedot ovat esitys järjestelmän toiminnallisista vaatimuksista. Eritelmien muoto ja niihin perustuvat kattavuuskriteerit varmistavat vaatimusten jäljitettävyyden .
Käytännössä onnistuneesti käytetyt tekniikat tilagraafien läpikulkuun perustuvien testien konstruoimiseksi voivat merkittävästi minimoida manuaalisesti luodun ohjelmakoodin määrän ja samalla varmistaa testijoukon monimuotoisuuden ja massiivisuuden.
Tietojen abstraktiotekniikat ja vaatimuksiin perustuvat kattavuuskriteerit mahdollistavat joustavan testijoukon koon hallinnan ja suoran generoinnin tiettyjen vaatimusten täyttämiseksi, mikä minimoi testijoukon suoritusajan.
Tekniikassa saatavilla oleva erityinen välikerros mahdollistaa testipaketin nopean räätälöinnin erilaisille toteutuksille samalla toiminnallisuudella.
Kaikki nämä tekniikat tarjoavat korkealaatuisen testauksen, vaatimusten jäljitettävyyden ja testaussarjan komponenttien korkean tason uudelleenkäytön vähäisellä manuaalisella työllä ja hyväksyttävällä testin suoritusajalla.
Technology Steps
Testattavan järjestelmän osan määritelmä
Tässä vaiheessa määritetään testattava toiminnallisuus eli osa tarkasteltavana olevan järjestelmän ominaisuuksista, joka on testattava, ja testattu käyttöliittymä eli tapa päästä testattuihin ominaisuuksiin.
Testattavan järjestelmän vaatimusten määrittely ja analysointi
Kaiken syöttötiedon
analysoinnin , yhteydenpidon asiakkaan, asiantuntijoiden ja käyttäjien kanssa tunnistetaan ja systematisoidaan testattavan järjestelmän vaatimukset. Ne esitetään edelleen muodollisen mallin muodossa.
Testauksen täydellisyyttä koskevien vaatimusten määrittely ja analysointi
Testauksen täydellisyyskriteerit on eritelty, jotka näkyvät muodollisessa mallissa.
Testin kehitys
Testitietolähteiden ja testausmallin kehittäminen yleisesti.
Perustekniikat .
Äärillisten joukkojen luettelointi, yhdistelmien luettelointi, raja-arvojen ja niitä lähellä olevien arvojen luettelointi, solmu- ja läheisten arvojen luettelointi, kieliopillisten rakenteiden luettelointi modulaarisilla generaattoreilla, luettelointi suodatuksella, määritettyjen graafien ja sekvenssien luettelointi.
Äärilliset automaatit, nimetyt siirtymäjärjestelmät, automaatiomallien implisiittinen esitys, monimutkaisten mallien kerros kerrokselta testaus.
Kehitetään sovittimia, jotka sitovat testit testattavaan toteutukseen
Virheenkorjaus ja testien suorittaminen
Testitulosten analyysi
Luontihistoria
- Vuonna 1994 Venäjän tiedeakatemian järjestelmäohjelmoinnin instituutti (ISP RAS) kehitti Nortel Networksin kanssa tehdyn sopimuksen mukaisesti metodologian ja työkalut sovellusohjelmarajapintojen (API) testauksen automatisoimiseksi . Metodologian ensimmäinen käytännön sovellus oli reaaliaikaisen käyttöjärjestelmän ydin.
- Vuosina 1994-1999 ISP RAS loi ja asensi useita versioita KVEST-1-teknologiasta Nortel Networksiin.
- Vuosina 1998-1999 KVEST-2-teknologian luominen saatiin päätökseen.
- Vuonna 2000 KVEST-teknologiaa mukautettiin käytettäväksi C- ja C++- projekteissa .
- Vuonna 1999 ISP RAS alkoi kehittää uuden sukupolven varmennustekniikkaa - UniTESK (Unified Testing & Specification ToolKit).
Sovellus käytännössä
Teknologiaa on käytetty menestyksekkäästi monissa projekteissa. Kiinnostavin:
- Avaa Linux VERification ( OLVER ) (vuodesta 2005);
- VimpelComin integraatio- ja laskutuskomponenttien testaus ( vuodesta 2007);
- IPv6 -protokollan mobiilitoteutuksen testaus (2002-2003, 2 henkilötyövuotta);
- Object Broker -testaus (2000, 1 henkilötyövuosi);
- ATM Framework -komponenttien testaus (1999-2000, 6 henkilötyövuotta);
- Sovellustukijärjestelmän testaus ja uudelleensuunnittelu (1998-1999, 2 henkilötyövuotta);
- Käyttöjärjestelmän ytimen testaus (1994-1997, 25 henkilötyövuotta).
Instrumentaalinen tuki
- CTESK on C -kielellä toteutettujen ohjelmistojen testaustyökalu .
- CTESK Community Edition on ilmainen, täysin toimiva versio CTESK-työkalusta Linux -alustalle .
- JavaTESK on Java-kielellä toteutettujen ohjelmistojen testaustyökalu .
- C++TESK on työkalu C++-kielellä toteutettujen ohjelmistojen sekä synkronisten digitaalisten laitteiden mallien testaamiseen laitteiston kuvauskielillä .
- Pinery - suunniteltu tuottamaan monimutkaisen rakenteen testidataa kielioppimuotoisten kuvausten perusteella (sellaisia kuvauksia ovat esimerkiksi BNF , säännölliset lausekkeet , DTD jne.).
- OTK (Optimizer Testing Kit) on työkalu ohjelmistojärjestelmien testaamiseen, jotka toimivat monimutkaisen rakenteen omaavien tietojen kanssa. OTK:n käyttö on tehokkainta testattaessa kääntäjiä tai muita muodollisia tekstinkäsittelyjärjestelmiä. OTK:ssa pääpaino on erilaisten syöttötestitietojen rakentamisessa.
- SynTESK (Syntax Testing Kit) on työkalu muodollisten kielten jäsentimien (jäsentimien) testaamiseen. SynTESKin avulla voit tarkistaa jäsentimen toteutuksen ja tietyn muodollisen kielen määrittelyn yhteensopivuuden, eli että jäsentäjä tunnistaa tämän tietyn muodollisen kielen.
- MicroTESK (Microprocessor Testing Kit) on työkalu mikroprosessorien ja muiden ohjelmoitavien laitteiden testiohjelmageneraattoreiden automaattiseen kehittämiseen.
Kirjallisuus
- Kuljamin V. V. . Testin kattavuuskriteerit sopimuseritelmien rakenteesta // Proceedings of ISP RAS, UniTESK Approach: Results and Perspectives. 14(1):89-107, 2008 [1]
- Grinevich A. I. , Kulyamin V. V. , Markovtsev D. A. , Petrenko A. K. , Rubanov V. V. , Khoroshilov A. V. Formaalisten menetelmien käyttäminen ohjelmistostandardien noudattamisen varmistamiseksi // Proceedings of ISP RAS, Provision reliability and compatibility of Linux systems. 10:51-68, 2006 [2]
- Burdonov I. B. , Kosachev A. S. , Kuljamin V. V. Ei-redundantit suunnatut graafin läpikulkualgoritmit: epädeterministinen tapaus //Ohjelmointi. 30(1):2-17, 2004 [3]
- Burdonov I. B. , Kosachev A. S. , Kuljamin V. V. Äärillisten koneiden käyttö ohjelmien testaamiseen //Ohjelmointi. 26(2):61-73, 2000 [4]
- Bourdonov I. , Kossatchev A. , Kuliamin V. ja Petrenko A .. UniTesK Test Suite Architecture // Proc. FME 2002. LNCS 2391, s. 77-88, Springer-Verlag, 2002. ISBN 3-540-43928-5
- Bourdonov IB , Demakov AV , Jarov AA , Kossatchev AS , Kuliamin VV , Petrenko AK ja Zelenov SV . Java-määritysten laajennus automatisoituun testikehitykseen //Proceedings of PSI'2001. Novosibirsk, Venäjä, 2.–6. heinäkuuta 2001. LNCS 2244:301-307, Springer-Verlag, 2001. ISBN 978-3-540-43075-9 [5] (linkki ei ole käytettävissä)
- Bourdonov I. , Kossatchev A. , Petrenko A. ja Galter D .. KVEST: Automaattinen testipakettien luominen muodollisista määrityksistä //FM'99: Muodolliset menetelmät. LNCS 1708, Springer-Verlag, 1999, ss. 608-621. ISBN 3-540-66587-0 [6] (linkki ei saatavilla)
Linkit