You are on page 1of 73

Revision

Product: DLMS Client


Version: 03/03/00

DLMS
DLM
Prepared By Reviewed By
Kamal Dev K R

Revision Date

Test Results
Total Test Cases
Total Test Cases Tested
Total Test Cases Passed
Total Test Cases Passed With Comments
Total Test Cases Failed
Total Test Cases Blocked
Pass Percentage

Page 1
Revision

Page 2
Revision

DLMS Client
DLMS
Approved By Date Revision
Thu 19 Jun 14 0

Modifier Section No & Description

Page 3
Revision

Page 4
Revision

Revision
0

Page 5
Revision

Page 6
Functionality test

Function Arguments Data type Usable range


1 initClient Response Timeout unsigned short 1 → 65,535 seconds

Inter Frame Timeout unsigned short 1 → 65,535

Max Link Layer Buffer Size unsigned short 1 → 65,535

Buffer Size unsigned long 1 → 4,294,967,295

Not enough Memory


size
size

Ciphering support = false

Page 7
Functionality test

2 apper clientHandle Void *

wPortClient unsigned short 0-65535

wPortServer unsigned short 0-127

3 initPort clientHandle Void *

Communication Profile unsigned char 1→5

Client IP Address unsigned char * X.X.X.X

Server IP Address unsigned char * X.X.X.X

Server Port unsigned short 1 → 65535

Page 8
Functionality test

Enable Unsloicited

Max Retry count

Retry interval

7 setParamsAARQ Client Handle Void *

Application Context unsigned char 1-->4

Authentication Mechanism unsigned char 0-->5

Authentication Key unsigned char * X

Encryption Key unsigned char * X

Page 9
Functionality test

Security Policy unsigned char 0-->3

Client System Title unsigned char * X

Maximum Apdu Size unsigned short 1-->65535

8 sendAARQ Client Handle Void *

password unsigned char * X

Password Length unsigned char 0-->255

Conformance block unsigned long 0 --> 16777215

9 getData Client Handle Void *

Ciphering Type unsigned char 0-->3

Obis code Structure X.X.X.X.X.X

Base name unsigned short 1-->65535


Class ID unsigned short 1->105 & 9001->9905

IC version unsigned char 0-->2


Attribute Method ID unsigned char

Selective access Parameters Structure *

Page 10
Functionality test

priority unsigned char 0,1

10 setData Client Handle Void *

Ciphering Type unsigned char 0-->3

Data to set Stucture * X

Obis code Structure X.X.X.X.X.X

Base name unsigned short 1-->65535


Class ID unsigned short 1->105 & 9001->9905

IC version unsigned char 0-->2


Attribute Method ID unsigned char

priority unsigned char 0,1

Service Class unsigned char 0,1

11 Execute Action Client Handle Void *

Ciphering Type unsigned char 0-->3

Data for executing methods Stucture * X

Obis code Structure X.X.X.X.X.X

Page 11
Functionality test

Base name unsigned short 1-->65535


Class ID unsigned short 1->105 & 9001->9905

IC version unsigned char 0-->2


Attribute Method ID unsigned char

priority unsigned char 0,1

Service Class unsigned char 0,1

13 sendRLRQ Client Handle Void *

reason unsigned char

14 closePort Client Handle Void *

15 closeClient Client Handle Void *

Page 12
Functionality test

16 established _Assn Client Handle

Systitle X

APDU size Rx 1-->65535

17 imageTransfer clientHandle Void *

Ciphering Type unsigned char 0-->3

Client ID unsigned char 0-->127

Server Logic ID pointer unsigned short 0 --> 16383

Server Physical ID pointer unsigned short 0 --> 16383

Server Address Length unsigned char 1, 2, 4

Broad Cast Flag unsigned char 0, 1

Number of Servers unsigned short 1-->65535

Application Context unsigned char 1-->4

Authentication Value Pointer unsigned char * X

Page 13
Functionality test

Authentication Value Length unsigned char 0-->255

Authentication Key unsigned char * X

Encryption Key unsigned char * X

Security Policy unsigned char 0-->3

Client System Title unsigned char * X

Maximum Receive Pdu Size unsigned short 1-->65535

Image Info Structure * X

Delay unsigned short 0-->65535

Image Block Size Flag unsigned char 1-->4

Image Block Size unsigned short 0-->65535

Maximum Retry Count unsigned char 0-->255

Communication Profile unsigned char 1→5

18 cleanupMemory Client Handle Void *

19 on Client Handle Void *

20 registerDiagCallback receiveDiagMsg KDIAG_CALLBACK X


21 acks encryptFunPtr CRYPT_CALLBACK X

Page 14
Functionality test

decryptFunPtr CRYPT_CALLBACK X
hashFunPtr HASH_CALLBACK X
22 k eventCbk EVENT_CALLBACK X
23 registerPushCallback pushCbk PUSH_CALLBACK X

Page 15
Functionality test

Do Check
P1 = 5 Sec Verify that server return valid client handle.
(d)UDP
(d)UDP
P2 = 60 Sec Verify that server return valid client handle.
(d)UDP
(d)UDP

P3 = 1 Hr Verify that server return valid client handle.


(d)UDP
(d)UDP
N1 = 0 Verify that server return valid client handle.
further communications.
P1 = 1000 ms Verify that server return valid client handle.
(b)MODE E
(b)MODE E
P2 = 20 Sec Verify that server return valid client handle.
(b)MODE E
(b)MODE E
different client handles.
P3= 60 Sec Verify that server return valid client handle.
(b)MODE E
(b)MODE E
N1 = 0 Verify that server return valid client handle.
communications.
(link size and info size) Verify that server return valid client handle.
verify success in all cases
previous negative test case
(link size and info size) Verify that server return valid client handle.
verify success in all cases
previous negative test case
N1 = 0 Verify that server failed to return client handle.
P1 = 50 Verify that server return valid client handle.
success in all cases
test case
P2 = 65535 Verify that server return valid client handle.
success in all cases
test case
P3=1024*1024*10(10 MB) Verify that server return valid client handle.
and verify success in all cases
and verify success in all cases
N1 = 0 Verify that server failed to return client handle.
do initclient() 1000 times with no delay in between Make sure clienthandle is unique

Make sure that function returns failure. Should also free


whatever was allocated (Check if close port fn need be called)
Should be gracefully handled
Should be gracefully handled

Client user uses LN ciphering context and uses


ciphering in GET request

Client user does not use ciphering and sends a


plain GET request - but server responds with glo-
get-response.

Page 16
Functionality test

P1= client Handle Verify that function return success

N1= 0 Verify that function returns failure


