Software testing

Tests are an important and integral part of the software development process. The thoroughness of the testing, which is conducted on finished products, is the main factor that determines the project's terms and deadlines. It may also uncover the 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. You can download examples of test plans below.

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 should be tested on all devices, with which it is intended to be used. A sample of this equipment can be viewed on the following slides.

Stages of testing

01 Test engineering Test engineering The development of testing strategies and testing plans, in addition to the development and documentation of test cases.
02 Conducting the test cycle Conducting the entire test cycle An analysis of code and specifications. Coding and examination test cases.
03 Testing improvement Testing improvement Conducting research, which is 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 with regards to the improvement of testing techniques and procedures.
04 Quality improvement Quality improvement Issuing recommendations on software improvement in general or with a view to complying with the designated requirements and tasks.
05 Test optimisation and automation Test optimisation and automation Developing programs which allow one to automatically process source codes, and thus, draw necessary conclusions with respect to their quality.

Types of testing

01 Regression testing Regression testing Checking software performance after the changes to the software have been implemented.
02 Functional testing Functional testing Ensuring the product complies with functional requirements and specifications.
03 Stress testing Stress testing Ensuring the developed software's reliability and smooth operation under given conditions as well as taking productivity measurements and defining configurations.
04 Unit testing Unit testing 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.
05 Testing for optimisation Testing for optimization Eliminating bottlenecks by means of improving algorithms as well as employing accurate technologies and apt solutions.
06 UI testing UI testing Focused on the product's user interface in terms of its performance characteristics, user-friendliness and compliance with certain designs.
07 Source code analysis Source code analysis In accordance with the requirements set for the project.
08 Documentation analysis Documentation analysis Analysing the project's specifications with regards to their integrity and reliability, while checking the customer instructions and documents that accompany the product.
09 Final testing General (final) testing ‘Black box’ testing is carried out, which assesses the degree of functionality which the product is supposed to have according to its specifications or accompanying documentation.