Tests are an important and integral part of the software development process. The thoroughness of testing conducted on finished products is the main factor that determines project terms and deadlines as well as the possible need to introduce modifications and adjustments at later stages. By testing the product at different stages of development we are able to ensure the high quality of the work we do for our customers.
If the product is intended for mass consumption, then the failure to put it through adequate testing may seriously damage its reputation when it is released onto the market by causing a wave of negative feedback which may have a long-lasting effect.
We fully realise the importance of the testing process and so ensure that it takes place at every stage of product development. EDISON owns a wide range of modern testing equipment: mobile phones, smartphones, tablet computers, laptops, and desktop computers, all working on various operating systems. As a rule, any product is tested with all devices on which it is intended to be used. Some of this equipment can be viewed on the slides.
Stages of testing
1. Test engineering, i.e. development of testing strategies, testing plans, development and documenting of test cases;
2. Conducting the entire test cycle, i.e. an analysis of codes and specifications. Coding and examination test cases;
3. Testing improvement means conducting research based on the results of testing conducted with the purpose of receiving information on the extent to which test cases cover source codes or program functionality. Elaboration of recommendations on the improvement of testing techniques and procedure;
4. Quality improvement consists of issuing recommendations on software improvement in general or with a view to complying with the designated requirements and tasks;
5. Test optimisation and automation consists of developing programs which allow one to automatically process source codes and thus draw necessary conclusions with respect to their quality.
Types of testing
- Regression testing consists of checking software performance after changes to the software have been implemented
- Functional testing consists of ensuring the product complies with the functional requirements and specification;
- Stress testing consists of ensuring the reliability and smooth operation of the developed software under given conditions as well as productivity measurements and configuration definition;
- Unit testing consists of an entire cycle of tests on separate components to identify possible ways of integrating and using them as part of larger systems as well as source code modules in compliance with design requirements;
- Testing for optimisation consists of eliminating bottlenecks by means of improving algorithms as well as employing accurate technologies and apt solutions;
- UI testing is focused on the product's user interface in terms of its performance characteristics, user-friendliness and compliance with certain style designs;
- Source code analysis in accordance with the requirements set for the project;
- Documentation analysis consists of analysing the project specifications with regard to their integrity and reliability, checking customer instructions and documents accompanying the product;
- General (final) testing consists of “black box” testing based on assessing the degree of functionality which the product is supposed to have according to its specifications or accompanying documentation.