SlideShare uma empresa Scribd logo
1 de 72
Baixar para ler offline
IBM Rational Software Conference 2009




        IBM Rational Software Conference 2009


                                      Prasad Bhat
                          Product Consultant, Rational Services
                               prasad.bhat@in.ibm.com




© 2009 IBM Corporation
                                                                  1
IBM Rational Software Conference 2009


Industry Axiom?




                                    Quality    Time
                                                to
                                              Market




                                                       2
IBM Rational Software Conference 2009


Embedded Software Development Challenges
       Application Complexity           Process Complexity
           Strong timing constraints      Requirements shift
           Low memory footprints          Design translation errors
           Concurrent/Distributed/        Lack of understanding
           Networked
                                          Difficult to maintain
       Environment Complexity             Poor performance
           Multiple RTOS vendors          Late discovery
           Multiple chip vendors          Incomplete integration
           Multiple IDEs
           Limited host-target
           connectivity
           Low built-in
           debugging capabilities



                                                                      3
IBM Rational Software Conference 2009


Experience Tells Us…
       Debugging is not testing!
           Systematic testing tools and
           methods are necessary to ensure
           proactive and early problem
           discovery
       A debugger details symptoms,
       but debugging requires a
       diagnosis
           Runtime analysis is a key
           practice for simplifying the
           diagnosis of issues impacting
           reliability, scalability and durability




                                                     4
IBM Rational Software Conference 2009


Would This Accelerate Quality?
       Automated component testing
       at all levels of complexity
            From the simplest function to
            distributed systems
       Extensive runtime analysis
       capabilities
            Memory and performance
            profiling, code coverage, runtime
            tracing
       Static metrics calculation
            Assist with test prioritization
       Dynamic links between code,
       test results, and visual model
       Full regression testing abilities


                                                5
IBM Rational Software Conference 2009


IBM Rational Test RealTime
       Automated component testing at all levels of complexity
       – from the simplest function to distributed systems
       Memory and performance profiling, code coverage
       measurement, runtime tracing and thread profiling
       Static metrics calculation to assist with test prioritization
       Dynamic links between code, test, and visual model
       Full regression testing capabilities




                                                   All in one tool
                                                   All in one tool
                              For any IDE - Hosted on any target!
                              For any IDE - Hosted on any target!
                                                                       6
IBM Rational Software Conference 2009


Fix Your Code Before It Breaks
       Rational Solutions and the Embedded Systems Market
       IBM Rational Test RealTime
            Serves and Empowers Any Test and Debug Process
            Delivers a Unified Component Testing and Runtime Analysis Solution
            Delivers Total Environment Adaptability
       What Do You Need?




                                                                                 7
IBM Rational Software Conference 2009


Rational Platform: Supporting Embedded Industry


                  Medical                               Telecom Devices
   Scanners
                                   Rational Solution:    Pagers
   Surgical Lasers                 Addressing your       Phones
   Pace-makers                         embedded          Switches
                                   design, test, and     Routers
                                     management
                                         needs

Aerospace / Military                                    Automotive
   Aircraft                                               Body Electronics
   Spacecraft                                             Power train
   Missiles                                               Chassis

                                                                             8
IBM Rational Software Conference 2009


Fix Your Code Before It Breaks
       Rational Solutions and the Embedded Systems Market
       IBM Rational Test RealTime
            Serves and Empowers Any Test and Debug Process
            Delivers a Unified Component Testing and Runtime Analysis Solution
            Delivers Total Environment Adaptability
       What Do You Need?




                                                                                 9
IBM Rational Software Conference 2009


What We Have Seen
             Every developer knows testing ensures quality
                  code…but few do more than debug

                                                   “I’ll test in the next
                                                     project – I’ve got
                                                    too much code to
                                                       write and fix”




                         But is there room for risk in
                           the embedded world?
                                                                            10
IBM Rational Software Conference 2009


A Day in the Life
                                    Fewer tests lead
                                    to less stability




                 Pressure leads                 Less stability leads to
                 to fewer tests                 work under pressure




                                                                          11
IBM Rational Software Conference 2009


Serves and Empowers any Test and Debug Process
       Test as you code
               Automatic component test template
               and data generation
                                                       code code code code


               Black- and white-
                                                       code code code code
                                                       code code code code
                                                       code code code code
                                                                             Test
                                                                             Test
               box testing
                                                       code code code ode
                                                       code code code code
                                                       code code code code
                                                       code code code code

               All levels of complexity:
                                                       code code code code
                                                       code


               From single functions
               to distributed systems
               Static metric calculation for:      Resolve                          Analyze
                                                   Resolve                          Analyze
           •    tests prioritization
           •    complexity estimation
               Full regression testing




                                                                                          12
IBM Rational Software Conference 2009


Serves and Empowers any Test and Debug Process
       Test as you code
       Analyze while you test
            Code coverage                   code code code code


            analysis
                                            code code code code
                                            code code code code
                                            code code code code
                                                                  Test
                                                                  Test
                                            code code code ode
                                            code code code code

            Memory profiling                code code code code
                                            code code code code
                                            code code code code
                                            code

            Performance profiling
            Runtime tracing
                                        Resolve
                                        Resolve                          Analyze
                                                                         Analyze




                                                                               13
IBM Rational Software Conference 2009


Serves and Empowers any Test and Debug Process
       Test as you code
       Analyze while you test
       Resolve what you have uncovered                code code code code
                                                      code code code code
                                                                            Test
                                                      code code code code
                                                      code code code code
                                                                            Test
            Test execution integrated with your       code code code ode
                                                      code code code code
                                                      code code code code
            debugger                                  code code code code
                                                      code code code code
                                                      code


            Consolidated, detailed
            to-the-point test
            reporting
                                                  Resolve
                                                  Resolve                          Analyze
                                                                                   Analyze
            Test data hyperlinked
            to runtime analysis results
            and code




                                                                                         14
IBM Rational Software Conference 2009


Serves and Empowers any Test and Debug Process
       Test as you code
       Analyze while you test
       Resolve what you have uncovered       code code code code
                                             code code code code
                                                                   Test
                                             code code code code
                                             code code code code
                                                                   Test
                                             code code code ode
                                             code code code code
                                             code code code code
                                             code code code code
                                             code code code code
                                             code




                                         Resolve
                                         Resolve                          Analyze
                                                                          Analyze




                     Now fix the defects, enhance your tests
                     Now fix the defects, enhance your tests
                                              And move on!
                                              And move on!
                                                                                15
IBM Rational Software Conference 2009


Serves and Empowers any Test and Debug Process
       Eases transition from manual testing to automation
            Source-code aware and thus easily adoptable
            Powerful test languages drive robust data-driven tests
            Creates shared debug and test vocabulary for your team
       Flexible to minimally impact preexisting processes
            Process agnostic, so you can stay in your comfort zone
            Shortens time-to-problem-resolution, maximizes time-to-code
            Mix and match functionality to accommodate your needs
       Built explicitly for the rigors of embedded development
            Manages target environment so you can focus on good test creation
            Handles all test enablement activities so you test early and often
            Guarantees test reuse when the environment changes to ensure your
            testing effort will pay off in regression testing dividends


                                                                                 16
IBM Rational Software Conference 2009


Fix Your Code Before It Breaks
       Rational Solutions and the Embedded Systems Market
       IBM Rational Test RealTime
            Serves and Empowers Any Test and Debug Process
            Delivers a Unified Component Testing and Runtime Analysis Solution
            Delivers Total Environment Adaptability
       What Do You Need?




                                                                                 17
IBM Rational Software Conference 2009


IBM Rational Test RealTime - Overview
          Component Testing
          Component Testing               Code
                                          Code       Memory Performance Runtime Thread
                                                     Memory Performance Runtime Thread
                                        Coverage
                                        Coverage     Profiling Profiling
                                                     Profiling Profiling Tracing Profiling
                                                                         Tracing Profiling

            C, C++, Ada, Java             C, C++      C, C++     C, C++         C, C++   C, C++
                                         Ada, Java    Java        Java          Java      Java


                 Unit, Integration, Validation, Regression and System Testing
            System Testing
            System Testing
                    C


                                        Target Deployment Port
                                        Target Deployment Port
       Built to achieve standards compliance
            DO-178B
            MISRA
            Defense Standard 00-55
                                                                                                  18
IBM Rational Software Conference 2009



A Unified Component Testing and Runtime Analysis Solution
       Combines entire features set into a single, unified tool
            Optimizes test effort through addition of runtime analysis functionality
            Accelerates problem resolution through shared team assets
            Simplifies refactoring verification
       Enables quality verification for all test granularity levels and
       certification standards
            Focuses your efforts on a single toolset
            Produces information required for code certification
            Provides a means for achieving pervasive quality
       Accommodates the larger IBM Rational lifecycle solution
            Alleviates friction generated by use of non-integrated tools
            Improves team and asset stability through traceability
            Single vendor relationship ensures future integration improvement


                                                                                       19
