Re: [U2] U2 Test Tools for system/unit regression testing w/integration with HP QualityCenter

2013-02-06 Thread Hona, David
Thanks Brian - that sounds great! I would be keen to get a trial version, once 
you have a SSH capable version.

How is the product licensed?

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brian Leach
Sent: Tuesday, 5 February 2013 10:14 PM
To: 'U2 Users List'
Subject: Re: [U2] U2 Test Tools for system/unit  regression testing 
w/integration with HP QualityCenter

Hi David

I've recently released a testing product called (predictably!) mvTest.

This supports automated testing of U2 applications using a dedicated scripting 
language modelled after UniBasic for familiarity but with a number of key 
extensions to handle data validation, test data handling, UI scripting and 
assertions. 

You can use this to create unit tests, UI tests (currently TELNET and 
U2-compatible secure TELNET/SSL but with SSH to follow shortly), regression and 
volume tests.

Here's a quick overview of how it works -

- You create unit or UI tests using the scripting language. These can be run 
through either of a Windows client or through a server-side script runner e.g. 
if you want to perform CI testing through a phantom. There's a nice Windows 
based editor to create, organize and test these.

- The tests return pass or fail information based on assertions, so you can see 
at a glance if anything has broken. You can save the information and run 
various reports against it.

- The tests can run direct against the database through a UO.NET connection 
(e.g. for testing subroutine calls and parameters) or through a terminal-style 
UI. It embeds a complete terminal emulator with all the necessary functions, 
and this allows you to drive screens, perform spot checks, branch on different 
results (e.g. handling error messages raised from your screens), handle 
send/expect style scripting and more complex conditions (such as wait until the 
cursor is at this location and this message has appeared here). 

- It keeps a separate shared server connection open while the UI tests run so 
you can, for example, script an entry screen via the terminal UI that ends up 
saving some data like a sales order, and then immediately check what has been 
written to the database through the underlying connection as part of the same 
script.

- Unit tests can be organized into batches in which the tests run in order, so 
you can set up sequences that match business operations. 

- Batches can be organized into runs, so you can test whole suites of your 
application. Each run can be customized, so you can feed in per-site or 
per-system information. Runs can optionally randomize the order in which 
batches are executed, and you can set up different run scenarios and iteration 
patterns.

- You can feed in and randomize test data and from the client side runner, 
access local features as well as the database operations.

- Volume testing can take place using the Windows client. This is a 
multithreaded client supporting multiple concurrent UI sessions - I've tested 
up to 250 concurrent connections from a single PC running against an
SB+ system for one customer last year who needed to stress test their 
SB+ system
performance coming up to the New Year sales. 

This first release is targeting U2 with other MVDBMS to follow. I'm also adding 
support for GUI testing using the Microsoft Automation APIs and WebUI testing 
going forward.

Anyone interested can contact me for an evaluation version, or download the 
user guide from www.brianleach.co.uk.



Regards

Brian 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

** IMPORTANT MESSAGE *   
This e-mail message is intended only for the addressee(s) and contains 
information which may be
confidential. 
If you are not the intended recipient please advise the sender by return email, 
do not use or
disclose the contents, and delete the message and any attachments from your 
system. Unless
specifically indicated, this email does not constitute formal advice or 
commitment by the sender
or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its subsidiaries. 
We can be contacted through our web site: commbank.com.au. 
If you no longer wish to receive commercial electronic messages from us, please 
reply to this
e-mail by typing Unsubscribe in the subject line. 
**



___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] U2 Test Tools for system/unit regression testing w/integration with HP QualityCenter

2013-02-06 Thread br...@brianleach.co.uk
David

I'll keep you posted.

It will be licenced per server - that's the easiest option.

Best Regards


Brian

