SlideShare a Scribd company logo
1 of 95
Automated Testing Environment
by Bugzilla, Testopia and Jenkins
Chin Pin Chang / Chia Hung Kao
04/07/2014
1
Outline
• Bugzilla
• Testopia
• Jenkins
• Automated Testing Environment (Hypervisor
Testing as an example)
– Automated Testing Process
– Example
• References
2
Bugzilla Introduction
• Bugzilla is a Defect Tracking System and it is
server software designed to help you manage
software development
3
Bugzilla Features
• Excellent security to protect confidentiality
• Optimized database structure for increased
performance and scalability
• Integrated email capabilities
• Comprehensive permissions system
• Editable user profiles and comprehensive email
preferences
• Proven under fire as Mozilla's bug tracking
system
4
Bugzilla Requirements
• Hardware
– CPU : 3 GHz
– RAM : 4 GB or more recommended
– Hard Disk : 50 GB of free space is large enough
• Operating System : Including Windows, Linux, and
Mac OS X
• Software
– Perl : 5.12
– Database Server : Bugzilla supports MySQL 5.5,
PostgreSQL 8.3, Oracle and SQLite
– Web Server : Apache 2.2
5
MySQL Installation
Step 1. Update
6
Step 2. Install MySQL
Step 3. Set the password
MySQL Installation (cont.)
Step 4. Login MySQL
– user
– password
7
MySQL Configuration
Step 5. Create an user for Bugzilla
8
Step 6. List users
MySQL Configuration (cont.)
Step 7. Create database for Bugzilla
9
Apache Configuration
10
Step 1. Install Apache2
Step 2. Modify Apache2 configuration file
Bugzilla Installation
Step 1. Download Bugzilla : http://www.bugzilla.org/
11
Step 2. Decompress the file to /var/www/
Step 3. Modify folder name and switch to
/var/www/bugzilla
Bugzilla Installation (cont.)
Step 4. Execute checksetup.pl
12
Bugzilla Installation (cont.)
13
Step 5. Install module
Bugzilla Installation (cont.)
14
Step 6. Re-run checksetup.pl
Step 7. Need to modify localconfig
Bugzilla Installation (cont.)
15
Step 8. Modify Bugzilla configuration
Step 9. Modify permission
Bugzilla Installation (cont.)
16
Step 10. Re-run checksetup.pl
Step 11. Set up user information
Bugzilla Installation (cont.)
17
Step 12. Modify Apache configuration and restart
Apache2
Bugzilla Installation (cont.)
18
Step 13. Installation complete
Testopia Introduction
• Testopia is a test case management extension for
Bugzilla
• Testopia Requirements
– Bugzilla
– MySQL or PostgreSQL
– Mozilla compatible browser
– Additional Perl Modules
• Testopia Architecture
– Test Plans
– Test Cases
– Test Runs
19
Relationship between Bugzilla and Testopia
20
• Since Testopia is an extension to Bugzilla, it relies on many of the same
objects that Bugzilla uses to track bugs
• Testopia is comprised of several objects that are interdependent, so they
make managing the testing procedure possible
Relationship between Bugzilla and Testopia (cont.)
21
• Component
– A Bugzilla component
– An attribute of a product
Relationship between Bugzilla and Testopia (cont.)
22
• Product
– The product name belong to Bugzilla
23
• Milestone
– A Bugzilla object
– Testopia builds are associated with milestones
Relationship between Bugzilla and Testopia (cont.)
24
• Test Plan
– At the top of the Testopia hierarchy are Test Plans. Before you can do anything else in
Testopia, you need a Test Plan
– Test plan will serve as the storage point for all related Test Cases and Test Runs and it will
act as the Dashboard for your testing
Relationship between Bugzilla and Testopia (cont.)
Relationship between Bugzilla and Testopia (cont.)
25
• Test Case
– Test Cases are the heart of all testing
– Test Cases spell out what steps to take while running a test and what outcomes to expect
– Test Cases are associated with one or more Test Plans and with zero or more Test Runs
Relationship between Bugzilla and Testopia (cont.)
26
• Test Run
– Once you have defined a set of Test Cases, you are ready to run through those tests in a
Test Run
– Each run is associated with a single Test Plan and can consist of any number of Test
Cases from that plan
Relationship between Bugzilla and Testopia (cont.)
27
• Build
– Software development is usually an iterative affair. In Testopia, each iteration is called a build
– In software testing, a string denoting the compiled results of a period of development
– Builds are often associated with milestones of the project. This is reflected in the build's
relationship to Bugzilla's target milestones object
Relationship between Bugzilla and Testopia (cont.)
28
• Case Run
– A Test Case-Run is the record of how a particular Test Case fared in a particular run for a given
Build in a given Environment
Relationship between Bugzilla and Testopia (cont.)
29
• Category
– A property of a product that is used to classify Test Cases
Relationship between Bugzilla and Testopia (cont.)
30
• Environment
– A list of the surrounding conditions that a test run is performed in
Testing Process of Testopia
31
The testing process in
Testopia is as follows :
Step 1. Create a Product and
multiple Components
Step 2. Create a Test Plan
Step 3. Create Test Cases
Step 4. Create a Build
Testing Process of Testopia (cont.)
32
The testing process in
Testopia is as follows :
Step 5. Create Environment
Step 6. Create a Test Run
Step 7. Execute the Test Run
Step 8. Produce a test report
on Dashboard
Testopia Installation
Step 1. Download Testopia
– http://www.mozilla.org/projects/testopia/
33
Step 2. Decompress the file to Bugzilla folder
Step 3. Run checksetup.pl and install module
Access to Testopia
Step 4. Re-run checksetup.pl
34
Step 5. Installation complete
Jenkins Introduction
• Jenkins is an open source continuous integration
tool written in Java
• Jenkins provides a web-based user interface
35
Jenkins Features
• Easy installation
• Easy configuration
• Change set support
• E-mail integration
• Test reporting
• Plugin support
36
Jenkins Installation
Step 2. Access to Jenkins
– http://localhost:8080
37
Step 1. Install Jenkins
Install Testopia plugin on Jenkins
38
Integrate Jenkins with Testopia
39
• This plug-in integrates Jenkins with Testopia
and generates reports on automated test
execution
• With this plug-in you can manage your tests in
Testopia, schedule and control in Jenkins
• It reads TAP test report formats, used to
update Testopia test case's executions
Integrate Jenkins with Testopia(cont.)
40
• Testopia configuration section
Auto Test Process
Test Controller
Ubuntu 13.10
Bugzilla 4.4
Testopia
Jenkins 1.5
Shell scripts (expect)
Shell scripts (expect)
Shell scripts (expect)
Step 1. Retrieve Test Case from Testopia
41
1.
Step 2. Invoke corresponding script
to initialize the test environment
2. Auto testing environment for ITRI
ARM hypervisor :
Auto Test Process (cont.)
Test Controller
Ubuntu 13.10
Bugzilla 4.4
Testopia
Jenkins 1.5
Shell scripts (expect)
Shell scripts (expect)
Shell scripts (expect)
Ubuntu 12.04 LTS
ITRI ARM Hypervisor
Guest
VM
Guest
VM
Guest
VM
Test Target
Step 3. Initialize the test environment
Step 4. Launch necessary Guest VMs
42
3.
4.
Auto Test Process (cont.)
Test Controller
Ubuntu 13.10
Bugzilla 4.4
Testopia
Jenkins 1.5
Shell scripts (expect)
Shell scripts (expect)
Shell scripts (expect)
Ubuntu 12.04 LTS
ITRI ARM Hypervisor
Guest
VM
Guest
VM
Guest
VM
Test Target
Step 5. Execute testing tasks
43
5.
Auto Test Process (cont.)
Test Controller
Ubuntu 13.10
Bugzilla 4.4
Testopia
Jenkins 1.5
Shell scripts (expect)
Shell scripts (expect)
Shell scripts (expect)
Ubuntu 12.04 LTS
ITRI ARM Hypervisor
Guest
VM
Guest
VM
Guest
VM
Test Target
Step 6. Generate and return test
result (by TAP, Test Anything Protocol)
44
6.
Auto Test Process (cont.)
Test Controller
Ubuntu 13.10
Bugzilla 4.4
Testopia
Jenkins 1.5
Shell scripts (expect)
Shell scripts (expect)
Shell scripts (expect)
Step 7. Return test result to Jenkins
45
7.
Auto Test Process (cont.)
Test Controller
Ubuntu 13.10
Bugzilla 4.4
Testopia
Jenkins 1.5
Shell scripts (expect)
Shell scripts (expect)
Shell scripts (expect)
Step 8. Write corresponding result to
Test Case in Testopia based on TAP
46
8.
Auto Test Example
Step 1. Add user on Bugzilla to execute auto testing
47
The process to create a Test Plan
48
• To create a new Test Plan in Testopia
– Step 1. Click the "New Plan" link in the Bugzilla footer
– Step 2. Enter a name for this Test Plan
– Step 3. Select a product from the product list
– Step 4. Select a type for this plan
– Step 5. Select a product version
– Step 6. Type or paste your plan document into the Plan
Document Editor
– Step 7. Click the "Submit" button
Step 2. Create a new Test Plan
49
• Plan Name
– Test Plan name
Step 2. Create a new Test Plan (cont.)
50
• Product
– Bugzilla product name
Step 2. Create a new Test Plan (cont.)
51
• Product Type
– The testing type for this Test Plan
Step 2. Create a new Test Plan (cont.)
52
• Product Version
– The Bugzilla product version
Step 2. Create a new Test Plan (cont.)
53
• Plan Document
– This is document that spells out the type of testing and testing methods
used for this plan
The process to create a Test Run
54
• To create a new Test Run in Testopia
– Step 1. Click "Create a New Test Run" link on your Test Plan
or the New Run link in the footer
– Step 2. Select which Test Cases to include
– Step 3. Enter a Summary for this Test Run
– Step 4. Select a build from the Build list or type the name
for a new one
– Step 5. Select an environment from the Environment list
– Step 6. Click the "Submit" button
Step 3. Create a new Test Run
55
• Product Version
– The Bugzilla product version
Step 3. Create a new Test Run (cont.)
56
• Run Manager
– The user in charge of this Test Run
Step 3. Create a new Test Run (cont.)
57
• Target Completion Rate
– The expect completion rate of target
Step 3. Create a new Test Run (cont.)
58
• Build
– The default product build
Step 3. Create a new Test Run (cont.)
59
• Environment
– The environment in use for this Test Run
Step 3. Create a new Test Run (cont.)
60
• Target Pass Rate
– The expect pass rate of target
Step 3. Create a new Test Run (cont.)
61
• Summary
– A short description of this Test Run
Step 3. Create a new Test Run (cont.)
62
• Notes
– This field is a place to make notes and observations about this run
The process to create a Test Case
63
• To create a new Test Case in Testopia
– Step 1. Click "Create a New Test Case" on the plan page or
New Case from the footer
– Step 2. Enter a short description of your Test Case in the
Summary field
– Step 3. Select a Category
– Step 4. Add a default tester
– Step 5. List the steps for testing in the Action field
– Step 6. Provide the expected outcomes in the Expected
Results field
– Step 7. Click the "Submit" button
Step 4. Create a new Test Case
64
• Summary
– A short description of the Test Case
Step 4. Create a new Test Case (cont.)
65
• Default Tester
– The person is assigned to this Test Case
Step 4. Create a new Test Case (cont.)
66
• Alias
– A unique string that uses to identify test result
Step 4. Create a new Test Case (cont.)
67
• Priority
– The level of testing
Step 4. Create a new Test Case (cont.)
68
• Category
– The product category
Step 4. Create a new Test Case (cont.)
69
• Estimated Time
– The estimated time that this Test Case should take to complete
Step 4. Create a new Test Case (cont.)
70
• Bugs
– You can attach bugs to your Test Cases
Step 4. Create a new Test Case (cont.)
71
• Blocks
– If this Test Case prevents others from being run their ID numbers will appear
here
Step 4. Create a new Test Case (cont.)
72
• Status : Test Case status
– PROPOSED : This test case is a work in progress and has not been reviewed for
accuracy. It is therefore not ready to be included in test runs
– CONFIRMED : This test case has passed review and is ready to be included in future test
runs. Only test cases with this status can be included in new test runs
– DISABLED : This test case is no longer applicable to current testing
Step 4. Create a new Test Case (cont.)
73
• Add Tags
– A user defined string used to classify Test Cases
Step 4. Create a new Test Case (cont.)
74
• Requirements
– The requirement number or URL to a document containing the requirement
this Test Case is designed to test
Step 4. Create a new Test Case (cont.)
75
• Automated
– Automatic Test Cases are run by a script
Step 4. Create a new Test Case (cont.)
76
• Scripts
– The name of the script that runs this Test Case
Step 4. Create a new Test Case (cont.)
77
• Arguments
– The specific arguments sent to the script
Step 4. Create a new Test Case (cont.)
78
• Add to Run
– Entering a run ID here will include this Test Case in a Test Run if it is not
already included
Step 4. Create a new Test Case (cont.)
79
• Depends On
– If this Test Case requires other Test Cases be run before this one, their case
numbers should appear here
Step 4. Create a new Test Case (cont.)
80
• Action
– This field lists the steps of testing
Step 4. Create a new Test Case (cont.)
81
• Expected Results
– This details the expected outcomes of a test
Process to Launch Test Script
82
Configure
1. Clean Environment
2. Check Image
3. Launch Test Script
Start Test Script
1. 3.
2.
1. Login to Host
2. Start VM
3. Ping Host
4. Turn off VM
5. Return Result
Testopia
Contents :
1. Parameters
2. Functions
4.
1 . Retrieve Test Script
Set up a new project
83
Step 5. Create a project on Jenkins to invoke Test
Script
Step 6. Set Testopia configuration section
84
• Testopia Version
– The version name of Testopia
Step 6. Set Testopia configuration section (cont.)
85
• Test Run ID
– The Test Run ID of Testopia
Step 6. Set Testopia configuration section (cont.)
86
• Single Test Build Steps
– The command to execute by single step
Step 6. Set Testopia configuration section (cont.)
87
• Iterative Test Build Steps
– The parameters of Testopia are used to execute by test cases
Step 7. Set Result configuration section
88
• Test Anything Protocol (TAP)
– TAP is a simple text-based interface between testing
modules in a test harness
– It allows individual tests to communicate test results
to the testing harness
TAP File Example
89
• The path of the file
• Success contents
• Fail contents
Launch The Project
90
Step 8. Start this project on Jenkins
Jenkins Console
91
Step 9. Monitor the shell scripts
Jenkins Result
92
Return Result to Testopia
93
Question
94
• Mail:walkerchang@iii.org.tw
References
95
• http://www.bugzilla.org/
• https://developer.mozilla.org/en-
US/docs/Mozilla/Bugzilla/Testopia#Requirements
• http://blog.codylab.com/testcase-management-
using-testopia/
• https://wiki.jenkins-
ci.org/display/JENKINS/Testopia+Plugin
• http://testanything.org/
• https://wiki.jenkins-
ci.org/display/JENKINS/Meet+Jenkins