IBM Rational Software Conference 2009


Fix Your Code Before It Breaks
       Rational Solutions and the Embedded Systems Market
       IBM Rational Test RealTime
            Serves and Empowers Any Test and Debug Process
            Delivers a Unified Component Testing and Runtime Analysis Solution
            Delivers Total Environment Adaptability
       What Do You Need?




                                                                                 20
IBM Rational Software Conference 2009


Delivers Total Environment Adaptability

                    Target Deployment Technology
           A low-overhead, versatile target deployment technology
                    •   Compiler-independent high level scripting API
                    •   Debugger-independent test harness deployment
                    •   Target-independent results upload & report creation




                          Full Target Independence!
                          Full Target Independence!



                                                                              21
IBM Rational Software Conference 2009


Delivers Total Environment Adaptability

                          4-Bit to 64-Bit
                 Cross-Development Environments       Languages
                     Used By Our Customers
                                                      C
         WindRiver             Montavista   Tasking
                                                      C++
         GreenHills            TI           CAD-UL    Ada
                                                      J2ME/J2SE
         ARM                   NEC          Cosmic

         Enea                  Hitachi      Hiware
                                                       Platforms

         Windows CE            Apex         Hitex     Windows
                                                      Solaris
         LynuxWorks            Sun          Symbian   Linux
                                                      HP-UX
         Lauterbach            Microtec     ……
                                                      AIX



                                                                   22
IBM Rational Software Conference 2009


Delivers Total Environment Adaptability
       Customizable to support a complete range of embedded targets
            Assures tool adoption
            Reduces your ramp-up time when target configuration changes
            Guarantees the reuse of test assets despite target constraints
       Host, Build and Target Environment Agnostic
            Ensures portability of test and runtime analysis processes
            Simplifies multiple team deployment
            Optimizes ROI in comparison to home-grown test solutions
       Size and Speed Optimized to Limit Target Impact
            Enables full control to minimize instrumentation overhead
            Frees your tests from having to compensate for target restraints
            Avoids overtasking your system



                                                                               23
IBM Rational Software Conference 2009


Fix Your Code Before It Breaks
       Rational Solutions and the Embedded Systems Market
       IBM Rational Test RealTime
            Serves and Empowers Any Test and Debug Process
            Delivers a Unified Component Testing and Runtime Analysis Solution
            Delivers Total Environment Adaptability
       What Do You Need?




                                                                                 24
IBM Rational Software Conference 2009


IBM Rational Test RealTime
        Component Testing
        Component Testing                 Code
                                          Code      Memory Performance Runtime Thread
                                                    Memory Performance Runtime Thread
                                        Coverage
                                        Coverage    Profiling
                                                    Profiling Profiling
                                                              Profiling Tracing Profiling
                                                                        Tracing Profiling
          C, C++, Ada, Java              C, C++      C, C++      C, C++        C, C++   C, C++
                                        Ada, Java     Java        Java          Java     Java

                Unit, Integration, Validation, Regression and System Testing
           System Testing
           System Testing
                 C

                                        Target Deployment Port
                                        Target Deployment Port
                                         Rational Rhapsody
                                         Rational ClearCase
                                         Rational ClearQuest
                                        Rational Test Manager
                                                 RUP

                                                                                                 25
IBM Rational Software Conference 2009


IBM Rational Test RealTime
        Component Testing
        Component Testing                   Code
                                            Code      Memory Performance Runtime Thread
                                                      Memory Performance Runtime Thread
                                          Coverage
                                          Coverage    Profiling
                                                      Profiling Profiling
                                                                Profiling Tracing Profiling
                                                                          Tracing Profiling
          C, C++, Ada, Java           C/C++, Ada83/95, C++
                                      C/C++, Ada83/95,
                                          C, C++        C,         C, C++        C, C++      C, C++
                                       Java Primitives UML-based Runtime Thread
                                        Java Java
                                              Primitives UML-based Runtime Thread
                                        Ada, PerformanceCode coverage
                                              Performance            Active
                                                         Java coverage
                                                                    Java
                                                                      Active      Java        Java
                                                           Code      Memory Leak
                                                                     Memory Leak
                                        (J2ME/J2SE)
                                         (J2ME/J2SE) measurements Detection
                                             Measurement Tracing Representation
                                              Measurement Tracing Representation
                                                           measurements Detection
                Unit, Integration, Validation, Regression and System Testing
           System Testing
           System Testing
                 C                       Message-based C
                                         Message-based C              Target-based Test
                                                                       Target-based Test
                                          Threads, Tasks,
                                          Threads, Tasks,                  Execution
                                                                            Execution
                                        Processes & Nodes
                                        Processes & Nodes                Model-driven
                                                                          Model-driven
                                         Target Deployment Port
                                          Target Deployment Port         Development
                                                                          Development
                                          Rational Rhapsody          Test Asset Versioning
                                                                     Test Asset Versioning
                                          Rational ClearCase         Change Management
                                                                     Change Management
                                                                           Test Asset
                                                                           Test Asset
                                          Rational ClearQuest            Management
                                                                         Development
                                                                          Management
                                                                          Development
                                         Rational Test Manager          Best Practices
                                                                         Best Practices
                                                  RUP

                                                                                                      26
IBM Rational Software Conference 2009




                                        27
IBM Rational Software Conference 2009


IBM Rational Test RealTime: Test Script




                                          28
IBM Rational Software Conference 2009


IBM Rational Test RealTime: Metrics Calculation - 1




                                        Metrics-derived graphical matrix
                                        representing units complexity
                                           used for test prioritization
   Calculation of static metrics
   for tested classes/functions
    from selected components


                                                                           29
IBM Rational Software Conference 2009


IBM Rational Test RealTime: Metrics Calculation - 2




   Calculation of static
   metrics for analyzed
   functions/methods
   from instrumented                    Metrics information is
           files                        accessed directly from
                                         the project browser



                                                                 30
IBM Rational Software Conference 2009


IBM Rational Test RealTime: Code Coverage




                                            31
IBM Rational Software Conference 2009


IBM Rational Test RealTime: Memory Profiling




                                               32
IBM Rational Software Conference 2009


IBM Rational Test RealTime: Performance Profiling




                                                33
IBM Rational Software Conference 2009


IBM Rational Test RealTime: Runtime Tracing




                                              34
IBM Rational Software Conference 2009


IBM Rational Test RealTime: Test Report




                                          35
IBM Rational Software Conference 2009




   IBM Rational Test RealTime

   Component Testing for C and Ada Presentation




                                        Session# iSem08   36
IBM Rational Software Conference 2009


Test RealTime: Component Testing for C & Ada
       Source code-driven, data-intensive functional and structural testing
       via function calls
       Automatic
            Test template generation from source code
            Test data generation from pattern language
            Stub creation
            Regression Testing
       Detailed reporting
       Use of static metrics for test prioritization
            Software Complexity Level
       Works with Test RealTime Runtime Analysis features
            Memory and Performance Profiling
            Code Coverage and Runtime Tracing

                                                                              37
IBM Rational Software Conference 2009


Test Harness Architecture and Responsibilities
   1. Test driver
            Calls the function-under-test with
            the desired range of parameters
            Checks returned parameters
            Accesses global variables
   2. Stubs
            Check input parameters
            Return desired parameters




                                                 38
IBM Rational Software Conference 2009


Component Testing for C & Ada: Process
                                                                            Code Fix
                                                                     Test Enhancement



                     Coding                          Test Script                                                Test Result
                                                       Design                                                    Analysis
        Software
        Engineer



                   Source
                   Code




     IBM Test RealTime        Test Script Template                 Test Harness Test Execution   Test Results
     Component Testing             Generation                       Generation                    Reporting
       for C and Ada

                                                                                                                  Compilers /
                                                                                                                  Linkers /
                                                                                                                  Debuggers
                                                                                                                  Simulators /
                                                                                                                  Emulators /
                                                                                                                  Targets

                                                                                                                                 39
IBM Rational Software Conference 2009


Component Testing for C & Ada: Test Script Pattern




                                                      Test Script     Tested Function:
                                                      Template        a + b returns c
  Default                                             Automatically   3 simple integers
     Test                                Default      Generated       to be checked!
Structure                                Values for
                                         Tested
                            Tested       Variables
                            Function
                            Invocation




                                                                                          40
IBM Rational Software Conference 2009


