präsentation für asqf dresden, 26. juni 2012 · präsentation für asqf dresden, 26. juni 2012...
Post on 26-Jun-2020
3 Views
Preview:
TRANSCRIPT
© ANECON Software Design und Beratung G.m.b.H. | Alser Str. 4/Hof 1 | A-1090 Wien | Tel.: +43 1 409 58 90 | www.anecon.com | office@anecon.com
Präsentation für ASQF Dresden,
26. Juni 2012
Testen von Cloud Services
Harry M. Sneed (MPA)
2 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
• Testen von Web Services in der Cloud
• Aufbau einer betrieblichen Service Hierarchie
• Bottom-Up Service Teststrategie
• Testen gegen ein Service Level Agreement
• Web Service Testprozess
• Statische Analyse der Web Service-Schnittstellendefinitionen
• Dynamische Analyse der Web Services
• Aufbau eines Service Tests
• WebsTest - ein Tool zum Testen von Web Services
• Prüfung nicht-funktionaler Eigenschaften
• Die Rolle des Testens in einer Cloud-getriebener IT-Welt
Vortragsstruktur
WSTEST-0 ASQF
3 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
Web
Services
WSTEST-1 ASQF
Web Services in der Cloud
4 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
Web Service Testen als Dienstleistung WSTEST-2 ASQF
5 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
Application Services
z.B. OrderEntryProcessing
Functional Services
z.B. Billing
Object Services
z.B. CreateInvoice
Elementary Services
z.B. CalculatePrice
User Business Processes
Web Service Hierarchie WSTEST-3 ASQF
6 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
WS WS WS WS WS WS WS
Test of the elementary Services
Object
WS
Object
WS
Object
WS
Object
WS
Test of the object Services
Function
WS
Function
WS
Function
WS
Test of the functional Services
Application
WS
Test of the Application Service
Bottom-Up
WSTEST-4 ASQF
Service Teststrategie
7 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
Cloud
Services SLA
Actual
Behavior
Agreed
Behavior
Service Level Agreement Cloud Services provided
Test
A Test is always
a test against
something
Testen gegen ein Service Level Agreement
WSTEST-5 ASQF
8 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
RequirementType Degree of Fulfillment_______________________________________________________________________________
Functions: Compute Day of Week
Identify invalid Dates
Results: DayofWeek (GermanWeekDays, FrenchWeekDays, ItalianWeekDays)
DateValidity (‘date is valid‘, ‘date is invalid‘ )
Arguments: Date (TTMMYYYY)
LanguageCode (1 = German, 2 = French, 3 = Italian)
TextAdjustment (L = Left, R = Right)
MinimumCorrectness: 0,005 (errors per 1000 Requests)
MinimumAvailability: 96% (percent of total time)
MinimumSecurity: 90% (percent of attacks detected)
MedianResponseTime: 2 Sec. (from sending of request to receipt of response)
MaximumResponseTime: 4 Sec. (highest response time)
MinimumConformance: 85% (adherence to interface convention)
MinimumInternalQuality: 0,7 ( measured internal quality index)
Cloud Service Level AgreementWSTEST-6 ASQF
9 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
Web Service
Requirement
specification
SLA
contracted
Static
Analysis
Conformity
Check
Dynamic
Analysis
Correctness
Verification
Performance
Test
Compliance
Validation
WSDL
Schema
WSDL Rules
Generated
Requests
Expected
Responses
SLA
1
2
4
3
5
6
7
8
9
Repeated after every service release
Constraints
Web Service Testprozess
WSTEST-7 ASQF
10 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
SLA
Analyzer
WSDL
Analyzer
SLA/WSDL
Comparator
WS
SLA
SLA
Metrics
SLA
Rule
Violations
SLA
Content
WSDL
Content
WSDL
Rule
Violations
WSDL
Metrics
SLA/WSDL
Deviations
WSDL
Interface
Service
level
agreement
Service
Interface
definition
sizes,
complexity,
qualities
sizes,
complexity,
qualities Inconsistencies
between SLA and
Interface Definitions
Metric
DB
Common
Dictionary
Statische Analyse der Web Services WSTEST-8 ASQF
11 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
WSDLAudit - ein Tool zur Statischen Analyse von
WSDL Schnittstellendefinitionen
WSDL
Audit
Control Module
Naming
Templates
Semantic
Rules
Metric
Weights
WSDL
Parser
Rule
Checker
Metric
Calculator
Deficiency
Report
Metric
Report
WSDL
Sources
GUI User
Interface
WSTEST-9 ASQF
12 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
Test
Script
WS
SLA
WSDL
Interface
Test Case
Generator
Test case
Table
Test
Request
Generator
Test script
Compiler
Service
response
s
Service
requests
Service
responses
Service
Requests
Service
Test Driver
Test
Script
Test data
Table
Test script
Generator
Test
Response
Validator
Service
Validation
Report
Service
under Test
Metric
Datenbank
Common
Dictionary
SOAP Messages
Dynamische Analyse der Web Services WSTEST-10 ASQF
13 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
Test Case Test Purpose Test Objects Pre/Post Conditions
DayofWeek_TC01 Test for valid German day of week GetWeekdayInput
GetWeekdayOutput
Valid German Weekday
DayofWeek_TC02 Test for valid French day of week GetWeekdayInput
GetWeekdayOutput
Valid French Weekday
DayofWeek_TC03 Test for valid Italian day of week GetWeekdayInput
GetWeekdayOutput
Valid Italian Weekday
DayofWeek_TC04 Test for invalid English day of week GetWeekdayInput
GetWeekdayOutput
Exception
Error Message
Invalid Language
DayofWeek_TC05 Test for invalid German day of week GetWeekdayInput
GetWeekdayOutput
Error Message
Invalid date
DayofWeek_TC06 Test for invalid French day of week
GetWeekdayInput
GetWeekdayOutput
Error Message
Invalid date
DayofWeek_TC07 Test for invalid Italian day of week GetWeekdayInput
GetWeekdayOutput
Error Message
Invalid date
Testfalltabelle zum Test eines Kalender Service
WSTEST-11 ASQF
14 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
Kalender Service Specification WSTEST-12 ASQF
15 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
service: DayofWeek
if (testcase = „DayofWeek_TC01"); // German
if ( operation = "GetWeekDay");
if ( request = "GetWeekDayInput");
assert in.P1-DATE = „12101977";
assert in.P2-LANGUAGE = “1“;
assert in.P3-ALIGNMENT = “L“;
endRequest ;
if ( response = "GetWeekDayOutput");
assert out.P4-DAYNAME = „Mittwoch";
endResponse ;
endOperation;
endCase;
if (testcase = „DayofWeek_TC02");
if ( operation = "GetWeekDay"); //French
if ( request = "GetWeekDayInput");
assert in.P1-DATE = „12101977";
assert in.P2-LANGUAGE = “2“;
assert in.P3-ALIGNMENT = “L“;
endRequest ;
if ( response = "GetWeekdayOutput");
assert out.P4- DAYNAME = “Mercredi";
endResponse ;
endOperation;
endCase;
Web Service Test Skript if (testcase = „DayofWeek_TC03"); // Italian
if ( operation = "GetWeekDay");
if ( request = "GetWeekDayInput");
assert in.P1-DATE = „12101977";
assert in.P2-LANGUAGE = “3“;
assert in.P3-ALIGNMENT = “L“;
endRequest ;
if ( response = "GetWeekdayOutput");
assert out.P4- DAYNAME = “Mercoldi";
endResponse ;
endOperation;
endCase;
if (testcase = „DayofWeek_TC04"); //English
if ( operation = "GetWeekDay");
if ( request = "GetWeekDayInput");
assert in.P1-DATE = „11312000";
assert in.P2-LANGUAGE = “4“;
assert in.P3-ALIGNMENT = “R“;
endRequest ;
if ( response = "GetWeekdayOutput");
assert out.P4- DAYNAME = “Unknown";
endResponse ;
endOperation;
endCase;
end; // service DayofWeek
WSTEST-13 ASQF
16 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
<XSDCOB:complexType type = “group" name = "P1"
content = "eltOnly" model = "closed" level = "02"
occurs = "ONEORMORE" minOccurs = "0001" maxOccurs = "0001">
<XSDCOB:element type = „date" name = "P1-Date"
content = "TextOnly" model = "closed" level = "03"
occurs = "ONEORMORE" minOccurs = "0001" maxOccurs = "0001„/>
</XSDCOB:complexType>
……………………………………………………………………………………………..
<XSDCOB:complexType type = “group" name = "P4"
content = "eltOnly" model = "closed" level = "02"
occurs = "ONEORMORE" minOccurs = "0001" maxOccurs = "0001">
<XSDCOB:element type = „string" name = „P4-DayName"
content = "TextOnly" model = "closed" level = "03"
occurs = "ONEORMORE" minOccurs = "0001" maxOccurs = "0001„/>
</XSDCOB:complexType>
</definitions>
------------------------------------------------------------------------------------------------------------
<service name = “DayofWeek" >
<operation name = “GetWeekDay" >
<request name = „GetWeekDayinput" >
<P1-Date xsi:type = “date"> 12101977 </P1-Date>
<P2-Language xsi:type = „char">1</P2-Language>
<P3-Alignment xsi:type = „char">L</P3-Alignment>
</request>
<response name = „GetWeekDayOutput" >
<P4-DayName xsi:type = „string" >Mittwoch</P4-DayName>
</response>
</operation>
Schema
WSDL
Web Service Test Request WSTEST-14 ASQF
17 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
SLA
WS Spec
Analyzer
WSDL
Analyzer
WSDL
Interface
Definition
Test
Cases
Table of
Interface test
values
XSD Data
Schema
WS-Test
Data
Generator
WS
expected
Response
WS
actual
Request
WS-Test
Driver
WS actual
Response
Web Service
WS-Test
Result
Validator
Deviation
Report
Test
Log
Test
Script
WSDLTest - ein Tool zur dynamischen Analyse WSTEST-15 ASQF
18 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
WSDL
Interface
Definition
Test script
Generator
Test
Script
Test script
Compiler
Web
Service
Request
Table of
Interface
test values
Web Service Test Data Generation
Repräsentative Werte
Grenzwerte
Zufallswerte
<Request>
<Input>Params</Input>
</Request>
<Params>
<P1>10</P1>
<P2>X</P2>
</Params>
WSTEST-16 ASQF
19 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
Web Services
Port Port Port
Request Response
Test
DriverWDSL
Requests
WDSL
Responses
Result
Validator
Data
Generator
WDSL
Schema
Validation
Report
ExceptionsInterface Structure
Assertion
Script
Assertion
ScriptWDSL WDSL
Pre Conditions Post Conditions
Der Web Service Test
WSTEST-17 ASQF
20 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
WSDL
Interface
Definition
Test result
Validator
Test
Script
Web
Service
Response
Web Service Response Verifikation
Exceptions
P4 Soll = Range (10:20)
P4 Ist = 21
Assert out P4 = Range (10:20);
Assert out P5 = Set (“X“, “Y“, “Z“)
Assert out P6 = P1 + 7;
<Request>
<Input>Params</Input>
</Request>
<Params>
<P4>10</P4>
<P5>X</P5>
</Params>
Deviation
Report
WSTEST-18 ASQF
21 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
+-----------------------------------------------------------------------+
| WSDL Response Validation Report |
| Object: Kalender Date: 19.06.04 |
| Type : XML System: TEST |
| Key Fields of Response (ist,soll) |
+-------------------------------------+---------------------------------+
| MsgKey:DayofWeek = 12101977 | |
| Ist : DayofWeek | Mercolodi |
| SOll: DayofWeek | Mittwoch |
+-------------------------------------+---------------------------------+
| MsgKey:DayofWeek = 12101977 | |
| Ist : Language | 2 |
| SOll: Language | 1 |
+-------------------------------------+---------------------------------+
Web Service Ergebnisvalidationsbericht
WSTEST-19 ASQF
22 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
• Messung der Antwortzeit
Antwortzeit = Zeit des Response-Empfangs – Zeit der Requestabsendung
Liegt die gemessene Antwortzeit über die vereinbarte Zeit ist die SLA nicht erfüllt.
• Messing der Verfügbarkeit
Availability = 1 - {waiting time / total usage time}
Diese Wartezeiten werden akkumuliert und mit dem maximal zulässiger Wartezeit in der SLA
verglichen. Liegt sie höher gilt die SLA als nicht erfüllt.
• Messing der Sicherheit
Security = 1 - {weighted security violations / invalid requests}
Dieser tatsächlich ermittelter Sicherheitsgrad wird mit dem minimalen Sicherheitsgrad in der
SLA verglichen um festzustellen ob die SLA in punkto Sicherheit eingehalten wird oder nicht .
Prüfung der nicht-funktionalen Anforderungen
WSTest-20 ASQF
23 | © ANECON | Agiles versus Rigides Testen | Harry M. Sneed (MPA)
Zusammenfassung
• Vorgefertigte Web Services ist die Zukunft der IT
• Anwender müssen endlich aufhören selber zu entwickeln
• Anwender sollten sich darauf beschränken Services zu
komponieren und in ihre Geschäftsprozesse einzubauen
• Dafür müssen die Services die funktionale und qualitative
Anforderungen der Anwender erfüllen
• Um dies zu bestätigen, müssen die Services getestet und
zertifiziert werden
• Der Test von Web Services soll als Dienstleistung
angeboten werden
• Anwender müssen bereit sein, ihre Services von einem
unabhängigen Testbetrieb testen zu lassen.
ASQF WSTest-21
Software ist unsere
Leidenschaft
ANECON Software Design und Beratung G.m.b.H.
Alser Straße 4 / Hof 1 | A-1090 Wien | www.anecon.com
office@anecon.com | Tel.: +43 1 409 58 90 - 0 | Fax: -998
top related