in tips
The devil is in the details.
Part 3
Hi there! Here we go again. Today we present you the final part of the sensational trilogy The Devil Wears Prada "The Devil is in the Details." A few more types of testing are coming next. Let's test, shall we?
1. Performance testing
(aka "harder, better, faster, stronger")
This stage is extremely important for developing a mobile application that runs stably and smoothly.

Performance testing is the stage of determining the efficiency, stability, resource consumption, and other attributes of an application's quality under various usage scenarios and loads. In general, the goal of performance testing is to determine the scalability of an application under load. Unfortunately, it is not uncommon for such situations to happen when an application is tested with a load that is reduced several times in comparison with a real one.

What you'll need to do:

  1. Check the response time of the application to different types of requests and make sure that the application works in accordance with the requirements for the normal user load.
  2. Test the performance of the application with a load that several times exceeds the usual number of users.
  3. Check the application performance in long-term operation under normal load.
  4. Check if the application works when the connection is broken.
  5. Compare whether the application performance is different at different Internet speeds.
  6. Find those areas of functionality that reduce the performance of the application as a whole (this process is called profiling).
Our tip:
Do not neglect the importance of performance testing. Do not make people shake their gadget in a dumb despair. Do not anger the gods of development.
1. Performance testing
(aka "harder, better, faster, stronger")
This stage is extremely important for developing a mobile application that runs stably and smoothly.

Performance testing is the stage of determining the efficiency, stability, resource consumption, and other attributes of an application's quality under various usage scenarios and loads. In general, the goal of performance testing is to determine the scalability of an application under load. Unfortunately, it is not uncommon for such situations to happen when an application is tested with a load that is reduced several times in comparison with a real one.

What you'll need to do:

  1. Check the response time of the application to different types of requests and make sure that the application works in accordance with the requirements for the normal user load.
  2. Test the performance of the application with a load that several times exceeds the usual number of users.
  3. Check the application performance in long-term operation under normal load.
  4. Check if the application works when the connection is broken.
  5. Compare whether the application performance is different at different Internet speeds.
  6. Find those areas of functionality that reduce the performance of the application as a whole (this process is called profiling).
Our tip:
Do not neglect the importance of performance testing. Do not make people shake their gadget in a dumb despair. Do not anger the gods of development.
2. Security testing
(aka "if into the security recordings you go, only pain will you find").
Thanks, Master Yoda. We been knew.

In fact, this is an extremely important stage. It does not matter whether your application stores information about the users' banking data, their location, or the names of their little fishies in the tank. Today, only schoolchildren are not engaged in attempts to steal personal data (although this has not yet been proven). Take care both of the user data and your nerves safety.

Security testing is performed to analyze the risks associated with ensuring the protection of the application from hackers, viruses, unauthorized access to confidential data.

Here's what you need to do:

– Ensure that the application users' data (logins, passwords, bank card numbers) are protected from network attacks of automated systems.

– Make sure that the application security system requires a strong password and does not allow an attacker to get other users' passwords.

– Ensure that the application does not provide access to confidential content or functions without proper authentication.

– Protect the application and the network from DoS Attacks.

– Protect the application from malicious attacks.

– Prevent possible malicious effects of file caching.

– Analyze the interaction of system files, identify and fix vulnerabilities.



Our tip:
Determine the optimal duration of the user session, which would be convenient for you as a user.
3. Recovery testing
(aka "what doesn't kill us makes us stronger")
Recovery testing tests the application in terms of its ability to withstand and recover successfully from possible failures caused by software errors, hardware failures, or net problems:

  1. Check the effective recovery of the application after unforeseen emergencies.
  2. Ensure the process of data recovery after a connection breakdown.
  3. Check the application recovery after the system failure and transaction failure
  4. Check the ability of the application to process transactions if a power failure occurs (low battery, incorrect application closing, etc.).
3. Recovery testing
(aka "what doesn't kill us makes us stronger")
Recovery testing tests the application in terms of its ability to withstand and recover successfully from possible failures caused by software errors, hardware failures, or net problems:

  1. Check the effective recovery of the application after unforeseen emergencies.
  2. Ensure the process of data recovery after a connection breakdown.
  3. Check the application recovery after the system failure and transaction failure
  4. Check the ability of the application to process transactions if a power failure occurs (low battery, incorrect application closing, etc.).
4. Localization testing
(aka
本地化測試)
Quite a job.

Localization testing allows you to test the adaptation of mobile applications to a specific target audience in accordance with its cultural characteristics:

  1. Set up the languages supported by the application.
  2. Check a correct translation in accordance with the application business type.
Our tip:
Details, details, and details again. Be sure to check the date formats and thousands separators.
4. Localization testing
(aka
本地化測試)
Quite a job.

Localization testing allows you to test the adaptation of mobile applications to a specific target audience in accordance with its cultural characteristics:

  1. Set up the languages supported by the application.
  2. Check a correct translation in accordance with the application business type.
Our tip:
Details, details, and details again. Be sure to check the date formats and thousands separators.
5. Regression testing
(aka "come and see the merry-go-round, go round and round and round…")
In our previous article, we already mentioned that regression testing is something between a Christmas sale and a satanic ball. We find it hard to disagree.

Imagine: you've tested your application and have made changes. Then again, you test what has already been tested and change what has already been changed. Then again… This happens a lot in testing.

Therefore, make sure that your team has successfully corrected all bugs found. Check the changes being implemented; they should not lead to new bugs. Run all the test cases again until your application polished to perfection.

Our tip:
If you plan to develop a multi-functional application, take care of automated tests in advance. Save your souls.
Hurray, you've tested your app!
Finally done. Now, if you want to upload it to the app store, you'll have to go through certification testing, which also has its own requirements. But we will talk about this later.
Hurray, you've tested your app!
Finally done. Now, if you want to upload it to the app store, you'll have to go through certification testing, which also has its own requirements. But we will talk about this later.
We love what we do and do it with pleasure. Stay tuned!
QA Camp team

You may also like: