Quality assurance in REC Group
Contents


         Projects
         Competencies
         Team profile
         System integration tools
         System verification tools
         Management tools




1   © Research and Engineering Center   www.rec-global.com   2011-06-27
Automotive
    Cooperation with Continental AG

         Responsibility for customizing products to customer
         specific requirements
                Integration approach definition and execution
                Test approach definition (test levels, acceptance/release criteria,
                test process definition), test plan preparation
                Test specification preparation, tests execution:
                       Module tests
                       Integration tests
                       System tests
                Test automation (mostly based on in-house solution ATE)
                       Python scripting
                       C++ (Test F-Block/ Test shadow)



2   © Research & Engineering Center, Wrocław, Poland
Telecommunication
    Cinterion Wireless Modules

         Responsibility for:
                Protocol stack tests
                       AT commands functional testing
                       GPRS/EDGE/HSDPA/CSD functional testing
                       JVM, VME testing

                Conformity tests (GCF)
                       Conformance Testing for 2G/2.5G Technologies: GSM, GPRS,
                       EDGE, AMR (900/1800)
                       Conformance Testing for 3G Technologies: W-CDMA,
                       UMTS, HSDPA (FDD I)
                       SIM/USIM Testing
                       Radiated Spurious Emissions testing
                       Field Trials
                       GCF Qualified Networks


                Skills:
                       Mobile technologies: GSM/CSD/GPRS/EDGE/UMTS/HSDPA
                       Eclipse environment
                       CRTU protocol testing platform
                       Java,.C/C++
                       Test automation - Pegasus




3   © Research & Engineering Center, Wrocław, Poland
Web applications

          Cooperation with Polish Government,
          City of Wroclaw and PICZO.com
          Responsibility for:
                 Test concept preparation
                 Test case implementation and execution
                  Analysis of customer requirements – iterative
                  approach
                  Test automation
                  Aceptance tests with customer
          Technology
                 Java
                 Perl
                 MySQL

                 Test automation (mostly based on in-house
                 solution ATE)
                        Python scripting
                        JUnit
                        Selenium tool


4   © Research and Engineering Center   www.rec-global.com        2011-06-27
Competencies




5   © Research and Engineering Center   www.rec-global.com   2011-06-27
Competences

    • Integration                                      Verification
    • Integration of SW modules,                       • Planning of test approach,
         also coming from                                test plan preparation
         geographically distributed                    • Test execution on various levels:
                                                             Reviews
         locations
                                                             Module testing
    •    Gathering quality metrics                           Integration testing
         with according to customer                          System testing
         demands                                       • Test techniques:
                                                             Specification based (functional and
    •    Resolution of conflicts in                          non-functional)
         version control system                              Structure based
    •    Support for development in                          Experience based
         problem resolving                             • Test strategy adjusted to
                                                          development model: V-model,
    •    Integration approach                             Agile, mixture...
         adaptation for customer
         needs

6   © Research & Engineering Center, Wrocław, Poland
Verification levels

                      Customer                                                                    Product
                       Request


                                                               Acceptance Testing



    System
                                                               System Validation                            Acceptance tests
    Requirements


                                                               System Verification
                                                                                                      System
      Technical Solution                                                                              Integration
                                                                 Module Testing
                                                                  (by developers)


                                                                   Test Plan
                System
                Architecture                                                               Development
                                                                                           & Testing




7     © Research and Engineering Center   www.rec-global.com                         2011-06-27
Quality first!
Acceptance criteria definition - example
Weekly criteria
    KPI’s – as defined by customer + REC internal
    Test report covering feature to be released given week
    Test scope: at least 30% of system requirements covered by test cases, 100% of features to be released in given week
Major release criteria
    Summary of KPI’s, performed on delivery + clear statement about KPI’s for major release
    Test coverage: 60% of system requirements covered by test cases, 100% of features
    Review of test report performed by Customer
    Acceptance tests, performed on selected test cases – the scope must be defined before implementation starts, details to
    be confirmed at least 4 weeks before milestone. REC will provide compliance statement, considering available reources.