N1!= (0 || client handle) Verify that function returns failure
P1-2 = 126 Verify that function return success.
success.
P2-2 = 128 Verify that function return success.
success.
P3 = 65535 Verify that function return success.
connection (RLRQ) – verify success.
P1-2 = 126 Verify that function return success.
connection and try to get data with new connection.
P2 = 127 Verify that function return success.
new connection – verify success.
P3 = 65535 Verify the result
connection (RLRQ) – verify success.

P1= client Handle Verify that function return success


N1= 0 Verify function return failure
N1!= (0 || client handle) Verify that function returns failure

Call initport with same client handle many times


P1=1 Do communication and ensure success
P2=2 Do communication and ensure success
P3=3 Do communication and ensure success
P4=4 Do communication and ensure success
N1=0 communication also failed
N1=255 communication also failed
P1=X.X.X.X the communication.
N1=E.E.E.E the communication(Need to be checked).
N2=X.X.X the communication(Need to be checked).
N3=X.X.X.X.X establish the communication(Need to be checked).
P1=X.X.X.X the communication.
N1=E.E.E.E the communication.
N2=X.X.X the communication.
N3=X.X.X.X.X establish the communication.
P1= 4059 the association.
Close the port (Analyze the memory allocation and free)
P2=1 the association.
P3=65535 the association.
N1= 0 the further communication.

Set wrong parameters in initport to simulate initport


failure, after that invoke:
1. Setparams aarq, send aarq
2. A push comes
3. Call close port

Simulate a peer socket connection failure(from


server) and repeat 1,2 and 3 above.

In between client sending a frame, simulate a peer


socket connection failure(from server)

Page 17
Functionality test

In between receiving a frame(e.g.) client user calls


closeport

1-to 100 Verify init client success


N1=0 Verify init client success
1-65535 Verify init client success
N1=0 Verify init client success

P1= client Handle Verify that function return success


N1= 0 Verify function return failure
N1!= (0 || client handle) Verify that function returns failure
P1=1 Verify that function return success.
ciphering.
association with application context 2. Try to get data
P2=2 Verify that function return success.
ciphering.
association with application context 3. Try to get data
P3=3 Verify that function return success.
ciphering.
P4=4 Verify that function return success.
ciphering.
N1=0 Verify function return failure
N2=255 Verify function return failure
P1=0 Verify that function return success.
Establish association and get data with no authentication.
logical name with ciphering
get operation
P2=1 Verify that function return success.
Establish association and get data with lo level authentication.
logical name with out ciphering
get operation
different password. Verify the get operation result
P3=2 Verify that function return success.
authentication.
logical name with out ciphering
get operation
different password. Verify the get operation result
P4=3 Verify that function return success.
security policy
result
P5=4 Verify that function return success.
security policy
result
P6=5 Verify that function return success.
security policy
result
P1=X(X.len=16) further communication
P2=X(X.len<16) further communication
P3=X(X.len>16(50)) further communication
N1=E further communication
P1=X(X.len=16) further communication
P2=X(X.len<16) further communication
P3=X(X.len>16(50)) further communication
N1=E further communication

Page 18
Functionality test

P1=1 authentication level)


P2=2 authentication level)
N1=255 further communication
P1=X(X.len=8) further communication
P2=X(X.len<8) further communication
P3=X(X.len>8(50)) further communication
N1=E further communication
P1=13 further communication
in TC with service class =confirmed/unconfirmed
in TCP
P2 = 2048 further communication
APDU in TCP with service class =confirmed/unconfirmed
APDU in TCP
P3=65535 further communication
N1=0 communication

P1= client Handle Verify that function return success


N1= 0 Verify that client returns failure on further communications.
N2= E Verify that client returns failure on further communications.
P1=X(X.len=16) further communication
P2=X(X.len<16) further communication
P3=X(X.len>16(50)) further communication
P3=X(X.len=0) further communication
N1=E further communication
P1=16 further communication
Verify that function return failure and
P1=0 fails
P2=16777215 succeeds
P3=18 get and set operations.(Server need to support those)

P1= client Handle Verify that function return success


N1= 0 Verify function return failure
N1!= (0 || client handle) Verify that function returns failure
P1=0 request/response use ciphering type = P1
P2=1 request/response use ciphering type = P2
P3=2 request/response use ciphering type = P3
P4=3 request/response use ciphering type = P3
N1=255 Verify that function return failure .
P1=0.0.0.0.0.0 success
P2=255.255.255.255.255.255 success
P1=1 and handled properly.
P1=1 success(data in respective structure)
P2=105 success(data in respective structure)
P3=1 success(data in respective structure)
P4 = 2 success(data in generic structure)
P5 = 32766 success(data in generic structure)
all cases
P1=1 and handled properly.
N1 =255 Verify that function return failure.
N1 > Max Attribute of IC. Repeat for all IC Verify function return failure
IC = 7, Selective access pointer = NULL parameters
Selector = 0 parameters
Selector > 2 parameters / function return failure
Remaining parameters = good parameters with value configured by user
To = float32 type parameters with value configured by user
To = date-time type parameters with value configured by user
To = octet string type parameters with value configured by user
To = octet string type parameters with value configured by user
Values = array of 0 parameters with value configured by user
[ensure a big enough APDU size ] parameters with value configured by user
[ensure a big enough APDU size ] parameters with value configured by user

Page 19
Functionality test

From value = 0, to value = 0 parameters with value configured by user


From value = 3, to value = 4 parameters with value configured by user
From value = 4, to value = 1 parameters with value configured by user
From value = 0xFFFE, to value = 0xFFFF parameters with value configured by user
From value = 3, to value = 4 Verify selective access is not encoded in get request
To = octet string type Verify selective access is not encoded in get request
selective access
selective access
selective access
P1=0 '0' in the request
P2=1 '1' in the request
N1=255 Verify function return failure
– for 24 hours for 250 server
attributes of all IC's

P1= client Handle Verify that function return success


N1= 0 Verify function return failure
N1!= (0 || client handle) Verify that function returns failure
P1=0 further communication.
P2=1 further communication.
P3=2 further communication.
P3=3 Verify that function return success.
N1=255 Verify that function return failure .
P1=X Verify that function return success.
N1=E(error response from server) Verify that function return failure.
N2= E(Encode error) Verify that function return failure.

Simulate an obis code = P1 in server. Try set and verify


P1=0.0.0.0.0.0 success

Simulate an obis code = P2 in server. Try set and verify


P2=255.255.255.255.255.255 success
P1=1 and handled properly.
P1=1 success(set request as well as data)
P2=105 success(set request as well as data)
P3=1 success(set request as well as data)
P4 = 2 success(set request as well as data)
P5 = 32767 success(set request as well as data)
all cases(set request as well as data)
P1=1 and handled properly.
N1 =255 Verify that function return failure.
N1 > Max Attribute of IC. Repeat for all IC Verify function return failure
P1=0 '0' in the request
P2=1 '1' in the request
N1=255 Verify function return failure
P1=0 (unconfirmed) immediately without waiting for response
P2=1 (confirmed) response from server
N1=255 Function return failure

