In this article, you will learn how to test Web projects and mobile applications in our company.



Testing is conducted with the purpose to find program errors (bugs) before the users come across them.

We develop projects on the basis of the SCRUM methodology. The testing process is divided into two stages:
 

  1. Testing in sprints (during the development process).
     

  2. Testing after the development is completed (Final debugging).


The test automation engineer (quality assessment (QA) engineer) takes part in the sprint together with the developers. The time is allocated for checking the written code and correcting the errors found. It’s important to check the closed task on sprints. If you start to check the project only on completion of the programming (in our company the process lasts for 3-4 months), then you will find many errors. The closure of which can take up to 30-40 % of the development time. Checking the closed areas during the sprint reduces this percentage.
 

What is the final debugging?


Final debugging is testing all the elements of the system when the development is completed. Our team makes projects with client-server architecture, where exist different elements: back-end, frond-end, mobile clients, API, etc. When all the system entities are synchronized at the end of the project, errors can occur. Testing at the final debugging stage is a key process. Its task is to release a working system, where all elements work in accordance with the Technical Design Assignment.
 

Who conducts testing and at what stage?


Testing is carried out by the test automation engineer (hereinafter referred to as the QA). The QA is responsible for the quality of the product released. It’s the QA who makes a decision whether the product is ready to be released or not. The Company has established the standards of mobile app and Web project testing.
 



To describe errors we use the bitbucket.org. service. Components of the problem description:
 


 

To save time there are certain rules within the team. For example, a bug that has not been played back twice - cannot be placed. If the bug is not created in accordance with the standards, the task may not be accepted.
 

Testing types


Depending on the task, the QA specialist chooses the testing type, tools and degree of automation. It’s prepared as a test plan.

Degree of automation: manual testing, semiautomatic testing, automatic testing.

Testing types: acceptance testing, smoke testing, regression testing, beta testing.

The QA chooses the target of testing:

Test plan


Before the testing starts, the QA prepares a test plan which includes:
 


After the preparations have been done, the QA embarks on playing back of the test cases described in the approved test plan.

Here is a sample of it:
 


 

What do we check for the Web projects?


Usability:
 

  1. The Website shall correspond to the design and prototype of the Website.

  2. At the moment of the Website handover, the catalogue shall correspond to the one that exists in the prototype.

  3. Comments relating to the convenience of the Website usage.

  4. Things that were implemented in the project, but abnormally loading the system.

  5. Website adaptability is checked. Such services as http://ipadpeek.com/ and http://screenqueri.es/ are used.

  6. Download speed of the Website on different resolutions.


Load:
 


Validity:
 


Cross-Browser:
 


Safety:
 

  1. We check the Website for presence of the malignant code: http://antivirus-alarm.ru/proverka/

  2. We check the Website for vulnerability: http://find-xss.net/ we perform checking with the of sql injection scanner, xss scanner and find-link.


Download speed and Website operation speed:
 

  1. We check the Website for the operating speed: https://developers.google.com/speed/pagespeed/insights/, according to the standards, the speed shall be 0.4 seconds.

  2. We check the Website for broken links: http://anybrowser.com/linkchecker.html

 

As well as other parameters.
 

What do we check for the mobile applications?


Requirements for preparation of the test plan


The QA prepares a complete test plan after the development has been finished, at the stage of preparing it for a complete testing of the project. The document shall describe the following points:

Test plan


The plan includes the following points:


 


 


 


 

Report on the test result data


After the testing has been completed, a report is drawn up.
 



 

Work with development servers


There exist three servers in the project:
 


The developer works and introduces corrections to the dev server. The QA conducts testing on the test server.

The testing process is inextricably linked with the development. In this article, we did not talk about testing automation and tools that speed up testing.

Checking tasks during the sprint, final debugging, drawing up a test plan, choosing the right type of testing and tools are the elements of successful project implementation.




Want an app? Tell us about your business
How to Develop a Shopping App: The Things You Should Know to Promote Your Business to the Top
Internet of Things (IoT): What Can It Do with Your Business and Why Should You Take Benefit of It
The use of the ModelViewViewModel pattern on Android