Learn about Non-functional testing (Part 3)

Tram Ho

1. Endurance testing

  • Sustainability test is the test to see how the software works for a long time. It is also known as soak testing. For example, a software system can work exactly as expected when tested within 1 hour but if together with that system to perform testing within 3 hours there will be problems of memory leakage. of the system. A memory leak can degrade system performance or shut down the system.
  • Basically it is used to check for memory leaks. The goal is to ensure that the throughput and response time after a long period of operation is well maintained or better than it was initially.

2. Load testing

  • Load test to assess system performance as workload increases. Load tests are performed to determine the behavior of the system in both normal and peak conditions. It helps determine the maximum operability of an application. For example: If the number of users increases, how much CPU, memory, bandwidth and network response time will consume?
  • Load testing is used to determine whether the infrastructure used to store the application is sufficient
  • It is used to find out if the application performance is sustainable when it is at the highest level of user load
  • It tells us how many users can simultaneously use the application and the size of the application that is required in terms of hardware, network capacity, etc. so that multiple users can access the application.
  • In many organizations, load testing is done at the end of the software development life cycle while some organizations do not perform load testing at all. In case of in-app performance issues, this can result in lost revenue for customers.
  • Example of load testing:
  1. Download a variety of large files from the internet
  2. Run multiple applications on one computer or server
  3. Write and read data to and from a hard disk continuously
  • The load checking process includes the following steps:
  1. Set up the test environment
  2. Define performance criteria
  3. Test planning
  4. Create virtual users
  5. Create the script
  6. Running script
  7. Track script
  8. Analysis of test results
  • Advantages of Load testing:
  1. Performance and bottleneck issues can be identified before putting the application on production
  2. Scalability of the system is improved in databases, software, networks, …
  3. Minimize risks associated with downtime of the application / system
  4. Reduce costs when something goes wrong and customer satisfaction will be increased
  • Disadvantages of Load testing:
  1. Testers need to be knowledgeable about the tools to perform Load tests and in some cases must have an understanding of programming languages.
  2. The cost of performing Load tests is quite expensive

3. Performance testing

  • Performance testing is testing to determine how fast the system performs with a specific workload. It can serve different purposes as it can demonstrate that the system meets performance criteria. It can compare two systems to find out which one works better. Or it can measure which part of the system or the amount of work that makes the system perform poorly.
  • Why perform a performance test:
  1. It helps improve user experience on websites and web applications
  2. To suit the operational needs of the business
  3. Identify performance issues and find a fix

4. Compatibility testing

  • Compatibility testing is a type of software testing used to ensure the compatibility of systems / applications / websites built with various objects such as web browsers, hardware platforms, users. (in case if it’s a very specific type of request, such as a user who speaks and can only read a specific language), operating system, etc.This type of test helps learn how the system works well like how to do it in a specific environment including hardware, network, operating system and other software, etc.
  • It also checks whether the built-in software application or product is compatible with other hardware, operating systems, databases or system software.

5. Recovery testing

  • A recovery test is performed to check how quickly and better the application can recover after it experiences any hardware problems or failures.
  • For example:
  1. When an application is receiving data from the network, then I unplug the connection cable. After a while, reconnect the cable and analyze whether the application continues to receive data from the disappearing network connection point.
  2. Restart the system while the browser has a defined session number and check if the browser can recover all of them.

6. Internationalization testing and Localization testing

  • Internationalization Testing is the process of designing a software application so that it can be adapted to different languages ​​and regions. Localization testing is the process of modifying a software product locally (language, territory, code page etc.).
  • Some aspects that need to be tested when performing Internationalization testing and Localization testing: language, user interface, time, currency format and currency conversion, phone numbers, address code format and postal code electricity…

Conclude

The above is the share of non-functional tests (P3) that can help everyone

Source: http://tryqa.com/what-is-non-functional-testing-testing-of-software-product-characteristics/

Share the news now

Source : Viblo