P1= client Handle Verify that function return success


N1= 0 Verify function return failure
N1!= (0 || client handle) Verify that function returns failure
P1=0 further communication.
P2=1 further communication.
P3=2 further communication.
P3=3 Verify that function return success.
N1=255 Verify that function return failure .
P1=X Verify that function return success.
N1=E(error response from server) Verify that function return failure.
N2= E(Encode error) Verify that function return failure.
P1=0.0.0.0.0.0 success

Page 20
Functionality test

P2=255.255.255.255.255.255 success
P1=1 and handled properly.
P1=1 success(action request as well as data)
P2=105 success(action request as well as data)
P3=1 success(action request as well as data)
P4 = 2 success(action request as well as data)
P5 = 32767 success(action request as well as data)
in all cases(action request as well as data)
P1=1 and handled properly.
N1 =255 Verify that function return failure.
N1 > Max Attribute of IC. Repeat for all IC Verify function return failure
P1=0 '0' in the request
P2=1 '1' in the request
N1=255 Verify function return failure
P1=0 (unconfirmed) immediately without waiting for response
P2=1 (confirmed) response from server
N1=255 Function return failure
Test cases where action response contain data

P1= client Handle Verify that function return success


N1= 0 Verify function return failure
N1!= (0 || client handle) Verify that function returns failure
P1 = 0 Verify RLRE encodes reason = P1
P2 = 100 Verify RLRE encodes reason = P2
P3 = 255 Verify RLRE encodes reason = P3
User information = not present(GB 12.8) DISCONNECTED
User information = not present DISCONNECTED
User information = not present DISCONNECTED
User information = not present DISCONNECTED
User information = not present DISCONNECTED
User information = present(refer 12.8) DISCONNECTED
User information = present(refer 12.8) DISCONNECTED
User information = present(refer 12.8) DISCONNECTED
User information = present(refer 12.8) DISCONNECTED
timeout] user
timeout for RLRQ sending a get request – expect get response)
Sending RLRQ in Ciphered context Verify RLRE is success

P1= client Handle Verify that function return success


N1= 0 Verify that client returns failure on further communications.
N2= E Verify that client returns failure on further communications.
times (in TCP) increase

P1= client Handle Verify that function return success


N1= 0 Verify that client returns failure on further communications.
N2= E Verify that client returns failure on further communications.
clientHandle which is already closed Verify function return failure
delay in between make sure memory is free-d in closeClient()
Ensure close client free all memory allocated by initclient

Call close client with same client handle multiple


times Check for double times freed.

After close client using closed client handle, invoke


the following
1. init port
2. setparams aarq, send aarq
3. a push comes

Page 21
Functionality test

P1= client Handle Verify that function return success


N1= 0 Verify function return failure
N1!= (0 || client handle) Verify that function returns failure
P1=X(X.len=8) Verify that function return success.
P2=X(X.len<8) Verify that function return success.
P3=X(X.len>8(50)) Verify that function return success.
N1=E Verify that function return Failure.
P2 = 2048 Verify that function return success.
APDU in TCP with service class =confirmed/unconfirmed
APDU in TCP
P3=65535 further communication
N1=0 communication

P1= client Handle Verify that function return success


N1= 0 Verify that client returns failure on further communications.
N2= E Verify that client returns failure on further communications.
P1=0 further communication.
P2=1 further communication.
P3=2 further communication.
P3=3 Verify that function return success.
N1=255 Verify that function return failure .
P1=1 byte addressing scheme
P2=10 byte addressing scheme
P3=58 byte addressing scheme
N1=0 communications.
N2=255 Verify that client returns failure on further communications.
P1=1 byte addressing scheme
P2=250 byte addressing scheme
P3=4660, 250 1 pointer”
N1=0 communications.
N2=65535 Verify that client returns failure on further communications.
P1=1 establish the association.
P2=250 establish the association.
P3=4660, 250 1 pointer”
N1=0 communications.
N2=65535 Verify that client returns failure on further communications.
P1=1 Verify that function return success.
P1=2 Verify that function return success.
P1=4 Verify that function return success.
P1=0 communications.
N2=255 Verify that client returns failure on further communications.
P1=0 communication log for the service class of requests.
P2=1 communication log for the service class of requests.
N1=255 Unpredictable.
P1=1 Verify that function return success.
P2=3 Verify that function return success.
N1= 0 Verify that function return success with out transferring image.
N2=3 that fn returns failure.
P1=1 Verify that function return success.
P2=2 Verify that function return success.
P3=3 Verify that function return success.
P4=4 Verify that function return success.
N1=0 Verify that fn returns failure .
P1=X(X.len=16) Verify that function return success.
P2=X(X.len<16) Verify that function return success.

Page 22
Functionality test

P3=X(X.len>16(50)) Verify that function return success.


N1=E Verify that function return Failure.

P1=16 Verify that function return success.


Verify that function return failure.
P1=X(X.len=16) Verify that function return success.
P2=X(X.len<16) Verify that function return success.
P3=X(X.len>16(50)) Verify that function return success.
N1=E Verify that function return Failure.
P1=X(X.len=16) Verify that function return success.
P2=X(X.len<16) Verify that function return success.
P3=X(X.len>16(50)) Verify that function return success.
N1=E Verify that function return Failure.
P1=1 Verify that function return success.
P2=2 Verify that function return success.
N1=255 Verify that function return Failure.
P1=X(X.len=8) Verify that function return success.
P2=X(X.len<8) Verify that function return success.
P3=X(X.len>8(50)) Verify that function return success.
N1=E Verify that function return Failure.
P2 = 2048 Verify that function return success.
APDU in TCP, with service class =confirmed/unconfirmed
APDU in TCP
P3=65535 further communication
N1=0 communication
P1=X, 100 characters Verify that function return success.
P2=X, 10000 char Verify that function return success.
P3= X 0 char Verify that function return success.
N1=E, invalid file Verify that function return Failure.
P1=0 Verify that function return success.
P2= 30 Verify that function return success.
P3=1000 Verify that function return success.
P1=1 image_block_size attribute from server.
P2=2 2)In all other cases client return error code.
P3=3 block transfer
P4=4
N5=0 Verify that function return Failure.
P1=1000 Set Image Block Size Flag=3. Verify that fn return success
P2=65535 Set Image Block Size Flag=3. Verify that fn return success
P3 = 0 But no image block transferred to server.
P1=0 Verify that client is not resending images on failure.
P2=5 failure.
P3=255 on failure.
P1=1 Verify that fn returns success.
P2= 3 Verify that fn returns success.
N1=0 Verify that function return FAILURE
N1=255 Verify that function return FAILURE

