SlideShare a Scribd company logo
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
Testing and Assessing Performance
in Managed Code in Embedded
Systems
Peter Varhol
Test Studio Evangelist
email: peter.varhol@telerik.com
twitter: @pvarhol
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
Agenda
Why managed code?
The role of memory in performance
Testing for memory use
Summary and questions
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
Why Managed Code?
Courtesy VDC
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• What is managed code?
• Managed code automatically manages memory
allocation and deallocation
• No programmer intervention
Why Managed Code?
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Allocation involves a request to the free
memory list
• Deallocation is a process called garbage collection
Why Managed Code?
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Examples of managed languages
• C#, Visual Basic, or anything running on Microsoft
.NET
• Java
• Smalltalk and other minor languages
Why Managed Code?
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Embedded systems are more complex
• Managed code helps deal with complexities
• Fewer defects from automatically managed memory
• But . . .
• What about performance?
Why We Care
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Performance is about equal to native code
• Some caveats
• Allocating memory is very fast
• Deallocation is non-determinate
Why Managed Code?
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• This means that hard real time performance
is problematic
• Some coders run GC programmatically
• Better know what you’re doing
Why Managed Code?
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Managed alternatives
• PERC
• Java ME
• Others
Why Managed Code
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Memory use is inversely related to
performance
• Amount of memory
• Allocations and deallocations
The Role of Memory in Performance
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• But that doesn’t mean you should allocate
only static memory
• Total memory matters, too
• And embedded devices are limited
The Role of Memory in Performance
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Performance Profiling
• Profiling is a sampling technique
• Time to execute
• Number of times a routine is executed
Testing for Memory in Performance
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Performance analysis
• Full look at performance
• Method time
• Number of passes
Testing for Memory in Performance
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Memory profiling
• Object allocations
• Object lifespans
• Garbage collection
Testing for Memory in Performance
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Excessive time in methods
• Something waiting to be synchronized?
• Long database calls?
• Many cycles through a method
• Bad coding practices?
What to Look For
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Memory usage
• Allocations are important
• But understand the GC model
• .NET has multiple generations
What to Look For
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Memory analysis
• An ongoing display of memory allocations, size, and
deallocations
What to Look For
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• .NET memory generations
• 0 – temporary variables
• 1 – short-lived objects
• 2 – long-lived objects
What to Look For
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Why do you need to know this?
• It affects performance
• You can provide feedback to development
What to Look For
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Do you need to replace the GC
• Third party garbage collectors are available
What to Look For
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• Microsoft Patterns and Practices
• And VS Profiler
• Just Tools
• DevPartner
• AQTime
Tools for Performance Profiling
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• MSDN resources
• DevPartner
• Ants Profiler
• MemProfiler
Tools for Memory Analysis
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
• These tools are built for desktop/web
applications
• You will likely have to build a test harness
• And possibly a UI to drive it
Caveats
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
Summary
• Memory is a precious commodity in embedded
systems
• Misuse can cause performance issues and defects
• Understand how managed code works
• What can go wrong
• Use tools to look at performance and
memory
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
Questions
DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT
www.telerik.com/test-studio
@TelerikTesting
www.youtube.com/TelerikTestStudio
Thank You
Peter Varhol
Peter.Varhol@telerik.com
@pvarhol

More Related Content

PPTX
Change Management in Hybrid landscapes 2017
PPTX
Design Review Best Practices - SREcon 2014
PPTX
Scheduled releases @ Commit Porto 2016
PDF
Agile Secure Cloud Application Development Management
PPTX
Api360 Summit The Automated Monolith
PPTX
What do making cars and writing software have in common?
PDF
Migrating Your Apps to the Cloud: How to do it and What to Avoid
PDF
Application Transformation Workshop
Change Management in Hybrid landscapes 2017
Design Review Best Practices - SREcon 2014
Scheduled releases @ Commit Porto 2016
Agile Secure Cloud Application Development Management
Api360 Summit The Automated Monolith
What do making cars and writing software have in common?
Migrating Your Apps to the Cloud: How to do it and What to Avoid
Application Transformation Workshop

What's hot (20)

