SlideShare a Scribd company logo
1 of 54
Download to read offline
STAF 在自動化測試上的延伸應用 –
TMSTAF (TrendMicro STAF)
李志和 (Bevis Lee)
Sr. Engineer, R&D Dept.
2012/06/10




                          1   6/12/2012   | Copyright 2012 Trend Micro Inc.
Agenda

      • Brief Introduction of STAF

      • What‟s TMSTAF?

      • TMSTAF vs. QA automation

      • Q&A




6/12/2012   | Copyright 2012 Trend Micro Inc.   2
Brief Introduction of STAF




6/12/2012     | Copyright 2012 Trend Micro Inc.   3
• History
            – Created at IBM Austin in 1998
            – Open-sourced (on SourceForge) in 2001
      • http://staf.sourceforge.net/




6/12/2012     | Copyright 2012 Trend Micro Inc.   4
• STAF runs as a daemon process, called STAFProc




6/12/2012   | Copyright 2012 Trend Micro Inc.   5
What‟s TMSTAF?




6/12/2012     | Copyright 2012 Trend Micro Inc.   6
TMSTAF = Trend Micro STAF




6/12/2012   | Copyright 2012 Trend Micro Inc.   7
TMSTAF Architecture



6/12/2012    Confidential | Copyright 2012 Trend Micro Inc.   8
6/12/2012   | Copyright 2012 Trend Micro Inc.   9
File Structure




6/12/2012   | Copyright 2012 Trend Micro Inc.   10
TMSTAF Features



6/12/2012    Confidential | Copyright 2012 Trend Micro Inc.   11
Testware concept included:
                           Testware configurations can be customized

                           Test suite, test case defined in Python syntax

            Test process included: Setup, Test and Teardown

            Execution log for tracing

            XML test report w/ email notification

            Command line interface
            Cross-platform execution


6/12/2012   | Copyright 2012 Trend Micro Inc.   12
Testing Report




6/12/2012   | Copyright 2012 Trend Micro Inc.   13
Email Notification of Testing Result




6/12/2012   | Copyright 2012 Trend Micro Inc.   14
TMSTAF vs. QA‟s Automation




6/12/2012     | Copyright 2012 Trend Micro Inc.   15
QA‟s Automation Process

       • Automation construction

              Test                                                     Test cases   Automation
                                              Automation
             cases                                                     convert to   script pre-
                                              environment
            creation                                                   automation    run and
                                                 setup
                                                                         scripts      debug



       • Automation online

                          Integrate
                                                           Build
                          with build
                                                          quality
                           release
                                                        verification
                           process



6/12/2012     | Copyright 2012 Trend Micro Inc.               16
Test Cases Creation



6/12/2012    Confidential | Copyright 2012 Trend Micro Inc.   17
• Based on concept of „test suite‟, test case can be
        created for both „manual‟ and „automation‟ use




6/12/2012   | Copyright 2012 Trend Micro Inc.   18
Automation
            Environment Setup


6/12/2012    Confidential | Copyright 2012 Trend Micro Inc.   19
• Automation environment can be deployed easily



                              Automation Environment


                                                  TMSTAF
                                                framework



                            Python 2.6                      STAF 3.x




6/12/2012   | Copyright 2012 Trend Micro Inc.                 20
Test Cases Convert to
      Automation Scripts


6/12/2012   Confidential | Copyright 2012 Trend Micro Inc.   21
• Convert test case to automation scripts structurally




            Automation
                                                  Test step
              Module                                            Test case
                                                               (automation
                                                                  script)
            Automation
                                                  Test step
              Module



            Automation
              Module




6/12/2012     | Copyright 2012 Trend Micro Inc.           22
6/12/2012   | Copyright 2012 Trend Micro Inc.   23
6/12/2012   | Copyright 2012 Trend Micro Inc.   24
3 Weapons…




6/12/2012   Confidential | Copyright 2012 Trend Micro Inc.   25
I - Scenario Mechanism

        test0010.py
            var1 = 111
            var2 = 222
            func = PythonFunction('moduleATester', 'testFunc1')
            r = self.addTest(func, [var1,var2])
            r.failUnlessEqual(0)



        test0020.py
            var1 = 333
            var2 = 444
            func = PythonFunction('moduleATester', 'testFunc1')
            r = self.addTest(func, [var1,var2])
            r.failUnlessEqual(0)




6/12/2012    | Copyright 2012 Trend Micro Inc.   26
test0010.py
              var1 = 111
              var2 = 222
              self.setScenario('_scenario01.py')

            test0020.py
             var1 = 333
             var2 = 444
             self.setScenario('_scenario01.py')




            _scenario01.py
              func = PythonFunction('moduleATester', 'testFunc1')
              result = self.addTest(func, [var1,var2])
              result.failUnlessEqual(0)



6/12/2012      | Copyright 2012 Trend Micro Inc.   27
II - Setup, Teardown and Test procedures

                                                       Setup steps




            Test Case                                  Test steps




                                                      Teardown steps


6/12/2012    | Copyright 2012 Trend Micro Inc.   28
• Setup = addSetup()




      • Test = addTest()




      • Teardown = addTeardown()




6/12/2012   | Copyright 2012 Trend Micro Inc.   29
III - Result Verification

      • Execution result of each steps (includes setup and
        teardown) can be verified easily




                                   Passed if ‘result’ = 0




6/12/2012   | Copyright 2012 Trend Micro Inc.   30
Script Pre-run and
      Debug


6/12/2012   Confidential | Copyright 2012 Trend Micro Inc.   31
• More efficiency development of automation



                                                    Script
                                                  execution




                                     Refinement               Debugging
                                      of script                of script




6/12/2012   | Copyright 2012 Trend Micro Inc.         32
• Script execution from command line interface




6/12/2012   | Copyright 2012 Trend Micro Inc.   33
 “-h” Online Help
                                         Easy to Integrate

                                         Run Target Case
                                         Run Target Suite


6/12/2012   | Copyright 2012 Trend Micro Inc.   34
• Execution log for tracing/debugging




6/12/2012   | Copyright 2012 Trend Micro Inc.   35
6/12/2012   | Copyright 2012 Trend Micro Inc.   36
Automation Online




6/12/2012   Confidential | Copyright 2012 Trend Micro Inc.   37
Build Release Flow




6/12/2012   | Copyright 2012 Trend Micro Inc.   38
1
                                                         3


            2
                                                         4
                                             5




6/12/2012       | Copyright 2012 Trend Micro Inc.   39
Build Quality
      Verification


6/12/2012   Confidential | Copyright 2012 Trend Micro Inc.   40
Mail Notifications




6/12/2012   | Copyright 2012 Trend Micro Inc.   41
6/12/2012   | Copyright 2012 Trend Micro Inc.   42
6/12/2012   | Copyright 2012 Trend Micro Inc.   43
Detail Testing Report




6/12/2012   | Copyright 2012 Trend Micro Inc.   44
6/12/2012   | Copyright 2012 Trend Micro Inc.   45
6/12/2012   | Copyright 2012 Trend Micro Inc.   46
6/12/2012   | Copyright 2012 Trend Micro Inc.   47
6/12/2012   | Copyright 2012 Trend Micro Inc.   48
6/12/2012   | Copyright 2012 Trend Micro Inc.   49
6/12/2012   | Copyright 2012 Trend Micro Inc.   50
6/12/2012   | Copyright 2012 Trend Micro Inc.   51
So, with TMSTAF,
            you can…


6/12/2012    Confidential | Copyright 2012 Trend Micro Inc.   52
Test
                                                   Test case can be used for both ‘manual’ and
             cases creation
                                                   ‘automation’ use, no extra effort needs

              Automation
                                                   Easy to setup automation environment for
              environment
                                                   development and execution
                 setup
               Test cases
               convert to                          Implement test cases with structural and flexible
               automation                          mechanism
                 scripts

            Automation script                      More efficiency development and trouble-shooting
            pre-run and debug                      of automation


              Integrate with
               build release                       Easy integrate with standard build release process
                 process

              Build quality                        Useful information in testing report can help to
              verification                         identify issue more quickly



6/12/2012      | Copyright 2012 Trend Micro Inc.                53
Q&A


6/12/2012   | Copyright 2012 Trend Micro Inc.   54

More Related Content

What's hot

Introduction to Behavior Driven Development
Introduction to Behavior Driven Development Introduction to Behavior Driven Development
Introduction to Behavior Driven Development Robin O'Brien
 