More Related Content

What's hot

Continuous integration
Continuous integrationContinuous integration
Continuous integrationamscanne
 
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtMark Waite
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...eleksdev
 
Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentTesting with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentMax Klymyshyn
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins IntroductionPavan Gupta
 
Continuous integration / deployment with Jenkins
Continuous integration / deployment with JenkinsContinuous integration / deployment with Jenkins
Continuous integration / deployment with Jenkinscherryhillco
 
Continuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceContinuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceDao Ngoc Kien
 
Android + jenkins
Android + jenkinsAndroid + jenkins
Android + jenkinsFred Lin
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and TellE. Camden Fisher
 
Jenkins tutorial for beginners
Jenkins tutorial for beginnersJenkins tutorial for beginners
Jenkins tutorial for beginnersBugRaptors
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with JenkinsBeMyApp
 
Jenkins Pipelining and Gatling Integration
Jenkins Pipelining and  Gatling IntegrationJenkins Pipelining and  Gatling Integration
Jenkins Pipelining and Gatling IntegrationKnoldus Inc.
 
Continuous deployment-at-flipkart
Continuous deployment-at-flipkartContinuous deployment-at-flipkart
Continuous deployment-at-flipkartPankaj Kaushal
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
 
Continous integration with jenkins
Continous integration with jenkinsContinous integration with jenkins
Continous integration with jenkinsvodQA
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Vishal Biyani
 

