Mobile is essential today in most sectors. Offering a mobile app to consumers of your products or services can be differentiating. This is often one of the criteria for choosing a brand.
However, designing a mobile application is not an easy task: it is to respond quickly to a need … while maximizing the quality of the application . In other words, solving the quadrature of the circle, when we know the number of existing mobile devices, versions of operating systems … and the frequency with which Apple and Google update the versions of their OS.
As development cycles are getting shorter (especially in the Agile development context), avoiding bugs and other anomalies seems unattainable … unless you have time and money [Ebook “Mobile Applications: At What Price and in what time period “] ! But if we can not avoid the bugs, what about the consequences on branding and business opportunities? We know that they can be dramatic.
So is producing a quality mobile app an unrealistic challenge?
Of course, the answer is: No. And to prove it, we have to go back one step and explain the notion of Quality . In the preamble, remember that the error is human, so inevitable. Becoming aware of it and implementing the means to remedy it is the first step in an effective Quality strategy.
Quality service: Is it really necessary?
As in any other field, the role of a Quality department in mobile application development is to verify that the developments made are in accordance with the specified perimeters . Recall, Quality is a TRUE BUSINESS based on methods and tools (unit testing, integration, code review, Test Driven Development …) and requiring for the testers, very specific skills (taste challenge , perseverance, curiosity, etc.)
Of course, developers have an important role to play in the quality of the code: they are required to follow writing standards and must test their code statically (with tools such as SonarQube) or dynamic (code review by a other developer).
But this does not replace the work of the tester, because testing requires to be objective. It is not uncommon for a tester to immediately fall on a bug that the developer, who is immersed in the application all day, will not have detected for several days.
There is no better tester than a specialist in the field , independent of development and who will have all the objectivity and professional knowledge required to carry out his mission effectively.
What are we testing?
Apart from the functional aspects of the application, the mobile application tests are quite specific to the devices on which they work and concern the installation , the performance (an application that is too slow will be abandoned or uninstalled), the connection (operation offline for example), server scalability (we “stress” the server to see how it reacts) or network , ergonomics (cohesion of the user interface, usability), memory , security (by example, a banking application should not be hackable), smooth operation on different sizes of equipment (smartphone, tablet, phablette …), etc.
Mobile app tests: what exactly is this?
In Agile mode, at the beginning of the development project, a document describes all the requirements to be met by the mobile application. This “backlog”, divided into tasks, is signed by all parties concerned (company and service provider if the development is outsourced).
This backlog is divided into “development sprints” covering one or more features. The tests take place during each Sprint and give rise to a recipe, based on the requirements validated by the company (or by the service issuing the request).
That being said, what are the tests? Each feature includes scenarios detailing the behavior of future users and describing each action. We are talking here about a “test campaign”. The tester therefore reproduces these scenarios and ensures that everything is in accordance with what has been specified from a functional, technical, performance or ergonomics point of view.
There are different types of tests : unit tests that involve an action, integration tests that involve a multi-action feature, non-regression tests to ensure that Sprint Sprint, previously tested actions or features are not discounted. in question.