Språk (WSDL) (Haas & Brown, 2004)...................................................................................................... I samband med SOA kan webbtjänster implementeras och ägas av en organisation, och publiceras som en oberoende resurs som konsumeras av andra organisationer. För att genomföra komplexa applikationer måste webbtjänster orkestreras löst för att uppfylla ett affärsmål (Peltz, 2003; Sun, Khoury, & Aiello, 2011). Låt oss överväga ett e-bokstore system konstruerat av flera webbtjänster. Bland dem är en webbtjänst ansvarig för den elektroniska betalningen. Vanligtvis är en sådan webbtjänst utvecklas och ägs av en tredje part organisation, såsom ett programvaruföretag, en bank, eller en oberoende kommersiell kontor. På grund av att konsumenten (dvs. ebookstore-systemet) endast kan komma åt webbtjänsten genom sin beskrivning (dvs. WSDL) och inte kan titta på webbtjänstens källkod, resulterar detta i vissa inkonsekvensfrågor. Till exempel kan det finnas vissa brister i genomförandet oavsett hur många ansträngningar som görs för att testa. Tjänsteägaren kan också uppdatera genomförandet på grund av ändringar i betalningspolicyn (specifikation); men tjänstekonsumenten kanske inte inser de förändringar som sker i genomförandet eller specifikationen. Detta kan leda till en situation där konsumenten åberopar den senaste versionen av genomförandet samtidigt som den gamla versionen av specifikationen finns. Alla dessa fall ger oss en fråga, nämligen "hur ska vi säkerställa samstämmigheten mellan genomförande och specifikation av webbtjänster?" Testning av programvara ger en praktisk och genomförbar inställning till frågan. Den grundläggande idén med testning är att välja några testfall för att köra program under test, och sedan utvärdera utdata mot den förväntade korrekta utdata (nämligen oracle). Om den faktiska uteffekten är lika med oraklet, lyckas ett sådant prov; annars upptäcker testet ett fel. Inom ramen för SOA innebär nya unika funktioner utmaningar för att testa webbtjänster. Specifikationen och genomförandet av webbtjänster är till exempel helt åtskilda, och ofta kan konsumenterna inte få tillgång till källkoderna för de webbtjänster de åberopar. Bristen på källkod och den begränsade kontrollen av webbtjänster begränsar inte bara testbarheten för webbtjänster, utan gör också testmetoder för white-box inte tillämpliga. Man kan hävda att avsaknaden av källkoder också förekommer i användningen av något normalt programvarubibliotek, men de är helt annorlunda genom att införandet av en webbtjänst kan skrivas på alla programmeringsspråk och dess specifikation är skriven i XML-stil. Dessutom, test oracle problem, vilket innebär att i vissa situationer är det omöjligt eller praktiskt taget för svårt att avgöra om programmets resultat på testfall är korrekta (Weyuker, 1982), är även förstärkt. I exemplet med den elektroniska betaltjänsten kanske konsumenten i vissa situationer inte vet exakt hur mycket som ska debiteras för en viss insats (dvs. bokpriset). Problemet blir ännu värre när betalningen innebär avgifter för överföring mellan konton eller valutaväxling. Testing Web service under SOA kräver nya tekniker (Bartolini, Bertolino, Elbaum, & Marchetti, 2009; Canfora & Penta, 2009; Faroooq, Georgieva, & Dumke, 2008; sön, 2011). Även om det finns många tekniker för webbtjänst testning i litteraturen, Bai, Lee et al. 2008, Lenz, Chimiak-opoka et al. 2007, Zhang och Qiu 2006, de flesta av dessa befintliga testmetoder antar alltid förekomsten av test orakel och kan därför inte ta itu med orakelproblemet. Metamorphic Testing (MT) föreslogs först av Chen,Cheung et al. (1998) som en testmetod utan behov av orakel. Grundidén bakom MT är att utnyttja webbtjänsternas metamorfa egenskap för att generera testfall och utvärdera testresultat. Metamorfisk egenskap är en typ av inneboende egenskaper hos programvara, hänvisar till att för ett par testfall som uppfyller förhållande R, och sedan deras motsvarande utgångar bör också tillfredsställa relation R f. Under testet, om det finns några tester där R är nöjd medan R f kränks, då ett fel upptäcks. På så sätt kan man använda MT för att testa program utan exakta orakel. Det har visat sig att MT framgångsrikt har lindrat test oracle problemet (Dong, Xu, Chen, Nie, & Wang, 2009 ). Nya funktioner hos SOA hindrar dock det traditionella MT-ramverket från att testa webbtjänster. Kom ihåg e-bookstore International Journal of Web Services Research, 9.1, 51-73, januari-mars 2012 53 Copyright © 2012, IGI Global. Det är förbjudet att kopiera eller distribuera i tryckta eller elektroniska formulär utan skriftligt tillstånd från IGI Global. system, kan elektroniska betalningswebbtjänster användas i en annan namnrymd med klientprogrammet, och det åberopas av ett standardprotokoll (såsom SOAP). Detta resulterar i skillnader mellan att testa en webbtjänst och traditionell programvara med bibliotek. I detta dokument föreslås en metamorfisk relationsbaserad metod för att testa webbtjänster för att ta itu med utmaningarna med att testa webbtjänster enligt SOA, särskilt relevant för det framträdande orakelproblemet med att testa webbtjänster. Vi föreslår ett ramverk för att undersöka nyckelfrågor vid tillämpning av MT på testning av webbtjänster, och utvecklat en prototyp för att delvis automatisera ramverket. För att validera genomförbarheten och effektiviteten i det föreslagna tillvägagångssättet har vi genomfört empiriska studier där tre verkliga webbtjänster testas med vårt tillvägagångssätt. Experimentella resultat visar att vårt tillvägagångssätt inte bara kan lindra test oracle problemet med att testa webbtjänster, men också leverera en effektiv och effektiv testteknik utan orakel. Arbetet i detta dokument ger följande bidrag: 1. Ett MT-ramverk som undersöker och besvarar de viktigaste frågorna när man använder MT för att testa webbtjänster, och en prototyp som delvis automatiserar ramverket. 2. Utgångspunkten är följande: En effektiv testteknik för webbtjänster. Som framgår av resultaten av mutationsanalysen kan MT upptäcka upp till 94,1 % fel på objektets webbtjänster utan orakel. 3. Vad är det som händer? Empiriska studier som beskriver hur MT kan användas för att testa tre verkliga och allmänt praktiserade webbtjänster och rapportera effektiviteten. Resultaten av de empiriska studierna visar tydligt MT:s tillämplighet och effektivitet när det gäller att testa webbtjänster. Resten av tidningen är organiserad enligt följande. Nästa avsnitt introducerar underliggande begrepp relaterade till MT och mutationsanalys, och sedan föreslår vi vår strategi inklusive ett ramverk av MT för webbtjänster och en prototyp. Därefter rapporterar vi empiriska studier där det föreslagna tillvägagångssättet används för att testa tre verkliga webbtjänster, följt av en kort jämförelse av vårt tillvägagångssätt med relevanta metoder. Slutligen avslutar vi dokumentet och pekar på det framtida arbetet.
Sol och al. föreslog ett MT-ramverk för webbtjänster och genomförde en fallstudie om en överföringsfunktion för ett banksystem REF.
A Metamorphic Relation-Based Approach to Testing Web Services Without Oracles
{'venue': 'Int. J. Web Service Res.', 'journal': 'Int. J. Web Service Res.', 'mag_field_of_study': ['Computer Science']}