<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sofia Palamarchuk</title>
    <description>The latest articles on DEV Community by Sofia Palamarchuk (@sofiapalamarchuk).</description>
    <link>https://dev.to/sofiapalamarchuk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F407182%2F8534f2c2-27fc-4906-988a-9628e75f8850.jpeg</url>
      <title>DEV Community: Sofia Palamarchuk</title>
      <link>https://dev.to/sofiapalamarchuk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sofiapalamarchuk"/>
    <language>en</language>
    <item>
      <title>How to Add Performance Metrics to Your Appium Tests</title>
      <dc:creator>Sofia Palamarchuk</dc:creator>
      <pubDate>Tue, 08 Sep 2020 16:31:41 +0000</pubDate>
      <link>https://dev.to/sofiapalamarchuk/how-to-use-apptim-in-mobile-app-automation-46dk</link>
      <guid>https://dev.to/sofiapalamarchuk/how-to-use-apptim-in-mobile-app-automation-46dk</guid>
      <description>&lt;p&gt;&lt;em&gt;In this post, I will show how you can get mobile performance data using Apptim while running Appium automated functional tests.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6w45h1eheylt0c8ob8vj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6w45h1eheylt0c8ob8vj.png" alt="Alt Text" width="800" height="531"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For anyone involved in the development of a mobile app, being able to test it thoroughly and even automate some of the process is a huge relief and time saver. This is where mobile app automation becomes important. &lt;/p&gt;

&lt;p&gt;There are many ways that testers and developers can find out about bugs and potential issues in their app. &lt;a href="https://bit.ly/35iRwgz" rel="noopener noreferrer"&gt;Apptim&lt;/a&gt; is a mobile performance testing tool that can be used during manual app testing, exploratory testing, and debugging. And lately, many Apptim users have been wondering if there’s a way to use it along with their automated tests. &lt;/p&gt;

&lt;p&gt;The answer is, yes!&lt;/p&gt;

&lt;p&gt;Appium is an open source tool that enables you to write automated UI tests for Android and iOS apps. In order to use Appium, you will need to install the Appium server and create some tests for your app. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In this post, I will show you how you can use both tools together for more complete mobile app testing in just three simple steps:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;1- Run Appium Java tests on an iOS app&lt;/p&gt;

&lt;p&gt;2- Install Apptim and run a test&lt;/p&gt;

&lt;p&gt;3- Review the Apptim report&lt;/p&gt;

&lt;h1&gt;
  
  
  Example of How to Use Apptim with Appium
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1- Run Appium Java tests on an iOS app
&lt;/h2&gt;

&lt;p&gt;For this example, we will be using IntelliJ to write and run our tests in Java. We created a class called DemoApptimTest, where we set up our desired capabilities. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2lmgy8ezvu2nl1190lqj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2lmgy8ezvu2nl1190lqj.png" alt="Alt Text" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We then created three tests for our iOS retail app: filter a category, select a product and add a product to cart. We’ll use Java to write our tests and TestNG as the test runner.&lt;/p&gt;

&lt;p&gt;Example of a test to filter products by category, “Phone”:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ft1025xj68e4zqc1zxbpt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ft1025xj68e4zqc1zxbpt.png" alt="Alt Text" width="800" height="189"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can debug and run the Appium tests from inside IntelliJ.&lt;/p&gt;

&lt;h2&gt;
  
  
  2-  Install Apptim and run a test
&lt;/h2&gt;

&lt;p&gt;We then download the Apptim Mac desktop application from &lt;a href="https://www.apptim.com/download#utm_source=apptim&amp;amp;utm_medium=article&amp;amp;utm_content=mobile-app-automation" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Apptim requires installing some dependencies, which it will list for you, and after clicking “Install Dependencies,” it will begin to install them for you if they are not installed already. &lt;/p&gt;

&lt;p&gt;We already have our retail app installed in an iPhone. To start a test, we will simply connect the device to our Mac through a USB cable and open Apptim. &lt;/p&gt;

&lt;p&gt;Then, Apptim will ask what type of test we’d like to run. In this example, we will be running our Appium tests and we want Apptim to capture the app performance data. So, we’ll choose the exploratory tests option when prompted, and put a name to our test. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwx3xy49x8h6leq1h3ucb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwx3xy49x8h6leq1h3ucb.png" alt="Alt Text" width="800" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apptim will start recording everything that happens in the app. We now go back to our IntelliJ IDE and click on “Run” to run the Appium tests. Make sure you have the Appium server running before starting the tests. At this point, the automated tests will exercise the app and Apptim will record everything and generate a report at the end. &lt;/p&gt;