What's hot (20)

Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
 
Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentTesting with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous Deployment
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
Continuous integration / deployment with Jenkins
Continuous integration / deployment with JenkinsContinuous integration / deployment with Jenkins
Continuous integration / deployment with Jenkins
 
Continuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceContinuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practice
 
Android + jenkins
Android + jenkinsAndroid + jenkins
Android + jenkins
 
JENKINS Training
JENKINS TrainingJENKINS Training
JENKINS Training
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
Jenkins tutorial for beginners
Jenkins tutorial for beginnersJenkins tutorial for beginners
Jenkins tutorial for beginners
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with Jenkins
 
Jenkins Pipelining and Gatling Integration
Jenkins Pipelining and  Gatling IntegrationJenkins Pipelining and  Gatling Integration
Jenkins Pipelining and Gatling Integration
 
Continuous deployment-at-flipkart
Continuous deployment-at-flipkartContinuous deployment-at-flipkart
Continuous deployment-at-flipkart
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Continous integration with jenkins
Continous integration with jenkinsContinous integration with jenkins
Continous integration with jenkins
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1
 

Viewers also liked

Testopia VS Testlink
Testopia VS TestlinkTestopia VS Testlink
Testopia VS TestlinkStas Kosarev
 
Introduction to Bug and Bugzilla
Introduction to Bug and BugzillaIntroduction to Bug and Bugzilla
Introduction to Bug and BugzillaRobat Das Orvi
 
Presentacion bugzilla
Presentacion bugzillaPresentacion bugzilla
Presentacion bugzillarenninudal
 
Btd presentation-2011
Btd presentation-2011Btd presentation-2011
Btd presentation-2011kinow
 
Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Tracy Kennedy
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins PipelinesSteffen Gebert
 
Jenkins scaling best practices
Jenkins scaling best practicesJenkins scaling best practices
Jenkins scaling best practicesHenry McBride
 
Splunk All the Things: Our First 3 Months Monitoring Web Service APIs - Splun...
Splunk All the Things: Our First 3 Months Monitoring Web Service APIs - Splun...Splunk All the Things: Our First 3 Months Monitoring Web Service APIs - Splun...
Splunk All the Things: Our First 3 Months Monitoring Web Service APIs - Splun...Dan Cundiff
 
Docker в автоматизации тестирования
Docker в автоматизации тестированияDocker в автоматизации тестирования
Docker в автоматизации тестированияCOMAQA.BY
 
What you can do with WordPress Heartbeat API
What you can do with WordPress Heartbeat APIWhat you can do with WordPress Heartbeat API
What you can do with WordPress Heartbeat APITabitha Chapman
 
Building Jenkins Pipelines at Scale
Building Jenkins Pipelines at ScaleBuilding Jenkins Pipelines at Scale
Building Jenkins Pipelines at ScaleJulien Pivotto
 
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Pranav Ainavolu
 
Automated Unit Testing
Automated Unit TestingAutomated Unit Testing
Automated Unit TestingMike Lively
 

Viewers also liked (20)

Testopia VS Testlink
Testopia VS TestlinkTestopia VS Testlink
Testopia VS Testlink
 
Introduction to Bug and Bugzilla
Introduction to Bug and BugzillaIntroduction to Bug and Bugzilla
Introduction to Bug and Bugzilla
 
Presentacion bugzilla
Presentacion bugzillaPresentacion bugzilla
Presentacion bugzilla
 
Bugzilla
BugzillaBugzilla
Bugzilla
 
Bugzilla
BugzillaBugzilla
Bugzilla
 
Bugzilla
BugzillaBugzilla
Bugzilla
 
Linkedin
LinkedinLinkedin
Linkedin
 
