+ All Categories
Home > Documents > FIX TestCase SessionLevel20010710

FIX TestCase SessionLevel20010710

Date post: 03-Jun-2018
Category:
Upload: skhairnargmailcom
View: 235 times
Download: 0 times
Share this document with a friend

of 24

Transcript
  • 8/12/2019 FIX TestCase SessionLevel20010710

    1/24

    FIX Session-level Test Cases and Expected Behaviors** DRAFT **

    Last Revised: July 10, 2001

  • 8/12/2019 FIX TestCase SessionLevel20010710

    2/24

    Table of Contents

    Table of Contents....................................................................................................................................................................................................................................2

    FIX Session-level Test Cases and !"e#ted $e%avio&s..........................................................................................................................................................................'

    (""li#ability........................................................................................................................................................................................................................................'

    FIX Session-level State )at&i!...........................................................................................................................................................................................................*FIX Lo+on &o#ess State T&ansition ia+&a................................................................................................................................................................................/

    FIX Lo+out &o#ess State T&ansition ia+&a...............................................................................................................................................................................

    Test #ases............................................................................................................................................................................................................................................

    $uyside-o&iented session initiato&3 Lo+on and session initiation test #ase....................................................................................................................................

    Sellside-o&iented session a##e"to&3 Lo+on and session initiation test #ase...................................................................................................................................4

    Test #ases a""li#able to all FIX systes.......................................................................................................................................................................................10

  • 8/12/2019 FIX TestCase SessionLevel20010710

    3/24

    FIX Session-level Test Cases and Expected Behaviors

    ApplicabilityT%is do#uent 5as last &evised July 10, 2001 at 5%i#% tie FIX ve&sion *.' 5as t%e latest ve&sion of t%e FIX &oto#ol. 6ote t%at futu&e aendents to t%is

    do#uent ay be found on t%e FIX 5ebsite and any ve&sion of t%is do#uent "ublis%ed on a late& date ta7es "&e#eden#e ove& t%is ve&sion of t%e do#uent. T%is

    do#uent is a""li#able to all ve&sions of FIX *.X *.0, *.1, *.2, and *.'3 e!#e"t 5%e&e e!"li#itly indi#ated.

  • 8/12/2019 FIX TestCase SessionLevel20010710

    4/24

    FIX Session-level State Matrix

    Precedence State Initiator Acceptor Description

    1 is#onne#ted-6o

    Conne#tionToday

    8 8 Cu&&ently dis#onne#ted, %ave not atte"ted to es tablis% a #onne#tion 9today, and no )s+Se;6u

    %ave been #onsued ne!t #onne#tion 9today 5ill sta&t atMsgSeqNumof 13

    2 is#onne#ted-

    Conne#tion

    Today

    8 8 Cu&&ently dis#onne#ted, %ave atte"ted to establis% a #onne#tion 9today and t%us )s+Se;6u

    %ave been #onsued ne!t #onne#tion 9today 5ill sta&t atMsgSeqNumof last < 13 3

    ' ete#t $&o7en

    6et5o&7

    Conne#tion

    8 8 =%ile #onne#ted, dete#t a b&o7en net5o&7 #onne#tion e.+. TC so#7et #losed3. is#onne#t t%e

    net5o&7 #onne#tion and 9s%utdo5n #onfi+u&ation fo& t%is session.

    * (5aitin+

    Conne#tion

    6 8 Session a##e"to& Lo+on a5aitin+ net5o&7 #onne#tion f&o #ounte&"a&ty

    > Initiate

    Conne#tion

    8 6 Session initiato& Lo+on establis%in+ net5o&7 #onne#tion 5it% #ounte&"a&ty

    / 6et5o&7

    Conne#tion

    stablis%ed

    8 8 6et5o&7 #onne#tion establis%ed bet5een bot% "a&ties

    Initiat ion Logon

    Sent

    8 6 Session initiato& Lo+on send Logonessa+e.

    ??? !#e"tion: 2*%& sessions.

    Initiat ion Logon

    Re#eived

    6 8 Session a##e"to& Lo+on &e#eive #ounte&"a&ty@s Logonessa+e.

    ??? !#e"tion: 2*%& sessions.

    4 Initiat ion Logon

    Res"onse

    6 8 Session a##e"to& Lo+on &es"ond to #ounte&"a&ty@s Logonessa+e 5it% Logonessa+e to

    %ands%a7e

    10 Aandle

    ResendRequest

    8 8 Re#eive and &es"ond to #ounte&"a&ty@s ResendRequestsendin+ &e;uested essa+es andBo&

    SequenceReset-Gap Fillessa+es fo& t%e &an+e ofMsgSeqNum&e;uested11 Re#eive

    MsgSeqNumToo

    Ai+%

    8 8 Re#eive too %i+% ofMsgSeqNumf&o #ounte&"a&ty, ;ueue essa+e, and send ResendRequest

    12 (5aitin+B&o#es

    sin+ Res"onse to

    ResendRequest

    8 8 &o#ess &e;uestedMsgSeqNumPossDupFlag8 &esent essa+es andBo& SequenceReset-Gap Fill

    essa+es f&o #ounte&"a&ty. Dueue in#oin+ essa+es 5it%MsgSeqNumtoo %i+%

    1' 6o essa+es

    &e#eived in

    Inte&val

    8 8 6o inbound essa+es non-+a&bled3 &e#eived in Aea&t$eatInt < 9&easonable "e&iod of tie3, send

    TestRequest

    1* (5aitin+B&o#es 8 8 &o#ess inbound essa+es. Reset %ea&t beat inte&val-&elated tie& 5%en (68 inbound essa+e

  • 8/12/2019 FIX TestCase SessionLevel20010710

    5/24

    sin+ Res"onse to

    TestRequest

    non-+a&bled3 is &e#eived

    1> Re#eive Logout

    essa+e

    8 8 Re#eive Logoutessa+e f&o #ounte&"a&ty initiatin+ lo+outBdis#onne#t. IfMsgSeqNumtoo %i+%,

    send ResendRequest. If sent, 5ait a &easonable "e&iod of tie fo& #o"lete &es"onse to

    ResendRequest. 6ote t%at de"endin+ u"on t%e &eason fo& t%e Logout, t%e #ounte&"a&ty ay be

    unable to fulfill t%e &e;uest. Send Logoutessa+e as &es"onse and 5ait a &easonable "e&iod of tiefo& #ounte&"aty to dis#onne#t t%e net5o&7 #onne#tion. 6ote #ounte&"a&ty ay send a

    ResendRequestessa+e if Logoutessa+e &es"onse %asMsgSeqNumtoo %i+% and t%en &e-initiate

    t%e Logout"&o#ess.

    1/ Initiate Logout

    &o#ess

    8 8 Identify #ondition o& &eason to +&a#efully dis#onne#t e.+. end of 9day, no &es"onse afte& ulti"le

    TestRequestessa+es, too lo5MsgSeqNum, et#.3. Send Logoutessa+e to #ounte&"a&ty. =ait a

    &easonable "e&iod of tie fo& Logout&es"onse. u&in+ t%is tie %andle 9ne5 inbound essa+es

    andBo& ResendRequestif "ossible. 6ote t%at soe lo+outBte&ination #onditions e.+. loss of

    databaseBessa+e safe-sto&e3 ay &e;ui&e iediate te&ination of t%e net5o&7 #onne#tion

    follo5in+ t%e initial send of t%e Logoutessa+e. is#onne#t t%e net5o&7 #onne#tion and

    9s%utdo5n #onfi+u&ation fo& t%is session.

    1 (#tiveB6o&al

    Session

    8 8 6et5o&7 #onne#tion establis%ed, Logonessa+e e!#%an+e su##essfully #o"leted, inbound and

    outboundMsgSeqNuma&e in se;uen#e as e!"e#ted, and Heartbeato& ot%e& essa+es a&e &e#eived5it%in HeartBeatInt< 9&easonable "e&iod of tie3.

    1 =aitin+ fo&

    Logona#7

    8 6 Session initiato& 5aitin+ fo& session a##e"to& to send ba#7 Logon (CE.

  • 8/12/2019 FIX TestCase SessionLevel20010710

    6/24

    FIX Logon Process State Transition Diagram

    Session Initiator (e.g. buside!

    Action

    Session Acceptor (e.g. sellside!

    Action

    Session Initiator (e.g. buside!

    State

    Session Acceptor (e.g. sellside!

    State

    Sta&t is#onne#ted-6o Conne#tion

    Today

    is#onne#ted-Conne#tion Today

    (5aitin+ Conne#tion

    Conne#t Initiate Conne#tion

    ossible3 ete#t $&o7en 6et5o&7

    Conne#tion

    (5aitin+ Conne#tion

    (##e"t Conne#tion 6et5o&7 Conne#tion stablis%ed 6et5o&7 Conne#tion stablis%ed

    Initiate Logon Initiation LogonSent 6et5o&7 Conne#tion stablis%ed

    Re#eive Initiation Logon Initiation LogonSent Initiation LogonRe#eived

    Send Initiation LogonRes"onse Initiation LogonSent Initiation LogonRes"onse

    "ossible3 Initiate Logout&o#ess

    e.+. ifMsgSeqNumtoo lo53

    ossible3 Re#eiveMsgSeqNumToo

    Ai+%

    ossible3 Send ResendRequest Initiation LogonRes"onse

    ossible3 Re#eiveMsgSeqNumToo

    Ai+%

    Re#eive Initiation LogonRes"onse ossible3 (#tiveB6o&al Session

    ossible3 Initiate Logout&o#ess

    e.+. ifMsgSeqNumtoo lo53

    Initiation LogonRes"onse

    ossible3 Send ResendRequest ossible3 (#tiveB6o&al Session

    ossible3 Re#eiveMsgSeqNumToo

    Ai+%

    ossible3 (#tiveB6o&al Session

    ossible3 Aandle ResendRequest

    (#tiveB6o&al Session (#tiveB6o&al Session

  • 8/12/2019 FIX TestCase SessionLevel20010710

    7/24

    FIX Logout Process State Transition Diagram

    Logout Initiator" Action Logout Acceptor Action Logout Initiator State Logout Acceptor State

    Sta&t (#tiveB6o&al Session

    6o essa+es &e#eived in Inte&val

    (5aitin+B&o#essin+ Res"onse to

    TestRequest

    (#tiveB6o&al Session

    6o essa+es &e#eived in Inte&val

    Initiation LogonSent

    (5aitin+B&o#essin+ Res"onse to

    TestRequest

    (5aitin+ validation of lo+on

    Re#eiveMsgSeqNumToo Ai+%

    (5aitin+B&o#essin+ Res"onse to

    ResendRequest

    Initiate Logout&o#ess

    =aitin+ fo& Logona#7

    Send Logout essa+e Lo+out endin+

    Re#eive Logoutessa+e Lo+out endin+ Lo+out endin+

    ossible3 Re#eiveMsgSeqNumToo

    Ai+%

    Send Logout &es"onse Lo+out endin+ (5aitin+ is#onne#t

    ossible3 Send ResendRequest Lo+out endin+ ossible3 (5aitin+ B &o#essin+

    Res"onse to ResendRequest

    ossible3 &e#eive ResendRequest ossible3 (5aitin+ B &o#essin+

    Res"onse to ResendRequest

    ossible3 (5aitin+ Res"onse to

    ResendRequest

    Re#eive LogoutRes"onse is#onne#ted-Conne#tion Today (5aitin+ is#onne#t

    is#onne#t is#onne#ted-Conne#tion Today is#onne#ted-Conne#tion Today

  • 8/12/2019 FIX TestCase SessionLevel20010710

    8/24

    Test cases

    Buyside-oriented (session initiator) Logon and session initiation test case

    Re#

    ID

    Pre-

    condition

    Test case $andator%

    &ptional

    'ondition%Stiulus )*pected +e,aior

    1$ Conne#t and Send Logon

    essa+e

    )andato&y a. stablis% 6et5o&7 #onne#tion Su##essfully o"en TC so#7et 5it%

    #ounte&"a&ty

    b. Send Logon essa+e Send Logonessa+e

    #. alid Logon essa+e as &es"onse is

    &e#eived

    IfMsgSeqNumis too %i+% t%en send

    Resend Request

    d. Invalid Logonessa+e is &e#eived 1. Gene&ate an He&&o&H #ondition in

    test out"ut.

    2. "tional3 Send Reectessa+e

    5it%RefMsgSeqNum&efe&en#in+

    Logonessa+e@sMsgSeqNum5it% Text&efe&en#in+ e&&o&

    #ondition

    '. Send Logoutessa+e 5it% Text

    &efe&en#in+ e&&o& #ondition

    *. is#onne#t

    >.

    e. Re#eive any essa+e ot%e& t%an a Logon

    essa+e.

    1. Lo+ an e&&o& 9fi&st essa+e not a

    lo+on

    2. is#onne#t

  • 8/12/2019 FIX TestCase SessionLevel20010710

    9/24

    Sellside-oriented (session acceptor) Logon and session initiation test case

    Re#

    ID

    Pre-

    condition

    Test case $andator%

    &ptional

    'ondition%Stiulus )*pected +e,aior

    1S Re#eive Logonessa+e )andato&y a. alid Logon essa+e 1. Res"ond 5it% Logon &es"onse

    essa+e2. IfMsgSeqNumis too %i+% t%en

    send Resend Request

    b. Logonessa+e &e#eived 5it% du"li#ate

    identity e.+. sae I, "o&t, Sende&Co"I,

    Ta&+etCo"I, et#. as e!istin+ #onne#tion3

    1. Gene&ate an He&&o&H #ondition in

    test out"ut.

    2. is#onne#t 5it%out sendin+ a

    essa+e note sendin+ a Ree#t o&

    Lo+out 5ould #onsue a

    )s+Se;6u3

    #. Logonessa+e &e#eived 5it%

    unaut%enti#atedBnon-#onfi+u&ed identity e.+.

    invalid Sende&Co"I, invalid

    Ta&+etCo"I, invalid soue I add&ess,et#. vs. syste #onfi+u&ation3

    1. Gene&ate an He&&o&H #ondition in

    test out"ut.

    2. is#onne#t 5it%out sendin+ a

    essa+e note sendin+ a Ree#t o&Lo+out 5ould #onsue a

    )s+Se;6u3

    d. Invalid Logonessa+e 1. Gene&ate an He&&o&H #ondition

    in test out"ut.

    2. "tional3 Send Reect

    essa+e 5it%RefMsgSeqNum

    &efe&en#in+ Logonessa+e@s

    MsgSeqNum5it% Text&efe&en#in+

    e&&o& #ondition

    '. Send Logoutessa+e 5it%Text&efe&en#in+ e&&o& #ondition

    *. is#onne#t

    Re#eive any essa+e ot%e&

    t%an a Logonessa+e

    )andato&y Fi&st essa+e &e#eived is not a Lo+on

    essa+e.

    1. Lo+ an e&&o& 9fi&st essa+e not a

    lo+on

    2. is#onne#t

  • 8/12/2019 FIX TestCase SessionLevel20010710

    10/24

    Test cases applicable to all FIX systems

    Re#

    ID

    Pre-

    condition

    Test case $andator%

    &ptional

    'ondition%Stiulus )*pected +e,aior

    2 Re#eive $essage Standard

    Header

    )andato&y a. MsgSeqNum&e#eived as e!"e#ted (##e"tMsgSeqNumfo& t%e essa+e

    b. MsgSeqNum%i+%e& t%an e!"e#ted Res"ond 5it% Resend Requestessa+e

    #. MsgSeqNumlo5e& t%an e!"e#ted 5it%out

    PossDupFlagset to 8

    !#e"tion: SeqReset-Reset

    1. is#onne#t 5it%out sendin+ a

    essa+e

    2. Gene&ate an He&&o&H #ondition in

    test out"ut.

    d. Ga&bled essa+e &e#eived 1. Conside& +a&bled and i+no&e

    essa+e do not in#&eent

    inboundMsgSeqNum3 and

    #ontinue a##e"tin+ essa+es.

    2. Gene&ate a H5a&nin+H #ondition in

    test out"ut.

    e.PossDupFlagset to 8K OrigSeningTime

    s"e#ified is less t%an o& e;ual to

    SeningTimeandMsgSeqNumlo5e& t%an

    e!"e#ted

    6ote: OrigSeningTimes%ould be ea&lie&

    t%an SeningTimeunless t%e essa+e is

    bein+ &esent 5it%in t%e sae se#ond du&in+

    5%i#% it 5as sent.

    1. C%e#7 to see if MsgSeqNum%as

    al&eady been &e#eived.

    2. If al&eady &e#eived t%en i+no&e t%e

    essa+e, ot%e&5ise a##e"t and

    "&o#ess t%e essa+e.

    f.PossDupFlagset to 8K OrigSeningTime

    s"e#ified is +&eate& t%an SeningTimeand

    MsgSeqNumlo5e& t%an e!"e#ted

    6ote: OrigSeningTimes%ould be ea&lie&

    t%an SeningTimeunless t%e essa+e is

    bein+ &esent 5it%in t%e sae se#ond du&in+

    5%i#% it 5as sent.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ ina##u&ate

    SeningTime FIX *.2:

    SessionRee#tReason

    HSendin+Tie a###u&a#y

    "&obleH3

    2. In#&eent inboundMsgSeqNum

    '. Send Logoutessa+e &efe&en#in+

    ina##u&ate SeningTimevalue

    *. =ait fo& Logoutessa+e

    &es"onse note li7ely 5ill %ave

    ina##u&ate SeningTime3 o& 5ait 2

    se#onds 5%i#%eve& #oes fi&st

  • 8/12/2019 FIX TestCase SessionLevel20010710

    11/24

    >. is#onne#t

    Gene&ate an He&&o&H #ondition in test

    out"ut.

    +.PossDupFlagset to 8 and

    OrigSeningTimenot s"e#ified

    6ote: (l5ays set OrigSeningTimeto t%e

    tie 5%en t%e essa+e 5as o&i+inally sent-

    not t%e "&esent SeningTimeand set

    PossDupFlag 98 5%en &es"ondin+ to a

    Resend Request

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ issin+OrigSeningTime FIX *.2:

    SessionRee#tReason HRe;ui&ed

    ta+ issin+H3

    2. In#&eent inbound

    MsgSeqNum

    %.BeginStringvalue &e#eived as e!"e#ted

    and s"e#ified in testin+ "&ofile and at#%es

    BeginStringon outbound essa+es.

    (##e"tBeginStringfo& t%e essa+e

    i.BeginStringvalue e.+. HFIX.*.2H3 &e#eived

    did not at#% value e!"e#ted and s"e#ified

    in testin+ "&ofile o& does not at#%BeginStringon outbound essa+es.

    1. Send Logoutessa+e &efe&en#in+

    in#o&&e#tBeginStringvalue

    2. =ait fo& Logoutessa+e&es"onse note li7ely 5ill %ave

    in#o&&e#t $e+inSt&in+3 o& 5ait 2

    se#onds 5%i#%eve& #oes fi&st

    '. is#onne#t

    *. Gene&ate an He&&o&H #ondition in

    test out"ut.

    . Sener!ompIDand Target!ompIDvalues

    &e#eived as e!"e#ted and s"e#ified in testin+

    "&ofile.

    (##e"t Sener!ompIDand

    Target!ompIDfo& t%e essa+e

    7. Sener!ompIDand Target!ompIDvalues

    &e#eived did not at#% values e!"e#ted and

    s"e#ified in testin+ "&ofile.

    1. Send Reect (session-leel!

    essa+e &efe&en#in+ invalid

    Sener!ompIDo& Target!ompID FIX *.2:

    SessionRee#tReason HCo"I

    "&obleH3

    2. In#&eent inboundMsgSeqNum

    '. Send Logoutessa+e &efe&en#in+

    in#o&&e#t Sener!ompIDo&

    Target!ompIDvalue

    *. =ait fo& Logoutessa+e

    &es"onse note li7ely 5ill %ave

  • 8/12/2019 FIX TestCase SessionLevel20010710

    12/24

    in#o&&e#t Sener!ompIDo&

    Target!ompID3 o& 5ait 2 se#onds

    5%i#%eve& #oes fi&st

    >. is#onne#t

    /. Gene&ate an He&&o&H #ondition in

    test out"ut.l.Bo"#engt$value &e#eived is #o&&e#t. (##e"tBo"#engt$fo& t%e essa+e

    .Bo"#engt$value &e#eived is not #o&&e#t. 1. Conside& +a&bled and i+no&e

    essa+e do not in#&eent

    inboundMsgSeqNum3 and

    #ontinue a##e"tin+ essa+es

    2. Gene&ate a H5a&nin+H #ondition in

    test out"ut.

    n. SeningTimevalue &e#eived is s"e#ified in

    MTC Mnive&sal Tie Coo&dinated also

    7no5n as G)T3 and is 5it%in 2 inutes of

    atoi# #lo#7-based tie.

    (##e"t SeningTimefo& t%e essa+e

    o. SeningTimevalue &e#eived is eit%e& nots"e#ified in MTC Mnive&sal Tie

    Coo&dinated also 7no5n as G)T3 o& is not

    5it%in 2 inutes of atoi# #lo#7-based tie.

    Rational:

    e&ify syste #lo#7s on bot% sides a&e in

    syn# and t%at Sendin+Tie ust be #u&&ent

    tie

    1. Send Reect(session-leel!essa+e &efe&en#in+ ina##u&ate

    SeningTime FIX *.2:

    SessionRee#tReason

    HSendin+Tie a###u&a#y

    "&obleH3

    2. In#&eent inboundMsgSeqNum

    '. Send Logoutessa+e &efe&en#in+

    ina##u&ate SeningTimevalue

    *. =ait fo& Logoutessa+e

    &es"onse note li7ely 5ill %ave

    ina##u&ate SeningTime3 o& 5ait 2

    se#onds 5%i#%eve& #oes fi&st>. is#onne#t

    /. Gene&ate an He&&o&H #ondition in

    test out"ut.

    ".MsgT"pevalue &e#eived is valid defined

    in s"e# o& #lassified as use&-defined3.

    (##e"tMsgT"pefo& t%e essa+e

    ;.MsgT"pevalue &e#eived is not valid

    defined in s"e# o& #lassified as use&-

    defined3.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ invalid

    MsgT"pe FIX *.2:

    SessionRee#tReason HInvalid

    )s+Ty"eH3

  • 8/12/2019 FIX TestCase SessionLevel20010710

    13/24

    2. In#&eent inbound

    MsgSeqNum

    '. Gene&ate a H5a&nin+H

    #ondition in test out"ut.

    &.MsgT"pevalue &e#eived is valid defined

    in s"e# o& #lassified as use&-defined3 but notsu""o&ted o& &e+iste&ed in testin+ "&ofile.

    13 If N FIX *.2

    a3 Send Reect(session-leel!essa+e &efe&en#in+ valid but

    unsu""o&tedMsgT"pe

    23 If FIX *.2

    a3 Send +usiness $essage

    Reectessa+e &efe&en#in+

    valid but unsu""o&ted

    MsgT"pe FIX *.2:

    $usinessRee#tReason

    HMnsu""o&ted )essa+e

    Ty"eH3

    '3 In#&eent inboundMsgSeqNum

    *3 Gene&ate a H5a&nin+H #ondition intest out"ut.

    s.BeginString% Bo"#engt$% andMsgT"pe

    a&e fi&st t%&ee fields of essa+e.

    (##e"t t%e essa+e

    t.BeginString% Bo"#engt$% andMsgT"pe a&e

    not t%e fi&st t%&ee fields of essa+e.

    1. Conside& +a&bled and i+no&e

    essa+e do not in#&eent

    inboundMsgSeqNum3 and

    #ontinue a##e"tin+ essa+es

    2. Gene&ate a H5a&nin+H #ondition in

    test out"ut.

    ' Re#eive $essage Standard

    Trailer

    )andato&y a. alid !$e&'Sum (##e"t )essa+e

    b. Invalid !$e&'Sum 1. Conside& +a&bled and i+no&eessa+e do not in#&eent

    inboundMsgSeqNum3 and

    #ontinue a##e"tin+ essa+es

    2. Gene&ate a H5a&nin+H #ondition in

    test out"ut.

    #. Ga&bled essa+e 1. Conside& +a&bled and i+no&e

    essa+e do not in#&eent

    inboundMsgSeqNum3 and

    #ontinue a##e"tin+ essa+es

    2. Gene&ate a H5a&nin+H #ondition in

  • 8/12/2019 FIX TestCase SessionLevel20010710

    14/24

    test out"ut.

    d. !$e&'Sumis last field of essa+e, value

    %as len+t% of ', and is deliited by NSA.

    (##e"t )essa+e

    e. !$e&'Sumis not t%e last field of essa+e,

    value does not %ave len+t% of ', o& is not

    deliited by NSA.

    1. Conside& +a&bled and i+no&e

    essa+e do not in#&eent

    inboundMsgSeqNum3 and#ontinue a##e"tin+ essa+es

    2. Gene&ate a H5a&nin+H #ondition in

    test out"ut.

    * Send Heartbeatessa+e )andato&y a. 6o data sent du&in+ "&eset %ea&tbeat

    inte&val HeartBeatIntfield3

    Send Heartbeatessa+e

    b. ( Test Requestessa+e is &e#eived Send Heartbeatessa+e 5it% Test

    Requestessa+eOs TestReqID

    > Re#eive Heartbeat essa+e )andato&y alid Heartbeatessa+e (##e"t Heartbeatessa+e

    / Send Test Request )andato&y 6o data &e#eived du&in+ "&eset %ea&tbeat

    inte&val HeartBeatIntfield3 < Hsoe

    &easonable "e&iod of tieH use 20P ofHeartBeatIntfield3

    1. Send Test Request essa+e

    2. T&a#7 and ve&ify t%at a Heartbeat

    5it% t%e sae TestReqIDis&e#eived ay not be t%e ne!t

    essa+e &e#eived3

    Re#eive Reectessa+e )andato&y alid Reect essa+e 1. In#&eent inboundMsgSeqNum

    2. Continue a##e"tin+ essa+es

    Re#eive Resend Request

    essa+e

    )andato&y alid Resend Re;uest Res"ond 5it% a""li#ation level

    essa+es and SequenceReset-(ap

    Fillfo& adin essa+es in &e;uested

    &an+e a##o&din+ to H)essa+e

    Re#ove&yH &ules.

    4 Syn#%&oniQe se;uen#e

    nube&s

    "tional (""li#ation failu&e Send Sequence Reset - Reset

    essa+e o& anually &eset to 1 out-of-

    band.10 Re#eive Sequence Reset

    (Gap Fill!

    )andato&y Re#eive Sequence Reset (Gap Fill!essa+e

    5it% 6e5Se;6o )s+Se;6u

    )s+Se;6u t%an e!"e#t se;uen#e nube&

    )s+Se;6u to e!"e#ted se;uen#e nube&

    )s+Se;6u N t%an e!"e#ted se;uen#e

    nube&

    1. If )s+Se;6u e!"e#ted

    Issue Resend Request to fill

    +a" bet5een e!"e#ted

    )s+Se;6u

    )s+Se;6u.

    2. If )s+Se;6u N e!"e#ted

    se;uen#e nube& ossu"Fla+

    98

  • 8/12/2019 FIX TestCase SessionLevel20010710

    15/24

    I+no&e essa+e

    '. If )s+Se;6u N e!"e#ted

    se;uen#e nube& 5it%out

    ossu"Fla+ 98

    is#onne#t 5it%out sendin+ aessa+e

    Gene&ate an He&&o&H #ondition

    in test out"ut

    *. if )s+Se;6u e!"e#ted

    se;uen#e nube&.

    Set ne!t e!"e#ted se;uen#e

    nube& 6e5Se;6o

    11 Re#eive Sequence Reset

    (Reset!

    )andato&y a. Re#eive Sequence Reset (reset! essa+e

    5it%Ne)SeqNo t%an e!"e#ted se;uen#e

    nube&

    13 (##e"t t%e Sequence Reset

    (Reset!essa+e 5it%out &e+a&ds

    itsMsgSeqNum23 Set e!"e#ted se;uen#e nube&

    e;ual to 6e5Se;6o

    b. Re#eive Sequence Reset (reset! essa+e

    5it%Ne)SeqNo to e!"e#ted se;uen#e

    nube&

    13 (##e"t t%e Sequence Reset

    (Reset!essa+e 5it%out &e+a&ds

    itsMsgSeqNum

    23 Gene&ate a H5a&nin+H #ondition in

    test out"ut.

    #. Re#eive Sequence Reset (reset! essa+e

    5it%Ne)SeqNoN t%an e!"e#ted se;uen#e

    nube&

    13 (##e"t t%e Sequence Reset

    (Reset!essa+e 5it%out &e+a&ds

    itsMsgSeqNum23 Send Reect(session-leel!

    essa+e &efe&en#in+ invalid

    MsgT"pe FIX *.2:

    SessionRee#tReason Halue is

    in#o&&e#t out of &an+e3 fo& t%is

    ta+H3

    '3 o 6T In#&eent inbound

    MsgSeqNum

    *3 Gene&ate an He&&o&H #ondition in

  • 8/12/2019 FIX TestCase SessionLevel20010710

    16/24

    test out"ut

    >3 o 6T lo5e& e!"e#ted se;uen#e

    nube&.

    12 Initiate lo+out "&o#ess )andato&y Initiate Lo+out 13 Send Logoutessa+e

    23 =ait fo& #ounte&"a&ty to &es"ond5it% Logoutessa+e u" to 10

    se#onds note ay not be

    &e#eived if #ouni#ations

    "&oble e!ists3. If not &e#eived,

    +ene&ate a 95a&nin+ #ondition

    in test out"ut.

    '3 is#onne#t

    1' Re#eive Logout essa+e )andato&y a. Re#eive valid Logout essa+e in &es"onse

    to a soli#ited lo+out "&o#ess

    is#onne#t 5it%out sendin+ a

    essa+e

    b. Re#eive valid Logout essa+e

    unsoli#itied

    1. Send Logout&es"onse essa+e

    2. =ait fo& #ounte&"a&ty to

    dis#onne#t u" to 10 se#onds. Ifa! e!#eeded, dis#onne#t and

    +ene&ate an 9e&&o& #ondition in

    test out"ut.

    1* Re#eive a""li#ation o&

    adinist&ative essa+e

    )andato&y a. Re#eive field identifie& ta+ nube&3 not

    defined in s"e#ifi#ation.

    !#e"tion: undefined ta+ used is s"e#ified in

    testin+ "&ofile as use&-defined.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ invalid ta+

    nube& FIX *.2:

    SessionRee#tReason HInvalid

    ta+ nube&H3

    2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition in

    test out"ut.

    b. Re#eive essa+e 5it% a &e;ui&ed fieldidentifie& ta+ nube&3 issin+. 1. SendReect(session-leel!essa+e &efe&en#in+ &e;ui&ed ta+

    issin+ FIX *.2:

    SessionRee#tReason HRe;ui&ed

    ta+ issin+H3

    2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition in

    test out"ut.

    #. Re#eive essa+e 5it% field identifie& ta+

    nube&3 5%i#% is defined in t%e s"e#ifi#ation

    but not defined fo& t%is essa+e ty"e.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ ta+ not

    defined fo& t%is essa+e ty"e

  • 8/12/2019 FIX TestCase SessionLevel20010710

    17/24

  • 8/12/2019 FIX TestCase SessionLevel20010710

    18/24

    test out"ut.

    %. Re#eive a essa+e in 5%i#% a field

    identifie& ta+ nube&3 5%i#% is not "a&t of a

    &e"eatin+ +&ou" is s"e#ified o&e t%an on#e

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ du"li#ate

    field identifie& ta+ nube&3

    2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition intest out"ut.

    i. Re#eive a essa+e 5it% &e"eatin+ +&ou"s

    in 5%i#% t%e H#ountH field value fo& a

    &e"eatin+ +&ou" is in#o&&e#t.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ t%e in#o&&e#t

    H#ountH field identifie& ta+

    nube&3

    2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition in

    test out"ut.

    . Re#eive a essa+e 5it% &e"eatin+ +&ou"s

    in 5%i#% t%e o&de& of &e"eatin+ +&ou" fields

    does not at#% t%e s"e#ifi#ation.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ t%e &e"eatin+

    +&ou" 5it% in#o&&e#t field

    o&de&in+2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition in

    test out"ut.

    7. Re#eive a essa+e 5it% a field of a data

    ty"e ot%e& t%an HdataH 5%i#% #ontains one o&

    o&e ebedded NSA values.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ field

    identifie& ta+ nube&3 5it%

    ebedded NSA

    2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition in

    test out"ut.

    is#a&d as valid &es"onseBout#oe

    tooo&

    Conside& +a&bled and i+no&e essa+e

    l. Re#eive a essa+e 5%en a""li#ation-level

    "&oessin+ o& syste is not available

    "tional3

    13 If N FIX *.2

    a3 Send Reect(session-leel!

    essa+e &efe&en#in+

    a""li#ation essa+e

    "&o#essin+ is not available

    23 If FIX *.2

    a3 Send +usiness $essage

    Reectessa+e &efe&en#in+

  • 8/12/2019 FIX TestCase SessionLevel20010710

    19/24

  • 8/12/2019 FIX TestCase SessionLevel20010710

    20/24

    1/ Dueue out+oin+ essa+es )andato&y a. )essa+e to sendB;ueue 5%ile dis#onne#ted Dueue out+oin+ essa+es. 6ote t%e&e

    a&e t5o valid a""&oa#%es:

    13 Dueue 5it%out &e+a&ds to

    MsgSeqNum

    a3 Sto&e data fo& essa+es

    23 Dueue ea#% essa+e 5it% t%e ne!t

    MsgSeqNumvalue

    a3 Sto&e data fo& essa+es in

    su#% a anne& as to use and

    9#onsue t%e ne!t

    MsgSeqNum

    6ote: Sendin+Tie Ta+>23: ust

    #ontain t%e tie t%e essa+e is sent

    not t%e tie t%e essa+e 5as ;ueued.

    b. Re-#onne#t 5it% ;ueued essa+es 1. Co"lete lo+on "&o#ess #onne#t,

    and Logonessa+e e!#%an+e3

    2. Co"leteMsgSeqNum &e#ove&y

    "&o#ess if a""li#able.

    '. Re#oended s%o&t delay o&

    TestRequestBHeartbeatto ve&ify

    MsgSeqNum&e#ove&y #o"leted.

    *. 6ote t%e&e a&e t5o valid ;ueuin+

    a""&oa#%es:

    a3 Dueue 5it%out &e+a&ds to

    MsgSeqNum

    i3 Send ;ueued essa+es

    5it% ne5MsgSeqNum

    values +&eate& t%an

    Logonessa+e@s

    MsgSeqNum3

    b3 Dueue ea#% essa+e 5it% t%e

    ne!tMsgSeqNumvalue

    i3 note Logonessa+e@s

    MsgSeqNum5ill be

    +&eate& t%an t%e ;ueued

    essa+esOMsgSeqNum*

    ii3 Counte&"a&ty 5ill issue

    ResendRequest

    &e;uestin+ t%e &an+e of

    issed essa+es

  • 8/12/2019 FIX TestCase SessionLevel20010710

    21/24

    iii3 Resend ea#% ;ueued

    essa+e 5it%

    PossDupFlagset to 8

    6ote: Sendin+Tie Ta+>23: ust

    #ontain t%e tie t%e essa+e is sent

    not t%e tie t%e essa+e 5as ;ueued.

    1 Su""o&t en#&y"tion "tional a. Re#eive Logonessa+e 5it% valid,

    su""o&ted+n&r"ptMet$o

    1. (##e"t t%e essa+e

    2. e&fo& t%e a""&o"&iate

    de#&y"tion and en#&y"tion et%od

    &eadiness

    '. Res"ond 5it% Logonessa+e

    5it% t%e sae+n&r"ptMet$o

    b. Re#eive Logonessa+e 5it% invalid o&

    unsu""o&ted+n&r"ptMet$o

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ invalid o&

    unsu""o&ted+n&r"ptMet$o

    value FIX *.2:

    SessionRee#tReason

    He#&y"tion "&obleH3

    2. In#&eent inboundMsgSeqNum

    '. Send Logoutessa+e &efe&en#in+

    invalid o& unsu""o&ted

    +n&r"ptMet$ovalue

    *. =ait fo& Logoutessa+e

    &es"onse note #ould %ave de#&y"t

    "&obles3 o& 5ait 2 se#onds

    5%i#%eve& #oes fi&st

    >. is#onne#t

    /. Gene&ate an He&&o&H #ondition in

    test out"ut.

    #. Re#eive essa+e 5it% valid

    Signature#engt$and Signaturevalues.

    (##e"t t%e essa+e

    d. Re#eive essa+e 5it% invalid

    Signature#engt$value.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ invalid

    Signature#engt$value FIX

    *.2: SessionRee#tReason

    HSi+natu&e "&obleH3

    2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition in

    test out"ut.

  • 8/12/2019 FIX TestCase SessionLevel20010710

    22/24

    e. Re#eive essa+e 5it% invalid Signature

    value.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ invalid

    Signature value FIX *.2:

    SessionRee#tReason

    HSi+natu&e "&obleH3

    2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition in

    test out"ut.

    & #onside& de#&y"tion e&&o& o&

    essa+e out of o&de&, i+no&e essa+e

    do not in#&eent inbound

    MsgSeqNum3 and #ontinue a##e"tin+

    essa+es

    f. Re#eive essa+e 5it% a valid

    Se&ureData#envalue and a Se&ureData

    value t%at #an be de#&y"ted into valid, "a&se-

    able #lea&te!t.

    (##e"t t%e essa+e

    +. Re#eive essa+e 5it% invalid

    Se&ureData#envalue.

    1. Conside& de#&y"tion e&&o& o&

    essa+e out of o&de&, i+no&e

    essa+e do not in#&eent

    inboundMsgSeqNum3 and

    #ontinue a##e"tin+ essa+es

    2. Gene&ate a H5a&nin+H #ondition in

    test out"ut.

    %. Re#eive essa+e 5it% a Se&ureDatavalue

    t%at #annot be de#&y"ted into valid, "a&se-

    able #lea&te!t.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ invalid

    Se&ureDatavalue FIX *.2:

    SessionRee#tReason H

    e#&y"tion "&obleH3

    2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition in

    test out"ut.

    i. Re#eive essa+e 5it% one o& o&e fields

    not "&esent in t%e unen#&y"ted "o&tion of t%e

    essa+e t%at Hust be unen#&y"tedH

    a##o&din+ to t%e s"e#.

    '. Send Reect(session-leel!

    essa+e &efe&en#in+ field

    identifie& ta+ nube&3 issin+

    f&o unen#&y"ted se#tion FIX

    *.2: SessionRee#tReason H

    e#&y"tion "&obleH3

    *. In#&eent inboundMsgSeqNum

    >. Gene&ate an He&&o&H #ondition in

  • 8/12/2019 FIX TestCase SessionLevel20010710

    23/24

    test out"ut.

    . Re#eive essa+e 5it% in#o&&e#t %andlin+

    of Hleft ove&H #%a&a#te&s e.+. 5%en len+t% of

    #lea&te!t "&io& to en#&y"tion is not a ulti"le

    of 3 a##o&din+ to t%e s"e#ified

    +n&r"ptMet$o.

    1. Send Reect(session-leel!

    essa+e &efe&en#in+ in#o&&e#t

    %andlin+ of Hleft ove&H #%a&a#te&s

    du&in+ en#&y"tion FIX *.2:

    SessionRee#tReason H

    e#&y"tion "&obleH3

    2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition in

    test out"ut.

    1 Su""o&t t%i&d "a&ty

    add&essin+

    "tional a. Re#eive essa+es 5it%

    OnBe$alfOf!ompIDand

    Deli,erTo!ompIDvalues e!"e#ted as

    s"e#ified in testin+ "&ofile and 5it% #o&&e#t

    usa+e.

    (##e"t essa+es

    b. Re#eive essa+es 5it%

    OnBe$alfOf!ompIDo&Deli,erTo!ompID values not s"e#ified in

    testin+ "&ofile o& in#o&&e#t usa+e.

    1. Send Reect (session-leel!

    essa+e &efe&en#in+ invalidOnBe$alfOf!ompIDo&

    Deli,erTo!ompID FIX *.2:

    SessionRee#tReason HCo"I

    "&obleH3

    2. In#&eent inboundMsgSeqNum

    '. Gene&ate an He&&o&H #ondition in

    test out"ut.

    14 Test ossResend %andlin+ )andato&y a. Re#eive essa+e 5it% ossResend 98

    and a""li#ation-level #%e#7 of )essa+e

    s"e#ifi# I indi#ates t%at it %as al&eady been

    seen on t%is session

    13 I+no&e t%e essa+e.

    23 Gene&ate a H5a&nin+H #ondition in

    test out"ut

    b. Re#eive essa+e 5it% ossResend 98

    and a""li#ation-level #%e#7 of )essa+e

    s"e#ifi# I indi#ates t%at it %as 6T yet

    been seen on t%is session

    13 (##e"t and "&o#ess t%e essa+e

    no&ally.

    20 Siultaneous Resend &e;uest

    test

    )andato&y Re#eive a Resend Requestessa+e 5%ile

    %avin+ sent and a5aitin+ #o"lete set of

    &es"onses to a Resend Requestessa+e.

    13 e&fo& &esend of &e;uested

    essa+es.

    23 Send Resend Requestto &e;uest

    issed essa+es

  • 8/12/2019 FIX TestCase SessionLevel20010710

    24/24


Recommended