Exceptions
    Introduced into release statement
    The list of missing/not executed tests should be provided. For all the cases PL’s should be awared at least 4 weeks before
    milestone
Our team
    • Test techniques based on
           •    ISEB foundation
           •    ISEB intermediate
    • Experience in telecommunication
           •     GCF, protocol stack, but also Intelligent Network – performance verification
    • Experience into embedded systems
           •     Wireless
           •     Automotive                               # $Id: 541.py 726 2009-04-16 09:26:02Z wro00119 $
                                                          a = AcsPlugin()
                                                          a.logger.info('test case $Id: 541.py 726 2009-04-16 09:26:02Z wro00119 $ begin')
                                                          #enable notifications on VehicleFunctionsFB

    • Experience in Web applications                      EnableNotificationsOnFBlock(a, 0x005, 0x04)

                                                          #--------------------PRECONDITIONS-------------------------
                                                           a.logger.info('### preconditions begin')

    • skills                                              statusFront.params = ['0', '55', '45', '55', '45', '83', '0x01', '0x02', '0']
                                                          a.putMessage(statusFront)
                                                          a.ignoreResults(10)
                                                          a.logger.info('### preconditions end')
           •    Perl                                      #-------------------------STEPS----------------------------
                                                          # log begin of steps
                                                          a.logger.info('### step 1 begin')

           •    Python                                    # simulate rotary turn (on the user side) through TShadowACS:
                                                          turnRotary.params = ['3', '-1', '(1,1)']

           •    C,C++                                     a.putMessage(turnRotary)

                                                          #we’re waiting for result on the network side (we’re receiving request send to HVAC module
                                                          a.logger.info('### get result for step 1')
           •    Java                                      ret1 = a.waitFor(1.5, hvacTest)
                                                          ret2 = a.waitFor(1.5, hvacTest)

           •    Unix                                       # condition for setting test result
                                                           if not(ret1 and ret2 and ret1.paramsi[2] == 1 and ret1.paramsi[4] == 11 and ret2.paramsi[4]
                                                       == 0):
           •    Oracle, MySQL                                  raise TestStepFailed #step 1 failed




9   © Research & Engineering Center, Wrocław, Poland                                    2011-06-27
System integration – tools
     support

          Version control systems
                 Telelogic change (together with baselines concept)
                 SVN
                 Clear Case


          Expertise:
            -    Installation
            -    Configuration
            -    Maintenance
            -    Support for geographically distributed development sites
            -    Support for development – conflict resolution, trainings



10   © Research & Engineering Center, Wrocław, Poland
System verification – tools
     support
          ATE (automated test environment)


 •Very high flexibility – python plugins allow us
 to adapt ATE to many different applications
 and communication protocols.
 •Detection of tool technical failures, i.e. bugs
 in test cases, bugs in plugins. If test case
 fails, it throws specific exception –
 „TestStepFailed”. Test case maturity levels.
 •Automatically generated test reports,
 coverage reports (like requirements
 coverage)
 •Support for various development models,
 including agile approach.
 •Automation: list of requirements, test cases
 (description) and test case automation (code)
 kept in one, consistent database.


11   © Research & Engineering Center, Wrocław, Poland   2011-06-27
System verification – automation
     tools
          Pegasus SWT
     • Test runner


     • Eclipse enviroment on RCP
     platform

     •Test Cases written in Java


     • Parallel tests execution


     • Full event log file from executed
     test cases

     • Communication with all HW
     interfaces (RS232, USB, I2C,
     SPI....)




12   © Research and Engineering Center   www.rec-global.com   2011-06-27
System verification – automation
     tools
          Selenium - tool for automation Web testing




     Selenium IDE tool                                        JUnit test case




                 Automatic tests execution
                    using Selenium server



13   © Research and Engineering Center   www.rec-global.com
System verification – incident
     tracking tools
          ClearQuest

     •   project task tracking

     •   bug reporting

     •   bug tracking

     •   interface to version control
     systems

     •   easy access to complete
     incidents history




