-
Notifications
You must be signed in to change notification settings - Fork 5
Manual and automated test cases consistency
This page provides a description of a regression test suite for the plugin
There is a regression test suite exists for the plugin. To mark the consistency between manual and automated regression test cases, some indications are applied:
$${\color{orange}\textsf{this\ text\ means\ that\ the\ steps\ are\ present\ in\ manual\ test\ suite\ and\ are\ missing\ in\ automated\ test\ suite}}$$ $${\color{green}\textsf{this\ text\ means\ that\ the\ testcase\ is\ automated\ and\ could\ be\ run}}$$
To define a new test in this page, it should contain such sections as:
- Prereqs - the prerequisites for the test to be completed successfully
- Execution - the test execution steps to achieve expected results
- Expected results - the expected results of the test execution
Prereqs:
- a mask for the related datasets is created (e.g. .*).
Execution:
-
Click with the right mouse button on any working set
-
Click New -> Dataset
-
Input desired valid parameters into a data set allocation window and click OK.
-
Create datasets of each of the formats:
- F
- FB
- V
- VA
- VB
$${\color{orange}\textsf{U\ (should\ be\ handled\ separately\ later)}}$$
-
Use dataset organizations:
- Partitioned (PO)
- Sequential (PS)
- Partitioned Extended (PO-E)
- Dataset parameters
- Allocation unit = TRK
$${\color{orange}\textsf{/\ CYL}}$$ - Primary allocation = 10
- Secondary allocation = 1
- Directory = 1
- LRECL = 3200 if Format is "F" else 80
- Block size = 3200
- Average block Length = 0
Expected results:
- after the refresh on the mask is triggered, it should show the list of the newly created datasets
-
Check all fields interface validation:
- Try to input invalid data set name
$${\color{orange}\textsf{Try\ to\ input\ text\ or\ special\ chars\ into\ numeric\ fields}}$$
-
Try to create data set with invalid combination of parameters (fill several different here):
- Record format: V Record length: 1 Block size: 0
- Record format: FB Record length: 255 Block size: 1
- Record format: F Record length: 80 Block size: 1
- Record format: VB Record length: 2 Block size: 1
-
$${\color{orange}\textsf{Try\ to\ create\ data\ set\ with\ invalid\ combination\ and\ valid\ dataset\ and\ member\ name\ of\ parameters\ (fill\ several\ different\ here).}}$$ $${\color{orange}\textsf{preset:\ custom\ dataset,\ Record\ format:\ V\ Record\ length:\ 1}}$$ $${\color{orange}\textsf{preset:\ sequential\ dataset,\ Record\ format:\ V\ Record\ length:\ 1}}$$ $${\color{orange}\textsf{preset:\ PDS\ dataset,\ Record\ format:\ V\ Record\ length:\ 1}}$$ $${\color{orange}\textsf{preset:\ PDS\ with\ empty\ member\ dataset,\ Record\ format:\ V\ Record\ length:\ 1}}$$ $${\color{orange}\textsf{preset:\ PDS\ with\ sample\ JCL\ member\ dataset,\ Record\ format:\ V\ Record\ length:\ 1}}$$
-
Check next field config:
# | DSN | Org | Unit | Prim Alloc | Sec Alloc | Dir | RecFM | LRECL | Blksz | Avg Blk Len |
---|---|---|---|---|---|---|---|---|---|---|
1 | A23456789.A | PO | TRK | 10 | 1 | 1 | FB | 80 | 3200 | 0 |
2 | A23.A23 | PO | TRK | -2 | 0 | 1 | FB | 80 | 3200 | 0 |
3 | A23.A23 | PO | TRK | 10 | 0 | 0 | FB | 80 | 3200 | 0 |
4 | A23.A23 | PO | TRK | 10 | 0 | 1 | FB | 0 | 3200 | 0 |
5 | A23.A23 | PO | TRK | 10 | -10 | 1 | FB | 80 | 3200 | 0 |
6 | A23.A23 | PO | TRK | 10 | 0 | 1 | FB | 80 | -1 | 0 |
7 | A23.A23 | PO | TRK | 10 | 0 | 1 | FB | 80 | 3200 | -1 |
$${\color{orange}\textsf{Click\ with\ the\ right\ mouse\ button\ on\ any\ library\ type\ data\ set.\ Click\ New\ ->\ Member.\ Enter\ the\ new\ member\ name\ and\ click\ ok.}}$$ $${\color{orange}\textsf{Try\ to\ create\ members\ with\ invalid\ names\ (too\ long,\ start\ with\ digit,\ contain\ incorrect\ chars).}}$$
$${\color{orange}\textsf{Right\ click\ on\ dataset\ ->\ Properties}}$$ - Create:
- Dataset:
- DsOrg: PS, Alloc unit: TRK, RECFM: VB, LRECL: 255
- Member:
- Name: TESTM, vers: 1, mod: 0, c4date: 2015/08/12, m4date: 2015/08/12, cnorc: 22, inorc: 22, mnorc: 0, mtime: 05:48, msec: 43, user: IBMUSER, sclm: N
- USS file:
- Name: testFile, mode: -rwxr--rw-, size: 20, uid: 0, user: ZOSMFAD, gid: 1, group: OMVSGRP, mtime: 2015-11-24T02:12:04
- USS directory
- Name: testFolder, mode: drwxr--rw-, size: 888, uid: 0, user: ZOSMFAD, gid: 1, group: OMVSGRP, mtime: 2013-05-07T11:23:08
- Dataset:
- Call and check property for the member
- Call and check property for the dataset
- Call and check property for the USS file
- Call and check property for the USS dir
$${\color{orange}\textsf{Right\ click\ on\ the\ member\ ->\ Click\ copy\ (or\ Choose\ member\ ->\ Click\ CTRL\ +\ C)}}$$ $${\color{orange}\textsf{Right\ click\ on\ the\ another\ dataset\ ->\ Click\ paste\ (or \ Choose\ another\ dataset\ ->\ Click\ CTRL\ +\ V).}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ dataset\ that\ already\ has\ a\ member\ with\ the\ same\ name.\ Click\ Skip\ for\ All.}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ dataset\ that\ already\ has\ a\ member\ with\ the\ same\ name.\ Click\ Overwrite\ for\ All.}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ dataset\ that\ already\ has\ a\ member\ with\ the\ same\ name.\ Click\ Decide\ for\ Each\ ->\ Skip.}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ dataset\ that\ already\ has\ a\ member\ with\ the\ same\ name.\ Click\ Decide\ for\ Each\ ->\ Overwrite.}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ dataset\ that\ already\ has\ a\ member\ with\ the\ same\ name.\ Click\ Decide\ for\ Each\ ->\ Use\ new\ name.}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ USS\ folder.}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ USS\ folder\ that\ already\ has\ a\ file\ with\ the\ same\ name.\ Click\ Skip\ for\ All.}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ USS\ folder\ that\ already\ has\ a\ file\ with\ the\ same\ name.\ Click\ Overwrite\ for\ All.}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ USS\ folder\ that\ already\ has\ a\ file\ with\ the\ same\ name.\ Click\ Decide\ for\ Each\ ->\ Skip.}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ USS\ folder\ that\ already\ has\ a\ file\ with\ the\ same\ name.\ Click\ Decide\ for\ Each\ ->\ Overwrite.}}$$ $${\color{orange}\textsf{Repeat\ step\ 1\ by\ copying\ to\ the\ USS\ folder\ that\ already\ has\ a\ file\ with\ the\ same\ name.\ Click\ Decide\ for\ Each\ ->\ Use\ new\ name.}}$$ $${\color{orange}\textsf{Repeat\ steps\ 1-12\ for\ sequential\ dataset.}}$$ $${\color{orange}\textsf{Repeat\ steps\ 7-12\ for\ PDS.}}$$ $${\color{orange}\textsf{Repeat\ steps\ 1-14\ for\ CUT.}}$$ $${\color{orange}\textsf{Repeat\ steps\ 1-15\ for\ multiple\ files.}}$$ $${\color{orange}\textsf{Repeat\ 2\ for\ local\ file\ and\ choose\ Decide\ for\ Each\ ->\ Use\ new\ name}}$$ $${\color{orange}\textsf{Do\ copy\ non\ pds\ dataset\ to\ dataset\ with\ member\ name\ same\ to\ non\ pds\ (dataset\ ZOSMFAD.TEST\ and\ member\ name\ TEST).\ then\ choose\ "Decide\ for\ Each\ ->\ use\ new\ name"}}$$ $${\color{orange}\textsf{Repeat\ steps\ 1-16\ in\ cross-system\ case}}$$
$${\color{orange}\textsf{Drag\ a\ member\ to\ another\ dataset.\ Click\ Yes.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ another\ dataset.\ Click\ No\ (or\ close\ the\ window).}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ dataset\ that\ already\ has\ a\ member\ with\ the\ same\ name.\ Click\ Yes\ ->\ Skip\ for\ All.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ dataset\ that\ already\ has\ a\ member\ with\ the\ same\ name.\ Click\ Yes\ ->\ Overwrite\ for\ All.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ dataset\ that\ already\ has\ a\ member\ with\ the\ same\ name.\ Click\ Yes\ ->\ Decide\ for\ Each\ ->\ Skip.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ dataset\ that\ already\ has\ a\ member\ with\ the\ same\ name.\ Click\ Yes\ ->\ Decide\ for\ Each\ ->\ Overwrite.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ dataset\ that\ already\ has\ a\ member\ with\ the\ same\ name.\ Click\ Yes\ ->\ Decide\ for\ Each\ ->\ Use\ new\ name.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ USS\ folder.\ Click\ Yes.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ USS\ folder.\ Click\ No\ (or\ close\ the\ window).}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ USS\ folder\ that\ already\ has\ a\ file\ with\ the\ same\ name.\ Click\ Yes\ ->\ Skip\ for\ All.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ USS\ folder\ that\ already\ has\ a\ file\ with\ the\ same\ name.\ Click\ Yes\ ->\ Overwrite\ for\ All.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ USS\ folder\ that\ already\ has\ a\ file\ with\ the\ same\ name.\ Click\ Yes\ ->\ Decide\ for\ Each\ ->\ Skip.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ USS\ folder\ that\ already\ has\ a\ file\ with\ the\ same\ name.\ Click\ Yes\ ->\ Decide\ for\ Each\ ->\ Overwrite.}}$$ $${\color{orange}\textsf{Drag\ a\ member\ to\ the\ USS\ folder\ that\ already\ has\ a\ file\ with\ the\ same\ name.\ Click\ Yes\ ->\ Decide\ for\ Each\ ->\ Use\ new\ name.}}$$ $${\color{orange}\textsf{Repeat\ steps\ 1-14\ for\ sequential\ dataset.}}$$ $${\color{orange}\textsf{Repeat\ steps\ 8-14\ for\ PDS.}}$$ $${\color{orange}\textsf{Repeat\ steps\ 1-16\ for\ multiple\ files.}}$$
-
$${\color{orange}\textsf{Check\ sorting\ by:}}$$ $${\color{orange}\textsf{name}}$$ $${\color{orange}\textsf{modification\ date}}$$ $${\color{orange}\textsf{type}}$$
$${\color{orange}\textsf{When\ sorting,\ the\ loading\ element\ is\ displayed\ instead\ of\ the\ data.}}$$
$${\color{orange}\textsf{Use\ previously\ created\ WS\ with\ valid\ mask}}$$ $${\color{orange}\textsf{Open\ Sequental\ data\ set\ for\ view.\ Try\ to\ input\ something}}$$ $${\color{orange}\textsf{Open\ member\ of\ partitioned\ data\ set.\ Input\ something}}$$ $${\color{orange}\textsf{Try\ to\ open\ alias}}$$
$${\color{orange}\textsf{Edit\ sequential\ data\ set}}$$ $${\color{orange}\textsf{Edit\ member\ of\ partitioned\ data\ set}}$$ $${\color{orange}\textsf{Edit\ two\ members\ with\ the\ same\ name\ and\ close}}$$
$${\color{orange}\textsf{Copy\ member\ /\ USS\ file\ /\ local\ file\ to\ a\ PDS\ dataset}}$$ $${\color{orange}\textsf{Copy\ member\ /\ USS\ file\ /\ local\ file\ to\ a\ PDS/E\ dataset}}$$ $${\color{orange}\textsf{Do\ copy\ /\ cut\ member\ /\ USS\ file\ /\ local\ file\ to\ a\ PDS\ dataset}}$$ $${\color{orange}\textsf{Do\ copy\ /\ cut\ member\ /\ USS\ file\ /\ local\ file\ to\ a\ PDS/E\ dataset}}$$
-
$${\color{orange}\textsf{For\ numeric\ fields,\ check\ messages\ for:}}$$ $${\color{orange}\textsf{values\ outside\ the\ int\ range}}$$ $${\color{orange}\textsf{check\ messages\ for\ non-numeric\ values}}$$
-
$${\color{orange}\textsf{Enter\ the\ correct\ dataset\ names:}}$$ $${\color{orange}\textsf{with\ excess\ length}}$$ $${\color{orange}\textsf{starting\ with\ numbers}}$$ $${\color{orange}\textsf{with\ special\ characters}}$$
-
$${\color{orange}\textsf{Interrupt\ actions\ under\ dataset:}}$$ $${\color{orange}\textsf{allocate\ like}}$$ $${\color{orange}\textsf{migrate}}$$ $${\color{orange}\textsf{rename}}$$ $${\color{orange}\textsf{delete}}$$ $${\color{orange}\textsf{submit}}$$
$${\color{orange}\textsf{Interrupt\ creating\ a\ new\ tso\ connection}}$$ $${\color{orange}\textsf{Interrupt\ creating\ during\ a\ check\ of\ a\ new\ connection}}$$
$${\color{orange}\textsf{Create\ a\ TSO\ Session}}$$ $${\color{orange}\textsf{Open\ a\ TSO\ Console}}$$ $${\color{orange}\textsf{Enter\ TSO\ commands:\ Allocate,\ Delete,\ Rename}}$$ $${\color{orange}\textsf{Click\ Cancel\ command\ (PA1)}}$$ $${\color{orange}\textsf{Submit\ pull\ and\ sleep\ Rexx\ scripts}}$$
-
$${\color{orange}\textsf{Try\ delete\ invalid\ combination:}}$$ $${\color{orange}\textsf{dataset\ /\ member\ and\ USS\ file}}$$ $${\color{orange}\textsf{dataset\ /\ member\ and\ working\ set}}$$ $${\color{orange}\textsf{dataset\ /\ member\ and\ USS\ folder}}$$ $${\color{orange}\textsf{sequential\ dataset\ and\ member}}$$ $${\color{orange}\textsf{USS\ file\ and\ non-ancestor\ folder}}$$ $${\color{orange}\textsf{USS\ file\ and\ workspace}}$$ $${\color{orange}\textsf{USS\ folder\ and\ workspace\ }}$$ $${\color{orange}\textsf{member\ and\ non\ parent\ dataset}}$$
-
$${\color{orange}\textsf{Try\ delete\ valid\ combinations:}}$$ $${\color{orange}\textsf{several\ members\ /\ datasets}}$$ $${\color{orange}\textsf{several\ USS\ files\ /\ folder}}$$ $${\color{orange}\textsf{file\ and\ ancestor\ folder}}$$ $${\color{orange}\textsf{several\ working\ sets}}$$ $${\color{orange}\textsf{member\ and\ parent\ dataset}}$$
$${\color{orange}\textsf{Go\ to\ File\ ->\ Settings\ ->\ Zowe\ Explorer}}$$ $${\color{orange}\textsf{In\ z/OSMF\ Connections\ click\ +}}$$ - Set fields with valid data:
- Connection name: Z23D
- Connection URL: https://test.com:10443
- Username: zosmf
- Password: *****
- Accept self-signed certificates: V
- Click OK
- Repeat step 3 adding several spaces after URL /
$${\color{orange}\textsf{user}}$$ /$${\color{orange}\textsf{password}}$$ (? - not sure if we should check password triming) $${\color{orange}\textsf{Add\ connection\ with\ the\ same\ URL}}$$ - Add connection using "+" in the explorer view
- Repeat 1-3 with too long name (200 "b")
-
$${\color{orange}\textsf{Add\ connection\ with\ invalid\ URL:}}$$ $${\color{orange}\textsf{Click\ OK}}$$ $${\color{orange}\textsf{Add\ connection\ with\ invalid\ (non-existent,\ invalid\ by\ RACF\ -\ e.g.\ personal)\ credentials}}$$ - Add connection with self-signed certificate and unchecked "Accept self-signed SSL certiаficates"
- Try to add connection with incorrect URL, e.g. zzz
$${\color{orange}\textsf{Add\ connection\ with\ very\ long\ name}}$$ - Add 2 connections with the same name
$${\color{orange}\textsf{Get\ existing\ connection\ with\ correct\ information,\ edit\ name,\ username,\ password\ (one\ field\ in\ one\ time)}}$$ - Get connection with invalid information - change it to correct
- Edit connection URL: correct to incorrect and back
$${\color{orange}\textsf{Change\ value\ of\ "Accept\ self-signed\ SSL\ certificates"}}$$ - Change value of "Accept self-signed SSL certificates" from unchecked to checked
- Delete connection that has unique URL
$${\color{orange}\textsf{Delete\ connection\ that\ shares\ URL}}$$ - Delete connection with assigned working sets
- Delete connection with assigned JES working sets
- Delete connection with assigned working sets and JES working sets
$${\color{orange}\textsf{Delete\ all\ connections}}$$
- In Files Explorer view click "+", select "Working Set"
- Create a working set with masks:
- TEST.*, test1.*, TEST.IJM@., TEST*, WWW.*, TEST.IJM@, mask with maximal length of 44 chars, test.**, test.@#%, test.@#%.*, test
- mask: /u, /u/, /etc/ssh, etc///ssh, /uuu
$${\color{orange}\textsf{Create\ a\ working\ set\ with\ very\ long\ name\ (200\ symbols)}}$$ - Add a string to a working set name field: WS1
$${\color{orange}\textsf{Try\ create\ a\ working\ set\ without\ a\ mask}}$$ - Try to add several masks and check the error after Ok is clicked:
- two identical masks
- mask with an HLQ started with a number ("1test.*")
- mask with special characters, except @,#,$,- ("test.{!")
- mask with an HLQ part that is more than 8 chars ("test.A23456789.")
- mask with a length more than 44 chars
- mask ended with dot ("TEST.")
- mask with incorrect asterisks amount ("zosmfad.***")
To track the consistency of the test suite, the next list is used:
- Allocate data sets. Related issue: #282
- Allocating data sets with invalid parameters. Related issue: #284
- Create member in partitioned data set. Related issue: #285
- Verify data sets and members properties. Related issue: #286
- Copy/Cut/Paste - Sequential, PDS, Member. Related issue: #288
- Drag&Drop - Sequential, PDS, Member. Related issue: #297
- Files Explorer - Sorting. Related issue: #298
- Open datasets and members for view. Related issue: #299
- Open datasets and members for edit. Related issue: #300
- Copy/Cut/Paste - PDS / PDS/E. Related issue: #301
- Validation of input into fields for dataset allocation. Related issue: #302
- Validation of interrupt messages. Related issue: #303
- TSO console. Related issue: #304
- Delete multiple files / folders / datasets. Related issue: #305
- Add valid connection. Related issue: #306
- Add invalid connection. Related issue: #307
- Edit existing connection. Related issue: #308
- Delete connection. Related issue: #312
- Create a working set with valid masks. Related issue: #313
- Check name and masks validation in working set (z/OS datasets). Related issue: #314