Back-2-Basics: Code Contracts
Back-2-Basics: Code ContractsBack-2-Basics: Code Contracts
Back-2-Basics: Code ContractsDavid McCarter
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsFedir RYKHTIK
 
Hello, Android Studio 3.2 & Android App Bundle @ I/O Extended Bangkok 2018
Hello, Android Studio 3.2 & Android App Bundle @ I/O Extended Bangkok 2018Hello, Android Studio 3.2 & Android App Bundle @ I/O Extended Bangkok 2018
Hello, Android Studio 3.2 & Android App Bundle @ I/O Extended Bangkok 2018Somkiat Khitwongwattana
 
Integration Group - Lithium test strategy
Integration Group - Lithium test strategyIntegration Group - Lithium test strategy
Integration Group - Lithium test strategyOpenDaylight
 
Gradle(the innovation continues)
Gradle(the innovation continues)Gradle(the innovation continues)
Gradle(the innovation continues)Sejong Park
 
kranonit S04E02 Кирил Jstor: Hacking .NET applications
kranonit S04E02 Кирил Jstor: Hacking .NET applicationskranonit S04E02 Кирил Jstor: Hacking .NET applications
kranonit S04E02 Кирил Jstor: Hacking .NET applicationsKrivoy Rog IT Community
 
So What Do Cucumbers Have To Do With Testing
So What Do Cucumbers Have To Do With TestingSo What Do Cucumbers Have To Do With Testing
So What Do Cucumbers Have To Do With Testingsjmarsh
 
Gradle: One technology to build them all
Gradle: One technology to build them allGradle: One technology to build them all
Gradle: One technology to build them allBonitasoft
 
Bots on guard of sdlc
Bots on guard of sdlcBots on guard of sdlc
Bots on guard of sdlcAlexey Tokar
 
LeticiaLomeliResume
LeticiaLomeliResumeLeticiaLomeliResume
LeticiaLomeliResumeLETTY_LOGON
 
Super slideshow 2
Super slideshow 2Super slideshow 2
Super slideshow 2zhangxw205
 
Android with dagger_2
Android with dagger_2Android with dagger_2
Android with dagger_2Kros Huang
 
Acceptance Test Drive Development with Robot Framework
Acceptance Test Drive Development with Robot FrameworkAcceptance Test Drive Development with Robot Framework
Acceptance Test Drive Development with Robot FrameworkRamdhan Hidayat
 
Szczepan.faber.gradle
Szczepan.faber.gradleSzczepan.faber.gradle
Szczepan.faber.gradlemagda3695
 

What's hot (20)

Introduction to Behavior Driven Development
Introduction to Behavior Driven Development Introduction to Behavior Driven Development
Introduction to Behavior Driven Development
 
Back-2-Basics: Code Contracts
Back-2-Basics: Code ContractsBack-2-Basics: Code Contracts
Back-2-Basics: Code Contracts
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
 
Hello, Android Studio 3.2 & Android App Bundle @ I/O Extended Bangkok 2018
Hello, Android Studio 3.2 & Android App Bundle @ I/O Extended Bangkok 2018Hello, Android Studio 3.2 & Android App Bundle @ I/O Extended Bangkok 2018
Hello, Android Studio 3.2 & Android App Bundle @ I/O Extended Bangkok 2018
 
DI with Dagger2
DI with Dagger2DI with Dagger2
DI with Dagger2
 
Integration Group - Lithium test strategy
Integration Group - Lithium test strategyIntegration Group - Lithium test strategy
Integration Group - Lithium test strategy
 
Gradle explained
Gradle explainedGradle explained
Gradle explained
 
Gradle(the innovation continues)
Gradle(the innovation continues)Gradle(the innovation continues)
Gradle(the innovation continues)
 
Gradle
GradleGradle
Gradle
 
kranonit S04E02 Кирил Jstor: Hacking .NET applications
kranonit S04E02 Кирил Jstor: Hacking .NET applicationskranonit S04E02 Кирил Jstor: Hacking .NET applications
kranonit S04E02 Кирил Jstor: Hacking .NET applications
 
So What Do Cucumbers Have To Do With Testing
So What Do Cucumbers Have To Do With TestingSo What Do Cucumbers Have To Do With Testing
So What Do Cucumbers Have To Do With Testing
 
Boost your API with GraphQL
Boost your API with GraphQLBoost your API with GraphQL
Boost your API with GraphQL
 