Component Testing for C & Ada: Test Language
            TEST 1              Input values initialization:        Expected values definition:
                                                 - Multiple,        - According to requirements
                ELEMENT                     - Ranges, etc.          - Using Range, delta, etc.
       The
  function      #ret_val=myfunction(y,a,z,b,c);
 under test
                VAR   glob,    init=0                 ,     ev==
                VAR   y,       init in {-1,glob,0}    ,     ev in {-1,0,0}
                VAR   a[1..10],init from 1 to 1000 step 1 , ev(y) in {0,2,3}
    A single    VAR   z.field1,init=a[2]              ,     ev=ret_val
 instruction    VAR   b,       init==                 ,     min=y, max=y*10
to define all
                VAR   c,       init=b                 ,     ev=10, delta=10%
   test data
                VAR   ret_val, init=MY_DEFINE         ,     ev=init

                STUB alloc_block, 0=>(100)&a, OTHERS=>()NIL                 In 2 lines,
                                                                            3x1000=3000
                END ELEMENT                   STUBs:                        test cases are
                                              - Check parameters,           generated!
                                              - Return values
            END TEST


                                                                                             41
IBM Rational Software Conference 2009


Component Testing for C & Ada: Reporting
       Easy to understand report
            Passed and failed test
            cases at a glance
            Initial, expected, obtained
            values for all managed
            variables and stubs
            Source code coverage
            information from Rational
            Test RealTime Code
            Coverage feature
       Exports to HTML great for
            Distributed development
            Test subcontracting




                                           42
IBM Rational Software Conference 2009


Component Testing for C & Ada: Tests Comparison
       Between:
            2 iterations of same software component
            2 different development environments
            Instrumented vs. non-instrumented code                                                 COMPARISON of 2
                                                                                                   Different Executions
            Generated code vs. manual code


                           Coding   Test Script              Test Result                     Test Result
              Software              Definition                Analysis                        Analysis
              Engineer




                                              Test Re-execution
                                               Test Execution              Test Comparison
           Test RealTime


                                                                       Backup of previous
                                                                       dynamic test results




                                                                                                                          43
IBM Rational Software Conference 2009




   IBM Rational Test RealTime

   Component Testing for C++ Presentation




                                        Session# iSem08   44
IBM Rational Software Conference 2009


Test RealTime: Component Testing for C++
       Source code–driven, functional and structural testing
       via method invocation scenarios
       Automatic
            Test template generation from source code
            Assertion checking
            Stub creation
            Regression Testing
       Detailed reporting
       Use of static metrics for test prioritization
            Software Complexity Level
       Works with Test RealTime Runtime Analysis features
            Memory and Performance Profiling
            Code Coverage and Runtime Tracing

                                                               45
IBM Rational Software Conference 2009


Test Harness Architecture and Responsibilities
   1. Test driver
            Invokes a sequence of methods
            in the set of classes under test
            Assesses returned values
            Assesses cluster properties
   2. Stubs
            Check input parameters
            Return desired parameters
   3. Class assertion checks
            Based on user-defined contracts




                                                 46
IBM Rational Software Conference 2009


Component Testing for C++: Process
                                                                           Code Fix
                                                                    Test Enhancement



                     Classes                        Test Script                                                Test Result
                      Under                           Design                                                    Analysis
        Software   Development
        Engineer



                    Source
                    Code




     IBM Test RealTime       Test Script Template                 Test Harness Test Execution   Test Results
     Component Testing            Generation                       Generation                    Reporting
          for C++

                                                                                                                 Compilers /
                                                                                                                 Linkers /
                                                                                                                 Debuggers
                                                                                                                 Simulators /
                                                                                                                 Emulators /
                                                                                                                 Targets

                                                                                                                                47
IBM Rational Software Conference 2009


Component Testing for C++: Cluster Properties

                        Test class


                       Preamble
             Create test context

                 Cluster property
                        definition

                        Test case


        Cluster property check

                    <<Cluster>>




         <<Property>>



                                                48
IBM Rational Software Conference 2009


Component Testing for C++: Cluster Properties

                                  pop()
            1: push(i)
            2: j=pop()      s:Stack
            {i==j}

     s:Stack

                            isEmpty


             Cluster under test
     stimulation using C++ call

                       Checks
               Called methods
          Boolean expressions
                      Postamble:
               Clean test context

       Test class instantiation


                                                49
IBM Rational Software Conference 2009


Component Testing for C++: Class Assertion
            A set of conditions expected to always be true
                                        Stack

                                        pop():Item
                                        push(I:Item)
                                        clear()



           Class context

          Class invariant

  Method pre-condition

 Method post-condition

        State definitions

              Transitions
                between
                  states


                                                             50
IBM Rational Software Conference 2009


Component Testing for C++: Test Report
                  Easy to understand report:
     Passed and failed test cases and assertion at a glance

             Status for all executed
          test cases and test suites

                Summary of test and
                    contract-check

         Listing of failed test cases


                               Targeted
                                                    Status
                               Method




                                        Assertion

                                                              51
IBM Rational Software Conference 2009




   IBM Rational Test RealTime

   System Testing for C Presentation




                                        Session# iSem08   52
IBM Rational Software Conference 2009


Test RealTime: System Testing for C
        Component Testing
        Component Testing                  Code
                                           Code     Memory Performance Runtime Thread
                                                    Memory Performance Runtime Thread
                                         Coverage
                                         Coverage   Profiling
                                                    Profiling Profiling
                                                              Profiling Tracing Profiling
                                                                        Tracing Profiling
          C, C++, Ada, Java              C, C++      C, C++      C, C++        C, C++   C, C++
                                        Ada, Java     Java        Java          Java     Java

                Unit, Integration, Validation, Regression and System Testing
           System Testing
           System Testing
                 C                         Message-based C
                                            Message-based C
                                            Threads, Tasks,
                                             Threads, Tasks,
                                           Processes & Nodes
                                           Processes & Nodes
                                        Target Deployment Port
                                        Target Deployment Port
                                        Rational Rose RealTime
                                          Rational ClearCase
                                         Rational ClearQuest
                                        Rational Test Manager
                                                  RUP

                                                                                                 53
IBM Rational Software Conference 2009


System Testing for C: Message-Passing Testing
       Integration and validation testing from:
            Single thread … up to
            Task(s) … up to
            Node(s) … up to
            Large networked system

       Functional, load, and performance testing via message-passing API
       Powerful scripting language
       Detailed reporting
       Regression testing
       Works with Test RealTime runtime analysis features
            Memory and Performance Profiling
            Code Coverage and Runtime Tracing


                                                                           54
IBM Rational Software Conference 2009


Test Harness Architecture and Responsibilities
   1. Virtual Testers
            Simulates external systems
            Stubs internal actors
   2. Each Virtual Tester
            Sends events to the SUT
            Controls the event flow
            Checks event data and timing
            Can be duplicated for load testing
   3. System Testing supervisor
            Monitoring services for virtual
            tester distribution, communication
            and synchronization




                                                 55
IBM Rational Software Conference 2009


System Testing for C: Message Adaptation Layer
       Full support of any
       communication interface
        1. Adaptation layer                           Virtual Tester
             − Built with C procedures to send    System Testing Script
               and receive events (C-structs)       SEND WAITTIL
             − Symbolic management of events
                                                   Adaptation Layer
             − Enables test script independence
               of the messaging API                       API
        2. Message API
             − Part of the system-under-test
             − Provided by a communication card
             − Defines how to send and receive
               events                                        S UT




                                                                          56
IBM Rational Software Conference 2009


System Testing for C: Test Script Structuring
    INITIALIZATION init_proc()                Preamble, Postamble and
    TERMINATION end_proc()                    Error recovery blocks
    EXCEPTION recover_proc()

    SCENARIO main
                                              Test script composed
        SCENARIO test_case1                   of SCENARIOs and
                                              sub-SCENARIOs …
        END SCENARIO -- test_case1

        SCENARIO test_case2
                                              A scenario can be split into
             INSTANCE Virtual_Tester1         INSTANCE blocks to define
                                              asynchronous behaviors
             END INSTANCE – Virtual_Tester1   (Virtual Testers)

             INSTANCE Virtual_Tester2

             END INSTANCE – Virtual_Tester2

        END SCENARIO -- test_case2

    END SCENARIO -- main                                                     57
IBM Rational Software Conference 2009


System Testing for C: Test Script Behavior
                                  CHANNEL MY_COMMTYPE:mylink

                                  SCENARIO example
 Loops
                                    WHILE (TIME(mytimer) < 100)
 Synchronizations between
                                        RENDEZVOUS start_example
 Virtual Testers
                                        IF (sync == 0) THEN
 IF statements

 Init of outgoing Events with            VAR creq, INIT={send=>…,neg=>{opt=> …, }}
 high level instructions
                                         SEND (mylink, creq)
 Send an Event via a defined
 communication channel                  END IF

 Set up a timer                         TIMER mytimer

 Definition of constraints on           DEF_MESSAGE cresp, EV= { … }
 incoming Events
                                        WAITTIL (MATCHED(cresp)||MATCHING(cack),WTIME>15)
 Wait for complex conditions
                                        CALL myexternal_func()
 Call to external C code
                                    END WHILE
                                  END SCENARIO -- example

                                                                                       58