P1= client Handle Verify that function return success


N1= 0 Verify that client returns failure on further communications.
N2= E Verify that client returns failure on further communications.
in between) pointers are not attempted to free
Call cleanup without getData()
failure(data access error code from server)
response timeout

P1= client Handle Verify that function return success


N1= 0 Verify that client returns failure on further communications.
N2= E Verify that client returns failure on further communications.
P1=X application
P1=X properly

Page 23
Functionality test

P1=X properly
P1=X
P1=X properly.
P1=X properly.

sendrlrq, sendaarq, getdata, clean, rlrq..repeat


cleanup
structure
try to do setdata with setdata structure uninitialized
actiondata structure
uninitialized
error is handled gracefully
verify error is handled gracefully
error is handled gracefully
= X, but actual data < X )
= X, but data < X )
allocated memory is free-d
– for 24 hours, scale up to 250
sec – for 24 hours, scale up to 250
>127, >255, >65535
>127, >255, >65535
size >127, >255, >65535
size >127, >255, >65535
>127, >255, >65535 0x81
properly receive whole data
correctly

Page 24
Functionality test

Verdict Comment
Pass Valid client handle is returned
Pass Successful communication established
Pass Timeout error occurred
Pass Valid client handle is returned
-
Pass Timeout error occurred
10% test case(above) Pass Successful communication established
FAILS clientApp.h
- clientApp.h
- clientApp.h
Fail valid client handle is not returned
Pass AARQ Failed.Returned 4354.
Pass Valid client handle is returned
Only TCP mode being checked
Only TCP mode being checked
Only TCP mode being checked
Only TCP mode being checked
Only TCP mode being checked
Only TCP mode being checked
Only TCP mode being checked
Only TCP mode being checked
Only TCP mode being checked
Only TCP mode being checked
Only TCP mode being checked
Pass Valid client handle is returned
Only TCP mode being checked
Only TCP mode being checked
Pass Valid client handle is returned
Only TCP mode being checked
Only TCP mode being checked
Pass Init Client failed.
Pass Valid client handle is returned
SUCCESS Checked for pre-established, IC 7 attr 1 GET - TCP
SUCCESS (NO_SPACE_COSEM)
Pass Valid client handle is returned
PASS in TCP
>P1 Invalid. <P1 success
Pass Valid client handle is returned
Invalid
Invalid
Pass Init Client failed.
Pass Client handle is unique

Already done
Already done

Setting parameters for AARQ


failed. Returned
4627(APPL_CONTEX_MISM Setting parameters for AARQ failed. Returned
ATCH) PASS 4627(APPL_CONTEX_MISMATCH)

GET Failed. Returned 4364


(ENCODE_ERROR) SUCCESS GET Failed. Returned 4364 (ENCODE_ERROR)

Page 25
Functionality test

PASS

PASS setting parameter for init port failed. Returned 4353


PASS AARQ failed. Returned 4354
PASS
FAILS dlmsInstance-> connState==CONNECTED problem
PASS
PASS
PASS
PASS
PASS
PASS
FAILS
FAILS AARQ failed. Returned 4354
PASS
PASS

Pass Init Port success.


Pass Init Port failed.
FAILS Segmentation fault

Pass Init Port failed.


Invalid
Invalid
PASS
Invalid
Invalid
Invalid
PASS
Invalid
Invalid
Invalid
Pass Communication established.
Pass Initport failed but Init client success
Pass Initport failed but Init client success
Pass Initport failed but Init client success
Pass Function returns success and Init Client success.
Invalid Init port failed, returned 4353
Pass Initport failed but Init client success
Pass Initport failed but Init client success
Pass Initport failed but Init client success

1.Init port failed .Returned 4353.


1.Pass 2.Invalid 2.Invalid
3.Pass 3.Init port failed.Returned 4353.

1.Init port failed .Returned 4353.


1.Pass 2.Invalid 2.Invalid
3.Pass 3.Init port failed.Returned 4353.

SUCCESS Returned 4354

Page 26
Functionality test

SUCCESS
3.2.1 setparams aarq, send aarq Event/push received successfully from the server.
3.2.2 a push comes Event/push received successfully from the server.
3.2.3 call close port

Pass Init Client success.


Pass Init Client success.
Pass init Client success.
Pass Init Client success.

PASS
PASS Setting parameters for AARQ failed. Returned 4353
PASS AARQ failed. Returned 2
PASS - Ranjitha
PASS
PASS (With Logical name with ciphering)
supported.
supported.
supported.
PASS
supported.
supported.
supported.
PASS
PASS
PASS
PASS
PASS logical name with ciphering
PASS Security policy 3- GET success
PASS
PASS
PASS 24,1 followed by 16,1
PASS Security policy 3- GET success
-
PASS
PASS
PASS
PASS
-
PASS
PASS
-
PASS
PASS
-
PASS
PASS
-
PASS
(NA)
(NA)
PASS AARQ failed. Returned 1
PASS
(NA)
(NA)
PASS AARQ failed. Returned 1

Page 27
Functionality test

PASS
PASS
PASS No error message
PASS
(NA)
(NA)
PASS GET Failed. Returned 4621
PASS
22792 GET IC7, attr 1 -success; SET ic 3, att 2 fails (4353)
PASS GET IC7, attr 1 -success; SET ic 3, att 2 fails (4353)
PASS GET IC7, attr 1 -success; SET ic 3, att 2 success
PASS GET IC7, attr 1 -success; SET ic 3, att 2 fails (4353)
PASS GET IC7, attr 1 -success; SET ic 3, att 2 fails (4353)
PASS GET IC7, attr 1 -success; SET ic 3, att 2 fails (4353)
Fails GET success

PASS Function returns success .


PASS Function returns failure.
Fail Init Client success but client becomes not responding
PASS
PASS
PASS (len=20)
PASS when "if(len == 0) return K_FAILURE; " is commented.
PASS
PASS
PASS
FAILS Services success
PASS
PASS

PASS
PASS No data
PASS Segmentation fault
PASS
supported.
PASS
supported.
PASS Invalid choice for Application Context
PASS
PASS
supported.
PASS
PASS GET failed, returned 4.
PASS
PASS Returns 4455 (LIB_CLIENT_IC_ERR)
PASS GET failed, returned 4.
PASS For IC 7 attr 2, tested IC versions 0,1
PASS
PASS GET failed. Returned 2
PASS GET failed. Returned 3
PASS by entry- tested.
-
-
-
-
-
-
-
-
-
-

Page 28
Functionality test

-
-
-
-
-
-
-
-
-
PASS
PASS
Fails GET success
-
-

PASS
PASS Segmentation fault
PASS Segmentation fault
PASS
supported
PASS
supported
PASS Invalid choice for Application Context
PASS
PASS
PASS Returned 4354

