To guarantee testing effectiveness and thoroughness, our QA team uses all the up-to-date technologies. Some of the techniques we use to make sure the system works correctly include:
Black-box (functional) testing
Black-box testing implies that the tester only knows the input and the expected outcome but not how the program works. During this testing, the tester does not examine the programming code and does not need any further knowledge of the program other than its specifications. This is the most common and simple type of testing and is often performed externally. Being fairly simple, it has several important advantages:
The test is unbiased because the designer and the tester are independent of each other.
The test is done from the point of view of the user, not the designer.
Test cases can be designed as soon as the specifications are complete.
White-box testing
White-box testing involves knowledge of the program organization and code. The data for this testing is carefully chosen and requires more skillful testers.
Performance testing (including profiling and benchmarking)
This type of testing can be rather complicated. If conducted by specialists, it can show not only if the system performance conforms with specifications, but also the possible bottle-necks and improvements for parts of the code that are crucial for the system performance.
Configuration testing (different platforms, operation systems, browsers)
We can test any application working on any platform, including Windows, the UNIX-family, and MacOS.
Stress testing
We check to see how the system works with a maximum specified load and stress.
Automated testing
Sometimes the testing process can be greatly accelerated and facilitated by the introduction of automation. A lot of routine work can be programmed and repeatedly performed by the machine. This saves a lot of time and effort.