IBM Rational Software Conference 2009


System Testing for C: Reporting
       Dynamically jump between sequence diagram,
       test report, and source code
       Export to HTML                      Results Summary       Test Summary




                                                             Test details




                       Virtual Testers

                                                                                59
IBM Rational Software Conference 2009


Probe Feature: Show Exchanges and Replay Them
       Deployment Process
            Define probes location in applications/simulators for sent and received messages
            Execute normally using simulators/Hardware/GUIs to create/populate the test script
            After execution, a UML/SD report shows all exchanged messages or events and
            generates the script to replay

          SUT          Application               Dynamic Results



                        Protocol                 Dynamic Results

         External                        External
        simulators                      equipments                 ENV        L1          L2


                     Virtual Testers
                          Bus
                                              Generated Script
                                                                          UML/SD report


                                                                                                 60
IBM Rational Software Conference 2009




   IBM Rational Test RealTime

   Runtime Analysis Features Presentation




                                        Session# iSem08   61
IBM Rational Software Conference 2009


Benefits of Runtime Analysis Features
       Get insights into program execution
            See how various components of a running application may affect
            each other during execution
       Get an overall picture of an application's execution behavior
       over a period of time
       Detect hard-to-find problems
            Memory leaks
            Performance bottlenecks
            Unused and/or untested code
       Directly correlate all analysis results to
            Test cases and code




                                                                             62
IBM Rational Software Conference 2009


Runtime Analysis Features: Code Coverage

                                                              Up to nine incremental
                                                              Up to nine incremental
                                                               coverage levels, incl.
                                                               coverage levels, incl.
                                                                      MC/DC
                                                                      MC/DC
                                                                 Linkage between
                                                                 Linkage between
                                                              Coverage Viewer and
                                                               Coverage Viewer and
     Select test case
     Select test case
   contribution to code                                   Covered test cases
                                                          Covered test cases
                                                         Uncovered
   contribution to code                                  Uncovered
                                                            code
        coverage
         coverage                                           code
                                                            code
                                                             code
                                                          Partially
                                                           Partially
                                   Loops behavior
                                   Loops behavior         covered
                                                           covered
                                      analysis
                                      analysis              code
                                                             code

                                         Source component
                                          Source component
                                           Detailed
                                           Detailed for
                                             browser
                                          coverage for
                                              browser
                                           coverage
                                        detailed/aggregated
                                         detailed/aggregated
                                        statistics (%) Highlight executed/
                                        statistics (%) rates
                                         code coverage Highlight executed/
                                        code coverage rates
                                                       non-executed Boolean
                                                       non-executed Boolean
                                                        conditions (C & Ada)
                                                        conditions (C & Ada)

                                                                                        63
IBM Rational Software Conference 2009


Runtime Analysis Features: Memory Profiling

                                        Memory error
                                        statistics per
                                          test case




    Type of                                 Call Stack
                                            Call Stack
  memory error                               linked to
                                              linked to
                                           source code
                                           source code

                   Memory leak
                 highlighted in the
                source code editor



                                                          64
IBM Rational Software Conference 2009


Runtime Analysis Features: Performance Profiling


                                          Graphical depiction of
                                        slowest three performers



          Performance data                   Function or
           for one or more              Function + Descendant
              test cases                 time measurements


            Sortable list of
            functions and
              methods




                                                                   65
IBM Rational Software Conference 2009


Runtime Analysis Features: Runtime Tracing

                                                              On-the-fly or post-mortem
                                                              On-the-fly or post-mortem
                                                               UML Sequence Diagram
                                                               UML Sequence Diagram
                                        Powerful search,
                                        Powerful search,
                                           filtering &
                                            filtering &
                                           triggering
                                            triggering
                                                        Track data
                                                         Track data
    Source component
     Source component                                     values
                                                           values
         browser for
          browser for
    expansion/collapse
    expansion/collapse
        of UML-based
        of UML-based
      tracing diagram
       tracing diagram               Timing
                                      Timing
                                  information
                                   information                         Selected trace
                                                                        Selected trace
                                                                      event highlighted
                                                                      event highlighted
                                                                        in the source
                                                                         in the source
                                                                          code editor
                                                                          code editor
                                                             Catch raised
                                                             Catch raised
                                                              exceptions
                                                              exceptions

                                                                                          66
IBM Rational Software Conference 2009


Runtime Analysis Features: Runtime Tracing Bars




   Dynamic Heap
    Dynamic Heap
  Memory Usage Bar
  Memory Usage Bar
     (Java Only)
      (Java Only)


                                                    Click Threads Bar to
                                                       Active Thread
                                                     Click Threads Bar to
                                                       Active Thread
  Dynamic Messages
  Dynamic Messages                                   get their properties
                                                      Representation
                                                      get their properties
                                                       Representation
    Coverage Bar
    Coverage Bar                                        (C/C++/Java)
                                                          (C/C++/Java)
                                                           (C/C++/Java)
                                                         (C/C++/Java)
     (C/C++/Java)
      (C/C++/Java)                   While runtime
                                      While runtime
                                    tracing activity
                                     tracing activity
                                      is executing
                                       is executing


                                                                             67
IBM Rational Software Conference 2009


Test RealTime: Integration with Test Manager

                                          Test Plans are
                                          Test Plans are
                                         attached to Test
                                         attached to Test
                                        RealTime artifacts
                                        RealTime artifacts


                                              A direct association can be
                                              A direct association can be
                                               established between test
                                               established between test
                                               input ,, a test case and a
                                                input a test case and a
                                                  test implementing it
                                                   test implementing it




       Test Plans are built
       Test Plans are built
      and organized within
      and organized within
          TestManager
          TestManager



                                                                            68
IBM Rational Software Conference 2009


Test RealTime: Integration with Test Manager

   Run and monitor the tests built with
   Run and monitor the tests built with
    Test RealTime from TestManager
    Test RealTime from TestManager




                                          Finally, inspect from Test RealTime
                                          Finally, inspect from Test RealTime
                                             GUI the detailed results when
                                             GUI the detailed results when
                                           TestManager gives a failed status
                                           TestManager gives a failed status

                                                                                69
IBM Rational Software Conference 2009


Test RealTime: Integration with ClearCase




                                         Get access to
                                          Get access to
                                        Clearcase for all
                                        Clearcase for all
                                         artifacts from
                                          artifacts from
                                         Test RealTime
                                         Test RealTime




                                                            70
IBM Rational Software Conference 2009


Test RealTime 7.5 features
       Integrated with new Rational Quality Manager Express Edition and Rational
       Quality Manager Standard Edition
       Integrated with new Rational Software Architect Standard Edition v7.5
       Updated support for Eclipse v3.4 integration
       New integration with Telelogic Rhapsody v7.4 and TestConductor (7.5)
       Updated integration with Wind River Workbench 3.0
       New out-of-the-box support for Symbian OS
       New support of IPv6 network infrastructure




                                                                                   71
IBM Rational Software Conference 2009




                                        72

Mais conteúdo relacionado

Mais procurados

Azure functions
Azure functionsAzure functions
Azure functionsvivek p s
 
Amazon VPC Lattice: The Service Mesh you actually want!!
Amazon VPC Lattice: The Service Mesh you actually want!!Amazon VPC Lattice: The Service Mesh you actually want!!
Amazon VPC Lattice: The Service Mesh you actually want!!Aaron Walker
 
Unit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnitUnit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnitJeremy Cook
 
Building Serverless Backends with AWS Lambda and Amazon API Gateway
Building Serverless Backends with AWS Lambda and Amazon API GatewayBuilding Serverless Backends with AWS Lambda and Amazon API Gateway
Building Serverless Backends with AWS Lambda and Amazon API GatewayAmazon Web Services
 
Performance Testing
Performance TestingPerformance Testing
Performance Testingsharmaparish
 
소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처영기 김
 
AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!Wojciech Gawroński
 
An introduction to api testing | David Tzemach
An introduction to api testing | David TzemachAn introduction to api testing | David Tzemach
An introduction to api testing | David TzemachDavid Tzemach
 
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...apidays
 
Postman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenarioPostman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenarioHYS Enterprise
 
API Best Practices
API Best PracticesAPI Best Practices
API Best PracticesSai Koppala
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & GuidelinesPrabath Siriwardena
 
SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingAmazon Web Services
 
OpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of SwaggerOpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of SwaggerSmartBear
 
Postman tests in jenkins
Postman tests in jenkinsPostman tests in jenkins
Postman tests in jenkinsAlex Galkin
 