OBJECT_UNDEFINED, but obis code in packets sent


PASS verified.

OBJECT_UNDEFINED, but obis code in packets sent


PASS verified.
supported
PASS
PASS IC 105 observed in packet sent
PASS
INVALID Returned 4455 (LIB_CLIENT_IC_ERR)
PASS IC 32767 observed in packet sent
PASS With IC 7
PASS
PASS Returned 2
PASS Returned 2
PASS
PASS
Fails Set success
FAILS BUG already reported
PASS
FAILS SET success

PASS
PASS Action failed. Returned 4353
PASS Segmentation fault
PASS
supported
FAILS
supported
PASS
PASS
PASS Returned 4353
PASS
PASS

Page 29
Functionality test

PASS
supported
PASS
PASS IC 105 observed in packet sent
PASS
INVALID Returned 4455 (LIB_CLIENT_IC_ERR)
PASS IC 32767 observed in packet sent
PASS tested with IC 3
PASS
FAILS Action success
FAILS Action success for method 27, ic 7.
PASS
PASS
FAILS Action success
PASS
FAILS Returns 3 or 9
FAILS Action success
-

PASS
FAILS Function returns success.
FAILS Function returns success.
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
INVALID
PASS

PASS Functon returns success.


FAILS Function returns success.
FAILS Function returns success.
PASS initPort() success.

PASS Function returns success.


INVALID
FAILS
FAILS checked
PASS
PASS

Client crashed .Only close client called inside while(1)


FAILS loop.

1.Init port failed .Returned 4353.


1.Pass 2.Fail 2.Client crashed.
3.Invalid 3.Init incoming port success. Pending

Page 30
Functionality test

PASS
PASS Association failed .Returned 4353.
FAILS Client Crashes
PASS
PASS
PASS
FAILS Client Crashes
PASS
PASS
PASS
PASS
PASS  Bug 22882

PASS
(NA)
(NA)
PASS
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)

Page 31
Functionality test

(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
PASS
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
PASS
PASS
PASS
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)
(NA)

PASS
PASS
FAILS Client Crashes
Already done
PASS
PASS
PASS

(NA)
(NA)
(NA)
(NA)
(NA)

Page 32
Functionality test

(NA)
(NA)
PASS
PASS

PASS
PASS GET fails. Returned 4622
PASS Segmentation fault Added comment in 22816 BUG
PASS Segmentation fault Added comment in 22816 BUG
PASS Segmentation fault Added comment in 22816 BUG
PASS ACTION failed, returned 12.
Fail Bug 22860
Fail Bug 22860
PASS Error 4362 means No space Cosem
Fail Bug 22863
Fail Bug 22869
PASS
-
-
FAILS 20 attr 5 pass.
FAILS attr 2 >127.
PASS >65535)
FAILS GET fails for IC 1 attr 2, >127. SET Pass.
PASS
PASS
Already done

Page 33
Functionality test

Status

BUG 22907 Verified Fixed.

BUG 22791 RESOLVED. INVALID.

Page 34
Functionality test

No bug reported

ServerID 127 reserved???

Page 35
Functionality test

= 13 Verified. Fixed
= 13

= 2048
= 2048
Entered = 65535
BUG 22802 HOLD

BUG 22803 CHANGE REQUEST

Page 36
Functionality test

Bug 22816 HOLD


Bug 22816 HOLD

Bug 22816 HOLD


Bug 22816 HOLD

2.Bug 22816 already


reported HOLD

Page 37
Functionality test

:Verified fixed

Page 38
Functionality test

Verified. Fixed
Verified. Fixed

BUG 22888 Verified. Fixed

Page 39
Data specific testing

[Profile] Number of capture object > 127


[Profile] Number of capture object > 255
[Profile] Capure object Data index = 1
[Profile] Capure object Data index = 255
[Profile] Buffer entries > 127
[Profile] Buffer entries > 255
[Profile] Buffer entries = 12*24*365
[Profile] Buffer contain NULL data in some random capture values
[Profile] Buffer entries have different structure
[Profile] Buffer have more entries than specified number of entries
[Profile] Buffer have less entries than specified number of entries
buffer sizes, less entries than specified number of entries
[Script table] [Get] Parameter not present
[Script table] [Set] Parameter not present
[Script table] [Get] Parameter present
[Script table] [Get] Parameter data type
[Utility table] Buffer length > 127, >255
[Register activation] Register Assignment > 127, 255
[Register activation] Mask list > 127, >255
[Register table] table cell values > 127 , >255
SAP Assignment list > 127, > 255
Clock – set time / execute method in unconfirmed manner
Schedule - “exec_specdays“ bit string > 127, > 255
Schedule - “exec_specdays“ bit string > 127, > 255
> 127, >255
> 127, >255
Register monitor action > 127, >255
Register monitor action > 127, >255
Register monitor thresholds > 127, >255
Register monitor thresholds > 127, >255
Single action schedule execution times > 127 > 255
Single action schedule execution times > 127 > 255

Page 40
Data specific testing

Result Comments
Make sure client returns correct data to user Pass Correct data is returned by client.
Make sure client returns correct data to user Pass Correct data is returned by client.
Make sure client returns correct data to user Pass Correct data is returned by client.
Make sure client returns correct data to user Pass Correct data is returned by client.
Make sure client returns correct data to user Pass Correct data is returned by client.
Make sure client returns correct data to user Pass Correct data is returned by client.
Make sure client returns correct data to user Fail
does not attempt to free NULL data not tested
Make sure cleanup free all allocated pointers not tested
negative test not tested
negative test not tested
negative test not tested
Make sure client returns correct data to user Pass Correct data is returned by client.
Make sure set request does not encode parameter Pass Correct data is returned by client.
parameter Pass Correct data is returned by client.
and return correct data to user including parameter Pass Correct data is returned by client.
Ensure Get and Set is Success Pass Get and Set is success.
Ensure Get and Set is Success Pass Get and Set is success.
Ensure Get and Set is Success Not supported
Ensure Get is success Not supported
Ensure Get is success Fails Get fails returned 4364
Fails Set failed. Action success
Make sure get is success and proper Pass Get success
Make sure set is success and proper Pass Set success
Make sure get is success low priority
Make sure set is success low priority
Make sure get is success Pass Get success
Make sure set is success Not supported
Make sure get is success Pass Get success
Make sure set is success Pass Set success
Make sure get is success Pass Get success.
Make sure set is success Pass Set success.

Page 41
Data specific testing

2nd round testing


Pass
Pass
Pass
Pass
Pass
Pass
Pass

Bug 22809 VERIFIED FIXED


Bug 22792 VERIFIED FIXED

Page 42
System testing

