arch12: qa considerations - oera arch-12: qa considerations for applications following the openedge...
Post on 30-Jan-2016
218 Views
Preview:
TRANSCRIPT
ARCH12: QA Considerations - OERA
ARCH-12: QA considerations for applications following the OpenEdge
Reference Architecture
SMAT-Team Tobago
Thomas Hutegger & Pheona Job
tmh@theNatureIsle.com ptj@smat-consulting.com
ARCH12: QA Considerations - OERA
Agenda
➔ Overview of OpenEdge Reference Architecture
• Overview of WebSpeed Architecture
• Using ProDataSets in WebSpeed
• Examples of tests for various layers
ARCH12: QA Considerations - OERA
OpenEdge Reference Architecture
Data accessabstracted from
storage
Common business logic with
advanced models
Separated presentationand integration layers
OERA
ARCH12: QA Considerations - OERA
Goals For This Session
Seeds of Thought:
• Layered architecture facilitates layered testing
• OpenEdge Reference Architecture and ProDataSet relevant for WebSpeed
• Ideas about how to implement layered testing
More details in white-paper on PSDN...
ARCH12: QA Considerations - OERA
OpenEdge Reference Architecture Check
• Who is using ProDataSets?
• Who is using OpenEdge Reference Architecture?
• Who is using ProDataSets and OpenEdge Reference Architecture?
ARCH12: QA Considerations - OERA
ProDataSets Implementing The OpenEdge Reference Architecture
Server Data Access Object
Business Entity
ClientGUI Procedure
OERA
DB
ARCH12: QA Considerations - OERA
ProDataSets Implementing The OpenEdge Reference Architecture
Server
Data Access Object
Business Entity
ClientGUI Procedure
OERA
DB
ARCH12: QA Considerations - OERA
GUIProcedure
OpenEdge Reference Architecture
Validations
Server
DataAccessObjectxxdo.p
BusinessEntityxxbe.p
Super
Save
Get
C/S
DB
Client
ARCH12: QA Considerations - OERA
Procedure Call Flow – Display DataG
UI
Cli
ent
BE
DO
attachDS<DataSet>
fill<DataSet>
detachDS
prepare<DataSet>
Call Flow
DB
ARCH12: QA Considerations - OERA
Procedure Call Flow – Update Data
GU
I C
lien
t
BE
DO
attachDS<DataSet>
save<DataSet>Changes
detachDS
update<DataSet>
Changes are stored in original dataset
changes<Dataset>created containingonly beforeImageTT and relatedregular TT-records
Call Flow
DB
ARCH12: QA Considerations - OERA
Testing ProDataSet Per Layer
GU
I C
lien
t
BE
DO
attachDS<DataSet>
save<DataSet>Changes
detachDS
update<DataSet>
attachDS<DataSet>
fill<DataSet>
detachDS
prepare<DataSet>
test-dos.p test-bes.p
Call Flow
DB
ARCH12: QA Considerations - OERA
Testing Layers
Server Data Access Object
Business Entity
ClientGUI Procedure
OERA
DB
ARCH12: QA Considerations - OERA
Agenda
✔ Overview of OpenEdge Reference Architecture➔ Overview of WebSpeed Architecture
• Using ProDataSets in WebSpeed
• Examples of tests for various layers
ARCH12: QA Considerations - OERA
WebSpeed Check
• Who is using WebSpeed?
ARCH12: QA Considerations - OERA
WebSpeed Architecture
Web Server(Apache) Agent
Progress
ServerBrowser(Opera)
Client
IntranetInternet
C/S
DB
ARCH12: QA Considerations - OERA
WebSpeed Round Trip
Agent
Read Datafrom Page
Save Datato DB
Get Data from DB
Create NextHTML Page
Name-ValuePairs
HTML
Web
-Ser
ver
C/S
DB
ARCH12: QA Considerations - OERA
Complexities with WebSpeed
• Non-4GL expertise needed (HTML,JavaScript,...)
• Testing/Debugging– White screen (severe error, server-log)– Restart of Agents (to pick up changed programs)
• “Stateless” client– context management– Flat character-only data-structure (name-value pairs)
ARCH12: QA Considerations - OERA
Tasks of Framework
• Converts name-value pairs into temp-table
• Requires data for HTML page in temp-tables
• Merges data with HTML page template (plain text)
• Sends merged page to web-stream (i.e. WebServer)
• ... or to a file (for testing purposes)
ARCH12: QA Considerations - OERA
Framework
Agent
Read Datafrom Page
Save Datato DB
Get Data from DB
Create NextHTML Page
Name-ValuePairs
HTML
Web
-Ser
ver
Fram
ewor
k
HTML saved in plain OS text file
Provide Name-ValuePairs Temp-Table
Sim
ulat
ing
Tes
t Pro
gram
X
X
C/S
DB
ARCH12: QA Considerations - OERA
Agenda
✔ Overview of OpenEdge Reference Architecture Architecture
✔ Overview of WebSpeed Architecture➔ Using ProDataSets in WebSpeed
• Examples of tests for various layers
ARCH12: QA Considerations - OERA
OpenEdge Reference Architecture with WebSpeed Check
• Who is using ProDataSets with WebSpeed?
• Who is using OpenEdge Reference Architecture with WebSpeed?
• Who is using ProDataSets and OpenEdge Reference Architecture with WebSpeed?
ARCH12: QA Considerations - OERA
OpenEdge Reference Architecture
Data accessabstracted from
storage
Common business logic with
advanced models
Separated presentationand integration layers
OERA
ARCH12: QA Considerations - OERA
WebSpeed Implementing The OpenEdge Reference Architecture
Data Access Object
Business Entity
Agent Read DataFrom Page
DB
Create Next HTML Page
Web-Server
OERA
ARCH12: QA Considerations - OERA
OpenEdge Reference Architecture with WebSpeed
Client
GUIProcedure
Validations
Server
DataAccessObjectxxdo.pBusiness
Entityxxbe.p
Super
WebSpeedClient(PPO) Save
Get
Bro
wse
r
Web
-Ser
ver
Save
Get
C/S
DB
ARCH12: QA Considerations - OERA
Procedure Call Flow – Prepare Page
PP
O
BE
DO
Request Page attachDS<DataSet>
fill<DataSet>
detachDS
prepare<DataSet>
Return HTML
Call Flow
DB
ARCH12: QA Considerations - OERA
Issues With WebSpeed
• Did record change since page was prepared?– Additionally sending complete record to page
• So it can be retrieved as “before image” record
– Using “version” field
• Total disconnect between preparing page and next post– ProDataSet content lost– No before-image temp-table possible– Standard ProDataSet update feature can't be used
ARCH12: QA Considerations - OERA
OpenEdge Reference Architecture and ProDataSets with WebSpeed
Client
GUIProcedure
Validations
Server
DataAccessObjectxxdo.pBusiness
Entityxxbe.p
Super
WebSpeedClient(PPO) Save
Get
Bro
wse
r
Web
-Ser
ver
Save
Get
C/S
DB
ARCH12: QA Considerations - OERA
OpenEdge Reference Architecture and ProDataSets with WebSpeed
Client Server
Super
Save
Get
Web Libraryxxwb.pB
row
ser
Web
-Ser
ver
Super
Save
Get
C/S
GUIProcedure
Validations
DataAccessObjectxxdo.p
BusinessEntityxxbe.p
WebSpeedClient(PPO)
DB
ARCH12: QA Considerations - OERA
OpenEdge Reference Architecture and ProDataSets with WebSpeed
Client Server
Super
Save
Get
Web Libraryxxwb.p
Bro
wse
r
Web
-Ser
ver
Super
Save
Get
C/S
GUIProcedure
Validations
DataAccessObjectxxdo.pBusiness
Entityxxbe.p
WebSpeedClient(PPO)
DB
ARCH12: QA Considerations - OERA
Call Flow – Save and Prepare Page
Pag
e P
roce
ssin
g O
bjec
t WB
Post Page
attachDS<DataSet>
fill<DataSet>
detachDS
prepare<DataSet>
Return HTML
saveTt<Page>Save
BE
Val
idat
eD
O
Super
SupersavePd<Page>Save
test-ppos.p
test-bes.p test-dos.p
test-wbs.p
Call Flow
DB
ARCH12: QA Considerations - OERA
Agenda
✔ Overview of OpenEdge Reference Architecture Architecture
✔ Overview of WebSpeed Architecture✔ Using ProDataSets in WebSpeed➔ Examples of tests for various layers
ARCH12: QA Considerations - OERA
Testing the Data Access Object
Post Page
attachDS<DataSet>
fill<DataSet>
detachDS
prepare<DataSet>
Return HTML
saveTt<Page>Save
Super
Super
Pag
e P
roce
ssin
g O
bjec
t WBsavePd<Page>Save
BE
Val
idat
eD
O
DB
test-dos.p
Call Flow
ARCH12: QA Considerations - OERA
Test-dos.p
Report Results
Call DO
Run DO
ARCH12: QA Considerations - OERA
Pag
e P
roce
ssin
g O
bjec
t WB
BE
Val
idat
eD
O
DB
Testing the Business Entity Object
Post Page
attachDS<DataSet>
fill<DataSet>
detachDS
prepare<DataSet>
Return HTML
saveTt<Page>Save
Super
SupersavePd<Page>Save
test-bes.p test-dos.p
Call Flow
ARCH12: QA Considerations - OERA
Test-bes.p
Call BE
Report Results
ARCH12: QA Considerations - OERA
Pag
e P
roce
ssin
g O
bjec
t WB
BE
Val
idat
eD
O
DB
Testing Web Object
Post Page
attachDS<DataSet>
fill<DataSet>
detachDS
prepare<DataSet>
Return HTML
saveTt<Page>Save
Super
SupersavePd<Page>Save
test-wbs.p
test-dos.ptest-bes.p
Call Flow
ARCH12: QA Considerations - OERA
Test-wbs.p Run WB
Prepare Data
Call WB
ARCH12: QA Considerations - OERA
test-wbs.p (cont.)
Report Results
ARCH12: QA Considerations - OERA
Pag
e P
roce
ssin
g O
bjec
t WB
BE
Val
idat
eD
O
DB
Testing Page Process Object
Post Page
attachDS<DataSet>
fill<DataSet>
detachDS
prepare<DataSet>
Return HTML
saveTt<Page>Save
Super
SupersavePd<Page>Save
test-ppos.p
test-dos.ptest-bes.p
test-wbs.p
Call Flow
ARCH12: QA Considerations - OERA
Test-ppos.p Start Framework
Simulate 1 Page
ARCH12: QA Considerations - OERA
Goals For This Session
Seeds of Thought:
• Layered architecture facilitates layered testing
• OpenEdge Reference Architecture and ProDataSet relevant for WebSpeed
• Ideas about how to implement layered testing
More details in white-paper on PSDN...
ARCH12: QA Considerations - OERA
Questions?
ARCH12: QA Considerations - OERA
Thank you
www.smat-consulting.com
tmh@theNatureIsle.com ptj@smat-consulting.com
top related