On the basis of the analysis of technical requirements we make the decision on what kinds of testing are necessary to provide quality of software.
Test automation is one of the most abused testing technologies. The reason why many have tried to do it but few have succeeded lies in the difference of approaches. Test automation is not equally effective if applied to different types of projects.
EffectiveSoft offers topnotch software test automation services by a highly experienced staff. Our engineers help clients to minimize resources and efforts needed for creating and support of the automated test cases to a considerable extent.
Our most solid experience comes from the client-server system, for which we created 20 000 automated tests (UI-based tests in SilkTest) and executed them every night on 70 virtual machines running simultaneously. All the required configurations were prepared automatically. No manual work was required to run the tests but point the framework to the location of a new build.
Ordering test automation services from EffectiveSoft you can be sure of the high quality and maximal effectiveness of the test automation process. We have profound experience in test automation with SilkTest, QuckTest Pro, TestComplete, and Selenium, and other tools. EffectiveSoft also renders consulting services in the test automation area.
System parts that have already undergone testing can be affected by the changes, so they need to be re-tested. The process of selecting areas and re-testing after the changes is called regression testing.
Our experience can help us define risky areas based on our knowledge of the system structure or past experience with the system. We may know that some part of the product is very complex, so changes in it require careful examining of the remaining functionality. We may also know that the component that has been changed is used in several components, so all of them are now subject to regression testing.
Selecting tests for regression testing also requires certain knowledge and experience. The easiest way is to re-run all the tests but this is also the most expensive solution. Careful selection of tests for re-running is needed. EffectiveSoft offers testing processes that help to make a careful selection of regression tests with one click.
Test automation is a big help to regression testing. You may save a lot of your budget having your major regression tests automated.
Testing of products translated into another language is a labor-consuming task. The easiest way is the complete re-testing of software. The reason why many try to go this way is the lack of knowledge of what may go wrong when you translate a software product. Having this type of testing outsourced to the experienced service provider, you save the budged and time.
Compatibility testing is checking the software under different environment configurations. The environment may include different operating systems and their settings as well as different applications with which the software is intended to interact.
Most products cannot undergo this type of testing because the testing staff cannot be provided with the required environment. Buying and setting up the hardware for such testing may be too expensive. Having this type of testing outsourced is more than reasonable. Besides, having completed a lot of configuration testing projects, we know what specific problems to expect from different environment settings, so it takes less time to find issues.
EffectiveSoft offers a vast test lab and skilled IT personnel that can set up any kind of environment you may need to test your product.
Stress testing is needed to check how the system reacts to stressful environment, such as disk space or memory shortage. Examining the system in such conditions is crucial to make sure that it will behave correctly when such conditions occur to the end user. In many cases, if not built and tested carefully, the incorrect system reaction to stressful conditions may lead to data loss and corruption. Having such problems exposed to the users may severely undermine their satisfaction and damage the company's image.
Volume testing is needed to verify how the system reacts to big amounts of input data.
EffectiveSoft provides comprehensive stress and volume testing. We have special tools for effective stress testing and a vast database of test data designed for volume testing.
Client-server systems are the target for load testing. In order to make sure the system is able to cope with the required level of load we need to emulate such conditions and make sure the system reacts correctly.
Load testing is usually automated with special tools. This is an investigation process that involves check-up with different system and test settings with the aim to get the reliable data and draw correct conclusions. Experience in this kind of testing can greatly reduce the number of such iterations needed to draw the conclusion.
Test engineers at EffectiveSoft have vast experience in designing and running load tests for web and client-server applications. We are also skilled in using different load testing tools such as SilkPerformer, LoadRunner, WebLoad, TestComplete.
Besides providing load testing services we can also help you in defining load capability requirements for your product.
Performance testing is very similar to load testing. But unlike load testing it is related to a demonstrative function rather than the destructive one. The goal of performance testing is to emulate the required conditions and measure the system response, whereas load testing is aimed at finding the threshold after which the system stops operating correctly. The tools that we use for performance testing are the same as we use for load testing.
EffectiveSoft pays special attention to software security. Security testing is actually an attempt to break the security defense and bring it down or get access to sensitive customers’ data. The following parameters of the system are examined:
Installability and portability are very important qualities of the software. During the installation process the customer gets the first impression of a software application. The ease with which a software product can be transferred from one hardware or software environment to another is a significant factor too.
Usually an application interacts with a user through the user interface. GUI testing includes examination of how the application handles keyboard and mouse events, how different GUI components (such as menu bars, toolbars, dialogs, buttons, edit fields, list controls, images, etc.) react to user input and whether the interface operates in the desired manner.
GUI testing can be performed both manually by a tester or can be performed automatically with the use of a software program.
In order to make sure that every requirement is testable we need to give it to test engineers for review. Additionally to the abovementioned reporting testers usually come up with omissions, logical mistakes and inconsistencies in requirements noted during the review.
In general, the review process is very effective as it helps eliminate issues before they are hard-coded into the design and code.
All the test engineers at EffectiveSoft are taught doing a requirements review. We have sophisticated internal guidelines and checklists to make sure that reviews are performed at a due quality level.