&lt;p&gt;Once the Appium tests are done, we click on “End Session” in Apptim and wait for the test session report (which will be generated automatically). &lt;/p&gt;

&lt;h2&gt;
  
  
  3- Review the Apptim report
&lt;/h2&gt;

&lt;p&gt;Once we’ve finished our test session, Apptim will generate a report with a summary of all of the performance data that it has automatically captured for us while the Appium tests were running. We can open this report locally or &lt;a href="https://help.apptim.com/en/articles/4168784-publish-a-report-to-a-workspace" rel="noopener noreferrer"&gt;publish it to our Apptim cloud workspace&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fesniajqmusn3ow56yljj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fesniajqmusn3ow56yljj.png" alt="Alt Text" width="800" height="580"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are some screenshots that the Apptim Report generated for our retail app:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkmyjb92cvw3yb1vi5ptc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkmyjb92cvw3yb1vi5ptc.png" alt="Alt Text" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here we can see how the memory usage was increasing over time:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhtgf8cc50yz7zecrxfzz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhtgf8cc50yz7zecrxfzz.png" alt="Alt Text" width="800" height="263"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can check the full report &lt;a href="https://report.apptim.com/public/ed988759-b671-11ea-917c-125c374dcc32-ec656a40-96fa-4220-9681-8606f601c913/report/report/index.html#summary_apple_iphone10-1_d20ap_mq6k2_a15bc288f0b7cb8977c35c51da3cce0fba4d6871" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With just a click of a button, Apptim captured a lot of insights for us! &lt;/p&gt;

&lt;h1&gt;
  
  
  More Resources
&lt;/h1&gt;

&lt;p&gt;To learn more about the different mobile performance metrics that Apptim covers in its reports, check out &lt;a href="https://blog.apptim.com/how-to-test-mobile-app-performance-3-key-ways/" rel="noopener noreferrer"&gt;this article&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Check out &lt;a href="https://www.blazemeter.com/blog/mobile-performance-testing-with-BlazeMeter-and-Apptim#utm_source=apptim&amp;amp;utm_medium=article&amp;amp;utm_content=mobile-app-automation" rel="noopener noreferrer"&gt;this blog post&lt;/a&gt; where I cover how to run automated tests with Apptim using the open source tool, Taurus.&lt;/p&gt;

&lt;h1&gt;
  
  
  Get More Out of Mobile App Automation
&lt;/h1&gt;

&lt;p&gt;These days, mobile performance is more crucial than ever, but it’s also a challenge to gain visibility into all of the factors that impact it. &lt;/p&gt;

&lt;p&gt;Apptim provides easy-to-read reports to check mobile app performance, review logs, and crash details while going about your manual or automated functional tests. Teams can now release new versions of their app with confidence by getting full visibility on app performance trend with minimal effort.&lt;/p&gt;

&lt;p&gt;I hope you found this article useful and feel better prepared to add a performance test to our current mobile app automation efforts! &lt;/p&gt;

</description>
    </item>
    <item>
      <title>16 Best Podcasts on Software Testing</title>
      <dc:creator>Sofia Palamarchuk</dc:creator>
      <pubDate>Fri, 14 Aug 2020 05:07:40 +0000</pubDate>
      <link>https://dev.to/sofiapalamarchuk/16-best-podcasts-on-software-testing-14bi</link>
      <guid>https://dev.to/sofiapalamarchuk/16-best-podcasts-on-software-testing-14bi</guid>
      <description>&lt;p&gt;Podcasting has been around since 2004, but now in 2020, it’s safe to say that we’ve entered the golden age for podcasting. &lt;/p&gt;

&lt;p&gt;According to Podcast Insights, there are over one million active podcast shows with over 30 million episodes. &lt;/p&gt;

&lt;p&gt;As with the growth of vlogging and youtube, podcasting has exploded because it’s one of the easiest ways for anyone to cultivate or reach out to an audience, no big-time contracts or middleman required! &lt;/p&gt;

&lt;p&gt;There’s a podcast out there for absolutely everyone on just about any topic, whether it’s broad or the nichest of niches. &lt;/p&gt;

&lt;p&gt;If any devs in this community want to learn more about testing, then boy do I have a good list of podcasts for you!&lt;/p&gt;

&lt;h2&gt;
  
  
  Software Testing Podcasts
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. AB Testing
&lt;/h3&gt;

&lt;p&gt;Known for his popular weekly blog posts, “5 for Fridays”, Alan Page, aka “Angry Weasel” and friend, Brent, created this podcast to talk about modern testing including topics like Agile, data, leadership and more. There is a great community around this podcast and it’s a very fun one to listen to. Recently, they started live streaming the podcast on Youtube, so you can catch them chatting there as well! &lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.angryweasel.com/ABTesting/" rel="noopener noreferrer"&gt;https://www.angryweasel.com/ABTesting/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. The Evil Tester Show
&lt;/h3&gt;

&lt;p&gt;The Evil Tester Show is a software testing show produced by test expert, Alan Richardson. He discusses software testing and related topics from software development like test automation. &lt;/p&gt;

&lt;p&gt;His reason for creating the podcast? “TLDR; The world needs another Software Testing Podcast. So I created one.” Alan is insanely knowledgeable about testing and views it from a programmer’s perspective, which makes it all the more interesting.&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.eviltester.com/show/" rel="noopener noreferrer"&gt;https://www.eviltester.com/show/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The Guilty Tester
&lt;/h3&gt;

&lt;p&gt;The Guilty Tester stated the purpose of their podcast very bluntly, “Do you ever feel guilty for not meeting the standards set by others in the Software Testing community? You’re in the right place then.” &lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://theguiltytester.libsyn.com/" rel="noopener noreferrer"&gt;https://theguiltytester.libsyn.com/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Let’s Talk About Tests, Baby
&lt;/h3&gt;

&lt;p&gt;The show with perhaps the best name on this list, “Let’s Talk About Tests” is a podcast with over 100 episodes on software testing, QA and Agile. Created by Gem Hill, she decided to start the podcast to help herself learn and become a better tester. &lt;/p&gt;

&lt;p&gt;Website: &lt;a href="http://letstalkabouttests.xyz/" rel="noopener noreferrer"&gt;http://letstalkabouttests.xyz/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. TestGuild Podcasts
&lt;/h3&gt;

&lt;p&gt;There are three TestGuild weekly podcasts, one for automation, security, and performance hosted by Joe Colantonio, which geek out on all things software testing. In each episode, he has a different guest who brings their perspective to the table. You might recognize Joe as the creator of the online conferences: TestingGuild, PerformanceGuid, AutomationGuild, and SecureGuild. &lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://testguild.com/podcast/" rel="noopener noreferrer"&gt;https://testguild.com/podcast/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. The Ministry of Testing Podcast
&lt;/h3&gt;

&lt;p&gt;The Ministry of Testing is a very special community online that is completely dedicated to building up the testing profession and helping testers learn. Its podcast is made of interviews of software testing experts that discusses specific software testing topics. The podcast also delves into non-technical topics such as office culture improvement and diversity and inclusion. &lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://dojo.ministryoftesting.com/dojo/series/podcast-series-ministry-of-testing" rel="noopener noreferrer"&gt;https://dojo.ministryoftesting.com/dojo/series/podcast-series-ministry-of-testing&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Perfbytes
&lt;/h3&gt;

&lt;p&gt;Perfbytes is a podcast managed by Leandro Melendez, Brian Wilson, James Pulley, and Mark Tomlinson. All four of whom are experts with impeccable experience in performance and load testing, having worked for large organizations. The podcasts are mainly centered around software testing tools and conferences. A great thing about it is that there is also Perfbytes Español for Spanish speaking listeners. &lt;/p&gt;

&lt;p&gt;Website: &lt;a href="http://www.perfbytes.com/" rel="noopener noreferrer"&gt;http://www.perfbytes.com/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Quality Coaching Roadshow
&lt;/h3&gt;

&lt;p&gt;Tune into this monthly podcast hosted by Anne-Marie Charrett and Margaret Dineen to listen to the unique challenges and the context of Quality Coaches from around the world. Anne-Marie Charrett is an internationally recognized expert in quality engineering and Margaret Dineen is Director of 3WestStreet and the founder of Encompass Testing. &lt;/p&gt;

&lt;p&gt;Listen here: &lt;a href="https://www.spreaker.com/show/quality-coaching" rel="noopener noreferrer"&gt;https://www.spreaker.com/show/quality-coaching&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  9. Quality Remarks
&lt;/h3&gt;

&lt;p&gt;This is a podcast about software testing and quality management produced by Keith Klain, which seems to be becoming active after a hiatus. In the latest episodes, you can find guests like Michael Bolton, Rob Lambert or Anne Marie Charrett. Klain is a professional with over 20 years of experience managing enterprise-wide quality programs for financial services and global IT consulting firms, so there is much to learn from his show!&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.listennotes.com/podcasts/quality-remarks-the-podcast-keith-klain-df-EmybMrei/" rel="noopener noreferrer"&gt;https://www.listennotes.com/podcasts/quality-remarks-the-podcast-keith-klain-df-EmybMrei/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Quality Sense
&lt;/h3&gt;

&lt;p&gt;Quality Sense was created by Abstracta co-founder and COO, Federico Toledo, with the aim of helping to share knowledge about topics related to software testing through weekly one-on-one chats with different guests and personalities in the field of testing. Listen for insights on today’s most pressing topics and good practices from the creators and collaborators of different software testing tools, methodologies, conferences, etc.&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="//qualitysensepodcast.com"&gt;qualitysensepodcast.com&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  11. Test and Code
&lt;/h3&gt;

&lt;p&gt;Test and Code is a well-established podcast produced by Brian Okken covering a wide array of topics related to software engineering and testing, especially around the Python language. It focuses on testing and process questions like “How do I know it works?”, “How do I effectively test?”, etc. The podcast even has a Slack community! &lt;/p&gt;

&lt;p&gt;Website: &lt;a href="http://testandcode.com/" rel="noopener noreferrer"&gt;http://testandcode.com/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  12. Tester’s Island Discs
&lt;/h3&gt;

&lt;p&gt;What would you do if you were stuck on an island with only five songs and one book to keep with you? That is the idea behind tester’s island, another podcast by the Ministry of Testing community. In each episode, Neil Studd interviews one of the members of the global QA community and asks them that very question. This is a great, light-hearted show which is of course, not purely about testing, yet very insightful.&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.ministryoftesting.com/dojo/series/testers-island-discs-podcast" rel="noopener noreferrer"&gt;https://www.ministryoftesting.com/dojo/series/testers-island-discs-podcast&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  13. Testing One-on-One
&lt;/h3&gt;

&lt;p&gt;This podcast was created by Rob Lambert and Joel Montvelisky wherein each episode, they answer a number of interesting questions from testers and that focus around a number of different areas of the software testing profession. Rob and Joel have decades of combined experience in testing and management and are very well known for their high quality software testing content.&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://qablog.practitest.com/podcast/" rel="noopener noreferrer"&gt;https://qablog.practitest.com/podcast/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  14. Testing Peers
&lt;/h3&gt;

&lt;p&gt;The Testing Peers is a newer software testing podcast produced by four like-minded software testers. Initially, they formed a group chat wherein they would discuss certain issues, rant, and ask for advice. The group chat then became a Slack community, but they still wanted another forum for discussion. So, they launched this podcast wherein they come together to support and challenge each other on their journeys as software testers and leaders. &lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://testingpeers.com/" rel="noopener noreferrer"&gt;https://testingpeers.com/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  15. That’s a Bug!
&lt;/h3&gt;

&lt;p&gt;In each monthly episode of “That’s a Bug!” the hosts discuss one specific bug. For example, in one episode, they discussed a particular Boeing 787 bug that required the aircraft to be restarted every 51 days or else it could cause a loss of control. If you ever needed a podcast to convince others that there’s tremendous value in software testing, this would surely be it!&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://thatsabug.podbean.com" rel="noopener noreferrer"&gt;https://thatsabug.podbean.com/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  16. Women Who Change Tech
&lt;/h3&gt;

&lt;p&gt;The Women Who Change Tech podcast from Women Who Test highlights women who are contributing, trailblazing, and disrupting in the business of technology. In each episode, hosts Alison Wade, president of TechWell and founder of Women Who Test, and Jessie Shternshus, owner of Improv Effect offer a dose of inspiration from some of the most talented and creative women who are changing the face of technology. Many of the episodes center around leadership, creativity, and the soft skills needed to succeed.&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.womenwhotest.com/" rel="noopener noreferrer"&gt;https://www.womenwhotest.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know, are there any other software testing podcasts worth adding to this list? Leave a comment! Thanks to my friend, Kalei, for helping me write this.&lt;/p&gt;

</description>
      <category>testing</category>
      <category>podcast</category>
      <category>leadership</category>
    </item>
    <item>
      <title>How to Test Mobile App Performance with Apptim</title>
      <dc:creator>Sofia Palamarchuk</dc:creator>
      <pubDate>Fri, 14 Aug 2020 04:45:21 +0000</pubDate>
      <link>https://dev.to/sofiapalamarchuk/how-to-test-mobile-app-performance-with-apptim-3436</link>
      <guid>https://dev.to/sofiapalamarchuk/how-to-test-mobile-app-performance-with-apptim-3436</guid>
      <description>&lt;p&gt;&lt;em&gt;Hey guys! I'm co-founder and CEO of &lt;a href="https://www.apptim.com/#utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_content=mobile-performance-testing-apptim" rel="noopener noreferrer"&gt;Apptim&lt;/a&gt;. In this post, I want to share with the world why we built this free tool and how you can use it for mobile performance testing.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Testing mobile performance can seem tricky and time consuming, but it’s an aspect of the mobile user experience that developers and testers can’t overlook in 2020.  &lt;/p&gt;

&lt;p&gt;According to Google, &lt;strong&gt;70 percent of users abandon an app because it takes too long to load.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Similarly, App Samurai has found that 70 percent of app uninstalls are due to app crashes. &lt;/p&gt;

&lt;p&gt;These are both negative consequences related to poor mobile app performance that brands must avoid if they want their apps that they’ve poured so much time and energy into making to be a success.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mobile performance involves measuring, analyzing and optimizing an application under different circumstances, to increase its robustness and reliability.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.apptim.com/#utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_content=mobile-performance-testing-apptim" rel="noopener noreferrer"&gt;Apptim&lt;/a&gt; can be used during development and testing to catch critical bugs faster and identify performance issues in an app without the need to install an SDK or change the source code.&lt;/p&gt;

&lt;p&gt;This makes it easy for manual testers, developers, and even product owners to run a test. &lt;/p&gt;

&lt;p&gt;It automatically measures app render times, power consumption, and resource usage while capturing crashes and more on Android and iOS devices, providing developers with the visibility they need to improve performance and enhance the user experience.&lt;/p&gt;

&lt;p&gt;Once you’ve installed Apptim, you can run your first test and obtain performance results in as little as five minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  In this post, I will share how to use Apptim to capture client side performance data using the Android demo app developed by AWS.
&lt;/h3&gt;

&lt;p&gt;These are the steps we’ll follow to test mobile performance with Apptim:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Install Apptim Desktop &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install the demo app&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run a test&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Review and share your results&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1 – Install Apptim Desktop
&lt;/h2&gt;

&lt;p&gt;There’s a simple two-step process to configure Apptim Desktop. &lt;/p&gt;

&lt;p&gt;First, you can create an account on the Apptim website and then download the Windows or iOS desktop application. Apptim requires installing some dependencies, which it will list for you, and after clicking “Install Dependencies,” it will begin to install them for you if they are not already installed on your computer. &lt;/p&gt;

&lt;p&gt;After the installation process is completed, you will see Apptim’s home screen.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7d96f7reqz1kq8txbg3x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7d96f7reqz1kq8txbg3x.png" alt="Apptim home screen image" width="800" height="584"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2 – Install the demo app
&lt;/h2&gt;

&lt;p&gt;You can download the Android demo app from here. Then, connect your Android phone to your PC or Mac using a USB cable. Make sure to follow these instructions to correctly allow Apptim to access the device later in the test.&lt;/p&gt;

&lt;p&gt;If you were to test an iOS app, you would follow all these same steps, except instead of connecting an Android device, you would use an iPhone or iPad and your Mac.&lt;/p&gt;

&lt;p&gt;You can install the demo app in the Android device by executing the following command from the Terminal in Mac or Command line in Windows: adb install &lt;/p&gt;

&lt;p&gt;Make sure to run this command from inside the ../android-sdk/platform-tools/ folder or add the Android SDK directory to your path. &lt;/p&gt;

&lt;h2&gt;
  
  
  3 – Run a test
&lt;/h2&gt;

&lt;p&gt;Once you have the demo app installed in your device and the device is connected to your PC or Mac through USB, you are ready to start a test with Apptim! &lt;/p&gt;

&lt;p&gt;Go to Apptim and click “Start a new test,” it will ask you to select your mobile device and then you can choose the app on the device that you want to test or search for it by name. Here you will search for “ReferenceApp” and then choose the app from the list.&lt;/p&gt;

&lt;p&gt;Then, it will ask what type of test you’d like to run. Currently, only exploratory tests are supported, but in the future, there will be the option to run a bot test.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8kkpcuzo08zksbh1b3sj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8kkpcuzo08zksbh1b3sj.png" alt="pick your apptim test type screenshot" width="800" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, it will ask you to add a name to your test and press “Start” to begin your exploratory testing session.&lt;/p&gt;

&lt;h3&gt;
  
  
  During the test
&lt;/h3&gt;

&lt;p&gt;At any moment during your testing session, you can choose to report a bug or take a note. You can end your testing session anytime by clicking on “End Session.”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fn1v6lcrjse30iy1tmgm0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fn1v6lcrjse30iy1tmgm0.png" alt="apptim screenshot" width="800" height="583"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Report a bug
&lt;/h3&gt;

&lt;p&gt;When you click on “Report bug,” you will be prompted with a new screen where you can give the bug a title and description, add a tag, and attach a video and screenshot that were automatically captured. You also have the option to edit the screenshot.&lt;/p&gt;

&lt;h3&gt;
  
  
  Take a note
&lt;/h3&gt;

&lt;p&gt;When you click on Take a note, you will be prompted with a new screen where you can write a Note, a Risk identified, an Idea, or just a To do as a reminder for later. You can also attach a screenshot. &lt;/p&gt;

&lt;h3&gt;
  
  
  Review session
&lt;/h3&gt;

&lt;p&gt;Once you end your testing session, you will see a summary with bugs, ideas, risks, and notes taken.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzc4xcqof19fl3v337uhi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzc4xcqof19fl3v337uhi.png" alt="Apptim session review screenshot" width="800" height="588"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here you will also have a list of all bugs captured and within each bug, the option to publish a bug to your workspace and publish a bug to Jira.&lt;/p&gt;

&lt;h2&gt;
  
  
  4 – Review and share your results
&lt;/h2&gt;

&lt;p&gt;Once you’ve finished your test session, Apptim generates a report with a summary of all of the performance data that it has automatically captured for you while you were testing the app’s functionality. &lt;/p&gt;

&lt;p&gt;You can publish the test session report to your workspace in the Apptim Cloud and then share it with other team members. You have the option to share it privately, by adding team members to the workspace, or publicly, by generating a link.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ftorcqh4sjsdy01lpy9cs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ftorcqh4sjsdy01lpy9cs.png" alt="example apptim report" width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In each Apptim report, you’ll find:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A screen recording of the device during the execution of the exploratory session&lt;/li&gt;
&lt;li&gt;Alerts and warnings related to the user experience (nested layouts, screen controls, rendering times, etc )&lt;/li&gt;
&lt;li&gt;Alerts and warnings related to the usage of device resources (CPU, Memory, Threads, Power Usage, Network Data), with reference thresholds, shown in yellow or red depending on their severity&lt;/li&gt;
&lt;li&gt;Test environment data (device, app, version info, etc)&lt;/li&gt;
&lt;li&gt;Crashes/​exceptions details with associated screenshots, and the exact minute of the session in which it happened in order to locate the specific moment in the video&lt;/li&gt;
&lt;li&gt;Detail of resource usage with associated graphs&lt;/li&gt;
&lt;li&gt;Logs and downloadable artifacts collected during the test&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here are some screenshots of what an Apptim Report includes:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4sytz7qxuze2j18ym85b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4sytz7qxuze2j18ym85b.png" alt="Apptim report screenshot 1" width="800" height="256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fesrx78zovbnyfuvusgqw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fesrx78zovbnyfuvusgqw.png" alt="Apptim report screenshot 2" width="800" height="278"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here you can also see an &lt;a href="https://report.apptim.com/public/ed988759-b671-11ea-917c-125c374dcc32-ec656a40-96fa-4220-9681-8606f601c913/report/report/index.html#summary_apple_iphone10-1_d20ap_mq6k2_a15bc288f0b7cb8977c35c51da3cce0fba4d6871" rel="noopener noreferrer"&gt;example of an iOS Apptim report&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;To learn more about these different mobile performance metrics, check out &lt;a href="https://blog.apptim.com/how-to-test-mobile-app-performance-3-key-ways/" rel="noopener noreferrer"&gt;this article&lt;/a&gt;. To understand more specifically about understanding Apptim reports, check out &lt;a href="https://help.apptim.com/en/collections/2220685-understanding-apptim-report" rel="noopener noreferrer"&gt;these docs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I'd love to know what you think! Give Apptim a try? :)&lt;/p&gt;

</description>
      <category>ios</category>
      <category>android</category>
      <category>testing</category>
      <category>performance</category>
    </item>
    <item>
      <title>How to Test Mobile App Performance (iOS &amp; Android): 3 Key Factors</title>
      <dc:creator>Sofia Palamarchuk</dc:creator>
      <pubDate>Thu, 18 Jun 2020 21:58:34 +0000</pubDate>
      <link>https://dev.to/sofiapalamarchuk/how-to-test-mobile-app-performance-ios-android-3-key-factors-hbe</link>
      <guid>https://dev.to/sofiapalamarchuk/how-to-test-mobile-app-performance-ios-android-3-key-factors-hbe</guid>
      <description>&lt;p&gt;In this post, I’ll go over the different factors and scenarios that impact a mobile app’s performance. I’ll also explain how to test mobile app performance in the different ways that matter including which tools and metrics should be involved.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
You’ve probably interacted with an app on your phone or tablet that’s slow, takes a long time to load, freezes or even crashes on you altogether. &lt;/p&gt;

&lt;p&gt;Frustrating, right?&lt;/p&gt;