On 06 February 2013 at 08:39 Hona, David david.h...@cba.com.au wrote:
 Thanks Brian - that sounds great! I would be keen to get a trial version, once
 you have a SSH capable version.

 How is the product licensed?

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brian Leach
 Sent: Tuesday, 5 February 2013 10:14 PM
 To: 'U2 Users List'
 Subject: Re: [U2] U2 Test Tools for system/unit  regression testing
 w/integration with HP QualityCenter

 Hi David

 I've recently released a testing product called (predictably!) mvTest.

 This supports automated testing of U2 applications using a dedicated scripting
 language modelled after UniBasic for familiarity but with a number of key
 extensions to handle data validation, test data handling, UI scripting and
 assertions.

 You can use this to create unit tests, UI tests (currently TELNET and
 U2-compatible secure TELNET/SSL but with SSH to follow shortly), regression
 and volume tests.

 Here's a quick overview of how it works -

 - You create unit or UI tests using the scripting language. These can be run
 through either of a Windows client or through a server-side script runner e.g.
 if you want to perform CI testing through a phantom. There's a nice Windows
 based editor to create, organize and test these.

 - The tests return pass or fail information based on assertions, so you can
 see at a glance if anything has broken. You can save the information and run
 various reports against it.

 - The tests can run direct against the database through a UO.NET connection
 (e.g. for testing subroutine calls and parameters) or through a terminal-style
 UI. It embeds a complete terminal emulator with all the necessary functions,
 and this allows you to drive screens, perform spot checks, branch on different
 results (e.g. handling error messages raised from your screens), handle
 send/expect style scripting and more complex conditions (such as wait until
 the cursor is at this location and this message has appeared here).

 - It keeps a separate shared server connection open while the UI tests run so
 you can, for example, script an entry screen via the terminal UI that ends up
 saving some data like a sales order, and then immediately check what has been
 written to the database through the underlying connection as part of the same
 script.

 - Unit tests can be organized into batches in which the tests run in order, so
 you can set up sequences that match business operations.

 - Batches can be organized into runs, so you can test whole suites of your
 application. Each run can be customized, so you can feed in per-site or
 per-system information. Runs can optionally randomize the order in which
 batches are executed, and you can set up different run scenarios and iteration
 patterns.

 - You can feed in and randomize test data and from the client side runner,
 access local features as well as the database operations.

 - Volume testing can take place using the Windows client. This is a
 multithreaded client supporting multiple concurrent UI sessions - I've tested
 up to 250 concurrent connections from a single PC running against an
 SB+ system for one customer last year who needed to stress test their
 SB+ system
 performance coming up to the New Year sales.

 This first release is targeting U2 with other MVDBMS to follow. I'm also
 adding support for GUI testing using the Microsoft Automation APIs and WebUI
 testing going forward.

 Anyone interested can contact me for an evaluation version, or download the
 user guide from www.brianleach.co.uk.



 Regards

 Brian


 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

 ** IMPORTANT MESSAGE *
 This e-mail message is intended only for the addressee(s) and contains
 information which may be
 confidential.
 If you are not the intended recipient please advise the sender by return
 email, do not use or
 disclose the contents, and delete the message and any attachments from your
 system. Unless
 specifically indicated, this email does not constitute formal advice or
 commitment by the sender
 or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its
 subsidiaries.
 We can be contacted through our web site: commbank.com.au.
 If you no longer wish to receive commercial electronic messages from us,
 please reply to this
 e-mail by typing Unsubscribe in the subject line.
 **



 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list

[U2] Record locks (Unidata 7.2)

2013-02-06 Thread Jon Wells
Hi all,

I have not looked at the world of record locks since my R83 Pick days.  I'm 
hoping to add the ability for the program I'm working on to:

* Check if a record is locked
* Wait until the lock is removed
* Once the lock is removed, or if the record is not locked:
* Lock the record
* Perform the WRITE statement
I'm hoping someone can share an example of how to accomplish this in UniBasic.  


Thank you,


Jon Wells
Campbell University
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Record locks (Unidata 7.2)

2013-02-06 Thread Wjhonson
You mean you want to loop on the checking *until* the lock is released and then 
write?
So this is for a job interview?

DOLOOP = 0
LOOP
READU ITSLOCKEDJIM FROM Y,Z LOCKED
DOLOOP = 1
END
UNTIL NOT(DOLOOP) DO
SLEEP 10; *Let the system catch its breath
REPEAT
WRITE X ON Y,Z ELSE CRT 'HELP ME! HELP ME!'

 

 

 

-Original Message-
From: Jon Wells jwaytwe...@yahoo.com
To: U2-Users U2-Users@listserver.u2ug.org
Sent: Wed, Feb 6, 2013 1:53 pm
Subject: [U2] Record locks (Unidata 7.2)


Hi all,

I have not looked at the world of record locks since my R83 Pick days.  I'm 
hoping to add the ability for the program I'm working on to:

* Check if a record is locked
* Wait until the lock is removed
* Once the lock is removed, or if the record is not locked:
* Lock the record
* Perform the WRITE statement
I'm hoping someone can share an example of how to accomplish this in UniBasic.  


Thank you,


Jon Wells
Campbell University
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

 
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Record locks (Unidata 7.2)

2013-02-06 Thread Wjhonson
Recte!  I created me an infinite looop thingie.
The DOLOOP = 0 should be INSIDE the Loop structure... obviously
Bonk bonk on the head !

 

 

 

-Original Message-
From: Wjhonson wjhon...@aol.com
To: jwaytwells jwaytwe...@yahoo.com; u2-users u2-users@listserver.u2ug.org
Sent: Wed, Feb 6, 2013 1:57 pm
Subject: Re: [U2] Record locks (Unidata 7.2)


You mean you want to loop on the checking *until* the lock is released and then 
write?
So this is for a job interview?

DOLOOP = 0
LOOP
READU ITSLOCKEDJIM FROM Y,Z LOCKED
DOLOOP = 1
END
UNTIL NOT(DOLOOP) DO
SLEEP 10; *Let the system catch its breath
REPEAT
WRITE X ON Y,Z ELSE CRT 'HELP ME! HELP ME!'

 

 

 

-Original Message-
From: Jon Wells jwaytwe...@yahoo.com
To: U2-Users U2-Users@listserver.u2ug.org
Sent: Wed, Feb 6, 2013 1:53 pm
Subject: [U2] Record locks (Unidata 7.2)


Hi all,

I have not looked at the world of record locks since my R83 Pick days.  I'm 
hoping to add the ability for the program I'm working on to:

* Check if a record is locked
* Wait until the lock is removed
* Once the lock is removed, or if the record is not locked:
* Lock the record
* Perform the WRITE statement
I'm hoping someone can share an example of how to accomplish this in UniBasic.  


Thank you,


Jon Wells
Campbell University
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

 
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

 
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Record locks (Unidata 7.2)

2013-02-06 Thread Woodward, Bob
READU blah blah blah THEN/ELSE
  WRITE blah blah blah
END

Can't get much more straight forward than that.


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jon Wells
Sent: Wednesday, February 06, 2013 1:53 PM
To: U2-Users@listserver.u2ug.org
Subject: [U2] Record locks (Unidata 7.2)

Hi all,

I have not looked at the world of record locks since my R83 Pick days.  I'm 
hoping to add the ability for the program I'm working on to:

* Check if a record is locked
* Wait until the lock is removed
* Once the lock is removed, or if the record is not locked:
* Lock the record
* Perform the WRITE statement
I'm hoping someone can share an example of how to accomplish this in UniBasic.  


Thank you,


Jon Wells
Campbell University
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Record locks (Unidata 7.2)

2013-02-06 Thread David A. Green
Jon,

Everything is strait forward except the wait until logic.  That can get very
complex if you want to.

RECORDLOCKED(file.var, rec.id.expr) - Returns record lock status, 0 if not
locked.
MATREADU or READU or RECORDLOCKU - Will lock a record.*
MATWRITE or WRITE or RELEASE - Will unlock a record.

*Note you can use GETUSERNAME(STATUS()) to see who has it locked.

David A. Green
(480) 813-1725
DAG Consulting

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jon Wells
Sent: Wednesday, February 06, 2013 2:53 PM
To: U2-Users@listserver.u2ug.org
Subject: [U2] Record locks (Unidata 7.2)

Hi all,

I have not looked at the world of record locks since my R83 Pick days.  I'm
hoping to add the ability for the program I'm working on to:

* Check if a record is locked
* Wait until the lock is removed
* Once the lock is removed, or if the record is not locked:
* Lock the record
* Perform the WRITE statement
I'm hoping someone can share an example of how to accomplish this in
UniBasic.  


Thank you,


Jon Wells
Campbell University
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] UV: Generating XML from Retrieve

2013-02-06 Thread Peter Cheney
Hi Jeff,
Thanks for the reply. We had a look at the document you mentioned and found a 
few tips within.
I ended up adding a map item in the XML file which we're deploying tomorrow.
Cheers
Peter




-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
Sent: Wednesday, 6 February 2013 3:03
To: U2 Users List
Subject: Re: [U2] UV: Generating XML from Retrieve

You might take a look at Cedarrville's DOWNLOAD utility

ftp://ftp.cedarville.edu/download/download.pdf

