SlideShare a Scribd company logo
OSCON 2008  -  Fixing Hard Problems Through Iterative QA and Development Clint Talbert - Carsten Book Mozilla Corporation 24.July 2008
Introduction Process Overview Leak Testing Overview  Tools  Memory Leak Debug Test Builds Leak Gauge Manual Tests (Litmus)  Add-on Testing Milestones so far
The Approach Development and Test Development collaborate on tests and tools  Create widely applicable, reproducible tests Test Tools are treated as first rate products Implement a reporting structure for results
Collaboration Developers and Test developers bring different perspectives to the table  Developers concentrate on the deep tools to measure behavior of code (i.e. Ref-Counting Analysis etc) Test Developers work on harnesses and reporting infrastructure, lowering barrier of entry Having reliable test tools that are run and developed on a regular basis help bring a sense of testing into the development culture.
Reproducible Use VM's where you can Keep tests and tools simple By taking reliable test tools into “impure” systems, you can get results that you can trust.
Test Tools Are Products Test Tools must grow with the product Test Tools must be simple and maintainable Test Tools must be developed and QA'd just like the product they are testing Test Tools should be very easy to run Test Tools should require only the most basic level of infrastructure possible to run. (But should also fit into a high infrastructure scenario for reporting)
Reporting Results Use results to further a culture of testing Use results to understand if the test is reliable, and if so broaden your testing scenarios Easy to understand results empower community members
Reporting Results What our results reporting looks like
Leak Testing Overview Lots of Memory Improvements for Firefox 3: The XPCOM cycle collector continuously cleans up unused memory. Plus, hundreds of memory leaks are now remedied Memory Leak Tests after every Code change to make sure we introduce no new Memory Leaks QA also started with a lot of Tests for Memory Leaks  Mozilla QA runs manual tests using the Litmus Testcase Suite (using Tools such as Debug Builds and Leak Gauge)‏ Regression Memory Leak Testing of Firefox  Memory Leak Tests of new and popular Addon's  Future: More Automated Tests run by Mozilla QA
Tools Various Tools for Performance and Leak Testing ‏ QA uses Debug Builds and Leak Gauge Debug Builds: Debug Builds can be build with Trace-Malloc Support to search for Memory Leak Builds – every time up to date build with latest checkins and overview over Leaking Components (but Debug Builds need to be built individually and you need a Development Environment (Xcode, Visual Studio Express, etc) for most platforms)‏ Leak Gauge: Developed by David Baron - It is designed to assist in detecting what leaks of large object graphs occur during normal browsing activity.  The logging can be run during normal browsing without significant overhead . Log taken by setting environment variables in a release build.
Debug Builds Using Firefox Debug Builds with Trace Malloc enabled for all Plattforms (Windows XP/Vista, Linux and Mac 10.4/10.5)‏ Trace Malloc allows searching for Memory Leaks Can provide a Log File Output  Identify Leaking Components, this information helps Developers to debug and fix the Memory Leak !
Leak Gauge Easy to use Memory Leak Test Tool developed by David Baron Only Requirement is a environment variable and works on all platforms  “c:\NSPR_LOG_MODULES=DOMLeak:5,DocumentLeak:5,nsDocShellLeak:5,NodeInfoManagerLeak:5” And “set NSPR_L OG_FILE= c:\leak1.log “ to d efine a Leak Log Works on Firefox 2 and Firefox 3+ Release Builds Leak Log Upload Form on http://mxr.mozilla.org/mozilla/source/tools/footprint/leak-gauge.html for analysis Upload Form indicates if a Memory Leak was found
Leak Gauge Log Output W hen a Memory Leak was found the output of the Log analysis look like this : Memory Leak
Litmus based Tests To make sure we have no hidden Memory Leaks in Firefox Mozilla QA was running a FFT (Full Functional Tests) Testrun in Litmus  ( http://litmus.mozilla.org )  with Debug Builds on Linux, Mac and Windows. Memory Leaks were Reported to the Bugzilla DB. Litmus is a Open Source Test Case Management Tool. Litmus contains manual testcases and a Full Functional Test contains around 750 manual testcases from all Firefox areas.
Add-ons Testing Addon Memory Leak Testing is a big focus of the QA Memory Leak Testing Work   We test new Extensions uploaded to Addons.mozilla.org and also the Top-Downloaded and Recommend Addon's Leak Testing is done with Debug Builds and also with Leak Gauge We provide also a Leak Gauge “How-To” for Addon Developers and AMO-Editors In the Future – A successful Leak Test is a requirement for new Addons on Addons.mozilla.org A best practices Document is in progress to give Addon Developers a hand in avoiding  Memory Leak
Addon Testing Practice We use new Profiles to avoid any false-positive Results from other Extensions We test all aspects of the Extension (Install, Uninstall, Features of the Extension)  Provide Detailed Steps to reproduce so that this Memory Leak is reproducible by Developers and also to be able to verify the fix of this Leak. In case a Memory Leak was found we file a Bug in the Mozilla Bug Database and inform the Extension Developer Future Plan: We will use more Automation to do this testing !
Success so far Successfully identified various types of Leaks in Extensions and Firefox Components – also in specific Scenarios – beyond automated Tests Memory Leak Logs from Debug Builds and Leak Gauge Help Developers to identify the cause of the Leak Memory Leak Testing of Extensions help to maintain the great Firefox 3 Performance
Questions ? References:  http://wiki.mozilla.org/Performance:Leak_Tools   Overview over Performance/Leak Tools http://blog.pavlov.net/2008/03/11/firefox-3-memory-usage/  Blog Post from Stuart Parmenter http://blog.mozilla.com/tomcat/2008/03/21/extension-memory-leak-testing/  Blog Post about the QA Extension Testing Contact:  Clint Talbert (ctalbert on irc.mozilla.org)  [email_address] Carsten Book (tomcat on irc.mozilla.org)  [email_address]
Ad

More Related Content

What's hot (20)

Introduction to robot framework
Introduction to robot frameworkIntroduction to robot framework
Introduction to robot framework
Chonlasith Jucksriporn
 
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
Andrey Karpov
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
Gourav Varma
 
Robot Framework
Robot FrameworkRobot Framework
Robot Framework
Onur Baskirt
 
First steps with selenium rc
First steps with selenium rcFirst steps with selenium rc
First steps with selenium rc
Dang Nguyen
 
Selenium Training in Chennai
Selenium Training in ChennaiSelenium Training in Chennai
Selenium Training in Chennai
Thecreating Experts
 
Sonar qube to impove code quality
Sonar qube   to impove code qualitySonar qube   to impove code quality
Sonar qube to impove code quality
Mani Sarkar
 
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
 
Robot framework
Robot frameworkRobot framework
Robot framework
Kushan Shalindra Amarasiri - Technical QE Specialist
 
Robot framework Gowthami Goli
Robot framework Gowthami GoliRobot framework Gowthami Goli
Robot framework Gowthami Goli
Gowthami Buddi
 
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
Xebia Nederland BV
 
Jenkins
JenkinsJenkins
Jenkins
MohanRaviRohitth
 
Software Testing - Tool support for testing (CAST) - Mazenet Solution
Software Testing - Tool support for testing (CAST) - Mazenet SolutionSoftware Testing - Tool support for testing (CAST) - Mazenet Solution
Software Testing - Tool support for testing (CAST) - Mazenet Solution
Mazenetsolution
 
Testing Moodle functionality automatically
Testing Moodle functionality automaticallyTesting Moodle functionality automatically
Testing Moodle functionality automatically
David Monllaó
 
Selenium
SeleniumSelenium
Selenium
Sun Technlogies
 
Robot framework
Robot frameworkRobot framework
Robot framework
Rochak Bhalla
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
Alea Soluciones, S.L.
 
Selenium notes
Selenium notesSelenium notes
Selenium notes
wholcomb
 
Unit testing_pps
Unit testing_ppsUnit testing_pps
Unit testing_pps
Gaurav Keshre
 
Building the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersBuilding the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for Testers
William Echlin
 
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
Andrey Karpov
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
Gourav Varma
 
First steps with selenium rc
First steps with selenium rcFirst steps with selenium rc
First steps with selenium rc
Dang Nguyen
 
Sonar qube to impove code quality
Sonar qube   to impove code qualitySonar qube   to impove code quality
Sonar qube to impove code quality
Mani Sarkar
 
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
 
Robot framework Gowthami Goli
Robot framework Gowthami GoliRobot framework Gowthami Goli
Robot framework Gowthami Goli
Gowthami Buddi
 
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
Xebia Nederland BV
 
Software Testing - Tool support for testing (CAST) - Mazenet Solution
Software Testing - Tool support for testing (CAST) - Mazenet SolutionSoftware Testing - Tool support for testing (CAST) - Mazenet Solution
Software Testing - Tool support for testing (CAST) - Mazenet Solution
Mazenetsolution
 
Testing Moodle functionality automatically
Testing Moodle functionality automaticallyTesting Moodle functionality automatically
Testing Moodle functionality automatically
David Monllaó
 
Selenium notes
Selenium notesSelenium notes
Selenium notes
wholcomb
 
Building the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for TestersBuilding the Test Automation Framework - Jenkins for Testers
Building the Test Automation Framework - Jenkins for Testers
William Echlin
 

Viewers also liked (14)

Anecto iso 11607 2011
Anecto iso 11607 2011Anecto iso 11607 2011
Anecto iso 11607 2011
2expand
 
Samhitha innovations
Samhitha innovationsSamhitha innovations
Samhitha innovations
Samhitha Innovations
 
Leak testing within seconds
Leak testing within secondsLeak testing within seconds
Leak testing within seconds
Teesing BV
 
Ultrasonic Leak Detection used in Window Testing
Ultrasonic Leak Detection used in Window TestingUltrasonic Leak Detection used in Window Testing
Ultrasonic Leak Detection used in Window Testing
Kraig Stanforth
 
Leak testing-steam-turbine-condensers-application
Leak testing-steam-turbine-condensers-applicationLeak testing-steam-turbine-condensers-application
Leak testing-steam-turbine-condensers-application
Udhayakumar Venkataraman
 
SPACE SHUTTLE
SPACE SHUTTLESPACE SHUTTLE
SPACE SHUTTLE
MANIKANTA SIDDA
 
Flying windmills Report
Flying windmills ReportFlying windmills Report
Flying windmills Report
Himanshu Rajput
 
QUALITY CONTROL OF PARENTERALS,STERILE PRODUCT
QUALITY CONTROL OF PARENTERALS,STERILE PRODUCTQUALITY CONTROL OF PARENTERALS,STERILE PRODUCT
QUALITY CONTROL OF PARENTERALS,STERILE PRODUCT
Muhammad Arsal
 
Flying windmills Presentation
Flying windmills PresentationFlying windmills Presentation
Flying windmills Presentation
Himanshu Rajput
 
Good laboratory practices
Good laboratory practicesGood laboratory practices
Good laboratory practices
Syeda Abeer
 
Who Is An Engineer
Who Is An EngineerWho Is An Engineer
Who Is An Engineer
Prof. T. K. G. Namboodhiri
 
Alps leak testing highlights
Alps leak testing highlights Alps leak testing highlights
Alps leak testing highlights
Industry Network
 
Presentation on data integrity in Pharmaceutical Industry
Presentation on data integrity in Pharmaceutical IndustryPresentation on data integrity in Pharmaceutical Industry
Presentation on data integrity in Pharmaceutical Industry
Sathish Vemula
 
LinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedLinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-Presented
SlideShare
 
Anecto iso 11607 2011
Anecto iso 11607 2011Anecto iso 11607 2011
Anecto iso 11607 2011
2expand
 
Leak testing within seconds
Leak testing within secondsLeak testing within seconds
Leak testing within seconds
Teesing BV
 
Ultrasonic Leak Detection used in Window Testing
Ultrasonic Leak Detection used in Window TestingUltrasonic Leak Detection used in Window Testing
Ultrasonic Leak Detection used in Window Testing
Kraig Stanforth
 
Leak testing-steam-turbine-condensers-application
Leak testing-steam-turbine-condensers-applicationLeak testing-steam-turbine-condensers-application
Leak testing-steam-turbine-condensers-application
Udhayakumar Venkataraman
 
QUALITY CONTROL OF PARENTERALS,STERILE PRODUCT
QUALITY CONTROL OF PARENTERALS,STERILE PRODUCTQUALITY CONTROL OF PARENTERALS,STERILE PRODUCT
QUALITY CONTROL OF PARENTERALS,STERILE PRODUCT
Muhammad Arsal
 
Flying windmills Presentation
Flying windmills PresentationFlying windmills Presentation
Flying windmills Presentation
Himanshu Rajput
 
Good laboratory practices
Good laboratory practicesGood laboratory practices
Good laboratory practices
Syeda Abeer
 
Alps leak testing highlights
Alps leak testing highlights Alps leak testing highlights
Alps leak testing highlights
Industry Network
 
Presentation on data integrity in Pharmaceutical Industry
Presentation on data integrity in Pharmaceutical IndustryPresentation on data integrity in Pharmaceutical Industry
Presentation on data integrity in Pharmaceutical Industry
Sathish Vemula
 
LinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedLinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-Presented
SlideShare
 
Ad

Similar to Oscon2008 Qa Leak Testing Latest Slides (20)

Getting started with_testcomplete
Getting started with_testcompleteGetting started with_testcomplete
Getting started with_testcomplete
ankit.das
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
Jasmine Conseil
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
Jasmine Conseil
 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and Beyond
ESUG
 
Testing SharePoint solutions overview
Testing SharePoint solutions overviewTesting SharePoint solutions overview
Testing SharePoint solutions overview
Spiffy
 
Getting started with test complete 7
Getting started with test complete 7Getting started with test complete 7
Getting started with test complete 7
Hoamuoigio Hoa
 
Different Techniques Of Debugging Selenium Based Test Scripts.pdf
Different Techniques Of Debugging Selenium Based Test Scripts.pdfDifferent Techniques Of Debugging Selenium Based Test Scripts.pdf
Different Techniques Of Debugging Selenium Based Test Scripts.pdf
pCloudy
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
Dan Hinojosa
 
jDriver Presentation
jDriver PresentationjDriver Presentation
jDriver Presentation
freelancer_testautomation
 
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
Anna Russo
 
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationDelivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous Integration
Aspire Systems
 
Testing & Improving Performance in IBM Cognos BI, Plus Automated Cognos Testi...
Testing & Improving Performance in IBM Cognos BI, Plus Automated Cognos Testi...Testing & Improving Performance in IBM Cognos BI, Plus Automated Cognos Testi...
Testing & Improving Performance in IBM Cognos BI, Plus Automated Cognos Testi...
Senturus
 
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
Anna Russo
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingImproving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
Anna Russo
 
Flash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applicationsFlash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applications
RIA RUI Society
 
Continuous Integration for iOS
Continuous Integration for iOSContinuous Integration for iOS
Continuous Integration for iOS
CODETE
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
Pascal Rapicault
 
10071756.ppt
10071756.ppt10071756.ppt
10071756.ppt
Rohit846825
 
Building Scalable Development Environments
Building Scalable Development EnvironmentsBuilding Scalable Development Environments
Building Scalable Development Environments
Shahar Evron
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Getting started with_testcomplete
Getting started with_testcompleteGetting started with_testcomplete
Getting started with_testcomplete
ankit.das
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
Jasmine Conseil
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
Jasmine Conseil
 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and Beyond
ESUG
 
Testing SharePoint solutions overview
Testing SharePoint solutions overviewTesting SharePoint solutions overview
Testing SharePoint solutions overview
Spiffy
 
Getting started with test complete 7
Getting started with test complete 7Getting started with test complete 7
Getting started with test complete 7
Hoamuoigio Hoa
 
Different Techniques Of Debugging Selenium Based Test Scripts.pdf
Different Techniques Of Debugging Selenium Based Test Scripts.pdfDifferent Techniques Of Debugging Selenium Based Test Scripts.pdf
Different Techniques Of Debugging Selenium Based Test Scripts.pdf
pCloudy
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
Dan Hinojosa
 
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
Anna Russo
 
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationDelivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous Integration
Aspire Systems
 
Testing & Improving Performance in IBM Cognos BI, Plus Automated Cognos Testi...
Testing & Improving Performance in IBM Cognos BI, Plus Automated Cognos Testi...Testing & Improving Performance in IBM Cognos BI, Plus Automated Cognos Testi...
Testing & Improving Performance in IBM Cognos BI, Plus Automated Cognos Testi...
Senturus
 
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2010 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
Anna Russo
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingImproving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
Anna Russo
 
Flash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applicationsFlash Camp Chennai - Build automation of Flex and AIR applications
Flash Camp Chennai - Build automation of Flex and AIR applications
RIA RUI Society
 
Continuous Integration for iOS
Continuous Integration for iOSContinuous Integration for iOS
Continuous Integration for iOS
CODETE
 
Building Scalable Development Environments
Building Scalable Development EnvironmentsBuilding Scalable Development Environments
Building Scalable Development Environments
Shahar Evron
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Ad

Recently uploaded (20)

Affinity.co Lifecycle Marketing Presentation
Affinity.co Lifecycle Marketing PresentationAffinity.co Lifecycle Marketing Presentation
Affinity.co Lifecycle Marketing Presentation
omiller199514
 
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
Kirill Klip
 
Olga Baranets: AI Doesn’t Wait for Retros (UA)
Olga Baranets: AI Doesn’t Wait for Retros (UA)Olga Baranets: AI Doesn’t Wait for Retros (UA)
Olga Baranets: AI Doesn’t Wait for Retros (UA)
Lviv Startup Club
 
Accounting_Basics_Complete_Guide_By_CA_Suvidha_Chaplot (1).pdf
Accounting_Basics_Complete_Guide_By_CA_Suvidha_Chaplot (1).pdfAccounting_Basics_Complete_Guide_By_CA_Suvidha_Chaplot (1).pdf
Accounting_Basics_Complete_Guide_By_CA_Suvidha_Chaplot (1).pdf
CA Suvidha Chaplot
 
LDMMIA Bday celebration 2025 Gifts information
LDMMIA Bday celebration 2025 Gifts informationLDMMIA Bday celebration 2025 Gifts information
LDMMIA Bday celebration 2025 Gifts information
LDM Mia eStudios
 
NewBase 05 May 2025 Energy News issue - 1785 by Khaled Al Awadi_compressed.pdf
NewBase 05 May 2025  Energy News issue - 1785 by Khaled Al Awadi_compressed.pdfNewBase 05 May 2025  Energy News issue - 1785 by Khaled Al Awadi_compressed.pdf
NewBase 05 May 2025 Energy News issue - 1785 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
Web Design Creating User-Friendly and Visually Engaging Websites - April 2025...
Web Design Creating User-Friendly and Visually Engaging Websites - April 2025...Web Design Creating User-Friendly and Visually Engaging Websites - April 2025...
Web Design Creating User-Friendly and Visually Engaging Websites - April 2025...
TheoRuby
 
Solaris Resources Presentation - Corporate April 2025.pdf
Solaris Resources Presentation - Corporate April 2025.pdfSolaris Resources Presentation - Corporate April 2025.pdf
Solaris Resources Presentation - Corporate April 2025.pdf
pchambers2
 
Alec Lawler - A Passion For Building Brand Awareness
Alec Lawler - A Passion For Building Brand AwarenessAlec Lawler - A Passion For Building Brand Awareness
Alec Lawler - A Passion For Building Brand Awareness
Alec Lawler
 
Strategic Enterprise Management - Unit I.pptx
Strategic Enterprise Management - Unit I.pptxStrategic Enterprise Management - Unit I.pptx
Strategic Enterprise Management - Unit I.pptx
PrekshyaRana
 
Salesforce_Architecture_Diagramming_Workshop (1).pptx
Salesforce_Architecture_Diagramming_Workshop (1).pptxSalesforce_Architecture_Diagramming_Workshop (1).pptx
Salesforce_Architecture_Diagramming_Workshop (1).pptx
reinbauwens1
 
waterBeta white paper - 250202- two-column.docx
waterBeta white paper - 250202- two-column.docxwaterBeta white paper - 250202- two-column.docx
waterBeta white paper - 250202- two-column.docx
Peter Adriaens
 
India Advertising Market Size & Growth | Industry Trends
India Advertising Market Size & Growth | Industry TrendsIndia Advertising Market Size & Growth | Industry Trends
India Advertising Market Size & Growth | Industry Trends
Aman Bansal
 
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdfCloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Brij Consulting, LLC
 
Treis & Friends One sheet - Portfolio IV
Treis & Friends One sheet - Portfolio IVTreis & Friends One sheet - Portfolio IV
Treis & Friends One sheet - Portfolio IV
aparicioregina7
 
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
ThiNgc22
 
Cloud Stream Part II Mobile Hub V2 Cloud Confluency.pdf
Cloud Stream Part II Mobile Hub V2 Cloud Confluency.pdfCloud Stream Part II Mobile Hub V2 Cloud Confluency.pdf
Cloud Stream Part II Mobile Hub V2 Cloud Confluency.pdf
Brij Consulting, LLC
 
EquariusAI analytics for business water risk
EquariusAI analytics for business water riskEquariusAI analytics for business water risk
EquariusAI analytics for business water risk
Peter Adriaens
 
Smart Home Market Size, Growth and Report (2025-2034)
Smart Home Market Size, Growth and Report (2025-2034)Smart Home Market Size, Growth and Report (2025-2034)
Smart Home Market Size, Growth and Report (2025-2034)
GeorgeButtler
 
TNR Gold Investor Elevator Pitch - Building The Green Energy Metals Royalty a...
TNR Gold Investor Elevator Pitch - Building The Green Energy Metals Royalty a...TNR Gold Investor Elevator Pitch - Building The Green Energy Metals Royalty a...
TNR Gold Investor Elevator Pitch - Building The Green Energy Metals Royalty a...
Kirill Klip
 
Affinity.co Lifecycle Marketing Presentation
Affinity.co Lifecycle Marketing PresentationAffinity.co Lifecycle Marketing Presentation
Affinity.co Lifecycle Marketing Presentation
omiller199514
 
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
Kirill Klip
 
Olga Baranets: AI Doesn’t Wait for Retros (UA)
Olga Baranets: AI Doesn’t Wait for Retros (UA)Olga Baranets: AI Doesn’t Wait for Retros (UA)
Olga Baranets: AI Doesn’t Wait for Retros (UA)
Lviv Startup Club
 
Accounting_Basics_Complete_Guide_By_CA_Suvidha_Chaplot (1).pdf
Accounting_Basics_Complete_Guide_By_CA_Suvidha_Chaplot (1).pdfAccounting_Basics_Complete_Guide_By_CA_Suvidha_Chaplot (1).pdf
Accounting_Basics_Complete_Guide_By_CA_Suvidha_Chaplot (1).pdf
CA Suvidha Chaplot
 
LDMMIA Bday celebration 2025 Gifts information
LDMMIA Bday celebration 2025 Gifts informationLDMMIA Bday celebration 2025 Gifts information
LDMMIA Bday celebration 2025 Gifts information
LDM Mia eStudios
 
NewBase 05 May 2025 Energy News issue - 1785 by Khaled Al Awadi_compressed.pdf
NewBase 05 May 2025  Energy News issue - 1785 by Khaled Al Awadi_compressed.pdfNewBase 05 May 2025  Energy News issue - 1785 by Khaled Al Awadi_compressed.pdf
NewBase 05 May 2025 Energy News issue - 1785 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
Web Design Creating User-Friendly and Visually Engaging Websites - April 2025...
Web Design Creating User-Friendly and Visually Engaging Websites - April 2025...Web Design Creating User-Friendly and Visually Engaging Websites - April 2025...
Web Design Creating User-Friendly and Visually Engaging Websites - April 2025...
TheoRuby
 
Solaris Resources Presentation - Corporate April 2025.pdf
Solaris Resources Presentation - Corporate April 2025.pdfSolaris Resources Presentation - Corporate April 2025.pdf
Solaris Resources Presentation - Corporate April 2025.pdf
pchambers2
 
Alec Lawler - A Passion For Building Brand Awareness
Alec Lawler - A Passion For Building Brand AwarenessAlec Lawler - A Passion For Building Brand Awareness
Alec Lawler - A Passion For Building Brand Awareness
Alec Lawler
 
Strategic Enterprise Management - Unit I.pptx
Strategic Enterprise Management - Unit I.pptxStrategic Enterprise Management - Unit I.pptx
Strategic Enterprise Management - Unit I.pptx
PrekshyaRana
 
Salesforce_Architecture_Diagramming_Workshop (1).pptx
Salesforce_Architecture_Diagramming_Workshop (1).pptxSalesforce_Architecture_Diagramming_Workshop (1).pptx
Salesforce_Architecture_Diagramming_Workshop (1).pptx
reinbauwens1
 
waterBeta white paper - 250202- two-column.docx
waterBeta white paper - 250202- two-column.docxwaterBeta white paper - 250202- two-column.docx
waterBeta white paper - 250202- two-column.docx
Peter Adriaens
 
India Advertising Market Size & Growth | Industry Trends
India Advertising Market Size & Growth | Industry TrendsIndia Advertising Market Size & Growth | Industry Trends
India Advertising Market Size & Growth | Industry Trends
Aman Bansal
 
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdfCloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Brij Consulting, LLC
 
Treis & Friends One sheet - Portfolio IV
Treis & Friends One sheet - Portfolio IVTreis & Friends One sheet - Portfolio IV
Treis & Friends One sheet - Portfolio IV
aparicioregina7
 
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
ThiNgc22
 
Cloud Stream Part II Mobile Hub V2 Cloud Confluency.pdf
Cloud Stream Part II Mobile Hub V2 Cloud Confluency.pdfCloud Stream Part II Mobile Hub V2 Cloud Confluency.pdf
Cloud Stream Part II Mobile Hub V2 Cloud Confluency.pdf
Brij Consulting, LLC
 
EquariusAI analytics for business water risk
EquariusAI analytics for business water riskEquariusAI analytics for business water risk
EquariusAI analytics for business water risk
Peter Adriaens
 
Smart Home Market Size, Growth and Report (2025-2034)
Smart Home Market Size, Growth and Report (2025-2034)Smart Home Market Size, Growth and Report (2025-2034)
Smart Home Market Size, Growth and Report (2025-2034)
GeorgeButtler
 
TNR Gold Investor Elevator Pitch - Building The Green Energy Metals Royalty a...
TNR Gold Investor Elevator Pitch - Building The Green Energy Metals Royalty a...TNR Gold Investor Elevator Pitch - Building The Green Energy Metals Royalty a...
TNR Gold Investor Elevator Pitch - Building The Green Energy Metals Royalty a...
Kirill Klip
 

Oscon2008 Qa Leak Testing Latest Slides

  • 1. OSCON 2008 - Fixing Hard Problems Through Iterative QA and Development Clint Talbert - Carsten Book Mozilla Corporation 24.July 2008
  • 2. Introduction Process Overview Leak Testing Overview Tools Memory Leak Debug Test Builds Leak Gauge Manual Tests (Litmus) Add-on Testing Milestones so far
  • 3. The Approach Development and Test Development collaborate on tests and tools Create widely applicable, reproducible tests Test Tools are treated as first rate products Implement a reporting structure for results
  • 4. Collaboration Developers and Test developers bring different perspectives to the table Developers concentrate on the deep tools to measure behavior of code (i.e. Ref-Counting Analysis etc) Test Developers work on harnesses and reporting infrastructure, lowering barrier of entry Having reliable test tools that are run and developed on a regular basis help bring a sense of testing into the development culture.
  • 5. Reproducible Use VM's where you can Keep tests and tools simple By taking reliable test tools into “impure” systems, you can get results that you can trust.
  • 6. Test Tools Are Products Test Tools must grow with the product Test Tools must be simple and maintainable Test Tools must be developed and QA'd just like the product they are testing Test Tools should be very easy to run Test Tools should require only the most basic level of infrastructure possible to run. (But should also fit into a high infrastructure scenario for reporting)
  • 7. Reporting Results Use results to further a culture of testing Use results to understand if the test is reliable, and if so broaden your testing scenarios Easy to understand results empower community members
  • 8. Reporting Results What our results reporting looks like
  • 9. Leak Testing Overview Lots of Memory Improvements for Firefox 3: The XPCOM cycle collector continuously cleans up unused memory. Plus, hundreds of memory leaks are now remedied Memory Leak Tests after every Code change to make sure we introduce no new Memory Leaks QA also started with a lot of Tests for Memory Leaks Mozilla QA runs manual tests using the Litmus Testcase Suite (using Tools such as Debug Builds and Leak Gauge)‏ Regression Memory Leak Testing of Firefox Memory Leak Tests of new and popular Addon's Future: More Automated Tests run by Mozilla QA
  • 10. Tools Various Tools for Performance and Leak Testing ‏ QA uses Debug Builds and Leak Gauge Debug Builds: Debug Builds can be build with Trace-Malloc Support to search for Memory Leak Builds – every time up to date build with latest checkins and overview over Leaking Components (but Debug Builds need to be built individually and you need a Development Environment (Xcode, Visual Studio Express, etc) for most platforms)‏ Leak Gauge: Developed by David Baron - It is designed to assist in detecting what leaks of large object graphs occur during normal browsing activity. The logging can be run during normal browsing without significant overhead . Log taken by setting environment variables in a release build.
  • 11. Debug Builds Using Firefox Debug Builds with Trace Malloc enabled for all Plattforms (Windows XP/Vista, Linux and Mac 10.4/10.5)‏ Trace Malloc allows searching for Memory Leaks Can provide a Log File Output Identify Leaking Components, this information helps Developers to debug and fix the Memory Leak !
  • 12. Leak Gauge Easy to use Memory Leak Test Tool developed by David Baron Only Requirement is a environment variable and works on all platforms “c:\NSPR_LOG_MODULES=DOMLeak:5,DocumentLeak:5,nsDocShellLeak:5,NodeInfoManagerLeak:5” And “set NSPR_L OG_FILE= c:\leak1.log “ to d efine a Leak Log Works on Firefox 2 and Firefox 3+ Release Builds Leak Log Upload Form on http://mxr.mozilla.org/mozilla/source/tools/footprint/leak-gauge.html for analysis Upload Form indicates if a Memory Leak was found
  • 13. Leak Gauge Log Output W hen a Memory Leak was found the output of the Log analysis look like this : Memory Leak
  • 14. Litmus based Tests To make sure we have no hidden Memory Leaks in Firefox Mozilla QA was running a FFT (Full Functional Tests) Testrun in Litmus ( http://litmus.mozilla.org ) with Debug Builds on Linux, Mac and Windows. Memory Leaks were Reported to the Bugzilla DB. Litmus is a Open Source Test Case Management Tool. Litmus contains manual testcases and a Full Functional Test contains around 750 manual testcases from all Firefox areas.
  • 15. Add-ons Testing Addon Memory Leak Testing is a big focus of the QA Memory Leak Testing Work We test new Extensions uploaded to Addons.mozilla.org and also the Top-Downloaded and Recommend Addon's Leak Testing is done with Debug Builds and also with Leak Gauge We provide also a Leak Gauge “How-To” for Addon Developers and AMO-Editors In the Future – A successful Leak Test is a requirement for new Addons on Addons.mozilla.org A best practices Document is in progress to give Addon Developers a hand in avoiding Memory Leak
  • 16. Addon Testing Practice We use new Profiles to avoid any false-positive Results from other Extensions We test all aspects of the Extension (Install, Uninstall, Features of the Extension) Provide Detailed Steps to reproduce so that this Memory Leak is reproducible by Developers and also to be able to verify the fix of this Leak. In case a Memory Leak was found we file a Bug in the Mozilla Bug Database and inform the Extension Developer Future Plan: We will use more Automation to do this testing !
  • 17. Success so far Successfully identified various types of Leaks in Extensions and Firefox Components – also in specific Scenarios – beyond automated Tests Memory Leak Logs from Debug Builds and Leak Gauge Help Developers to identify the cause of the Leak Memory Leak Testing of Extensions help to maintain the great Firefox 3 Performance
  • 18. Questions ? References: http://wiki.mozilla.org/Performance:Leak_Tools Overview over Performance/Leak Tools http://blog.pavlov.net/2008/03/11/firefox-3-memory-usage/ Blog Post from Stuart Parmenter http://blog.mozilla.com/tomcat/2008/03/21/extension-memory-leak-testing/ Blog Post about the QA Extension Testing Contact: Clint Talbert (ctalbert on irc.mozilla.org) [email_address] Carsten Book (tomcat on irc.mozilla.org) [email_address]