Let's learn&succeed together with Soft Industry's blog. Read, Share, get Inspired, Gain!

Language

QA Department

Software testing types you should know about

January 15, 2015

Software testing types

Testing is a vital part of a development process as it aims to assure the software quality by its research. The purpose of testing is to determine that the software meets customer’s and developers’ requirements and to prove that it performs correct behavior as advertised.

Testing in the Soft Industry company is a controlled experiment, during which specialists from the QA department conduct a detailed analysis of the software requirements, create supporting documentation, offer consultation and carry out different types of the software testing.

To get the better picture of what is software testing and to understand all the benefits, let’s study the most common types of it:

  • Functional Testing
  • Usability Testing
  • Security Testing
  • Stress/Load Testing
  • Configuration Testing (cross-browser and cross-platform)
  • Installation Testing
  • Regression Testing

Functional Testing

Functional testing is conducted to verify whether the software performs the expected functions and complies with the declared requirements. This type of testing is very important as it simulates actual system usage. It is hard to imagine that someone will visit, for example, an on-line shop, where it is impossible to log in, or to place an order, or even to find the product. During the functional testing QA specialists check the software performance, its functional correspondence, correctness, suitability and compliance with the standards and customer’s requirements. At Soft Industry the functional testing is performed with the help of the “black box” method. According to it a tester interacts with the software via interface, without access to the code.

Usability Testing

Due to the high competition in the software market it is very important for the program to be user friendly, with simple navigation and interface, with easy to read fonts and nice layout. If clients do not understand the purpose and functionality of the product, they will certainly find more convenient analogue. During the usability testing QA specialists check usability, search for errors in the interface implementation and suggest how to improve your software to attract the new and keep existing customers.

Security Testing

Developers and customers need to remember that not only potential users, but also hackers may want to use the software. The last ones may illegally try to enter the system to alter some of its functions, get administrative access to the resources and databases (passwords, accounts etc.). If their attempts will be successful, customer’s business can receive a significant damage. Our testers verify software vulnerability to: XSS, Code injections (SQL, PHP etc.), XSRF / CSRF (Request Forgery), Authorization Bypass. Thus, the security testing allows to check whether the application is secured or not and to find its weak sides before hackers do it.

Stress/Load Testing

It is very important to ensure the stable work of the software. For example, a customer was counting upon the load limit of 10,000 users. But stress testing was not held before the software release, so it would be quite possible that he would lose his profit if the software actually withstands the load of only 500 users. Moreover, there is a chance that even those 500 users would soon refuse to use the software due to its slow loading. During the load testing QA specialists use automation tools to determine the load (number of users, an average time of the server response, query processing time etc.) which your software can withstand. All this will make possible to avoid unpleasant surprises in future.

Configuration Testing

It is quite difficult to predict which browser will use the site visitor, what screen resolution will be on his device or what OS he will prefer. Therefore, a lot of software products are developed with the cross-browser and cross-platform support. In such a situation, it is better to have software that will work correctly with all supported configurations. During configuration testing specialists from Soft Industry check the software’s work on different operating systems (Windows, Linux, Mac OS, Android, iOS) with different configurations. They also examine the software compatibility with declared requirements for the equipment. For web-based software testers control correct displaying in popular browsers (Internet Explorer, Opera, Firefox, Chrome, Safari) with different screen resolutions.

Installation and Regression Testing

During the regression testing QA specialists check the correct installation, software update and removal. Incorrect installation may lead to a risk of losing user’s data or damage of OS. This type of testing is conducted to check the software functioning after bug fixing because some features that previously worked properly, may be damaged.

If, for some reason, the customer or developers decided to refuse from testing at the software implementation stage, it does not mean that there won’t be any. If the software won’t be checked during the development process by testers, users or hackers will commit the testing. It should be noted that such process is difficult to call a controlled experiment, because neither customers nor developers can control such testing. And as a result, it may influence the customer’s business (nonworking functionality, inappropriate interface, the product can not withstand the load, broken site etc.). That is why you should use every opportunity to test and improve your software during the development process.