Gradle: One technology to build them all
Gradle: One technology to build them allGradle: One technology to build them all
Gradle: One technology to build them all
 
Bots on guard of sdlc
Bots on guard of sdlcBots on guard of sdlc
Bots on guard of sdlc
 
LeticiaLomeliResume
LeticiaLomeliResumeLeticiaLomeliResume
LeticiaLomeliResume
 
Tdd,Ioc
Tdd,IocTdd,Ioc
Tdd,Ioc
 
Super slideshow 2
Super slideshow 2Super slideshow 2
Super slideshow 2
 
Android with dagger_2
Android with dagger_2Android with dagger_2
Android with dagger_2
 
Acceptance Test Drive Development with Robot Framework
Acceptance Test Drive Development with Robot FrameworkAcceptance Test Drive Development with Robot Framework
Acceptance Test Drive Development with Robot Framework
 
Szczepan.faber.gradle
Szczepan.faber.gradleSzczepan.faber.gradle
Szczepan.faber.gradle
 

Similar to STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)

SPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactorySPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactoryNCCOMMS
 
STPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSTPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSOASTA
 
Framework for Web Automation Testing
Framework for Web Automation TestingFramework for Web Automation Testing
Framework for Web Automation TestingTaras Lytvyn
 
Model-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical SoftwareModel-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical Softwaregjuljo
 
From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...Jen-Chieh Ko
 
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...Edge AI and Vision Alliance
 
JDXA, The KISS ORM for Android
JDXA, The KISS ORM for AndroidJDXA, The KISS ORM for Android
JDXA, The KISS ORM for AndroidDamodar Periwal
 
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...Preeya Selvarajah
 
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16AppDynamics
 
Setting Up Your Mobile Testing Factory for 2013
Setting Up Your Mobile Testing Factory for 2013Setting Up Your Mobile Testing Factory for 2013
Setting Up Your Mobile Testing Factory for 2013SOASTA
 
Automation Test Lead With 9 Years
Automation Test Lead With 9 YearsAutomation Test Lead With 9 Years
Automation Test Lead With 9 Yearssenthil kumar
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingvodQA
 
Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]Ashish Srivastava
 
Visual Studio 2010 Testing Overview
Visual Studio 2010 Testing OverviewVisual Studio 2010 Testing Overview
Visual Studio 2010 Testing OverviewSteve Lange
 
Initializing new project
Initializing new projectInitializing new project
Initializing new projectLai Ha
 
MLOPS By Amazon offered and free download
MLOPS By Amazon offered and free downloadMLOPS By Amazon offered and free download
MLOPS By Amazon offered and free downloadpouyan533
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxShivareddyGangam
 
Dynamic Data Masking - Breakthrough Innovation in Application Security
Dynamic Data Masking - Breakthrough Innovation in Application SecurityDynamic Data Masking - Breakthrough Innovation in Application Security
Dynamic Data Masking - Breakthrough Innovation in Application SecurityDobler Consulting
 

Similar to STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF) (20)

SPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactorySPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint Factory
 
STPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSTPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has Arrived
 
Framework for Web Automation Testing
Framework for Web Automation TestingFramework for Web Automation Testing
Framework for Web Automation Testing
 
Model-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical SoftwareModel-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical Software
 
From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...
 
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
 
JDXA, The KISS ORM for Android
JDXA, The KISS ORM for AndroidJDXA, The KISS ORM for Android
JDXA, The KISS ORM for Android
 
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
 
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
 
Setting Up Your Mobile Testing Factory for 2013
Setting Up Your Mobile Testing Factory for 2013Setting Up Your Mobile Testing Factory for 2013
Setting Up Your Mobile Testing Factory for 2013
 
Automation Test Lead With 9 Years
Automation Test Lead With 9 YearsAutomation Test Lead With 9 Years
Automation Test Lead With 9 Years
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]
 
Visual Studio 2010 Testing Overview
Visual Studio 2010 Testing OverviewVisual Studio 2010 Testing Overview
Visual Studio 2010 Testing Overview
 
Initializing new project
Initializing new projectInitializing new project
Initializing new project
 
MLOPS By Amazon offered and free download
MLOPS By Amazon offered and free downloadMLOPS By Amazon offered and free download
MLOPS By Amazon offered and free download
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
 
Testing syllabus
Testing syllabusTesting syllabus
Testing syllabus
 
