1 / 14

TTCN-3 for Large Systems Thomas Deiß

TTCN-3 for Large Systems Thomas Deiß. The Claim of TTCN-3. [http://www.etsi.org/ptcc/ptccttcn3.htm]: Applicable to telecom and datacom testing Typical areas of application for TTCN-3 are protocols, … It can be used in many areas, for example: Robustness testing Performance testing … etc.

hovan
Download Presentation

TTCN-3 for Large Systems Thomas Deiß

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TTCN-3 for Large SystemsThomas Deiß TTCN-3 for Large Systems

  2. The Claim of TTCN-3 • [http://www.etsi.org/ptcc/ptccttcn3.htm]: • Applicable to telecom and datacom testingTypical areas of application for TTCN-3 are protocols, … It can be used in many areas, for example: • Robustness testing • Performance testing • … etc. • A modern programming Language … This general purpose, flexible and user friendly test language is easier to learn, easier to use, … • Does it hold? TTCN-3 for Large Systems

  3. What is a Large Test System? • Different test components • 3G Network Element as SUT • 10 PTCs of 5 different types • 50-60 ports at the test system interface • Many instances of a test component • 2G Network Element as SUT • Test system acts as server • Up to 40 clients • Number of clients unknown in advance • 'Large' • Many parallel test components • Different component types TTCN-3 for Large Systems

  4. Does the Claim of TTCN-3 hold? • Suitability of TTCN-3 for large test systems? • Focus on writing test cases? • Efficiency of using TTCN-3? • Evaluation • Without writing large test systems • To prepare decision about test language • Approach • Consider a test system as a concurrent system • Solve 'standard' problems in TTCN-3 • Synchronization, broadcast, data storage, unique identifiers TTCN-3 for Large Systems

  5. Broadcast ( Problem ) • Distribute data to several test components • Example: (dynamic) access data • Symmetric: roles of sender and receivers change TTCN-3 for Large Systems

  6. Broadcast ( Topology ) • Logical Topology • All test components are connected • Port array • Size of array fixed • Not scalable • Many-to-one connections, send to • Need to know references pt[2].send (...) pt.send (...) to C; TTCN-3 for Large Systems

  7. Receiver Broadcast Server Sender Receiver Receiver Broadcast ( Solution ) • Single component • Replicates messages TTCN-3 for Large Systems

  8. Broadcast Server • Server receives a message • Sends it to all known receivers • Iterate over sending a single message • Receivers must be registered at server • Only the server needs to know the clients • Server code is simple • Acknowledgements are possible TTCN-3 for Large Systems

  9. Broadcast Server Code function f_idle () runs on BcComp { alt { [] alt_registerReq() { repeat }; [] alt_unregisterReq() { repeat }; [] alt_dataReq(syncKind) { repeat } } } altstep alt_dataReq (…) runs on BcComp { [] g_pt_bc.receive( { dataReq := ? } ) -> value msg sender g_v_sender { for ( i := 0; i < amount ; … ) { g_pt_bc.send(msg) to g_v_workers[i] } } } TTCN-3 for Large Systems

  10. Type of Messages • What is the type of the broadcast messages? • Generic solution must not fix the type • Port definitions • typeport BcPort message { inoutanytype }; • typeport BcPort message { inoutall }; • typerecord DataReq { anytype data, … }; • Problem • anytpe is limited to known types in a module • Not a truly generic type • Use self-defined type TTCN-3 for Large Systems

  11. UserData module userData { typeanytype UserData; typerecordof UserData RoUserData; } importfrom userData { type UserData }; typerecord DataReq { UserData data, … }; • Possible, …… but cumbersome to use TTCN-3 for Large Systems

  12. Instantiate User Data module userData {importfrom Mod1 { type Msg1, Msg2 };importfrom Mod2 { typeall }; typeanytype UserData; //typerecordof UserData RoUserData;} TTCN-3 for Large Systems

  13. Results • (Non) suitability of TTCN-3 for large systems • Technical results • Server-like components can be written • Open types are hard to use • Feedback to Standardization • Broadcast will become part of TTCN-3 • pt.send ( a_msg ) toall; • anytype will remain as is • Instantiation with specific types should be used • Synchronization, data storage, unique identifiers TTCN-3 for Large Systems

  14. Test the Test Language TTCN-3 for Large Systems

More Related