Windows XP 32 bit
Windows XP 64 bit
Windows 7 32 bit
Windows 7 64 bit
Windows 8 32 bit
Windows 8 64 bit
Linux 32 bit
Linux 64 bit
Virtual OS – Windows 7 32 bit
Virtual OS – Windows 7 64 bit
Virtual OS – Linux 32 bit
Virtual OS – Linux 64 bit

Page 43
Unsolicited

TCP established association)


TCP association)
TCP Push when AARE is expected
TCP Push when Reply-to-HLS is expected
TCP Push within AA(no communication happening)
TCP Push within AA(in between get with block)
TCP Push within AA(in between set with block)
TCP Push when RLRE is expected
TCP Push when there is no TCP connection
TCP 100 servers push at the same time to same TCP port of client
TCP 100 servers push at the same time to different TCP port of client
TCP Push with large data(>127 blocks)
TCP Push with large data(>255 blocks)
TCP Push with large APDU(65535 bytes)
TCP missing
TCP Push with wrong block number(negative test)
TCP Push with last block missing(negative test)
TCP Push – server retries with 1 sec delay
TCP Push – server retries with 60 sec delay
TCP Push – server pushes different data(say, 100) with no delay in between
TCP User invokes an API(say, get) while Push data is being received(in blocks)
TCP User invokes an API(say, set) while Push data is being received(in blocks)
TCP blocks)
TCP Push in encrypted context

Ensure following works correctly


1. Push plain normal (one block)
2. Push ciphered normal (one block)
3. Push plain blocks
4. Push ciphered blocks

setParamsUnsolicitedCommunication

Page 44
Unsolicited

*clientHandle, P1= client Handle success

N1= 0 Verify function return failure

Verify that function returns


N1!= (0 || client handle) failure

Verify that function return


success. Client give success
KDEFS_UCHAR * authenticationKey_p, P1=X(X.len=16) on further communication

Verify that function return


success. Client give success
P2=X(X.len<16) on further communication

Page 45
Unsolicited

Verify that function return


success. Client give success
P3=X(X.len>16(50)) on further communication

Verify that function return


success. Client give Failure
N1=E on further communication

Verify that function return


success. Client give success
KDEFS_UCHAR * encryptionKey_p, P1=X(X.len=16) on further communication
P2=X(X.len<16) on further communication
P3=X(X.len>16(50)) on further communication
N1=E on further communication
KDEFS_UCHAR * serverSystemTitle, P1=X(X.len=8) on further communication
P2=X(X.len<8) on further communication
P3=X(X.len>8(50)) on further communication
N1=E on further communication
KDEFS_USHORT serverSystemTitleLen, P1= 8 on further communication
N1= len>8 communication
KDEFS_ULONG authTagLen P1= correct value on further communication
N1 = any value communication

Page 46
Unsolicited
Verdict Comment
PASS
PASS
PASS 4602
FAILS BUG 22807 VERIFIED FIXED
PASS services choice
PASS Returned 4602
PASS Set failed: 4602
PASS
PASS connect….
PASS
PASS
FAILS PUSH fails.
Invalid
Invalid
FAILS successful 0x0F)
FAILS validated. BUG 22909 NEW
FAILS
INVALID
INVALID
INVALID
PASS 4602
PASS 4603
PASS Returned 4602
FAILS

PASS
PASS
PASS
PASS

PASS

PASS

Fails:Function
returns success

PASS

PASS

Page 47
Unsolicited

PASS

FAILS

PASS
PASS
PASS
returns success
PASS
PASS
PASS
returns success
PASS
PASS
PASS
PASS

Page 48
New Modifications
Sl. No. Module
Pre-established Description
1 association
2
3
4
5
6
7
8
9
10
11 Arguments
12 passing to
13 setParamsAARQ(
14 ) (Lowest Level)
15 }
16
17 Add new Datatype
18 ProfileBuffer Write
19
20
21
Profile-Selective
22 reset Methods
23
24 Compact Array
25
26
27New ICs to be supportedActive UNI / TS
28 Tariff Plan IC
29 8192
RF - Sub Address
30 (RF Module
31 Secondary
32 Address)
33
34
35 PPP Setup
36
37
38
39 Ipv4 Setup
40
41
42 IC 29 v2
43 autoconnect
44
45
46
47
48
IPv6 Setup

Page 49
New Modifications
49 IPv6 Setup
Network Status
50 PP3 (PP3
51 Network Status)
52 IC 65 – Parameter
53 Monitor
54
55 class_id: 62
56 Compact frame
57 assignment
58
59 IC-18 Image
60 transfer
61
62
63 IC15 Version 2
Set
64 with list /Multiple reference
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

Page 50
New Modifications

Add new Service


GET /SET
WithList and
structures to be
82 used
83 packet
84 Frame Counter
85
86
87
88
89

90
91
92
93
94 Push
95
96
97
98
99
100
101
102
103 GMAC Security Tag
104 Auth Tag of 8 bytes
105 Command buffer
106 Auto reconnect.
107 max_no_of_conn_re
108
109 retry_delay
110 Ciphering
111
112
113

Page 51
New Modifications
114 Push Data Queue.
115
116
117
118
119
120
121
122
123 compact Frame
124

125
126

Page 52
New Modifications
Test case
Do a pre established association. Issue a GET request from the client. Verify that GET is success
is success
Do a pre established association. Issue a SET request from the client. Verify that SET is success
SET is success
Do a pre established association. Issue a SET request from the client. Verify that SET is success
ACTION is success
unsolicited is enabled
unsolicited is enabled
unsolicited is enabled
unsolicited is enabled
in client. Verify that client communication continues with the pre set parameters
NOT released.
Repeat test cases 1 to 12 with Low level pre established association
Repeat test cases 1 to 12 with High level with Gmac security pre established association
server in the correct order.
server
Issue an EXECUTE request for an IC with compact date time. Verify that the request is successful.
Issue a normal SET request for IC 7 with normal array. Verify that SET is successful.
Issue a normal SET WITH BLOCK request for IC 7 with normal array. Verify that SET is successful.
Issue a SET request for IC 7 with COMPACT array. Verify that SET is successful.
Issue a SET WITH BLOCK request for IC 7 with COMPACT array. Verify that SET is successful.
selected is only affected and the rest of the buffer is not affected.
selected is only affected and the rest of the buffer is not affected.
Issue a GET request for IC 7 with COMPACT array. Verify that GET is successful.
Issue a GET WITH BLOCK request for IC 7 with COMPACT array. Verify that GET is successful.
successful.
Issue a GET request for an IC 8192 Attribute 1 . Verify that GET is successful. Repeat for other
attributes.
attribute 3,4,and 5
from
Issueserver
a GETare handled
request for properly
an IC 73Attribute 1 . Verify that GET is successful. Repeat for other
attributes.
attribute 3,4,and 5
serveraare
Issue GET handled
request properly
for an IC 44 Attribute 1 . Verify that GET is successful. Repeat for other
attributes.
attribute 3,4,and 5
serveraare
Issue GET handled
request properly
for an IC 42Attribute 1 . Verify that GET is successful. Repeat for other
attributes.
attribute 4,5,6,7,8,9 and 10
server are handled properly. Repeat the test for attribute 2 also.
handled
Issue a GETproperly. Repeat
request for anthe
ICtest for methods
29 Attribute 2 and that
1 . Verify 3. GET is successful. Repeat for other
attributes.
attribute 4,5 and 6
server are handled properly.
Issue aanGET
EXECUTE
requestrequest
for an ICfor48
anAttribute
IC 29 method 1.Verify
1 . Verify that method
that GET is executed
is successful. successfully..
Repeat for other
attributes.
attribute 4,5,6,7,8, and 9.
server are handled properly. Repeat the test for attribute 2 also.
Repeat the test for methods 2 and 3.
communication is smooth.

