Memory Leaks: The silent thieves in Web Application

We’ll love browsing, it may be your blogs, visiting your pages, searching for a content and it may be an application you developed. So, have you ever observed issues like slowness in web-application while browsing, reduce in page performance over time, application quit unexpectedly, and devices stop working? And no wonder every new web technology in this era faces this issue and these applications are victim of memory leaks?

In a world of automated system, everything is automatically managed under browser hood for a web application. Asynchronous operations, Executing instructions, Automatic garbage collection etc. But even after effective management of operations in a complex program, there is a small amount of failures happens in disposing the memory used and those are difficult to debug because they are not the application features.

So, it is important for every web developer/tester sitting out there to understand/visualize the importance of memory leaks in an application, Because at the end we’re the one responsible to make the application to be alive

 
 

Outline/Structure of the Talk

  • A Peek under the browsers Hood
  • Understanding memory leaks in web applications
  • Experimental Evaluation: Visualize real world scenario on memory leaks
  • Learn about various opensource tools to detect memory leaks

Learning Outcome

  • Visualize the importance of memory leaks in an application
  • see examples of using browser dev tools to detect memory leaks
  • How to get started and how you can contribute to make your application better ?

Target Audience

Everyone

Prerequisites for Attendees

Basic knowledge on Chrome DevTools.

schedule Submitted 7 months ago

Public Feedback

