ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » Need help for component level negative testing

Post new topic  Reply to topic
 Need help for component level negative testing « View previous topic :: View next topic » 
Author Message
geeta2058
PostPosted: Fri Oct 10, 2008 1:42 am    Post subject: Need help for component level negative testing Reply with quote

Newbie

Joined: 03 Oct 2008
Posts: 1

Hi all..

Im very new to MQ-Series and have to test a middleware based project.

(MQ series - AIX Environment )

For component level (negative) testing i have created some scenarios.I want your help to make this scenarios possible.

Also some comments/suggestions from your side for breaking the system are really appreciable.

Following are the scenarios :-

1) How to make destination queue full so that it cannot deliver a message.

2) Validate how Queue manager handles a situation when the destination queue does not exist and it cannot deliver a message (How to make this situation possible through command line?)

3) Validate how Queue manager handles a situation when the sender is not authorized to use the destination queue and it cannot deliver a message (How to make this situation possible through command line?)

4)Validate how Queue manager handles a situation when the message is too long and it cannot deliver a message (How to make this situation possible through command line?)

5)Validate how Queue manager handles a situation when the message contains a duplicate message sequence number and it cannot deliver a message

6)Validate how Queue manager handles a situation when Message puts have been inhibited on the destination queue and it cannot deliver a message

7)Validate the behavior when you stop application from accessing the queue

8)Validate that programm discards the message after getting it from the queue.

9)validate how queue manager handles a situation when all messages are set as persistent

Your help/suggestions are really appreciable..

Waiting for your earliest resonse..

With regards !!
Back to top
View user's profile Send private message
bower5932
PostPosted: Fri Oct 10, 2008 4:32 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Aug 2001
Posts: 3023
Location: Dallas, TX, USA

Take a look at some of the basic definitions on the queue and you can easily achieve most of these requirements.

Some examples:

Quote:
How to make destination queue full so that it cannot deliver a message.
You can set the maximum number of messages for the queue to be very low and then put a few messages to fill the queue.

Quote:
Validate how Queue manager handles a situation when the destination queue does not exist and it cannot deliver a message (How to make this situation possible through command line?)
You can do this for a remote queue by not creating it. If you are attempting to do this locally, you'll get back the 2085 error at put time.

Quote:
validate how queue manager handles a situation when all messages are set as persistent
This will be done by your application marking the messages as persistent at put time.

Hope this helps.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
rocky
PostPosted: Thu Oct 23, 2008 9:30 pm    Post subject: Reply with quote

Novice

Joined: 01 Jun 2008
Posts: 20

Ya you can define a dead letter queue at the remote end by usual definition of a local queue for example: define ql(xx) name of the local queue and then at the runmqsc prompt of the remote QManager alter qmgr DEADQ(xx) and then the queue where you are trying to put the message change the maxdepth parameter of the queue for example alter queue(yy) maxdepth(zz) where the yy is the queue name at the remote end and zz is the number of maximum messages the queue can hold
Back to top
View user's profile Send private message
rocky
PostPosted: Thu Oct 23, 2008 10:15 pm    Post subject: Reply with quote

Novice

Joined: 01 Jun 2008
Posts: 20

apologies to continue in another reply, then you need to check the queue depth of the dead letter queue if the count increases then it suggests the queries which has been raised by you on what happens when the queue does not exist on remote side

Answer to your queries with detailed command line validations(As you are a newbie to MQ I have done this,hope it helps)

1) How to make destination queue full so that it cannot deliver a message.
C:>runmqsc QM1
5724-H72 (C) Copyright IBM Corp. 1994, 2004. ALL RIGHTS RESERVED.
Starting MQSC for queue manager QM1.
alter ql(TEST1) maxdepth(1)
alter ql(TEST1) maxdepth(1)
end
2 : end
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
if the application tries to put the message to the queue which is full it gets an error 2053
For example:
C:>amqsput TEST1 QM1
Sample AMQSPUT0 start
target queue is TEST1
adasd
MQPUT ended with reason code 2053
Sample AMQSPUT0 end
C:>mqrc 2053
2053 0x00000805 MQRC_Q_FULL

3) Validate how Queue manager handles a situation when the sender is not authorized to use the destination queue and it cannot deliver a message (How to make this situation possible through command line?)

You can do that by OAM commands i.e setmqaut command where you can give specific access\operation for the particular queue for the application user.

4) Validate how Queue manager handles a situation when the message is too long and it cannot deliver a message (How to make this situation possible through command line?)
C:>runmqsc QM1
5724-H72 (C) Copyright IBM Corp. 1994, 2004. ALL RIGHTS RESERVED.
Starting MQSC for queue manager QM1.
alter ql(TEST1) maxmsgl(2)
2 alter ql(TEST1) maxmsgl(2)
AMQ8008: WebSphere MQ queue changed.
end
2:end
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
C:>amqsput TEST1 QM1
Sample AMQSPUT0 start
target queue is TEST1
asdd
MQPUT ended with reason code 2030
Sample AMQSPUT0 end

C:>mqrc 2030

2030 0x000007ee MQRC_MSG_TOO_BIG_FOR_Q


6)Validate how Queue manager handles a situation when the message is too long and it cannot deliver a message (How to make this situation possible through command line?)
C:>runmqsc QM1
5724-H72 (C) Copyright IBM Corp. 1994, 2004. ALL RIGHTS RESERVED.
Starting MQSC for queue manager QM1.
alter ql(TEST1) maxdepth(1) put(disabled)
1 : alter ql(TEST1) maxdepth(1) put(disabled)
AMQ8008: WebSphere MQ queue changed.
end
2 : end
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
if the application tries to put the message into the queue which is put disabled it gets an error 2051

C:>amqsput TEST1 QM1
Sample AMQSPUT0 start
target queue is TEST1
asad
MQPUT ended with reason code 2051
Sample AMQSPUT0 end

C:>mqrc 2051
2051 0x00000803 MQRC_PUT_INHIBITED
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Need help for component level negative testing
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.