Page 53
New Modifications
Verify
Issue atimeout/ auto reconnect
GET request for an IC over IP V6
47 Attr1 1. communication
Verify that GET is success. Repeat for attributes
2,3,4,5,6,7, and 8.
serveraare
Issue GET handled
requestproperly.
for an IC Repeat the test
65 Attribute 1 .for attribute
Verify 2,3,4,5
that GET ,6,7 and8 also.
is successful. Repeat for other
attributes.
SET request
Issue a GET request for
for an
an IC
IC 65,attribute2
62 Attribute 1. .Verify
Verifythat
thatSET
GETisissuccessful.
successful. Repeat for other
attributes.
error from server are handled properly.
successfully and the error is handled.
the test
Issue in server
a GET withfor
request logical
an ICname datatype1 is
18 Attribute octet-string
. Verify [9] and
that GET utf8-stringRepeat
is successful. [12] for other
attributes.
Issue a SET request for an IC 18,attribute 5 . Verify that SET is successful.
Repeat for methods
Issue a GET request2,for3 an
andIC4 15 Attribute 1 . Verify that GET is successful. Repeat for other
attributes.
Issue a SET request for an IC 15,attribute 10 . Verify that SET is successful.
Repeat
Issue for methods
a GET 2, 5 and
WITH LIST with 6different attributes of the same IC . Verify that the responses are
processed by client successfully.
processed by client successfully.
transfer . Verify that the responses are processed by client successfully.
compact arrays . Verify that the responses are processed by client successfully.
selective access . Verify that the responses are processed by client successfully.
responses are processed by client successfully.
responses are processed by client successfully.
successfully.
invalid attributes . Verify that the responses are processed by client successfully.
processed by client successfully.
processed by client successfully.
processed by client successfully.
BLOCK . Verify that the responses are processed by client successfully.
compact arrays . Verify that the responses are processed by client successfully.
selective access . Verify that the responses are processed by client successfully.
responses are processed by client successfully.
responses are processed by client successfully.
successfully.
invalid attributes . Verify that the responses are processed by client successfully.
with list - number of descriptors:
1. Get request with list(N-descriptors; N>1). Check for received response : get with list N-1

2. Get request with list(N-descriptors; N>1) receive response : get with list N+1

3. Get request with list(N-descriptors; N>1) receive response : get with list 0

4. Get request with list(N-descriptors; N>1) receive response : get with list 1

With list - result


1. Get request with list(N-descriptors; N>1) receive response : get with list(N-descriptors) all
success with valid data

2. Get request with list(N-descriptors; N>1) receive response : get with list(N-descriptors) all failure

Page 54
New Modifications

3. Get request with list(N-descriptors; N>1) receive response : get with list(N-descriptors) all but
one success

4. Get request with list(N-descriptors; N>1) receive response : get with list(N-descriptors) all but
one failure

5. Get request with list(N-descriptors; N>1) receive response : get with list(N-descriptors) all
success and all NULL data

Timeouts:
1. Get with list with block : After a few successfull blocks, client gets timeout

2. Get with block : After first block, client gets timeout

3.Get with block : After second last block(one more block remain), client gets timeout
Get request with list(N-descriptors; N>1) receive response : get with list 1
access, SET, SET With Block, GET WITH LIST and SET WITH LIST.
access, SET, SET With Block, GET WITH LIST and SET WITH LIST.
with selective access, SET, SET With Block, GET WITH LIST and SET WITH LIST.
BLOCK, GET with selective access, SET, SET With Block, GET WITH LIST and SET WITH LIST.
BLOCK, GET with selective access, SET, SET With Block, GET WITH LIST and SET WITH LIST.
WITH LIST.

Associate with security level Authentication and encryption . Provide a user given invalid frame
counter for a GET request . Verify that server responds with NACK with the correct frame counter.
Verify that client processes the NACK and issues the same request with correct frame counter.
correct frame counter.
further requests.
further requests.
the client. Do the test cases in 'Unsolicited' sheet.
processed at the client. Do the test cases in 'Unsolicited' sheet.
processed at the client. Do the test cases in 'Unsolicited' sheet.
successfully processed at the client. Do the test cases in 'Unsolicited' sheet.

processed at the client. Do the test cases in 'Unsolicited' sheet.


processed at the client. Do the test cases in 'Unsolicited' sheet.
successfully processed at the client. Do the test cases in 'Unsolicited' sheet.
is successfully processed at the client. Do the test cases in 'Unsolicited' sheet.
for further communications
12 for further communications
GET WITH LIST
with a delay of retry_delay. Repeat the test with max_no_of_conn_retries as 5,10 etc.
Disconnect the server . Verify that client is retrying 2 more times with a delay of retry_delay.
60,600 ,65535 etc.
client is not retrying to connect.
WITH LIST , GET WITH LIST
BLOCK, SET WITH LIST , GET WITH LIST
WITH LIST , GET WITH LIST
BLOCK, SET WITH LIST , GET WITH LIST

Page 55
New Modifications
SET, EXECUTE, GET WITH BLOCK, SET WITH BLOCK, SET WITH LIST , GET WITH LIST
SET, EXECUTE, GET WITH BLOCK, SET WITH BLOCK, SET WITH LIST , GET WITH LIST
LIST
LIST
decoded properly .
decoded properly .
decoded properly .
message is decoded properly .
Pass a RLRE message to the client. Verify that the client decodes the packet .
decode the frame and data is displayed
discards the frame with proper error passed to the application.

Pass a PUSH message as compact frame with correct ASN to the client. Verify that the client
decode the frame and data is displayed
discards the frame with proper error passed to the application.