Dynamic Data Masking - Breakthrough Innovation in Application Security
Dynamic Data Masking - Breakthrough Innovation in Application SecurityDynamic Data Masking - Breakthrough Innovation in Application Security
Dynamic Data Masking - Breakthrough Innovation in Application Security
 
Developer want change Ops want control - devops
Developer want change Ops want control - devopsDeveloper want change Ops want control - devops
Developer want change Ops want control - devops
 

More from pycontw

Network Security and Analysis with Python
Network Security and Analysis with PythonNetwork Security and Analysis with Python
Network Security and Analysis with Pythonpycontw
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSDpycontw
 
讓 Python Script 擁有圖形化介面的簡單方法
讓 Python Script 擁有圖形化介面的簡單方法讓 Python Script 擁有圖形化介面的簡單方法
讓 Python Script 擁有圖形化介面的簡單方法pycontw
 
CyberLink Meets Python
CyberLink Meets PythonCyberLink Meets Python
CyberLink Meets Pythonpycontw
 
PyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using PythonPyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using Pythonpycontw
 
Developing Python Apps on Windows Azure
Developing Python Apps on Windows AzureDeveloping Python Apps on Windows Azure
Developing Python Apps on Windows Azurepycontw
 
Qt Quick GUI Programming with PySide
Qt Quick GUI Programming with PySideQt Quick GUI Programming with PySide
Qt Quick GUI Programming with PySidepycontw
 
Grid Job Management
Grid Job ManagementGrid Job Management
Grid Job Managementpycontw
 
Small Python Tools for Software Release Engineering
Small Python Tools for Software Release EngineeringSmall Python Tools for Software Release Engineering
Small Python Tools for Software Release Engineeringpycontw
 
Python and Startup
Python and StartupPython and Startup
Python and Startuppycontw
 
Panoramic Video in Environmental Monitoring Software Development and Applica...
Panoramic Video in Environmental Monitoring Software Development and Applica...Panoramic Video in Environmental Monitoring Software Development and Applica...
Panoramic Video in Environmental Monitoring Software Development and Applica...pycontw
 
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
那些年 Python 攻佔了 GIS / The Year Python Takes Over GISpycontw
 
Introduction to Discrete-Event Simulation Using SimPy
Introduction to Discrete-Event Simulation Using SimPyIntroduction to Discrete-Event Simulation Using SimPy
Introduction to Discrete-Event Simulation Using SimPypycontw
 
Python and the Web
Python and the WebPython and the Web
Python and the Webpycontw
 
Large-scale Array-oriented Computing with Python
Large-scale Array-oriented Computing with PythonLarge-scale Array-oriented Computing with Python
Large-scale Array-oriented Computing with Pythonpycontw
 

More from pycontw (15)

Network Security and Analysis with Python
Network Security and Analysis with PythonNetwork Security and Analysis with Python
Network Security and Analysis with Python
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSD
 
讓 Python Script 擁有圖形化介面的簡單方法
讓 Python Script 擁有圖形化介面的簡單方法讓 Python Script 擁有圖形化介面的簡單方法
讓 Python Script 擁有圖形化介面的簡單方法
 
CyberLink Meets Python
CyberLink Meets PythonCyberLink Meets Python
CyberLink Meets Python
 
PyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using PythonPyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using Python
 
Developing Python Apps on Windows Azure
Developing Python Apps on Windows AzureDeveloping Python Apps on Windows Azure
Developing Python Apps on Windows Azure
 
Qt Quick GUI Programming with PySide
Qt Quick GUI Programming with PySideQt Quick GUI Programming with PySide
Qt Quick GUI Programming with PySide
 
Grid Job Management
Grid Job ManagementGrid Job Management
Grid Job Management
 
Small Python Tools for Software Release Engineering
Small Python Tools for Software Release EngineeringSmall Python Tools for Software Release Engineering
Small Python Tools for Software Release Engineering
 
Python and Startup
Python and StartupPython and Startup
Python and Startup
 
Panoramic Video in Environmental Monitoring Software Development and Applica...
Panoramic Video in Environmental Monitoring Software Development and Applica...Panoramic Video in Environmental Monitoring Software Development and Applica...
Panoramic Video in Environmental Monitoring Software Development and Applica...
 
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
 