PDF
Developer Productivity Engineering with Gradle
PDF
Linking Upstream and Downstream Agile
PPTX
DevOps for SAP customers
PDF
Devops Recto-Verso @ DevoxxMA
PPTX
Leading the Transformation
PPTX
How Spinnaker helped us achieve real Continuous Delivery
PDF
Dimensions RM: Agile Requirements Management
PDF
Software Testing Solutions from DeRisk IT
PDF
Continuous integration
PDF
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
PPTX
How Capital One Scaled API Design to Deliver New Products Faster
PDF
Common blind spots on the journey to production vijay raghavan aravamudhan
PPTX
Rethinking Your DevOps Strategy
PPTX
Go Faster - Remove Inhibitors to Rapid Innovation
PPTX
Le tue app sono pronte per il cloud? Rivolgiti al caf!
PPSX
Agile Network India | Understanding the importance of a full featured CI/CD p...
PPTX
Deploying more technology to shift from agility to anti-fragility
PDF
Quali webinar de-mystifyind dev_ops-a practitioner’s perspective
PDF
DevOps - A Gentle Introduction
PDF
Shift Left with Continuous Inspection
Developer Productivity Engineering with Gradle
Linking Upstream and Downstream Agile
DevOps for SAP customers
Devops Recto-Verso @ DevoxxMA
Leading the Transformation
How Spinnaker helped us achieve real Continuous Delivery
Dimensions RM: Agile Requirements Management
Software Testing Solutions from DeRisk IT
Continuous integration
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
How Capital One Scaled API Design to Deliver New Products Faster
Common blind spots on the journey to production vijay raghavan aravamudhan
Rethinking Your DevOps Strategy
Go Faster - Remove Inhibitors to Rapid Innovation
Le tue app sono pronte per il cloud? Rivolgiti al caf!
Agile Network India | Understanding the importance of a full featured CI/CD p...
Deploying more technology to shift from agility to anti-fragility
Quali webinar de-mystifyind dev_ops-a practitioner’s perspective
DevOps - A Gentle Introduction
Shift Left with Continuous Inspection
Ad

Similar to Qa test managed_code_varhol (20)

PDF
A guide to hiring a great developer to build your first app (redacted version)
PPTX
Key alias dev standard final
PPTX
Udvid din test portefølje med coded ui test og cloud load test
PDF
Automated Browser Testing
PPTX
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
PPTX
Web Automation Testing for developers?
PPTX
Day 1.pptx
PDF
Forge - DevCon 2016: Implementing Rich Applications in the Browser
PPTX
Whats new for developers in Visual Studio 2013
PDF
IW14 Session: webMethods World
PPTX
Change management in hybrid landscapes
PPTX
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
PDF
Is Being Agile a Good Thing?
PPTX
Internship softwaretraining@ijse
PDF
Behavioral driven development with Behat
PDF
How to assess & hire Java developers accurately?
PPTX
#ATAGTR2020 Presentation - Universal Test Automation Framework
KEY
Benefits of an Open environment with Wakanda
PPTX
#NEOTYSPAC performance testing shift left
PPTX
Introductie Visual Studio ALM 2012
A guide to hiring a great developer to build your first app (redacted version)
Key alias dev standard final
Udvid din test portefølje med coded ui test og cloud load test
Automated Browser Testing
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
Web Automation Testing for developers?
Day 1.pptx
Forge - DevCon 2016: Implementing Rich Applications in the Browser
Whats new for developers in Visual Studio 2013
IW14 Session: webMethods World
Change management in hybrid landscapes
All you need is fast feedback loop, fast feedback loop, fast feedback loop is...
Is Being Agile a Good Thing?
Internship softwaretraining@ijse
Behavioral driven development with Behat
How to assess & hire Java developers accurately?
#ATAGTR2020 Presentation - Universal Test Automation Framework
Benefits of an Open environment with Wakanda
#NEOTYSPAC performance testing shift left
Introductie Visual Studio ALM 2012
Ad

More from Peter Varhol (18)

PPTX
Not fair! testing AI bias and organizational values
PPTX
DevOps and the Impostor Syndrome
PPTX
Not fair! testing ai bias and organizational values
PPTX
162 the technologist of the future
PPTX
Correlation does not mean causation
PPTX
Digital transformation through devops dod indianapolis
PPTX
Testing for cognitive bias in ai systems
PPTX
Making disaster routine
PPTX
What Aircrews Can Teach Testing Teams
PPTX
Identifying and measuring testing debt
PPTX
What aircrews can teach devops teams ignite
PPTX
Talking to people lightning
PPTX
Using Machine Learning to Optimize DevOps Practices
PPTX
Varhol oracle database_firewall_oct2011
PPTX
Testing a movingtarget_quest_dynatrace
PDF
Talking to people: the forgotten DevOps tool
PPTX
How do we fix testing
PPTX
Moneyball peter varhol_starwest2012
Not fair! testing AI bias and organizational values
DevOps and the Impostor Syndrome
Not fair! testing ai bias and organizational values
162 the technologist of the future
Correlation does not mean causation
Digital transformation through devops dod indianapolis
Testing for cognitive bias in ai systems
Making disaster routine
What Aircrews Can Teach Testing Teams
Identifying and measuring testing debt
What aircrews can teach devops teams ignite
Talking to people lightning
Using Machine Learning to Optimize DevOps Practices
Varhol oracle database_firewall_oct2011
Testing a movingtarget_quest_dynatrace
Talking to people: the forgotten DevOps tool
How do we fix testing
Moneyball peter varhol_starwest2012

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
KodekX | Application Modernization Development
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Cloud computing and distributed systems.
PDF
Machine learning based COVID-19 study performance prediction
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Monthly Chronicles - July 2025
DOCX
The AUB Centre for AI in Media Proposal.docx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
20250228 LYD VKU AI Blended-Learning.pptx
KodekX | Application Modernization Development
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Network Security Unit 5.pdf for BCA BBA.
“AI and Expert System Decision Support & Business Intelligence Systems”
Cloud computing and distributed systems.
Machine learning based COVID-19 study performance prediction
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
Understanding_Digital_Forensics_Presentation.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Monthly Chronicles - July 2025
The AUB Centre for AI in Media Proposal.docx

Qa test managed_code_varhol

  • 1. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT Testing and Assessing Performance in Managed Code in Embedded Systems Peter Varhol Test Studio Evangelist email: peter.varhol@telerik.com twitter: @pvarhol
  • 2. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT Agenda Why managed code? The role of memory in performance Testing for memory use Summary and questions
  • 3. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT Why Managed Code? Courtesy VDC
  • 4. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • What is managed code? • Managed code automatically manages memory allocation and deallocation • No programmer intervention Why Managed Code?
  • 5. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Allocation involves a request to the free memory list • Deallocation is a process called garbage collection Why Managed Code?
  • 6. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Examples of managed languages • C#, Visual Basic, or anything running on Microsoft .NET • Java • Smalltalk and other minor languages Why Managed Code?
  • 7. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Embedded systems are more complex • Managed code helps deal with complexities • Fewer defects from automatically managed memory • But . . . • What about performance? Why We Care
  • 8. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Performance is about equal to native code • Some caveats • Allocating memory is very fast • Deallocation is non-determinate Why Managed Code?
  • 9. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • This means that hard real time performance is problematic • Some coders run GC programmatically • Better know what you’re doing Why Managed Code?
  • 10. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Managed alternatives • PERC • Java ME • Others Why Managed Code
  • 11. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Memory use is inversely related to performance • Amount of memory • Allocations and deallocations The Role of Memory in Performance
  • 12. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • But that doesn’t mean you should allocate only static memory • Total memory matters, too • And embedded devices are limited The Role of Memory in Performance
  • 13. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Performance Profiling • Profiling is a sampling technique • Time to execute • Number of times a routine is executed Testing for Memory in Performance
  • 14. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Performance analysis • Full look at performance • Method time • Number of passes Testing for Memory in Performance
  • 15. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Memory profiling • Object allocations • Object lifespans • Garbage collection Testing for Memory in Performance
  • 16. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Excessive time in methods • Something waiting to be synchronized? • Long database calls? • Many cycles through a method • Bad coding practices? What to Look For
  • 17. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Memory usage • Allocations are important • But understand the GC model • .NET has multiple generations What to Look For
  • 18. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Memory analysis • An ongoing display of memory allocations, size, and deallocations What to Look For
  • 19. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • .NET memory generations • 0 – temporary variables • 1 – short-lived objects • 2 – long-lived objects What to Look For
  • 20. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Why do you need to know this? • It affects performance • You can provide feedback to development What to Look For
  • 21. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Do you need to replace the GC • Third party garbage collectors are available What to Look For
  • 22. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • Microsoft Patterns and Practices • And VS Profiler • Just Tools • DevPartner • AQTime Tools for Performance Profiling
  • 23. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • MSDN resources • DevPartner • Ants Profiler • MemProfiler Tools for Memory Analysis
  • 24. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT • These tools are built for desktop/web applications • You will likely have to build a test harness • And possibly a UI to drive it Caveats
  • 25. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT Summary • Memory is a precious commodity in embedded systems • Misuse can cause performance issues and defects • Understand how managed code works • What can go wrong • Use tools to look at performance and memory
  • 26. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT Questions
  • 27. DEVELOPER TOOLS | HYBRID MOBILE DEVELOPMENT | HTML5 / JAVASCRIPT DEVELOPMENT | SOFTWARE TESTING | WEB PRESENCE PLATFORM | AGILE PROJECT MANAGEMENT www.telerik.com/test-studio @TelerikTesting www.youtube.com/TelerikTestStudio Thank You Peter Varhol Peter.Varhol@telerik.com @pvarhol

Editor's Notes

  • #11:  "Java ME is now the third-most frequently-used language for embedded development [..], rivaling C/C++“ http://adtmag.com/articles/2013/07/23/java-me-update.aspx The Aonix Perc product line offers Ahead-of-Time (AOT) and Just-in-Time (JIT) compilation, remote debug support, deterministic garbage collection, standard graphics and extended commercial RTOS support.