comment Suggest improvements to the Speaker
  • Manoj Kumar
    By Manoj Kumar  ~  4 months ago
    reply Reply

    Hi Harsha,

    Are you able to answer Maaret's question?

    Regards,
    Manoj

    • Maaret Pyhajarvi
      By Maaret Pyhajarvi  ~  7 months ago
      reply Reply

      Is there a particular reason why you are seeking a 20 min talk slot rather than building a full length (40 min) talk? 

      • Sri Harsha
        By Sri Harsha  ~  7 months ago
        reply Reply

        Hi There,

        There is no particular reason. I want to keep it short and simple to the audience. i Can provide a demo on detecting memory leaks which can take another 10 mins of time. In particular i need 30 Min for the session. 

        As i don't see any 30 min session here, i have opted 20 MIN to quickly plant a seed in audience thoughts on what memory leaks are !!!

        Please suggest !

        • Maaret Pyhajarvi
          By Maaret Pyhajarvi  ~  7 months ago
          reply Reply

          The thing is, that the description and in particular the learning outcomes should look very different for a 20 minute talk and a 40 minute talk. 

          Right not the things you promise to teach in your learning outcomes are interesting but the description otherwise does not really match the learning outcomes. Most importantly, you miss answering my question: if there are 100 people who can teach about memory leaks (me included), why is yours the one that a conference should give stage to? What is *your* experience that gives you a unique stage. I know you have it, you just don't talk about it yet. If you want, we could split this into working with the 20 minute version of the talk and the 40 minute version of the talk? 

          • Sri Harsha
            By Sri Harsha  ~  6 months ago
            reply Reply

            Hi Maaret,

            Thanks for your reply.

            In response to your first question, Why me?  Well, working for many years as a QA I have learned so much in my journey of testing and making the applications better. In Addition to my regular job I have spent my endless hours of research to understand about how web-applications work under browser engine and what causes in-degrading application performance in core level.

            And for the second part of the question, I think my presentation fits to 20 min slot and 40 min slot would be stretch. However, I have updated the structure and learnings for better clarity. Please let me know if it makes sense.

            • Maaret Pyhajarvi
              By Maaret Pyhajarvi  ~  6 months ago
              reply Reply

              This is not a question I need an answer for, it is a question your abstract leaves open.

              Having read your abstract now again, here's my expectation of what you do in the talk:

              • you open dev tools and show there is a way of monitoring memory
              • you show some other tools you have liked that give more insight to memory use than the ones that come out of the package
              • you don't talk about the architecture you assume is well done so that I could target my testing, so you'll probably tell me some hints of how to use to trigger memory leaks but not connect that to mistakes we may have made in our tech stack.
              • you mention perhaps that you could run this in CI and alarm on changes, but nothing in your description hints me at that.

              So I expect 20 minutes to show me tools I regularly see as I use devtools. I don't see why you (tell me a winning story on how knowing this changed your life) and I don't see the uniqueness of this story. I know it is there, but you have hidden it from sight for a normal reviewer. I'm trying to figure out with you how you could change the description to make it the most appealing version of memory leaks talk you can deliver.

              For 20 minute slot, I would "buy":

              • A tool I haven't seen that is better, in particular for integrating it with CI to track changes
              • A tool on top of other automation tools, and a great demo of its value
              • A collection of great examples of things we missed and their impact, with show of a basic tool that helps you pay attention to avoiding those problems.

              Right now based on the text I read, I would not "buy" this talk. So we need to up the "selling" and make it concrete on what it delivers.

               


    • Liked Jeremias Rößler
      keyboard_arrow_down

      Jeremias Rößler - recheck and the Sorcerer's Stone: Turning Selenium into Adamantium

      45 Mins
      Talk
      Intermediate

      Ever had that: after a simple change, suddenly 50+ tests are failing! Brittle tests that hinge on GUI specifics and result in the dreaded NoSuchElementException are a main headache when testing with Selenium.

      The open source project recheck offers a simple and elegant solution. Not only is a virtual identifier unaffected by UI changes, you can define it for otherwise hard to specify elements, i.e. that would require complex xpath or CSS selector expressions. And on top of that, tests are easier to create and maintain and yet much more complete in what they check. This talk gives a practical introduction to the underlying approach and the tool, complete with a life coding session.

    • Liked Parveen Khan
      keyboard_arrow_down

      Parveen Khan - Exploring a DevOps Transformation Like a Tester

      45 Mins
      Talk
      Beginner

      Just when we, as testers, got a handle on what Agile means for us, the landscape changed yet again to a DevOps culture. Words like continuous integration (CI), continuous deployment (CD), and pipelines are now ones we’re hearing on a daily basis. As a tester, I’ll admit, I had no clue of what these words meant, and how was I to change the way I tested to fit within this DevOps culture.

      Researching about DevOps provided some information, but it was still fuzzy how testing fits into this process. As opposed to panicking about yet another shift in culture, I decided to approach this with a tester’s mindset and explore it just as I would a new application.

      In this talk, I’ll share my journey of how illustrating models to visualize and understand CI/CD pipelines helped me; my various phases of exploration of the DevOps culture; and the thoughtful questions that I posed at each phase to learn more about this methodology. I’ll also share how my new understanding of DevOps influenced my decisions on which automated tests should be contributed to the CI/CD pipeline and at which stages.

    • Liked Nishi Grover Garg
      keyboard_arrow_down

      Nishi Grover Garg - The What, When and How of Test Automation

      45 Mins
      Talk
      Beginner

      With frequent time boxed releases and flexible requirements in agile teams, test automation faces numerous challenges. The most frequent issues being too much to automate and never enough time, automation lagging behind, flaky scripts that need too much maintenance and lack of skill, time & resources. Haven’t we all asked what to automate and how to go about the daily tasks with the automation cloud looming over our heads. Here we’ll discuss answers to some of these questions and try to outline a number of approaches that agile teams can take in their selection of what to automate, how to go about their automation and whom to involve, and when to schedule these tasks so that the releases are debt free and of best quality.

      What to Automate –> Regression averse approach | Selective approach | Sanity Automation | Max automation approach

      When to Automate –> End-of-Release | Sprint n-1 approach | Continuous automation

      How to Automate –> All hands approach | Shared Automation expert | Code-averse tool

      Understanding these possibilities, you can pick the right combination to form your own test automation strategies. Let us have a look at an integration of these possibilities, the possible combinations and what may or may not work!