Btd presentation-2011
Btd presentation-2011Btd presentation-2011
Btd presentation-2011
 
Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)
 
Test link
Test linkTest link
Test link
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
 
Jenkins scaling best practices
Jenkins scaling best practicesJenkins scaling best practices
Jenkins scaling best practices
 
Splunk All the Things: Our First 3 Months Monitoring Web Service APIs - Splun...
Splunk All the Things: Our First 3 Months Monitoring Web Service APIs - Splun...Splunk All the Things: Our First 3 Months Monitoring Web Service APIs - Splun...
Splunk All the Things: Our First 3 Months Monitoring Web Service APIs - Splun...
 
Docker в автоматизации тестирования
Docker в автоматизации тестированияDocker в автоматизации тестирования
Docker в автоматизации тестирования
 
installation_manual
installation_manualinstallation_manual
installation_manual
 
What you can do with WordPress Heartbeat API
What you can do with WordPress Heartbeat APIWhat you can do with WordPress Heartbeat API
What you can do with WordPress Heartbeat API
 
Building Jenkins Pipelines at Scale
Building Jenkins Pipelines at ScaleBuilding Jenkins Pipelines at Scale
Building Jenkins Pipelines at Scale
 
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
 
Automated testing 101
Automated testing 101Automated testing 101
Automated testing 101
 
Automated Unit Testing
Automated Unit TestingAutomated Unit Testing
Automated Unit Testing
 

Similar to Automated Testing Environment by Bugzilla, Testopia and Jenkins

Test Case Management with MTM 2013
Test Case Management with MTM 2013Test Case Management with MTM 2013
Test Case Management with MTM 2013Raluca Suditu
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using JenkinsRogue Wave Software
 
Test case management with MTM 2013
Test case management with MTM 2013Test case management with MTM 2013
Test case management with MTM 2013Raluca Suditu
 
Advanced Java Testing @ POSS 2019
Advanced Java Testing @ POSS 2019Advanced Java Testing @ POSS 2019
Advanced Java Testing @ POSS 2019Vincent Massol
 
QA Meetup at Signavio (Berlin, 06.06.19)
QA Meetup at Signavio (Berlin, 06.06.19)QA Meetup at Signavio (Berlin, 06.06.19)
QA Meetup at Signavio (Berlin, 06.06.19)Anesthezia
 
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...Postman
 
New types of tests for Java projects
New types of tests for Java projectsNew types of tests for Java projects
New types of tests for Java projectsVincent Massol
 
Beginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NETBeginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NETBaskar K
 
New types of tests for Java projects
New types of tests for Java projectsNew types of tests for Java projects
New types of tests for Java projectsVincent Massol
 
Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015Stephen Ritchie
 
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdfTest Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdfDiana Gray, MBA
 
Alm qc 11_training
Alm qc 11_trainingAlm qc 11_training
Alm qc 11_trainingjayant25
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battleAnand Ramdeo
 
qTest <> TestProject Integration Webinar
qTest <> TestProject Integration WebinarqTest <> TestProject Integration Webinar
qTest <> TestProject Integration WebinarKevin Dunne
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsSteven Li
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build testLen Bass
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overviewAlex Pop
 

Similar to Automated Testing Environment by Bugzilla, Testopia and Jenkins (20)

Agile Tools
Agile ToolsAgile Tools
Agile Tools
 
Test Case Management with MTM 2013
Test Case Management with MTM 2013Test Case Management with MTM 2013
Test Case Management with MTM 2013
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 
Test case management with MTM 2013
Test case management with MTM 2013Test case management with MTM 2013
Test case management with MTM 2013
 
Advanced Java Testing @ POSS 2019
Advanced Java Testing @ POSS 2019Advanced Java Testing @ POSS 2019
Advanced Java Testing @ POSS 2019
 
QA Meetup at Signavio (Berlin, 06.06.19)
QA Meetup at Signavio (Berlin, 06.06.19)QA Meetup at Signavio (Berlin, 06.06.19)
QA Meetup at Signavio (Berlin, 06.06.19)
 
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
 
New types of tests for Java projects
New types of tests for Java projectsNew types of tests for Java projects
New types of tests for Java projects
 
Beginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NETBeginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NET
 
New types of tests for Java projects
New types of tests for Java projectsNew types of tests for Java projects
New types of tests for Java projects
 
Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015
 
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdfTest Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
 
Alm qc 11_training
Alm qc 11_trainingAlm qc 11_training
Alm qc 11_training
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
 
qTest <> TestProject Integration Webinar
qTest <> TestProject Integration WebinarqTest <> TestProject Integration Webinar
qTest <> TestProject Integration Webinar
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overview
 
XRAY for Jira
XRAY for JiraXRAY for Jira
XRAY for Jira
 