&lt;p&gt;On the flip side, we’ve all experienced apps that, from day one, have never given us any trouble and we love them for working so fast and effectively. &lt;/p&gt;

&lt;p&gt;Or, we haven’t even thought about it all because isn’t that how they should be?&lt;/p&gt;

&lt;p&gt;What causes one app to be crash-prone and another, fast and reliable? &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Whether an app has good or bad performance depends on three factors combined: the backend, the network, and the app itself running on the device.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;A developer or mobile tester can measure the performance of an application in different scenarios.&lt;/p&gt;

&lt;p&gt;For example, they can test for when there’s a concurrency of users on the app at the same time, on different devices (which vary in hardware resources and screen sizes), and multiple networks such as 3G, 4G, Wifi, and more.&lt;/p&gt;

&lt;p&gt;The reality is that there are many variables that affect the performance of a mobile application. Moreover, a user may have a very bad experience with your app and the cause might not even have anything to do with the code or its implementation.&lt;/p&gt;

&lt;p&gt;But, by running performance tests for each of these three factors, you’ll be able to identify problems and optimize your app for the best user experience possible. &lt;/p&gt;

&lt;p&gt;Keep reading as we’ll cover the different types of tests for each factor, what to measure, and what tools are available to help you along the way. &lt;/p&gt;

&lt;h2&gt;1st mobile performance factor: the backend&lt;/h2&gt;

&lt;p&gt;A mobile app’s backend architecture is generally based on an application server, a web server and a database. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;When it comes to the backend, the things related to performance that are important to know when an app is under load are the server’s response times, database queries times, and the server’s resource usage.&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;Using this information, it’s easier to detect issues such as: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High server response times&lt;/li&gt;
&lt;li&gt;Bottlenecks or breakpoints in the database and application server resources&lt;/li&gt;
&lt;li&gt;Poor implementation of escalation policies &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So what kind of tests are normally run to check the app’s backend performance? Load tests. &lt;/p&gt;

&lt;p&gt;This is when you simulate load on the backend in different ways, whether it be through stress testing, peak testing, endurance testing, load testing, etc. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;In general, the objective of these tests is to understand how the backend systems of an app behave and handle a certain volume of concurrent users.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;There are several tools that allow you to load test your mobile app. The most commonly used ones include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Apache JMeter&lt;/b&gt; – the number one open source load testing tool&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Gatling&lt;/b&gt; – a developer-friendly, open source load testing tool with scripts written in Scala&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;BlazeMeter&lt;/b&gt; – a cloud performance testing platform that scales your JMeter or Gatling tests for a greater amount of concurrent users&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;2nd mobile performance factor: the network&lt;/h2&gt; 

&lt;p&gt;With regards to the network that the device is connected to, there are two key things to measure: latency and bandwidth.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Latency&lt;/b&gt; is the time that elapses when information is sent on the network (measured in milliseconds).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Bandwidth&lt;/b&gt; is the maximum capacity (the amount of data) that can be transmitted through the network (measured in bits per second). &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3jxq4puqce0vorf4f5re.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3jxq4puqce0vorf4f5re.jpg" alt="Alt Text" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For mobile performance, the lower the latency and the higher the bandwidth, the better.&lt;/p&gt;

&lt;p&gt;An app’s performance can vary depending on, for example, whether it’s connected to a 3G network or a 4G network, and unfortunately, this is beyond an app developer or tester’s control. &lt;/p&gt;

&lt;p&gt;But, it is possible to incorporate the network during the mobile app performance testing process, simulating the different types of networks and measuring their impact on the response times, both on the server side and the client side.&lt;/p&gt;

&lt;p&gt;Luckily, the third factor is something that’s been overlooked for years and we now have ways to incorporate it into our test cycles and gain greater control over it. &lt;/p&gt;

&lt;h2&gt;3rd mobile performance factor: the client&lt;/h2&gt;

&lt;p&gt;For a mobile app, the client is the software that runs on the device, the app itself. &lt;/p&gt;

&lt;p&gt;With client-side testing, the variety of devices, operating systems and screen sizes of a device that an app is running on comes into play.&lt;/p&gt;

&lt;p&gt;Today there are thousands of mobile devices on the market which vary by brand, hardware and operating system. &lt;/p&gt;

&lt;p&gt;And each year, it becomes more and more difficult to ensure that an app works well on most of the devices on the market because the amount only continues to grow. &lt;/p&gt;