Peter Cheney wrote:
 Hi Everyone,

 Hoping someone can help me here or at least point me in the right direction 
 please.

 I am trying to generate xml output via a retrieve sentence so that a single 
 valued field is either a) the parent to 3 multi-valued fields, or b) nested 
 correctly within a parent element along with multi-valued fields.

 The sentence is using the TOXML and ELEMENTS keywords. According to the 
 retrieve manual due to the inclusion of the ELEMENTS keyword the output is 
 element-centric.

 I think what I need to do is specify attribute-centric output for just the 
 few dictionary items listed below. According to the manual this is called 
 Mixed Mode. Can this be done in a mapping file?

 Also can I use a file other than XML to store a custom mapping file? 
 If so how do I do this? (Why? Because some genius designed our app to 
 use the XML file for other data as well and as a consequence it gets 
 cleared out regularly.)

 Will a mapping file allow me to customise how the dictionary items are output 
 and can this output be nested as desired below?
 I've already made an association called PENDING_AUTHS for the three MV'd 
 fields AUTH_NUMBER, AUTH_DATE,  AUTH_AMOUNT and these are all converted but 
 in the element centric mode thus:
 FILENAME2
   _ID9/_ID
   REPAY_AMOUNT538.99/REPAY_AMOUNT
   NEXT_DUE02 SEP 2012/NEXT_DUE
   AUTH_TOTAL99.00/AUTH_TOTAL
   PENDING_AUTHS_MV
 AUTH_NUMBER123456/AUTH_NUMBER
 AUTH_DATE22/01/13/AUTH_DATE
 AUTH_AMOUNT40.00/AUTH_AMOUNT
   /PENDING_AUTHS_MV
   PENDING_AUTHS_MV
 AUTH_NUMBER654321/AUTH_NUMBER
 AUTH_DATE23/01/13/AUTH_DATE
 AUTH_AMOUNT59.00/AUTH_AMOUNT
   /PENDING_AUTHS_MV

 If I change the dictionary item AUTH_TOTAL from S to M and add it to the 
 association then I get that repeated within the PENDING_AUTHS node, the first 
 one has the data and the remainder are empty like this:
 FILENAME2
   _ID9/_ID
   REPAY_AMOUNT538.99/REPAY_AMOUNT
   NEXT_DUE02 SEP 2012/NEXT_DUE
   PENDING_AUTHS_MV
 AUTH_TOTAL99.00/AUTH_TOTAL
 AUTH_NUMBER123456/AUTH_NUMBER
 AUTH_DATE22/01/13/AUTH_DATE
 AUTH_AMOUNT40.00/AUTH_AMOUNT
   /PENDING_AUTHS_MV
   PENDING_AUTHS_MV
 AUTH_TOTAL/
 AUTH_NUMBER654321/AUTH_NUMBER
 AUTH_DATE23/01/13/AUTH_DATE
 AUTH_AMOUNT59.00/AUTH_AMOUNT
   /PENDING_AUTHS_MV

 So I tried to wrap this a basic subroutine but I couldn't get that to work 
 either since I couldn't work out the correct syntax of the array to return. 
 Is there a place that documents this? Everything I tried just mangled the 
 data.

 Ideally what I'd like to get is something like this:
 FILENAME2
   _ID9/_ID
   REPAY_AMOUNT538.99/REPAY_AMOUNT
   NEXT_DUE02 SEP 2012/NEXT_DUE
   AUTHS TOTAL=99.00
 AUTH NUMBER=123456 DATE=22/01/13 AMOUNT=40.00/AUTH
 AUTH_NUMBER=654321 DATE=23/01/13 AMOUNT=59.00/AUTH
   /AUTHS

 or even this would do:
 FILENAME2
   _ID9/_ID
   REPAY_AMOUNT538.99/REPAY_AMOUNT
   NEXT_DUE02 SEP 2012/NEXT_DUE
   PENDING_AUTHS_MV
 TOTAL99.00/TOTAL
 AUTH
   AUTH_NUMBER123456/AUTH_NUMBER
   AUTH_DATE22/01/13/AUTH_DATE
   AUTH_AMOUNT40.00/AUTH_AMOUNT
 /AUTH
 AUTH
   AUTH_NUMBER654321/AUTH_NUMBER
   AUTH_DATE23/01/13/AUTH_DATE
   AUTH_AMOUNT59.00/AUTH_AMOUNT
 /AUTH
   /PENDING_AUTHS_MV

 Not really fussy about the element names. Just wondering if I can achieve the 
 correct element structure/nesting if I employ a mapping to create a mixed 
 mode xml document?

 Any tips for where to start with the mapping? Do I need to specify all map 
 elements or can I leave out unwanted ones to their system defaults? Will this 
 map affect all xml output in the same file or just those dictionary items 
 specifically in the map?

 Many thanks in advance,
 Cheers
 Peter


 Dictionary items
 PENDING_AUTHS
 2 lines long.

 : P
 0001: PH
 0002: AUTH_NUMBER AUTH_DATE AUTH_AMOUNT Bottom at line 2.
 : EX

 AUTH_TOTAL
 SELECTed record name = AUTH_TOTAL.
 This is a Type I Descriptor last compiled on 05/02/13 at 09:49.
 20 lines long.

 : L7
 0001: I
 0002: EXTRACT(RAISE(TRANS(FILENAME1,ACCOUNT,10,X)),1,1,1)
 0003: MD2
 0004: Total▒Auths.
 0005: 15R
 0006: S
 0007:
 : EX

 AUTH_NUMBER
 SELECTed record name = AUTH_NUMBER.
 This is a Type I Descriptor last compiled on 05/02/13 at 10:24.
 20 lines long.

 : L7
 0001: I
 0002: EXTRACT(RAISE(TRANS(FILENAME1,ACCOUNT,11,X)),1,0,0)
 0003:
 0004: