Stress Testing is a Must

Mutiara Hana
Apr 18, 2018 · 4 min read

Just like you, mobile application and web need a little pressure to know their limits

Stress testing is the process of determining the ability of a computer, network, program or device to maintain a certain level of effectiveness under unfavorable conditions. The process can involve quantitative tests done in a lab, such as measuring the frequency of errors or system crashes. The term also refers to qualitative evaluation of factors such as availability or resistance to denial-of-service (DoS) attacks. Stress testing is often done in conjunction with the more general process of performance testing.

Performance Testing vs. Functional Testing

performance vs functional
performance vs functional

Understanding Your Application

The first type is a browser-based application. These applications are delivered directly through a mobile browser, without requiring any software to be downloaded or installed on the device. Browser-based applications are lightweight, centrally managed, and have an added benefit of being built on the same stack no matter what device they are delivered to — iPhone, Android, Microsoft, PC, or otherwise. But they don’t have access to all the features built into the device, and they tend to appear slower and more sluggish to end users.

Consider: While testing for performance, it is important to replicate the user server load from mobile browsers in case additional dedicated components are being deployed to cater such requests. It is also important to test Web page rendering on target devices (like CPU, memory or browser rendering engine) as it can affect end-user performance.

The second type is a native application (native app), which is has been developed to run on a particular platform using software installed directly on the device. Because native apps are written for a specific platform, they can interact with and take advantage of device-specific hardware and software, such as a global positioning systems (GPS), accelerometers, and cameras. Native apps also tend to be faster and more responsive to the user because much of the functionality runs locally on the device.

Consider: This leaves the development group with the task of having to develop and test diverging codebases — essentially different versions of the app — on each supported platform (iOS, Android, Blackberry, Windows Mobile, and so on). Since the code on each device is in fact different, testing a native application calls for thorough performance testing on each target platform as well as maintaining a set of test devices in each selected platform.

The third type is a hybrid application (hybrid app), which is an application that combines elements of both native and Web applications. These apps are typically composed of a native shell application that provides a fast, integrated experience with the device, but the content, business logic, and even the rendering of the user interface is done with an embedded browser.

Consider: Hybrid mobile applications still require separate development efforts and pools of testing devices. However, they don’t demand as much rigor in testing since much of the codebase is in fact shared. Again, a performance test strategy has to target the load generated by users of such hybrid apps on the server-side, as well as gauge the on-device application performance from an end user experience perspective.

Benefits of stress testing

  • Synchronization and timing bugs
  • Interlock problems
  • Priority problems
  • Resource loss bugs
  • Memory leaks
  • Data loss & corruption

Utilizing stress testing tools

Here list of Performance testing tools

  1. LoadUI Pro
  2. StresStimulus
  3. Load View
  4. NeoLoad
  5. Apache Jmeter
  6. HP Performance Tester (LoadRunner)
  7. WebLOAD
  8. Silk Performer
  9. Rational Performance Tester
  10. SmartMeter.io
  11. AppLoader

Reaching the Breaking Point

While extreme load conditions rarely appear in production, never underestimate the potential for their occurrence.

SkyshiDigital

We help scale up your startup to the next level

Mutiara Hana

Written by

SkyshiDigital

We help scale up your startup to the next level