How Do We Ensure The Quality Of Your Software Product?
Testing is an integral part of our software product development cycle. We value the quality of the products we create for our clients, and we believe that only a high-quality product can achieve success on the market and bring its owner lots of happy users. So how do we do it for you?
Four Major Stages Of Testing
The project manager and the client discuss the details of the project, prepare and approve the scope and tasks that are required to start the project. They are joined by QA analysts who prepare a preliminary testing plan and test requirements and specifications.
It is divided into a set of iterations where the planned functionality is implemented step-by-step and assembled together in the product. Upon the end of each iteration, the client receives an intermediate build. In-between the iterations changes may be introduced to the requirements. QA are involved where appropriate; they prepare test documentation and check the fulfillment of tasks.
This stage is preparation to release. Only minimal changes are allowed in the requirements. Developers optimize the functionality, fix the bugs, and polish the product. Upon the end of this stage the product is released. During this iteration, the QA team is employed full-time and it verifies proper work of the whole functionality.
This optional stage follows at the client's request, and it includes polishing after the release. QA controls the quality of the outcome.
Testing Within An Iteration
Within an iteration testing consists of the following stages:
- • Planning
- • Writing test documentation
- • Search and description of defects
- • Regression testing
- • Analysis of results
- • what features will and won't undergo testing;
- • criteria of start/completion of testing;
- • required testing environment;
- • types of testing;
- • software required for testing.
This results in an Iteration Plan which is created for each iteration and contains all of the abovementioned information, as well as the schedule of iterations and releases.
Writing test documentation
At this stage test documentation is created. The only exception is the situation when an additional testing specialist joins the project before the release for ad hoc testing, based on personal experience. Documentation is created according to one of the following formats:
- a) Test Cases. They cover the whole functionality of the application and contain detailed descriptions. Creating and maintaining test cases is a time-consuming process. As a rule, they are create for large projects, for projects with complex logic, or at the client's request.
- b) Internal Testing Documentation. These are checklists for separate components of the project. They are basically lists of what has to be tested, with brief descriptions. They can either be written specifically for components, or generalized for any project.
This documentation does not cover 100% of all test scenarios in the app. The remaining part is tested as based on the specialist's personal experience and qualification.
This step may also be skipped in case all test scenarios are documented during the previous iteration and need no updating.
Search and description of defects
This stage is built according to the plan of the iteration and test cases/ checklists. Discovered defects are written in the tracking system so that the developer or the project manager is notified about them.
What's checked here? First, it's the quality of defect correction. Second, this testing checks whether other components have been negatively affected by these corrections.
This stage goes on until all the tasks of the current iteration are fulfilled.
Analysis of results
Upon the end of the iteration QA analyzes the results: what's been tested, what components must receive more attention during the subsequent iteration, and what issues were not considered. Upon the client's request, a testing report is created.
This is the standard, effective way of testing your software in our company. Feel free to contact us with any further questions.
This internal project shows the process of entering the market fast, using the technical capabilities of Flutter to get the... more →
January 08, 2019
Client: South Florida-based startup Business goals: Provide car enthusiasts with access to a flexible subscription service that... more →
July 24, 2018
Augmented reality is no longer a futuristic fantasy. It is here and now, a viable part of the consumer market, available for... more →