The scope of software quality assurance and software testing, in particular, is very extensive. In general, all software tests can be divided into two big groups.
The first one includes functional testing, namely, the tests associated with software functionality specified in the TOR (the terms of reference). There are types of functional software testing among which is acceptance testing or user acceptance test. Functional tests are most critical for software quality assurance. Therefore, software developers pay particular attention to them. Typically, these very tests are performed in testing departments in a test software company, so functional testing outsourcing is not in very high demand at present. However, according to statistics, additional independent software testing allows to reduce the number of defects thirtyfold depending on the quality of the prototype system.
The second group includes tests for anything that is not related to the fundamental functionality of the system: ergonomics, performance, security, reliability, etc. It is no a secret that at the stage of the TOR development many aspects of software performance are overlooked, vaguely interpreted, or the requirements change during the development without being documented. At that, the bigger software system is, the more quantity of these failures are committed.
For example, the software is developed to be used in a localized network, but then Internet access module is appended to this software. There were no high security or fault-tolerance requirements to the prototype system, but due to functionality expansion, these requirements are becoming to make so much sense.
As a result, the most popular service regarding software testing outsourcing is testing of software performance, reliability and load capability. The reason is quite clear since it has to do with the development of client-server systems and internet apps.
The software systems built using this architecture have several bottlenecks. As a rule, these are database and app servers as well as means of communication. Since client-server systems provide multi-user support for Internet operations, reliability and load capacity issues become especially important for them.
Reliability testing is strictly related to performance testing. Performance testing holds much importance not only during the development of the TOR and software architecture but also in acceptance testing. Performance testing service is delivered to identify what areas of the systems are not performing as supposed and pinpoint attention upon them.
Add Comment