&lt;p&gt;This image below shows the different Android versions in use over the past seven years: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fei7kma7ggdurxzurixmm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fei7kma7ggdurxzurixmm.png" alt="Alt Text" width="800" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here are the different versions that were used in just 2019:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsvkag44yvlt89e7grko1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsvkag44yvlt89e7grko1.png" alt="Alt Text" width="800" height="504"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In 2019, you needed to test on at least 6 different devices with OS’s going from Lollipop 5.0 to Pie 9.&lt;/p&gt;

&lt;p&gt;Fortunately, unlike Android developers, iOS developers’ lives are a bit easier as the iOS community consists of fewer devices and operating systems.  &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Testing client-side performance allows you to understand how the app behaves on a device and how it uses the resources that it shares with other apps.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Running tests for client side performance, you’ll also be able to find areas to improve that you do have control over (unlike the network), resulting in a better user experience.  &lt;/p&gt;

&lt;p&gt;It's critical that any mobile app development team integrate client-side performance testing into its test cycle.&lt;/p&gt;

&lt;p&gt;There are several areas with different metrics you can gather to understand client side mobile app performance:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Device resource usage:&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;% CPU &lt;/li&gt;
&lt;li&gt;Memory (Mb)&lt;/li&gt;
&lt;li&gt;Data sent and received by the application (Kb)&lt;/li&gt;
&lt;li&gt;% Battery usage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Rendering:&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Render time (ms)&lt;/li&gt;
&lt;li&gt;Frames per second (fps)&lt;/li&gt;
&lt;li&gt;Render lag (janks)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Errors:&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exceptions&lt;/li&gt;
&lt;li&gt;ANR (Application Not Responding) in Android&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Transaction response time,&lt;/b&gt; which can also be measured from the user perspective but involves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server response times &lt;/li&gt;
&lt;li&gt;Database response time &lt;/li&gt;
&lt;li&gt;Network latency&lt;/li&gt;
&lt;li&gt;Screen drawing time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you’ve got all of this information, you can uncover critical problems such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Memory leaks&lt;/b&gt;: when an app doesn’t free up memory well, it increases until it runs out of available memory and then crashes &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Screen freezes&lt;/b&gt;: due to very high rendering times&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;b&gt;Crashes&lt;/b&gt;: exceptions that jump in the app and cause it to suddenly close… bummer!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For native apps, there are profiling tools such as Android Studio and Instruments (for Android and iOS respectively). &lt;/p&gt;

&lt;p&gt;These tools are of great help when debugging an app and finding the root of certain kinds of performance problems.&lt;/p&gt;

&lt;p&gt;In addition to Android Studio and Instruments, you can also use &lt;a href="https://bit.ly/37G8HIg" rel="noopener noreferrer"&gt;&lt;b&gt;Apptim&lt;/b&gt;&lt;/a&gt;, the tool we've launched at my startup to give entire development teams access to mobile app performance information and KPIs, where anyone can quickly and easily run tests.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;With &lt;a href="https://bit.ly/37G8HIg" rel="noopener noreferrer"&gt;&lt;b&gt;Apptim&lt;/b&gt;&lt;/a&gt;, you can test all of your native apps’ performance with just one tool, instead of one for Android and one for iOS and also compare performance over time.&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ft3olcil9b7dj7yvblbds.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ft3olcil9b7dj7yvblbds.png" alt="Alt Text" width="800" height="465"&gt;&lt;/a&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyb981zhr3qkd7pv8augd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyb981zhr3qkd7pv8augd.png" alt="Alt Text" width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Test mobile app performance as early as possible&lt;/h2&gt;

&lt;p&gt;Now, you may be wondering, “At what point in the development cycle should I start running client-side performance testing?”&lt;/p&gt;

&lt;p&gt;If you ask me… start as soon as possible. &lt;/p&gt;

&lt;p&gt;If you start testing early on, from the first version of your app, you’ll give yourself more time to understand how it behaves, get familiarized with client side metrics, and run these tests alongside functional ones in each sprint. &lt;/p&gt;

&lt;p&gt;Another advantage of testing early is you can test on different devices at your disposal as well as understand how these metrics evolve over time. &lt;/p&gt;

&lt;p&gt;It’s important to understand how the metrics change over time so you can identify what changes to the app alter its performance (find performance regressions) and have more time to remedy degradations.&lt;/p&gt;

&lt;p&gt;This helps a developer understand how the decisions they make affect performance and ultimately, avoid disappointing users when they find that the app is running slower than usual.&lt;/p&gt;

&lt;p&gt;I hope this post provided you an overview on how to test mobile app performance! &lt;/p&gt;



&lt;p&gt;Have any questions? Leave a comment!&lt;/p&gt;

</description>
      <category>testing</category>
      <category>ios</category>
      <category>android</category>
    </item>
  </channel>
</rss>
