arch12: qa considerations - oera arch-12: qa considerations for applications following the openedge...

Post on 30-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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