Page 56
New Modifications
Comments Test Comments
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
Verified(failed) FAILED (BUG ID 22802 &22803)
SUCCESS
SUCCESS
SUCCESS
DO this test for Ic SUCCESS (Tested for IC 8,2,1,4,5)
DO this test for Ic SUCCESS (Tested for IC 8,2,1,4,5)
DO this test for Ic SUCCESS (Tested for IC 8)
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
PASS
PASS. SET success for 2,3,4,5
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
PASS
Not Supported

Page 57
New Modifications
Not Supported
PASS
PASS
PASS
PASS
PASS

the traceability matrix.)


PASS
PASS
PASS
PASS
PASS
Support for Methods 1,5,6 needs to be added.
SUCCESS (without block)
SUCCESS (without block)
SUCCESS
SUCCESS
SUCCESS (without block)
SUCCESS
FAILED WITH ERROR CODE 4467
Verified(for getlist FAILED
SERVER NOT SUPPORTED
SUCCESS
SUCCESS
SUCCESS
FAILED NOT SUPPORTED
SUCCESS
SUCCESS(with out selective access)
SUCCESS (without block and selective access)
SUCCESS (ERROR CODE 4552)
SUCCESS(ERROR CODE 4354)
SUCCESS(Clien validates attributes before send APDU.So for invalid attributes client will not send reques

SUCCESS Return Error 4622

SUCCESS Return Error 4622

SUCCESS Return Error 4622

SUCCESS Return Error 4622

SUCCESS Return Error 4622

SUCCESS Return Error 4622

Page 58
New Modifications

SUCCESS Return Error 4622

SUCCESS(Returned error code for the failure one

SUCCESS

SUCCESS Error 4354

SUCCESS Error 4354

SUCCESS Error 4354


SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS

Not Implemented In Server


Not Implemented In Server
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS

SUCCESS
Verified(failed) FAILED
Verified(failed) FAILED
Verified(failed) FAILED
SUCCESS
SUCCESS
} SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS

Page 59
Please refer UNI-
TS-11-2-
Data_Model.en.v_
0_1.pdf and
provide compact
frames Compact New Modifications
Frame 17 -
Content of push SUCCESS(No validation added for APDU size )
A ,Compact SUCCESS(No validation added for APDU size )
Frame 18 - SUCCESS(No validation added for APDU size )
Content of push SUCCESS(No validation added for APDU size )
B ,Compact SUCCESS
Frame 19 - SUCCESS
Content of push
SUCCESS
C ,Compact
Frame 20 - SUCCESS
Content of push SUCCESS
D and Compact SUCCESS Tested upto CF5(No validation for Payload length )
Frame 21 - CF21 - SUCCESS(ERROR 4353)
Session Error
for push
messages SUCCESS
SUCCESS

Page 60
New Modifications

REQUEST

Page 61
New Modifications

s client will not send request)

Page 62
New Modifications

Verified (SUCCESS)
Verified (SUCCESS)

Page 63
Sl. No Function Do
1 Pre-established AA
established AA
Send RLRQ while idle
Close port while idle
Send aarq for pre-established AA

2 Unknown Response Get request normal


Get request next block
Get request next block
Get request with list
Get request with list

3 Security Server uses wrong auth key


Server uses wrong encryption key
corrupted in server
corrupted in server
removed(there by length mismatch occur)

Test octet string, visible string and bit string with


3 cases of length (a) <127, (b) between 127-255
4 Variable length encoding and (c) >255
(b) between 127-255 and (c) >255
127-255 and (c) >255
Structure length (a) <127, (b) between 127-255
(c) >255
APDU length = 65535

5 Service invocation parameter mismatch


of request
0 in response
1 in response
get response
Simulate:
1 Client send Unconfirmed SET request
Client send Confirmed GET request
response(Success) from server

2 Client send Unconfirmed SET request


Client send Confirmed GET request
from server

3 Client send Unconfirmed SET request


Client send RLRQ
(Success/Fail) from server

6 State machine receive


(a)RLRE
(b) Get response
(c) Set response
(d) Action response
(e) Push
7 State machine Response, client receive
(a)RLRE
(b) AARE
(c) Set response
(d) Action response
(e) Push
7.1 State machine SET Response, client receive
(a)RLRE
(b) AARE
(c) Set response
(d) Action response
(e) Push
7.2 State machine ACTION Response, client receive
(a)RLRE
(b) AARE
(c) Set response
(d) GET response
(e) Push

8 after timeout)

9 timeout or something similar.)

10 servers - make sure this works perfectly

11 are included(available with Deepak)

12 Performance
(1)server make socket connection
(2)server push data
(3)server disconnect
go back to (1)

Do this 1000-10000 times without significant


delay and ensure client never crash or memory
leaks

(1)client make socket connection


(2)server push data
(3)server disconnect
go back to (1)
leaks

13 user throwing error

14 respond with SN(Read response)

15 LN ciphering

16 LN no ciphering
17 HLS - if pass3(f(CtoS) fails

18 length = 0

19 300-500 servers

20 at the same time problem


Check Verdict Comment

Verified(Failed)

Error code 4

get with list Error Code 4622


get normal Error Code 4364
with list Error Code 4622
get normal Error Code 4622
get block(no list) Error Code 4622

Error Code 1
Error Code 1

Verified (SUCCE

1. Server to send length <


0x80, but encoded with prefix
0x81
0x81

Returned 4621

SET failed.

N_RESULT)

GET failed,
returned
4622(UNKNOW
N_RESULT)
Returned 4354

Returned 4354

4622

4353

4353

4353
AARQ failed.
Returned 4454
(LIB_CLIENT_
ERR_AUTH)

No data
Status
SUCCESS
FAILED(Windows)
SUCCESS
SUCCESS
SUCCESS

SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS

SUCCESS
SUCCESS
SUCCESS CLIENT RETURNED ERROR CODE 5
SUCCESS
CLIENT RETURNED LIB_CLIENT_ERR_AUTH

Already covered- functionality tests- 462-466


Already covered- functionality tests- 462-467
Already covered- functionality tests- 462-468
Already covered- functionality tests- 462-469
Already covered- functionality tests- 462-470
Already covered- functionality tests- 462-471

SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS

SUCCESS

SUCCESS

SUCCESS CLIENT RETURNED ERROR CODE 0x120E


SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x11FA

SUCCESS CLIENT RETURNED ERROR CODE 0x120E


SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x11FA

SUCCESS CLIENT RETURNED ERROR CODE 0x120E


SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x11FA

SUCCESS CLIENT RETURNED ERROR CODE 0x120E


SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x120E
SUCCESS CLIENT RETURNED ERROR CODE 0x11FA

SUCCESS

SUCCESS

SUCCESS

PASS

PASS

PASS

PASS

PASS

PASS
PASS

PASS

SUCCESS
 Bug
22905 :Display not
proper in Client Verified Fixed

You might also like