Recently uploaded

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Recently uploaded (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

Automated Testing Environment by Bugzilla, Testopia and Jenkins

  • 1. Automated Testing Environment by Bugzilla, Testopia and Jenkins Chin Pin Chang / Chia Hung Kao 04/07/2014 1
  • 2. Outline • Bugzilla • Testopia • Jenkins • Automated Testing Environment (Hypervisor Testing as an example) – Automated Testing Process – Example • References 2
  • 3. Bugzilla Introduction • Bugzilla is a Defect Tracking System and it is server software designed to help you manage software development 3
  • 4. Bugzilla Features • Excellent security to protect confidentiality • Optimized database structure for increased performance and scalability • Integrated email capabilities • Comprehensive permissions system • Editable user profiles and comprehensive email preferences • Proven under fire as Mozilla's bug tracking system 4
  • 5. Bugzilla Requirements • Hardware – CPU : 3 GHz – RAM : 4 GB or more recommended – Hard Disk : 50 GB of free space is large enough • Operating System : Including Windows, Linux, and Mac OS X • Software – Perl : 5.12 – Database Server : Bugzilla supports MySQL 5.5, PostgreSQL 8.3, Oracle and SQLite – Web Server : Apache 2.2 5
  • 6. MySQL Installation Step 1. Update 6 Step 2. Install MySQL Step 3. Set the password
  • 7. MySQL Installation (cont.) Step 4. Login MySQL – user – password 7
  • 8. MySQL Configuration Step 5. Create an user for Bugzilla 8 Step 6. List users
  • 9. MySQL Configuration (cont.) Step 7. Create database for Bugzilla 9
  • 10. Apache Configuration 10 Step 1. Install Apache2 Step 2. Modify Apache2 configuration file
  • 11. Bugzilla Installation Step 1. Download Bugzilla : http://www.bugzilla.org/ 11 Step 2. Decompress the file to /var/www/ Step 3. Modify folder name and switch to /var/www/bugzilla
  • 12. Bugzilla Installation (cont.) Step 4. Execute checksetup.pl 12
  • 14. Bugzilla Installation (cont.) 14 Step 6. Re-run checksetup.pl Step 7. Need to modify localconfig
  • 15. Bugzilla Installation (cont.) 15 Step 8. Modify Bugzilla configuration Step 9. Modify permission
  • 16. Bugzilla Installation (cont.) 16 Step 10. Re-run checksetup.pl Step 11. Set up user information
  • 17. Bugzilla Installation (cont.) 17 Step 12. Modify Apache configuration and restart Apache2
  • 18. Bugzilla Installation (cont.) 18 Step 13. Installation complete
  • 19. Testopia Introduction • Testopia is a test case management extension for Bugzilla • Testopia Requirements – Bugzilla – MySQL or PostgreSQL – Mozilla compatible browser – Additional Perl Modules • Testopia Architecture – Test Plans – Test Cases – Test Runs 19
  • 20. Relationship between Bugzilla and Testopia 20 • Since Testopia is an extension to Bugzilla, it relies on many of the same objects that Bugzilla uses to track bugs • Testopia is comprised of several objects that are interdependent, so they make managing the testing procedure possible
  • 21. Relationship between Bugzilla and Testopia (cont.) 21 • Component – A Bugzilla component – An attribute of a product
  • 22. Relationship between Bugzilla and Testopia (cont.) 22 • Product – The product name belong to Bugzilla
  • 23. 23 • Milestone – A Bugzilla object – Testopia builds are associated with milestones Relationship between Bugzilla and Testopia (cont.)
  • 24. 24 • Test Plan – At the top of the Testopia hierarchy are Test Plans. Before you can do anything else in Testopia, you need a Test Plan – Test plan will serve as the storage point for all related Test Cases and Test Runs and it will act as the Dashboard for your testing Relationship between Bugzilla and Testopia (cont.)
  • 25. Relationship between Bugzilla and Testopia (cont.) 25 • Test Case – Test Cases are the heart of all testing – Test Cases spell out what steps to take while running a test and what outcomes to expect – Test Cases are associated with one or more Test Plans and with zero or more Test Runs
  • 26. Relationship between Bugzilla and Testopia (cont.) 26 • Test Run – Once you have defined a set of Test Cases, you are ready to run through those tests in a Test Run – Each run is associated with a single Test Plan and can consist of any number of Test Cases from that plan
  • 27. Relationship between Bugzilla and Testopia (cont.) 27 • Build – Software development is usually an iterative affair. In Testopia, each iteration is called a build – In software testing, a string denoting the compiled results of a period of development – Builds are often associated with milestones of the project. This is reflected in the build's relationship to Bugzilla's target milestones object
  • 28. Relationship between Bugzilla and Testopia (cont.) 28 • Case Run – A Test Case-Run is the record of how a particular Test Case fared in a particular run for a given Build in a given Environment
  • 29. Relationship between Bugzilla and Testopia (cont.) 29 • Category – A property of a product that is used to classify Test Cases
  • 30. Relationship between Bugzilla and Testopia (cont.) 30 • Environment – A list of the surrounding conditions that a test run is performed in
  • 31. Testing Process of Testopia 31 The testing process in Testopia is as follows : Step 1. Create a Product and multiple Components Step 2. Create a Test Plan Step 3. Create Test Cases Step 4. Create a Build
  • 32. Testing Process of Testopia (cont.) 32 The testing process in Testopia is as follows : Step 5. Create Environment Step 6. Create a Test Run Step 7. Execute the Test Run Step 8. Produce a test report on Dashboard
  • 33. Testopia Installation Step 1. Download Testopia – http://www.mozilla.org/projects/testopia/ 33 Step 2. Decompress the file to Bugzilla folder Step 3. Run checksetup.pl and install module
  • 34. Access to Testopia Step 4. Re-run checksetup.pl 34 Step 5. Installation complete
  • 35. Jenkins Introduction • Jenkins is an open source continuous integration tool written in Java • Jenkins provides a web-based user interface 35
  • 36. Jenkins Features • Easy installation • Easy configuration • Change set support • E-mail integration • Test reporting • Plugin support 36
  • 37. Jenkins Installation Step 2. Access to Jenkins – http://localhost:8080 37 Step 1. Install Jenkins
  • 38. Install Testopia plugin on Jenkins 38
  • 39. Integrate Jenkins with Testopia 39 • This plug-in integrates Jenkins with Testopia and generates reports on automated test execution • With this plug-in you can manage your tests in Testopia, schedule and control in Jenkins • It reads TAP test report formats, used to update Testopia test case's executions
  • 40. Integrate Jenkins with Testopia(cont.) 40 • Testopia configuration section
  • 41. Auto Test Process Test Controller Ubuntu 13.10 Bugzilla 4.4 Testopia Jenkins 1.5 Shell scripts (expect) Shell scripts (expect) Shell scripts (expect) Step 1. Retrieve Test Case from Testopia 41 1. Step 2. Invoke corresponding script to initialize the test environment 2. Auto testing environment for ITRI ARM hypervisor :
  • 42. Auto Test Process (cont.) Test Controller Ubuntu 13.10 Bugzilla 4.4 Testopia Jenkins 1.5 Shell scripts (expect) Shell scripts (expect) Shell scripts (expect) Ubuntu 12.04 LTS ITRI ARM Hypervisor Guest VM Guest VM Guest VM Test Target Step 3. Initialize the test environment Step 4. Launch necessary Guest VMs 42 3. 4.
  • 43. Auto Test Process (cont.) Test Controller Ubuntu 13.10 Bugzilla 4.4 Testopia Jenkins 1.5 Shell scripts (expect) Shell scripts (expect) Shell scripts (expect) Ubuntu 12.04 LTS ITRI ARM Hypervisor Guest VM Guest VM Guest VM Test Target Step 5. Execute testing tasks 43 5.
  • 44. Auto Test Process (cont.) Test Controller Ubuntu 13.10 Bugzilla 4.4 Testopia Jenkins 1.5 Shell scripts (expect) Shell scripts (expect) Shell scripts (expect) Ubuntu 12.04 LTS ITRI ARM Hypervisor Guest VM Guest VM Guest VM Test Target Step 6. Generate and return test result (by TAP, Test Anything Protocol) 44 6.
  • 45. Auto Test Process (cont.) Test Controller Ubuntu 13.10 Bugzilla 4.4 Testopia Jenkins 1.5 Shell scripts (expect) Shell scripts (expect) Shell scripts (expect) Step 7. Return test result to Jenkins 45 7.
  • 46. Auto Test Process (cont.) Test Controller Ubuntu 13.10 Bugzilla 4.4 Testopia Jenkins 1.5 Shell scripts (expect) Shell scripts (expect) Shell scripts (expect) Step 8. Write corresponding result to Test Case in Testopia based on TAP 46 8.
  • 47. Auto Test Example Step 1. Add user on Bugzilla to execute auto testing 47
  • 48. The process to create a Test Plan 48 • To create a new Test Plan in Testopia – Step 1. Click the "New Plan" link in the Bugzilla footer – Step 2. Enter a name for this Test Plan – Step 3. Select a product from the product list – Step 4. Select a type for this plan – Step 5. Select a product version – Step 6. Type or paste your plan document into the Plan Document Editor – Step 7. Click the "Submit" button
  • 49. Step 2. Create a new Test Plan 49 • Plan Name – Test Plan name
  • 50. Step 2. Create a new Test Plan (cont.) 50 • Product – Bugzilla product name
  • 51. Step 2. Create a new Test Plan (cont.) 51 • Product Type – The testing type for this Test Plan
  • 52. Step 2. Create a new Test Plan (cont.) 52 • Product Version – The Bugzilla product version
  • 53. Step 2. Create a new Test Plan (cont.) 53 • Plan Document – This is document that spells out the type of testing and testing methods used for this plan
  • 54. The process to create a Test Run 54 • To create a new Test Run in Testopia – Step 1. Click "Create a New Test Run" link on your Test Plan or the New Run link in the footer – Step 2. Select which Test Cases to include – Step 3. Enter a Summary for this Test Run – Step 4. Select a build from the Build list or type the name for a new one – Step 5. Select an environment from the Environment list – Step 6. Click the "Submit" button
  • 55. Step 3. Create a new Test Run 55 • Product Version – The Bugzilla product version
  • 56. Step 3. Create a new Test Run (cont.) 56 • Run Manager – The user in charge of this Test Run
  • 57. Step 3. Create a new Test Run (cont.) 57 • Target Completion Rate – The expect completion rate of target
  • 58. Step 3. Create a new Test Run (cont.) 58 • Build – The default product build
  • 59. Step 3. Create a new Test Run (cont.) 59 • Environment – The environment in use for this Test Run
  • 60. Step 3. Create a new Test Run (cont.) 60 • Target Pass Rate – The expect pass rate of target
  • 61. Step 3. Create a new Test Run (cont.) 61 • Summary – A short description of this Test Run
  • 62. Step 3. Create a new Test Run (cont.) 62 • Notes – This field is a place to make notes and observations about this run
  • 63. The process to create a Test Case 63 • To create a new Test Case in Testopia – Step 1. Click "Create a New Test Case" on the plan page or New Case from the footer – Step 2. Enter a short description of your Test Case in the Summary field – Step 3. Select a Category – Step 4. Add a default tester – Step 5. List the steps for testing in the Action field – Step 6. Provide the expected outcomes in the Expected Results field – Step 7. Click the "Submit" button
  • 64. Step 4. Create a new Test Case 64 • Summary – A short description of the Test Case
  • 65. Step 4. Create a new Test Case (cont.) 65 • Default Tester – The person is assigned to this Test Case
  • 66. Step 4. Create a new Test Case (cont.) 66 • Alias – A unique string that uses to identify test result
  • 67. Step 4. Create a new Test Case (cont.) 67 • Priority – The level of testing
  • 68. Step 4. Create a new Test Case (cont.) 68 • Category – The product category
  • 69. Step 4. Create a new Test Case (cont.) 69 • Estimated Time – The estimated time that this Test Case should take to complete
  • 70. Step 4. Create a new Test Case (cont.) 70 • Bugs – You can attach bugs to your Test Cases
  • 71. Step 4. Create a new Test Case (cont.) 71 • Blocks – If this Test Case prevents others from being run their ID numbers will appear here
  • 72. Step 4. Create a new Test Case (cont.) 72 • Status : Test Case status – PROPOSED : This test case is a work in progress and has not been reviewed for accuracy. It is therefore not ready to be included in test runs – CONFIRMED : This test case has passed review and is ready to be included in future test runs. Only test cases with this status can be included in new test runs – DISABLED : This test case is no longer applicable to current testing
  • 73. Step 4. Create a new Test Case (cont.) 73 • Add Tags – A user defined string used to classify Test Cases
  • 74. Step 4. Create a new Test Case (cont.) 74 • Requirements – The requirement number or URL to a document containing the requirement this Test Case is designed to test
  • 75. Step 4. Create a new Test Case (cont.) 75 • Automated – Automatic Test Cases are run by a script
  • 76. Step 4. Create a new Test Case (cont.) 76 • Scripts – The name of the script that runs this Test Case
  • 77. Step 4. Create a new Test Case (cont.) 77 • Arguments – The specific arguments sent to the script
  • 78. Step 4. Create a new Test Case (cont.) 78 • Add to Run – Entering a run ID here will include this Test Case in a Test Run if it is not already included
  • 79. Step 4. Create a new Test Case (cont.) 79 • Depends On – If this Test Case requires other Test Cases be run before this one, their case numbers should appear here
  • 80. Step 4. Create a new Test Case (cont.) 80 • Action – This field lists the steps of testing
  • 81. Step 4. Create a new Test Case (cont.) 81 • Expected Results – This details the expected outcomes of a test
  • 82. Process to Launch Test Script 82 Configure 1. Clean Environment 2. Check Image 3. Launch Test Script Start Test Script 1. 3. 2. 1. Login to Host 2. Start VM 3. Ping Host 4. Turn off VM 5. Return Result Testopia Contents : 1. Parameters 2. Functions 4. 1 . Retrieve Test Script
  • 83. Set up a new project 83 Step 5. Create a project on Jenkins to invoke Test Script
  • 84. Step 6. Set Testopia configuration section 84 • Testopia Version – The version name of Testopia
  • 85. Step 6. Set Testopia configuration section (cont.) 85 • Test Run ID – The Test Run ID of Testopia
  • 86. Step 6. Set Testopia configuration section (cont.) 86 • Single Test Build Steps – The command to execute by single step
  • 87. Step 6. Set Testopia configuration section (cont.) 87 • Iterative Test Build Steps – The parameters of Testopia are used to execute by test cases
  • 88. Step 7. Set Result configuration section 88 • Test Anything Protocol (TAP) – TAP is a simple text-based interface between testing modules in a test harness – It allows individual tests to communicate test results to the testing harness
  • 89. TAP File Example 89 • The path of the file • Success contents • Fail contents
  • 90. Launch The Project 90 Step 8. Start this project on Jenkins
  • 91. Jenkins Console 91 Step 9. Monitor the shell scripts
  • 93. Return Result to Testopia 93
  • 95. References 95 • http://www.bugzilla.org/ • https://developer.mozilla.org/en- US/docs/Mozilla/Bugzilla/Testopia#Requirements • http://blog.codylab.com/testcase-management- using-testopia/ • https://wiki.jenkins- ci.org/display/JENKINS/Testopia+Plugin • http://testanything.org/ • https://wiki.jenkins- ci.org/display/JENKINS/Meet+Jenkins