Super Mario Run: Why Gaming Needs Robust Software Testing

DZone 's Guide to

Super Mario Run: Why Gaming Needs Robust Software Testing

Games like the recently released Super Mario Run are proof of why software testing remains so crucial in the current scenario of digitization.

· Mobile Zone ·
Free Resource

In a recent press release, Nintendo Co., Ltd. declared that they have surpassed 40 million downloads worldwide in just four days for the “Super Mario Run” app, released on the App Store. Super Mario Run was launched in the previous week amidst much keenness as Nintendo’s first real appearance in the iOS gaming marketplace.

Phil Schiller, Senior Vice President, Worldwide Marketing, Apple, USA, said:

“Super Mario Run breached the record of the previous App Store and set up an incredible record of more than 40 million downloads in only four days. We are enjoying the Northern Kingdom with the people of Nintendo. I would like to congratulate tens of millions of iOS users.”

Another aspect to the recent Super Mario Run game is its pricing. The enterprise did not divulge as to how many of those 40 million downloads converted into actual paying customers. It is worthwhile to note that users have been reluctant to pay for the game, and quite a few are of the opinion that there are better-designed games available virtually for free. Because the developers that design the game need to be paid and the servers hosting the game need to be kept running, most games charge players in installments in the form of optional microtransactions.

Whatever may be the verdict of the day, the world of gaming can finally be seen embracing the mobile platform, with games such as Pokémon Go (and now, Super Mario Run) being launched on mobile devices. With a wave of nostalgia, many smartphone gaming enthusiasts have eagerly awaited such developments.

Gaming on Mobile Phones

Companies like Nintendo have steered clear of the whole mobile devices market in fear of having to deal with having their data compromised. They can no longer ignore, however, that not having their game on a smartphone platform is clearly costing them an entire army of customers.

Adapting a game to suit the smartphone platform is no easy a task. While playing a game, the user is as engaged to the platform as can be, and any potential bugs, no matter how minor, can ruin the entire gaming experience. Companies like Nintendo take such scenarios quite seriously and know that massive amount of device and app testing is extremely essential to having a flawless game.

Applications on gaming are most reliant on beta testing. Being the second phase in software testing, it is performed by chosen individuals prior to the release of an application. Real users that have little to no idea about the software build test the app from a user’s perspective. This takes care of unwanted bugs showing up in the final version and helps greatly enhance overall user experience.

For Super Mario Run’s BETA testing, the majority of the beta testers were 15-45 years old and played for about 29 minutes per day, on an average. Most of the active testers were from the United States, the United Kingdom, and France. This beta testing can also allow companies to make well-informed decisions. For instance, the beta testing revealed that the beta version of the game for Android was much more popular than for iOS; however, the company chose to limit the game to the iOS platform currently.

While alpha testing is essentially the same in principle, it differs in the fact that it is done by the engineers before the product is exposed to any users. The execution time is much longer in the case of alpha testing. Any critical issues can be promptly addressed by the developers, as it is done at the developer’s sit, internally, within the organization. Essentially, alpha testing assures the quality of the product before moving on to beta testing.

Performance Engineering

While the usability and flow of the game are important, it is also equally important to ensure that the application can handle sudden bouts of traffic inflow. Once the apps begin to be downloaded, there is a load that needs to be handled, and the more popular the load on the app download, the more there is a chance of poor app performance.  Apps crash as the traffic only increases. Load testing and volume testing are both connected to performance testing, which all determine the responsiveness and stability of a system under a particular workload.

Load testing and stress testing must never be overlooked, especially in the category of mobile phones. Various tasks are performed by users, ranging from downloading the application, to reconfiguring it after an installment update. As these tasks vary in volume and function, it becomes imperative that testing has been done in order to ensure that the application does not succumb under the traffic of users or simultaneous variance in functionality.

Performance engineering is one step ahead of the curve, where the performance engineer has an in-depth knowledge of components that assist in providing code reviews. All foreseen performance-related bottlenecks are promptly fixed from the early stages of the software lifecycle. This is a cost-effective method that helps identify possible scenarios of failure and looks to fix those scenarios immediately with software testing. Poor performance not only hits the profitability factor of an enterprise, it also damages its relationships with its customers. Losing customers to hawk-eyed competitors is often as bad as it can get.

Apart from detecting areas where the application has broken down, the capability to foresee and advise the areas at which the application undergoing testing is prone to crashing is the most intricate characteristic of Predictive Performance Engineering. Ultimately, games like Super Mario Run are proof why software testing remains so crucial in the current scenario of digitization.

mobile ,software testing ,app development ,mobile games

Published at DZone with permission of Hiren Tanna , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}