Introduction to Discrete-Event Simulation Using SimPy
Introduction to Discrete-Event Simulation Using SimPyIntroduction to Discrete-Event Simulation Using SimPy
Introduction to Discrete-Event Simulation Using SimPy
 
Python and the Web
Python and the WebPython and the Web
Python and the Web
 
Large-scale Array-oriented Computing with Python
Large-scale Array-oriented Computing with PythonLarge-scale Array-oriented Computing with Python
Large-scale Array-oriented Computing with Python
 

Recently uploaded

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)

  • 1. STAF 在自動化測試上的延伸應用 – TMSTAF (TrendMicro STAF) 李志和 (Bevis Lee) Sr. Engineer, R&D Dept. 2012/06/10 1 6/12/2012 | Copyright 2012 Trend Micro Inc.
  • 2. Agenda • Brief Introduction of STAF • What‟s TMSTAF? • TMSTAF vs. QA automation • Q&A 6/12/2012 | Copyright 2012 Trend Micro Inc. 2
  • 3. Brief Introduction of STAF 6/12/2012 | Copyright 2012 Trend Micro Inc. 3
  • 4. • History – Created at IBM Austin in 1998 – Open-sourced (on SourceForge) in 2001 • http://staf.sourceforge.net/ 6/12/2012 | Copyright 2012 Trend Micro Inc. 4
  • 5. • STAF runs as a daemon process, called STAFProc 6/12/2012 | Copyright 2012 Trend Micro Inc. 5
  • 6. What‟s TMSTAF? 6/12/2012 | Copyright 2012 Trend Micro Inc. 6
  • 7. TMSTAF = Trend Micro STAF 6/12/2012 | Copyright 2012 Trend Micro Inc. 7
  • 8. TMSTAF Architecture 6/12/2012 Confidential | Copyright 2012 Trend Micro Inc. 8
  • 9. 6/12/2012 | Copyright 2012 Trend Micro Inc. 9
  • 10. File Structure 6/12/2012 | Copyright 2012 Trend Micro Inc. 10
  • 11. TMSTAF Features 6/12/2012 Confidential | Copyright 2012 Trend Micro Inc. 11
  • 12. Testware concept included: Testware configurations can be customized Test suite, test case defined in Python syntax Test process included: Setup, Test and Teardown Execution log for tracing XML test report w/ email notification Command line interface Cross-platform execution 6/12/2012 | Copyright 2012 Trend Micro Inc. 12
  • 13. Testing Report 6/12/2012 | Copyright 2012 Trend Micro Inc. 13
  • 14. Email Notification of Testing Result 6/12/2012 | Copyright 2012 Trend Micro Inc. 14
  • 15. TMSTAF vs. QA‟s Automation 6/12/2012 | Copyright 2012 Trend Micro Inc. 15
  • 16. QA‟s Automation Process • Automation construction Test Test cases Automation Automation cases convert to script pre- environment creation automation run and setup scripts debug • Automation online Integrate Build with build quality release verification process 6/12/2012 | Copyright 2012 Trend Micro Inc. 16
  • 17. Test Cases Creation 6/12/2012 Confidential | Copyright 2012 Trend Micro Inc. 17
  • 18. • Based on concept of „test suite‟, test case can be created for both „manual‟ and „automation‟ use 6/12/2012 | Copyright 2012 Trend Micro Inc. 18
  • 19. Automation Environment Setup 6/12/2012 Confidential | Copyright 2012 Trend Micro Inc. 19
  • 20. • Automation environment can be deployed easily Automation Environment TMSTAF framework Python 2.6 STAF 3.x 6/12/2012 | Copyright 2012 Trend Micro Inc. 20
  • 21. Test Cases Convert to Automation Scripts 6/12/2012 Confidential | Copyright 2012 Trend Micro Inc. 21
  • 22. • Convert test case to automation scripts structurally Automation Test step Module Test case (automation script) Automation Test step Module Automation Module 6/12/2012 | Copyright 2012 Trend Micro Inc. 22
  • 23. 6/12/2012 | Copyright 2012 Trend Micro Inc. 23
  • 24. 6/12/2012 | Copyright 2012 Trend Micro Inc. 24
  • 25. 3 Weapons… 6/12/2012 Confidential | Copyright 2012 Trend Micro Inc. 25
  • 26. I - Scenario Mechanism test0010.py var1 = 111 var2 = 222 func = PythonFunction('moduleATester', 'testFunc1') r = self.addTest(func, [var1,var2]) r.failUnlessEqual(0) test0020.py var1 = 333 var2 = 444 func = PythonFunction('moduleATester', 'testFunc1') r = self.addTest(func, [var1,var2]) r.failUnlessEqual(0) 6/12/2012 | Copyright 2012 Trend Micro Inc. 26
  • 27. test0010.py var1 = 111 var2 = 222 self.setScenario('_scenario01.py') test0020.py var1 = 333 var2 = 444 self.setScenario('_scenario01.py') _scenario01.py func = PythonFunction('moduleATester', 'testFunc1') result = self.addTest(func, [var1,var2]) result.failUnlessEqual(0) 6/12/2012 | Copyright 2012 Trend Micro Inc. 27
  • 28. II - Setup, Teardown and Test procedures Setup steps Test Case Test steps Teardown steps 6/12/2012 | Copyright 2012 Trend Micro Inc. 28
  • 29. • Setup = addSetup() • Test = addTest() • Teardown = addTeardown() 6/12/2012 | Copyright 2012 Trend Micro Inc. 29
  • 30. III - Result Verification • Execution result of each steps (includes setup and teardown) can be verified easily Passed if ‘result’ = 0 6/12/2012 | Copyright 2012 Trend Micro Inc. 30
  • 31. Script Pre-run and Debug 6/12/2012 Confidential | Copyright 2012 Trend Micro Inc. 31
  • 32. • More efficiency development of automation Script execution Refinement Debugging of script of script 6/12/2012 | Copyright 2012 Trend Micro Inc. 32
  • 33. • Script execution from command line interface 6/12/2012 | Copyright 2012 Trend Micro Inc. 33
  • 34.  “-h” Online Help  Easy to Integrate  Run Target Case  Run Target Suite 6/12/2012 | Copyright 2012 Trend Micro Inc. 34
  • 35. • Execution log for tracing/debugging 6/12/2012 | Copyright 2012 Trend Micro Inc. 35
  • 36. 6/12/2012 | Copyright 2012 Trend Micro Inc. 36
  • 37. Automation Online 6/12/2012 Confidential | Copyright 2012 Trend Micro Inc. 37
  • 38. Build Release Flow 6/12/2012 | Copyright 2012 Trend Micro Inc. 38
  • 39. 1 3 2 4 5 6/12/2012 | Copyright 2012 Trend Micro Inc. 39
  • 40. Build Quality Verification 6/12/2012 Confidential | Copyright 2012 Trend Micro Inc. 40
  • 41. Mail Notifications 6/12/2012 | Copyright 2012 Trend Micro Inc. 41
  • 42. 6/12/2012 | Copyright 2012 Trend Micro Inc. 42
  • 43. 6/12/2012 | Copyright 2012 Trend Micro Inc. 43
  • 44. Detail Testing Report 6/12/2012 | Copyright 2012 Trend Micro Inc. 44
  • 45. 6/12/2012 | Copyright 2012 Trend Micro Inc. 45
  • 46. 6/12/2012 | Copyright 2012 Trend Micro Inc. 46
  • 47. 6/12/2012 | Copyright 2012 Trend Micro Inc. 47
  • 48. 6/12/2012 | Copyright 2012 Trend Micro Inc. 48
  • 49. 6/12/2012 | Copyright 2012 Trend Micro Inc. 49
  • 50. 6/12/2012 | Copyright 2012 Trend Micro Inc. 50
  • 51. 6/12/2012 | Copyright 2012 Trend Micro Inc. 51
  • 52. So, with TMSTAF, you can… 6/12/2012 Confidential | Copyright 2012 Trend Micro Inc. 52
  • 53. Test Test case can be used for both ‘manual’ and cases creation ‘automation’ use, no extra effort needs Automation Easy to setup automation environment for environment development and execution setup Test cases convert to Implement test cases with structural and flexible automation mechanism scripts Automation script More efficiency development and trouble-shooting pre-run and debug of automation Integrate with build release Easy integrate with standard build release process process Build quality Useful information in testing report can help to verification identify issue more quickly 6/12/2012 | Copyright 2012 Trend Micro Inc. 53
  • 54. Q&A 6/12/2012 | Copyright 2012 Trend Micro Inc. 54