Mais procurados (20)

Azure functions
Azure functionsAzure functions
Azure functions
 
Amazon VPC Lattice: The Service Mesh you actually want!!
Amazon VPC Lattice: The Service Mesh you actually want!!Amazon VPC Lattice: The Service Mesh you actually want!!
Amazon VPC Lattice: The Service Mesh you actually want!!
 
Test Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and CucumberTest Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and Cucumber
 
Unit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnitUnit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnit
 
Building Serverless Backends with AWS Lambda and Amazon API Gateway
Building Serverless Backends with AWS Lambda and Amazon API GatewayBuilding Serverless Backends with AWS Lambda and Amazon API Gateway
Building Serverless Backends with AWS Lambda and Amazon API Gateway
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처
 
AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!
 
An introduction to api testing | David Tzemach
An introduction to api testing | David TzemachAn introduction to api testing | David Tzemach
An introduction to api testing | David Tzemach
 
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...
 
Postman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenarioPostman. From simple API test to end to end scenario
Postman. From simple API test to end to end scenario
 
API Best Practices
API Best PracticesAPI Best Practices
API Best Practices
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & Guidelines
 
SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless Computing
 
Infrastructure as Code on AWS
Infrastructure as Code on AWSInfrastructure as Code on AWS
Infrastructure as Code on AWS
 
Deep dive into SoapUI
Deep dive into SoapUIDeep dive into SoapUI
Deep dive into SoapUI
 
OpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of SwaggerOpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of Swagger
 
Postman tests in jenkins
Postman tests in jenkinsPostman tests in jenkins
Postman tests in jenkins
 
Quality Assurance in Software Ind.
Quality Assurance in Software Ind.Quality Assurance in Software Ind.
Quality Assurance in Software Ind.
 
Container Security
Container SecurityContainer Security
Container Security
 

Semelhante a RTF - Prasad bhatt

Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandDavid O'Dowd
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineeringScott Althouse
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Prolifics
 
IBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowIBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowStrongback Consulting
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesSanjeev Sharma
 
Hang On A Minute - Ankur Goyal
Hang On A Minute - Ankur GoyalHang On A Minute - Ankur Goyal
Hang On A Minute - Ankur GoyalRoopa Nadkarni
 
3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyalIBM
 
Software Quality via Unit Testing
Software Quality via Unit TestingSoftware Quality via Unit Testing
Software Quality via Unit TestingShaun Abram
 
Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009guest19a937
 
Ukfs Snr Dev Arch Forum Pres3 Re
Ukfs Snr Dev Arch Forum Pres3 ReUkfs Snr Dev Arch Forum Pres3 Re
Ukfs Snr Dev Arch Forum Pres3 ReAllyWick
 
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the CloudWSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the CloudWSO2
 
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...Burns Sheehan
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQMIBM Rational
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 
Model-Driven Development, the end of the test profession?
Model-Driven Development, the end of the test profession?Model-Driven Development, the end of the test profession?
Model-Driven Development, the end of the test profession?Johan den Haan
 
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!goodfriday
 
Heterogeneous Development With RTC - Sreerupa Sen
Heterogeneous Development With RTC -  Sreerupa SenHeterogeneous Development With RTC -  Sreerupa Sen
Heterogeneous Development With RTC - Sreerupa SenRoopa Nadkarni
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopMichael Palotas
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody SoftwareBill Duncan
 

Semelhante a RTF - Prasad bhatt (20)

Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
 
Coding Naked
Coding NakedCoding Naked
Coding Naked
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
 
IBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to KnowIBM Innovate 2011- What every System i Developer Needs to Know
IBM Innovate 2011- What every System i Developer Needs to Know
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
 
Hang On A Minute - Ankur Goyal
Hang On A Minute - Ankur GoyalHang On A Minute - Ankur Goyal
Hang On A Minute - Ankur Goyal
 
3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal
 
Software Quality via Unit Testing
Software Quality via Unit TestingSoftware Quality via Unit Testing
Software Quality via Unit Testing
 
Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009
 
Ukfs Snr Dev Arch Forum Pres3 Re
Ukfs Snr Dev Arch Forum Pres3 ReUkfs Snr Dev Arch Forum Pres3 Re
Ukfs Snr Dev Arch Forum Pres3 Re
 
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the CloudWSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
WSO2Con US 2013 - Keynote: Developing Enterprise Apps In the Cloud
 
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Model-Driven Development, the end of the test profession?
Model-Driven Development, the end of the test profession?Model-Driven Development, the end of the test profession?
Model-Driven Development, the end of the test profession?
 
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!
 
Heterogeneous Development With RTC - Sreerupa Sen
Heterogeneous Development With RTC -  Sreerupa SenHeterogeneous Development With RTC -  Sreerupa Sen
Heterogeneous Development With RTC - Sreerupa Sen
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
 

Mais de Roopa Nadkarni

New integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesNew integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesRoopa Nadkarni
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilRoopa Nadkarni
 
Accelerated test case - Anish bhanu
Accelerated test case - Anish bhanuAccelerated test case - Anish bhanu
Accelerated test case - Anish bhanuRoopa Nadkarni
 
web 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwickweb 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwickRoopa Nadkarni
 
Solving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holtSolving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holtRoopa Nadkarni
 
RQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumarRQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumarRoopa Nadkarni
 
Req Pro - Andreas gschwind
Req Pro - Andreas gschwindReq Pro - Andreas gschwind
Req Pro - Andreas gschwindRoopa Nadkarni
 
Extending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldtExtending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldtRoopa Nadkarni
 
EM overview- - Hayden lindsey
EM overview- - Hayden lindseyEM overview- - Hayden lindsey
EM overview- - Hayden lindseyRoopa Nadkarni
 
Application security vision - John b
Application security vision - John bApplication security vision - John b
Application security vision - John bRoopa Nadkarni
 
Smarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj ChandraSmarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj ChandraRoopa Nadkarni
 
Real Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonReal Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonRoopa Nadkarni
 
Overcoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O RourkeOvercoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O RourkeRoopa Nadkarni
 
Opportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve RobinsonOpportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve RobinsonRoopa Nadkarni
 
How To Make It Real - Hayden Lindsey
How To Make It Real - Hayden LindseyHow To Make It Real - Hayden Lindsey
How To Make It Real - Hayden LindseyRoopa Nadkarni
 
Achieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyAchieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyRoopa Nadkarni
 
RPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha KrishnamurthyRPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha KrishnamurthyRoopa Nadkarni
 

Mais de Roopa Nadkarni (20)

Agile - Monojit basu
Agile - Monojit basuAgile - Monojit basu
Agile - Monojit basu
 
New integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean InnesNew integrations for synergy and change - Sean Innes
New integrations for synergy and change - Sean Innes
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
 
Agile - Monojit Basu
Agile - Monojit BasuAgile - Monojit Basu
Agile - Monojit Basu
 
Accelerated test case - Anish bhanu
Accelerated test case - Anish bhanuAccelerated test case - Anish bhanu
Accelerated test case - Anish bhanu
 
web 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwickweb 2. 0 performance testing - Dave chadwick
web 2. 0 performance testing - Dave chadwick
 
Solving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holtSolving the enterprise security challenge - Derek holt
Solving the enterprise security challenge - Derek holt
 
RQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumarRQM in scrum agile testing - Raj kumar
RQM in scrum agile testing - Raj kumar
 
Req Pro - Andreas gschwind
Req Pro - Andreas gschwindReq Pro - Andreas gschwind
Req Pro - Andreas gschwind
 
RFT - Ashish Mathur
RFT - Ashish MathurRFT - Ashish Mathur
RFT - Ashish Mathur
 
Extending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldtExtending Rhapsody -Rick boldt
Extending Rhapsody -Rick boldt
 
EM overview- - Hayden lindsey
EM overview- - Hayden lindseyEM overview- - Hayden lindsey
EM overview- - Hayden lindsey
 
Application security vision - John b
Application security vision - John bApplication security vision - John b
Application security vision - John b
 
Smarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj ChandraSmarter Products For A Smarter PLanet - Neeraj Chandra
Smarter Products For A Smarter PLanet - Neeraj Chandra
 
Real Insights Real Results - Steve Robinson
Real Insights Real Results - Steve RobinsonReal Insights Real Results - Steve Robinson
Real Insights Real Results - Steve Robinson
 
Overcoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O RourkeOvercoming Contradictions - Mike O Rourke
Overcoming Contradictions - Mike O Rourke
 
Opportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve RobinsonOpportunities In Challenging Times - Steve Robinson
Opportunities In Challenging Times - Steve Robinson
 
How To Make It Real - Hayden Lindsey
How To Make It Real - Hayden LindseyHow To Make It Real - Hayden Lindsey
How To Make It Real - Hayden Lindsey
 
Achieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin NallyAchieving Agility At Scale - Martin Nally
Achieving Agility At Scale - Martin Nally
 
RPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha KrishnamurthyRPT Oracle Plugin - Anitha Krishnamurthy
RPT Oracle Plugin - Anitha Krishnamurthy
 

RTF - Prasad bhatt

  • 1. IBM Rational Software Conference 2009 IBM Rational Software Conference 2009 Prasad Bhat Product Consultant, Rational Services prasad.bhat@in.ibm.com © 2009 IBM Corporation 1
  • 2. IBM Rational Software Conference 2009 Industry Axiom? Quality Time to Market 2
  • 3. IBM Rational Software Conference 2009 Embedded Software Development Challenges Application Complexity Process Complexity Strong timing constraints Requirements shift Low memory footprints Design translation errors Concurrent/Distributed/ Lack of understanding Networked Difficult to maintain Environment Complexity Poor performance Multiple RTOS vendors Late discovery Multiple chip vendors Incomplete integration Multiple IDEs Limited host-target connectivity Low built-in debugging capabilities 3
  • 4. IBM Rational Software Conference 2009 Experience Tells Us… Debugging is not testing! Systematic testing tools and methods are necessary to ensure proactive and early problem discovery A debugger details symptoms, but debugging requires a diagnosis Runtime analysis is a key practice for simplifying the diagnosis of issues impacting reliability, scalability and durability 4
  • 5. IBM Rational Software Conference 2009 Would This Accelerate Quality? Automated component testing at all levels of complexity From the simplest function to distributed systems Extensive runtime analysis capabilities Memory and performance profiling, code coverage, runtime tracing Static metrics calculation Assist with test prioritization Dynamic links between code, test results, and visual model Full regression testing abilities 5
  • 6. IBM Rational Software Conference 2009 IBM Rational Test RealTime Automated component testing at all levels of complexity – from the simplest function to distributed systems Memory and performance profiling, code coverage measurement, runtime tracing and thread profiling Static metrics calculation to assist with test prioritization Dynamic links between code, test, and visual model Full regression testing capabilities All in one tool All in one tool For any IDE - Hosted on any target! For any IDE - Hosted on any target! 6
  • 7. IBM Rational Software Conference 2009 Fix Your Code Before It Breaks Rational Solutions and the Embedded Systems Market IBM Rational Test RealTime Serves and Empowers Any Test and Debug Process Delivers a Unified Component Testing and Runtime Analysis Solution Delivers Total Environment Adaptability What Do You Need? 7
  • 8. IBM Rational Software Conference 2009 Rational Platform: Supporting Embedded Industry Medical Telecom Devices Scanners Rational Solution: Pagers Surgical Lasers Addressing your Phones Pace-makers embedded Switches design, test, and Routers management needs Aerospace / Military Automotive Aircraft Body Electronics Spacecraft Power train Missiles Chassis 8
  • 9. IBM Rational Software Conference 2009 Fix Your Code Before It Breaks Rational Solutions and the Embedded Systems Market IBM Rational Test RealTime Serves and Empowers Any Test and Debug Process Delivers a Unified Component Testing and Runtime Analysis Solution Delivers Total Environment Adaptability What Do You Need? 9
  • 10. IBM Rational Software Conference 2009 What We Have Seen Every developer knows testing ensures quality code…but few do more than debug “I’ll test in the next project – I’ve got too much code to write and fix” But is there room for risk in the embedded world? 10
  • 11. IBM Rational Software Conference 2009 A Day in the Life Fewer tests lead to less stability Pressure leads Less stability leads to to fewer tests work under pressure 11
  • 12. IBM Rational Software Conference 2009 Serves and Empowers any Test and Debug Process Test as you code Automatic component test template and data generation code code code code Black- and white- code code code code code code code code code code code code Test Test box testing code code code ode code code code code code code code code code code code code All levels of complexity: code code code code code From single functions to distributed systems Static metric calculation for: Resolve Analyze Resolve Analyze • tests prioritization • complexity estimation Full regression testing 12
  • 13. IBM Rational Software Conference 2009 Serves and Empowers any Test and Debug Process Test as you code Analyze while you test Code coverage code code code code analysis code code code code code code code code code code code code Test Test code code code ode code code code code Memory profiling code code code code code code code code code code code code code Performance profiling Runtime tracing Resolve Resolve Analyze Analyze 13
  • 14. IBM Rational Software Conference 2009 Serves and Empowers any Test and Debug Process Test as you code Analyze while you test Resolve what you have uncovered code code code code code code code code Test code code code code code code code code Test Test execution integrated with your code code code ode code code code code code code code code debugger code code code code code code code code code Consolidated, detailed to-the-point test reporting Resolve Resolve Analyze Analyze Test data hyperlinked to runtime analysis results and code 14
  • 15. IBM Rational Software Conference 2009 Serves and Empowers any Test and Debug Process Test as you code Analyze while you test Resolve what you have uncovered code code code code code code code code Test code code code code code code code code Test code code code ode code code code code code code code code code code code code code code code code code Resolve Resolve Analyze Analyze Now fix the defects, enhance your tests Now fix the defects, enhance your tests And move on! And move on! 15
  • 16. IBM Rational Software Conference 2009 Serves and Empowers any Test and Debug Process Eases transition from manual testing to automation Source-code aware and thus easily adoptable Powerful test languages drive robust data-driven tests Creates shared debug and test vocabulary for your team Flexible to minimally impact preexisting processes Process agnostic, so you can stay in your comfort zone Shortens time-to-problem-resolution, maximizes time-to-code Mix and match functionality to accommodate your needs Built explicitly for the rigors of embedded development Manages target environment so you can focus on good test creation Handles all test enablement activities so you test early and often Guarantees test reuse when the environment changes to ensure your testing effort will pay off in regression testing dividends 16
  • 17. IBM Rational Software Conference 2009 Fix Your Code Before It Breaks Rational Solutions and the Embedded Systems Market IBM Rational Test RealTime Serves and Empowers Any Test and Debug Process Delivers a Unified Component Testing and Runtime Analysis Solution Delivers Total Environment Adaptability What Do You Need? 17
  • 18. IBM Rational Software Conference 2009 IBM Rational Test RealTime - Overview Component Testing Component Testing Code Code Memory Performance Runtime Thread Memory Performance Runtime Thread Coverage Coverage Profiling Profiling Profiling Profiling Tracing Profiling Tracing Profiling C, C++, Ada, Java C, C++ C, C++ C, C++ C, C++ C, C++ Ada, Java Java Java Java Java Unit, Integration, Validation, Regression and System Testing System Testing System Testing C Target Deployment Port Target Deployment Port Built to achieve standards compliance DO-178B MISRA Defense Standard 00-55 18
  • 19. IBM Rational Software Conference 2009 A Unified Component Testing and Runtime Analysis Solution Combines entire features set into a single, unified tool Optimizes test effort through addition of runtime analysis functionality Accelerates problem resolution through shared team assets Simplifies refactoring verification Enables quality verification for all test granularity levels and certification standards Focuses your efforts on a single toolset Produces information required for code certification Provides a means for achieving pervasive quality Accommodates the larger IBM Rational lifecycle solution Alleviates friction generated by use of non-integrated tools Improves team and asset stability through traceability Single vendor relationship ensures future integration improvement 19
  • 20. IBM Rational Software Conference 2009 Fix Your Code Before It Breaks Rational Solutions and the Embedded Systems Market IBM Rational Test RealTime Serves and Empowers Any Test and Debug Process Delivers a Unified Component Testing and Runtime Analysis Solution Delivers Total Environment Adaptability What Do You Need? 20
  • 21. IBM Rational Software Conference 2009 Delivers Total Environment Adaptability Target Deployment Technology A low-overhead, versatile target deployment technology • Compiler-independent high level scripting API • Debugger-independent test harness deployment • Target-independent results upload & report creation Full Target Independence! Full Target Independence! 21
  • 22. IBM Rational Software Conference 2009 Delivers Total Environment Adaptability 4-Bit to 64-Bit Cross-Development Environments Languages Used By Our Customers C WindRiver Montavista Tasking C++ GreenHills TI CAD-UL Ada J2ME/J2SE ARM NEC Cosmic Enea Hitachi Hiware Platforms Windows CE Apex Hitex Windows Solaris LynuxWorks Sun Symbian Linux HP-UX Lauterbach Microtec …… AIX 22
  • 23. IBM Rational Software Conference 2009 Delivers Total Environment Adaptability Customizable to support a complete range of embedded targets Assures tool adoption Reduces your ramp-up time when target configuration changes Guarantees the reuse of test assets despite target constraints Host, Build and Target Environment Agnostic Ensures portability of test and runtime analysis processes Simplifies multiple team deployment Optimizes ROI in comparison to home-grown test solutions Size and Speed Optimized to Limit Target Impact Enables full control to minimize instrumentation overhead Frees your tests from having to compensate for target restraints Avoids overtasking your system 23
  • 24. IBM Rational Software Conference 2009 Fix Your Code Before It Breaks Rational Solutions and the Embedded Systems Market IBM Rational Test RealTime Serves and Empowers Any Test and Debug Process Delivers a Unified Component Testing and Runtime Analysis Solution Delivers Total Environment Adaptability What Do You Need? 24
  • 25. IBM Rational Software Conference 2009 IBM Rational Test RealTime Component Testing Component Testing Code Code Memory Performance Runtime Thread Memory Performance Runtime Thread Coverage Coverage Profiling Profiling Profiling Profiling Tracing Profiling Tracing Profiling C, C++, Ada, Java C, C++ C, C++ C, C++ C, C++ C, C++ Ada, Java Java Java Java Java Unit, Integration, Validation, Regression and System Testing System Testing System Testing C Target Deployment Port Target Deployment Port Rational Rhapsody Rational ClearCase Rational ClearQuest Rational Test Manager RUP 25
  • 26. IBM Rational Software Conference 2009 IBM Rational Test RealTime Component Testing Component Testing Code Code Memory Performance Runtime Thread Memory Performance Runtime Thread Coverage Coverage Profiling Profiling Profiling Profiling Tracing Profiling Tracing Profiling C, C++, Ada, Java C/C++, Ada83/95, C++ C/C++, Ada83/95, C, C++ C, C, C++ C, C++ C, C++ Java Primitives UML-based Runtime Thread Java Java Primitives UML-based Runtime Thread Ada, PerformanceCode coverage Performance Active Java coverage Java Active Java Java Code Memory Leak Memory Leak (J2ME/J2SE) (J2ME/J2SE) measurements Detection Measurement Tracing Representation Measurement Tracing Representation measurements Detection Unit, Integration, Validation, Regression and System Testing System Testing System Testing C Message-based C Message-based C Target-based Test Target-based Test Threads, Tasks, Threads, Tasks, Execution Execution Processes & Nodes Processes & Nodes Model-driven Model-driven Target Deployment Port Target Deployment Port Development Development Rational Rhapsody Test Asset Versioning Test Asset Versioning Rational ClearCase Change Management Change Management Test Asset Test Asset Rational ClearQuest Management Development Management Development Rational Test Manager Best Practices Best Practices RUP 26
  • 27. IBM Rational Software Conference 2009 27
  • 28. IBM Rational Software Conference 2009 IBM Rational Test RealTime: Test Script 28
  • 29. IBM Rational Software Conference 2009 IBM Rational Test RealTime: Metrics Calculation - 1 Metrics-derived graphical matrix representing units complexity used for test prioritization Calculation of static metrics for tested classes/functions from selected components 29
  • 30. IBM Rational Software Conference 2009 IBM Rational Test RealTime: Metrics Calculation - 2 Calculation of static metrics for analyzed functions/methods from instrumented Metrics information is files accessed directly from the project browser 30
  • 31. IBM Rational Software Conference 2009 IBM Rational Test RealTime: Code Coverage 31
  • 32. IBM Rational Software Conference 2009 IBM Rational Test RealTime: Memory Profiling 32
  • 33. IBM Rational Software Conference 2009 IBM Rational Test RealTime: Performance Profiling 33
  • 34. IBM Rational Software Conference 2009 IBM Rational Test RealTime: Runtime Tracing 34
  • 35. IBM Rational Software Conference 2009 IBM Rational Test RealTime: Test Report 35
  • 36. IBM Rational Software Conference 2009 IBM Rational Test RealTime Component Testing for C and Ada Presentation Session# iSem08 36
  • 37. IBM Rational Software Conference 2009 Test RealTime: Component Testing for C & Ada Source code-driven, data-intensive functional and structural testing via function calls Automatic Test template generation from source code Test data generation from pattern language Stub creation Regression Testing Detailed reporting Use of static metrics for test prioritization Software Complexity Level Works with Test RealTime Runtime Analysis features Memory and Performance Profiling Code Coverage and Runtime Tracing 37
  • 38. IBM Rational Software Conference 2009 Test Harness Architecture and Responsibilities 1. Test driver Calls the function-under-test with the desired range of parameters Checks returned parameters Accesses global variables 2. Stubs Check input parameters Return desired parameters 38
  • 39. IBM Rational Software Conference 2009 Component Testing for C & Ada: Process Code Fix Test Enhancement Coding Test Script Test Result Design Analysis Software Engineer Source Code IBM Test RealTime Test Script Template Test Harness Test Execution Test Results Component Testing Generation Generation Reporting for C and Ada Compilers / Linkers / Debuggers Simulators / Emulators / Targets 39
  • 40. IBM Rational Software Conference 2009 Component Testing for C & Ada: Test Script Pattern Test Script Tested Function: Template a + b returns c Default Automatically 3 simple integers Test Default Generated to be checked! Structure Values for Tested Tested Variables Function Invocation 40
  • 41. IBM Rational Software Conference 2009 Component Testing for C & Ada: Test Language TEST 1 Input values initialization: Expected values definition: - Multiple, - According to requirements ELEMENT - Ranges, etc. - Using Range, delta, etc. The function #ret_val=myfunction(y,a,z,b,c); under test VAR glob, init=0 , ev== VAR y, init in {-1,glob,0} , ev in {-1,0,0} VAR a[1..10],init from 1 to 1000 step 1 , ev(y) in {0,2,3} A single VAR z.field1,init=a[2] , ev=ret_val instruction VAR b, init== , min=y, max=y*10 to define all VAR c, init=b , ev=10, delta=10% test data VAR ret_val, init=MY_DEFINE , ev=init STUB alloc_block, 0=>(100)&a, OTHERS=>()NIL In 2 lines, 3x1000=3000 END ELEMENT STUBs: test cases are - Check parameters, generated! - Return values END TEST 41
  • 42. IBM Rational Software Conference 2009 Component Testing for C & Ada: Reporting Easy to understand report Passed and failed test cases at a glance Initial, expected, obtained values for all managed variables and stubs Source code coverage information from Rational Test RealTime Code Coverage feature Exports to HTML great for Distributed development Test subcontracting 42
  • 43. IBM Rational Software Conference 2009 Component Testing for C & Ada: Tests Comparison Between: 2 iterations of same software component 2 different development environments Instrumented vs. non-instrumented code COMPARISON of 2 Different Executions Generated code vs. manual code Coding Test Script Test Result Test Result Software Definition Analysis Analysis Engineer Test Re-execution Test Execution Test Comparison Test RealTime Backup of previous dynamic test results 43
  • 44. IBM Rational Software Conference 2009 IBM Rational Test RealTime Component Testing for C++ Presentation Session# iSem08 44
  • 45. IBM Rational Software Conference 2009 Test RealTime: Component Testing for C++ Source code–driven, functional and structural testing via method invocation scenarios Automatic Test template generation from source code Assertion checking Stub creation Regression Testing Detailed reporting Use of static metrics for test prioritization Software Complexity Level Works with Test RealTime Runtime Analysis features Memory and Performance Profiling Code Coverage and Runtime Tracing 45
  • 46. IBM Rational Software Conference 2009 Test Harness Architecture and Responsibilities 1. Test driver Invokes a sequence of methods in the set of classes under test Assesses returned values Assesses cluster properties 2. Stubs Check input parameters Return desired parameters 3. Class assertion checks Based on user-defined contracts 46
  • 47. IBM Rational Software Conference 2009 Component Testing for C++: Process Code Fix Test Enhancement Classes Test Script Test Result Under Design Analysis Software Development Engineer Source Code IBM Test RealTime Test Script Template Test Harness Test Execution Test Results Component Testing Generation Generation Reporting for C++ Compilers / Linkers / Debuggers Simulators / Emulators / Targets 47
  • 48. IBM Rational Software Conference 2009 Component Testing for C++: Cluster Properties Test class Preamble Create test context Cluster property definition Test case Cluster property check <<Cluster>> <<Property>> 48
  • 49. IBM Rational Software Conference 2009 Component Testing for C++: Cluster Properties pop() 1: push(i) 2: j=pop() s:Stack {i==j} s:Stack isEmpty Cluster under test stimulation using C++ call Checks Called methods Boolean expressions Postamble: Clean test context Test class instantiation 49
  • 50. IBM Rational Software Conference 2009 Component Testing for C++: Class Assertion A set of conditions expected to always be true Stack pop():Item push(I:Item) clear() Class context Class invariant Method pre-condition Method post-condition State definitions Transitions between states 50
  • 51. IBM Rational Software Conference 2009 Component Testing for C++: Test Report Easy to understand report: Passed and failed test cases and assertion at a glance Status for all executed test cases and test suites Summary of test and contract-check Listing of failed test cases Targeted Status Method Assertion 51
  • 52. IBM Rational Software Conference 2009 IBM Rational Test RealTime System Testing for C Presentation Session# iSem08 52
  • 53. IBM Rational Software Conference 2009 Test RealTime: System Testing for C Component Testing Component Testing Code Code Memory Performance Runtime Thread Memory Performance Runtime Thread Coverage Coverage Profiling Profiling Profiling Profiling Tracing Profiling Tracing Profiling C, C++, Ada, Java C, C++ C, C++ C, C++ C, C++ C, C++ Ada, Java Java Java Java Java Unit, Integration, Validation, Regression and System Testing System Testing System Testing C Message-based C Message-based C Threads, Tasks, Threads, Tasks, Processes & Nodes Processes & Nodes Target Deployment Port Target Deployment Port Rational Rose RealTime Rational ClearCase Rational ClearQuest Rational Test Manager RUP 53
  • 54. IBM Rational Software Conference 2009 System Testing for C: Message-Passing Testing Integration and validation testing from: Single thread … up to Task(s) … up to Node(s) … up to Large networked system Functional, load, and performance testing via message-passing API Powerful scripting language Detailed reporting Regression testing Works with Test RealTime runtime analysis features Memory and Performance Profiling Code Coverage and Runtime Tracing 54
  • 55. IBM Rational Software Conference 2009 Test Harness Architecture and Responsibilities 1. Virtual Testers Simulates external systems Stubs internal actors 2. Each Virtual Tester Sends events to the SUT Controls the event flow Checks event data and timing Can be duplicated for load testing 3. System Testing supervisor Monitoring services for virtual tester distribution, communication and synchronization 55
  • 56. IBM Rational Software Conference 2009 System Testing for C: Message Adaptation Layer Full support of any communication interface 1. Adaptation layer Virtual Tester − Built with C procedures to send System Testing Script and receive events (C-structs) SEND WAITTIL − Symbolic management of events Adaptation Layer − Enables test script independence of the messaging API API 2. Message API − Part of the system-under-test − Provided by a communication card − Defines how to send and receive events S UT 56
  • 57. IBM Rational Software Conference 2009 System Testing for C: Test Script Structuring INITIALIZATION init_proc() Preamble, Postamble and TERMINATION end_proc() Error recovery blocks EXCEPTION recover_proc() SCENARIO main Test script composed SCENARIO test_case1 of SCENARIOs and sub-SCENARIOs … END SCENARIO -- test_case1 SCENARIO test_case2 A scenario can be split into INSTANCE Virtual_Tester1 INSTANCE blocks to define asynchronous behaviors END INSTANCE – Virtual_Tester1 (Virtual Testers) INSTANCE Virtual_Tester2 END INSTANCE – Virtual_Tester2 END SCENARIO -- test_case2 END SCENARIO -- main 57
  • 58. IBM Rational Software Conference 2009 System Testing for C: Test Script Behavior CHANNEL MY_COMMTYPE:mylink SCENARIO example Loops WHILE (TIME(mytimer) < 100) Synchronizations between RENDEZVOUS start_example Virtual Testers IF (sync == 0) THEN IF statements Init of outgoing Events with VAR creq, INIT={send=>…,neg=>{opt=> …, }} high level instructions SEND (mylink, creq) Send an Event via a defined communication channel END IF Set up a timer TIMER mytimer Definition of constraints on DEF_MESSAGE cresp, EV= { … } incoming Events WAITTIL (MATCHED(cresp)||MATCHING(cack),WTIME>15) Wait for complex conditions CALL myexternal_func() Call to external C code END WHILE END SCENARIO -- example 58
  • 59. IBM Rational Software Conference 2009 System Testing for C: Reporting Dynamically jump between sequence diagram, test report, and source code Export to HTML Results Summary Test Summary Test details Virtual Testers 59
  • 60. IBM Rational Software Conference 2009 Probe Feature: Show Exchanges and Replay Them Deployment Process Define probes location in applications/simulators for sent and received messages Execute normally using simulators/Hardware/GUIs to create/populate the test script After execution, a UML/SD report shows all exchanged messages or events and generates the script to replay SUT Application Dynamic Results Protocol Dynamic Results External External simulators equipments ENV L1 L2 Virtual Testers Bus Generated Script UML/SD report 60
  • 61. IBM Rational Software Conference 2009 IBM Rational Test RealTime Runtime Analysis Features Presentation Session# iSem08 61
  • 62. IBM Rational Software Conference 2009 Benefits of Runtime Analysis Features Get insights into program execution See how various components of a running application may affect each other during execution Get an overall picture of an application's execution behavior over a period of time Detect hard-to-find problems Memory leaks Performance bottlenecks Unused and/or untested code Directly correlate all analysis results to Test cases and code 62
  • 63. IBM Rational Software Conference 2009 Runtime Analysis Features: Code Coverage Up to nine incremental Up to nine incremental coverage levels, incl. coverage levels, incl. MC/DC MC/DC Linkage between Linkage between Coverage Viewer and Coverage Viewer and Select test case Select test case contribution to code Covered test cases Covered test cases Uncovered contribution to code Uncovered code coverage coverage code code code Partially Partially Loops behavior Loops behavior covered covered analysis analysis code code Source component Source component Detailed Detailed for browser coverage for browser coverage detailed/aggregated detailed/aggregated statistics (%) Highlight executed/ statistics (%) rates code coverage Highlight executed/ code coverage rates non-executed Boolean non-executed Boolean conditions (C & Ada) conditions (C & Ada) 63
  • 64. IBM Rational Software Conference 2009 Runtime Analysis Features: Memory Profiling Memory error statistics per test case Type of Call Stack Call Stack memory error linked to linked to source code source code Memory leak highlighted in the source code editor 64
  • 65. IBM Rational Software Conference 2009 Runtime Analysis Features: Performance Profiling Graphical depiction of slowest three performers Performance data Function or for one or more Function + Descendant test cases time measurements Sortable list of functions and methods 65
  • 66. IBM Rational Software Conference 2009 Runtime Analysis Features: Runtime Tracing On-the-fly or post-mortem On-the-fly or post-mortem UML Sequence Diagram UML Sequence Diagram Powerful search, Powerful search, filtering & filtering & triggering triggering Track data Track data Source component Source component values values browser for browser for expansion/collapse expansion/collapse of UML-based of UML-based tracing diagram tracing diagram Timing Timing information information Selected trace Selected trace event highlighted event highlighted in the source in the source code editor code editor Catch raised Catch raised exceptions exceptions 66
  • 67. IBM Rational Software Conference 2009 Runtime Analysis Features: Runtime Tracing Bars Dynamic Heap Dynamic Heap Memory Usage Bar Memory Usage Bar (Java Only) (Java Only) Click Threads Bar to Active Thread Click Threads Bar to Active Thread Dynamic Messages Dynamic Messages get their properties Representation get their properties Representation Coverage Bar Coverage Bar (C/C++/Java) (C/C++/Java) (C/C++/Java) (C/C++/Java) (C/C++/Java) (C/C++/Java) While runtime While runtime tracing activity tracing activity is executing is executing 67
  • 68. IBM Rational Software Conference 2009 Test RealTime: Integration with Test Manager Test Plans are Test Plans are attached to Test attached to Test RealTime artifacts RealTime artifacts A direct association can be A direct association can be established between test established between test input ,, a test case and a input a test case and a test implementing it test implementing it Test Plans are built Test Plans are built and organized within and organized within TestManager TestManager 68
  • 69. IBM Rational Software Conference 2009 Test RealTime: Integration with Test Manager Run and monitor the tests built with Run and monitor the tests built with Test RealTime from TestManager Test RealTime from TestManager Finally, inspect from Test RealTime Finally, inspect from Test RealTime GUI the detailed results when GUI the detailed results when TestManager gives a failed status TestManager gives a failed status 69
  • 70. IBM Rational Software Conference 2009 Test RealTime: Integration with ClearCase Get access to Get access to Clearcase for all Clearcase for all artifacts from artifacts from Test RealTime Test RealTime 70
  • 71. IBM Rational Software Conference 2009 Test RealTime 7.5 features Integrated with new Rational Quality Manager Express Edition and Rational Quality Manager Standard Edition Integrated with new Rational Software Architect Standard Edition v7.5 Updated support for Eclipse v3.4 integration New integration with Telelogic Rhapsody v7.4 and TestConductor (7.5) Updated integration with Wind River Workbench 3.0 New out-of-the-box support for Symbian OS New support of IPv6 network infrastructure 71
  • 72. IBM Rational Software Conference 2009 72