14   © Research and Engineering Center   www.rec-global.com
System verification – incident
     tracking tools
          TRAC – project management and bug reporting
          tracker



                                                                           •   web-based tool

                                                                           •   project task tracking

                                                                           •   bug reporting

                                                                           •   integrated Wiki

                                                                           •   interface to version
                                                                           control systems




15   © Research and Engineering Center   www.rec-global.com   2011-06-27
Methods for quality assurance
     in the REC Group

          For further information please contact:
          Roman Sorokiewicz on roman.sorokiewicz@rec-
          global.com or
          Tel: +48 (71) 711-8070; +48 660 430 104




16   © Research and Engineering Center   www.rec-global.com   2011-06-27

Quality Assurance in REC Group

  • 1.
  • 2.
    Contents Projects Competencies Team profile System integration tools System verification tools Management tools 1 © Research and Engineering Center www.rec-global.com 2011-06-27
  • 3.
    Automotive Cooperation with Continental AG Responsibility for customizing products to customer specific requirements Integration approach definition and execution Test approach definition (test levels, acceptance/release criteria, test process definition), test plan preparation Test specification preparation, tests execution: Module tests Integration tests System tests Test automation (mostly based on in-house solution ATE) Python scripting C++ (Test F-Block/ Test shadow) 2 © Research & Engineering Center, Wrocław, Poland
  • 4.
    Telecommunication Cinterion Wireless Modules Responsibility for: Protocol stack tests AT commands functional testing GPRS/EDGE/HSDPA/CSD functional testing JVM, VME testing Conformity tests (GCF) Conformance Testing for 2G/2.5G Technologies: GSM, GPRS, EDGE, AMR (900/1800) Conformance Testing for 3G Technologies: W-CDMA, UMTS, HSDPA (FDD I) SIM/USIM Testing Radiated Spurious Emissions testing Field Trials GCF Qualified Networks Skills: Mobile technologies: GSM/CSD/GPRS/EDGE/UMTS/HSDPA Eclipse environment CRTU protocol testing platform Java,.C/C++ Test automation - Pegasus 3 © Research & Engineering Center, Wrocław, Poland
  • 5.
    Web applications Cooperation with Polish Government, City of Wroclaw and PICZO.com Responsibility for: Test concept preparation Test case implementation and execution Analysis of customer requirements – iterative approach Test automation Aceptance tests with customer Technology Java Perl MySQL Test automation (mostly based on in-house solution ATE) Python scripting JUnit Selenium tool 4 © Research and Engineering Center www.rec-global.com 2011-06-27
  • 6.
    Competencies 5 © Research and Engineering Center www.rec-global.com 2011-06-27
  • 7.
    Competences • Integration Verification • Integration of SW modules, • Planning of test approach, also coming from test plan preparation geographically distributed • Test execution on various levels: Reviews locations Module testing • Gathering quality metrics Integration testing with according to customer System testing demands • Test techniques: Specification based (functional and • Resolution of conflicts in non-functional) version control system Structure based • Support for development in Experience based problem resolving • Test strategy adjusted to development model: V-model, • Integration approach Agile, mixture... adaptation for customer needs 6 © Research & Engineering Center, Wrocław, Poland
  • 8.
    Verification levels Customer Product Request Acceptance Testing System System Validation Acceptance tests Requirements System Verification System Technical Solution Integration Module Testing (by developers) Test Plan System Architecture Development & Testing 7 © Research and Engineering Center www.rec-global.com 2011-06-27
  • 9.
    Quality first! Acceptance criteriadefinition - example Weekly criteria KPI’s – as defined by customer + REC internal Test report covering feature to be released given week Test scope: at least 30% of system requirements covered by test cases, 100% of features to be released in given week Major release criteria Summary of KPI’s, performed on delivery + clear statement about KPI’s for major release Test coverage: 60% of system requirements covered by test cases, 100% of features Review of test report performed by Customer Acceptance tests, performed on selected test cases – the scope must be defined before implementation starts, details to be confirmed at least 4 weeks before milestone. REC will provide compliance statement, considering available reources. Exceptions Introduced into release statement The list of missing/not executed tests should be provided. For all the cases PL’s should be awared at least 4 weeks before milestone
  • 10.
    Our team • Test techniques based on • ISEB foundation • ISEB intermediate • Experience in telecommunication • GCF, protocol stack, but also Intelligent Network – performance verification • Experience into embedded systems • Wireless • Automotive # $Id: 541.py 726 2009-04-16 09:26:02Z wro00119 $ a = AcsPlugin() a.logger.info('test case $Id: 541.py 726 2009-04-16 09:26:02Z wro00119 $ begin') #enable notifications on VehicleFunctionsFB • Experience in Web applications EnableNotificationsOnFBlock(a, 0x005, 0x04) #--------------------PRECONDITIONS------------------------- a.logger.info('### preconditions begin') • skills statusFront.params = ['0', '55', '45', '55', '45', '83', '0x01', '0x02', '0'] a.putMessage(statusFront) a.ignoreResults(10) a.logger.info('### preconditions end') • Perl #-------------------------STEPS---------------------------- # log begin of steps a.logger.info('### step 1 begin') • Python # simulate rotary turn (on the user side) through TShadowACS: turnRotary.params = ['3', '-1', '(1,1)'] • C,C++ a.putMessage(turnRotary) #we’re waiting for result on the network side (we’re receiving request send to HVAC module a.logger.info('### get result for step 1') • Java ret1 = a.waitFor(1.5, hvacTest) ret2 = a.waitFor(1.5, hvacTest) • Unix # condition for setting test result if not(ret1 and ret2 and ret1.paramsi[2] == 1 and ret1.paramsi[4] == 11 and ret2.paramsi[4] == 0): • Oracle, MySQL raise TestStepFailed #step 1 failed 9 © Research & Engineering Center, Wrocław, Poland 2011-06-27
  • 11.
    System integration –tools support Version control systems Telelogic change (together with baselines concept) SVN Clear Case Expertise: - Installation - Configuration - Maintenance - Support for geographically distributed development sites - Support for development – conflict resolution, trainings 10 © Research & Engineering Center, Wrocław, Poland
  • 12.
    System verification –tools support ATE (automated test environment) •Very high flexibility – python plugins allow us to adapt ATE to many different applications and communication protocols. •Detection of tool technical failures, i.e. bugs in test cases, bugs in plugins. If test case fails, it throws specific exception – „TestStepFailed”. Test case maturity levels. •Automatically generated test reports, coverage reports (like requirements coverage) •Support for various development models, including agile approach. •Automation: list of requirements, test cases (description) and test case automation (code) kept in one, consistent database. 11 © Research & Engineering Center, Wrocław, Poland 2011-06-27
  • 13.
    System verification –automation tools Pegasus SWT • Test runner • Eclipse enviroment on RCP platform •Test Cases written in Java • Parallel tests execution • Full event log file from executed test cases • Communication with all HW interfaces (RS232, USB, I2C, SPI....) 12 © Research and Engineering Center www.rec-global.com 2011-06-27
  • 14.
    System verification –automation tools Selenium - tool for automation Web testing Selenium IDE tool JUnit test case Automatic tests execution using Selenium server 13 © Research and Engineering Center www.rec-global.com
  • 15.
    System verification –incident tracking tools ClearQuest • project task tracking • bug reporting • bug tracking • interface to version control systems • easy access to complete incidents history 14 © Research and Engineering Center www.rec-global.com
  • 16.
    System verification –incident tracking tools TRAC – project management and bug reporting tracker • web-based tool • project task tracking • bug reporting • integrated Wiki • interface to version control systems 15 © Research and Engineering Center www.rec-global.com 2011-06-27
  • 17.
    Methods for qualityassurance in the REC Group For further information please contact: Roman Sorokiewicz on roman.sorokiewicz@rec- global.com or Tel: +48 (71) 711-8070; +48 660 430 104 16 © Research and Engineering Center www.rec-global.com 2011-06-27